Skip to content
  • Chao Yu's avatar
    f2fs: keep isize once block is reserved cross EOF · e8ed90a6
    Chao Yu authored
    
    
    Without FADVISE_KEEP_SIZE_BIT, we will try to recover file size
    according to last non-hole block, so in fallocate(), we must set
    FADVISE_KEEP_SIZE_BIT flag once we have preallocated block cross
    EOF, instead of when all preallocation is success. Otherwise, file
    size will be incorrect due to lack of this flag.
    
    Simple testcase to reproduce this:
    
    1. echo 2 > /sys/fs/f2fs/<device>/inject_type
    2. echo 10 > /sys/fs/f2fs/<device>/inject_rate
    3. run tests/generic/392
    4. disable fault injection
    5. do remount
    
    Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    e8ed90a6