f2fs: consider fallocated space for SEEK_DATA
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 28 Apr 2014 09:12:36 +0000 (18:12 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Wed, 7 May 2014 01:21:57 +0000 (10:21 +0900)
commit7f7670fe9fe47e7e56db658eb8831febe47627f2
tree17c349d23d99166cbf91753703a240b97c64cb1c
parentfe369bc8ba205537864cb86ba08b390ad20201c4
f2fs: consider fallocated space for SEEK_DATA

If an amount of data are allocated though fallocate and user writes a couple of
data among the space, f2fs should return the data offset made by user when
SEEK_DATA is requested.

For example, (N: NEW_ADDR by fallocate, X: NEW_ADDR by user)
1) fallocate 0 ~ 10MB
f -> N N N N N N N N N N N N ... N

2) write 4KB at 5MB offset
f -> N N N N N X N N N N N N ... N

3) SEEK_DATA from 0 should return 5MB offset

So, this patch adds a routine to search the first dirty page to handle that.
Then, the SEEK_DATA flow skips NEW_ADDR offsets until any dirty page is found.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/file.c