f2fs: avoid wrong f2fs_bug_on when truncating inline_data
authorJaegeuk Kim <jaegeuk@kernel.org>
Mon, 16 Mar 2015 23:54:52 +0000 (16:54 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 10 Apr 2015 22:08:46 +0000 (15:08 -0700)
commit83e21db6939dd6ff50a81d54aaef4b44847aefff
treeef4655d3fc48a89712fdb5baf529fb680810663b
parent78373b7319abdf15050af5b1632c4c8b8b398f33
f2fs: avoid wrong f2fs_bug_on when truncating inline_data

This patch removes wrong f2fs_bug_on in truncate_inline_inode.

When there is no space, it can happen a corner case where i_isze is over
MAX_INLINE_SIZE while its inode is still inline_data.

The scenario is
 1. write small data into file #A.
 2. fill the whole partition to 100%.
 3. truncate 4096 on file #A.
 4. write data at 8192 offset.
  --> f2fs_write_begin
    -> -ENOSPC = f2fs_convert_inline_page
    -> f2fs_write_failed
      -> truncate_blocks
        -> truncate_inline_inode
  BUG_ON, since i_size is 4096.

Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/inline.c