• H
    f2fs: add flags and helpers to support inline data · 1001b347
    Huajun Li 提交于
    Add new inode flags F2FS_INLINE_DATA and FI_INLINE_DATA to indicate
    whether the inode has inline data.
    
    Inline data makes use of inode block's data indices region to save small
    file. Currently there are 923 data indices in an inode block. Since
    inline xattr has made use of the last 50 indices to save its data, there
    are 873 indices left which can be used for inline data. When
    FI_INLINE_DATA is set, the layout of inode block's indices region is
    like below:
    
    +-----------------+
    |                 | Reserved. reserve_new_block() will make use of
    | i_addr[0]       | i_addr[0] when we need to reserve a new data block
    |                 | to convert inline data into regular one's.
    |-----------------|
    |                 | Used by inline data. A file whose size is less than
    | i_addr[1~872]   | 3488 bytes(~3.4k) and doesn't reserve extra
    |                 | blocks by fallocate() can be saved here.
    |-----------------|
    |                 |
    | i_addr[873~922] | Reserved for inline xattr
    |                 |
    +-----------------+
    Signed-off-by: NHaicheng Li <haicheng.li@linux.intel.com>
    Signed-off-by: NHuajun Li <huajun.li@intel.com>
    Signed-off-by: NWeihong Xu <weihong.xu@intel.com>
    Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
    1001b347
f2fs.h 37.9 KB