linux/fs/f2fs
Huajun Li 1001b3479c f2fs: add flags and helpers to support inline data
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: Haicheng Li <haicheng.li@linux.intel.com>
Signed-off-by: Huajun Li <huajun.li@intel.com>
Signed-off-by: Weihong Xu <weihong.xu@intel.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
2013-12-23 10:18:03 +09:00
..
acl.c f2fs: fix a deadlock during init_acl procedure 2013-10-28 13:39:09 +09:00
acl.h f2fs: fix a deadlock during init_acl procedure 2013-10-28 13:39:09 +09:00
checkpoint.c f2fs: send REQ_META or REQ_PRIO when reading meta area 2013-12-23 10:18:03 +09:00
data.c f2fs: add a new function: f2fs_reserve_block() 2013-12-23 10:18:03 +09:00
debug.c f2fs: use seq_puts()/seq_putc() rather than seq_printf() where possible 2013-07-30 15:17:03 +09:00
dir.c f2fs: add an option to avoid unnecessary BUG_ONs 2013-10-29 15:44:38 +09:00
f2fs.h f2fs: add flags and helpers to support inline data 2013-12-23 10:18:03 +09:00
file.c f2fs: add a new function: f2fs_reserve_block() 2013-12-23 10:18:03 +09:00
gc.c f2fs: introduce f2fs_balance_fs_bg for some background jobs 2013-10-25 16:54:38 +09:00
gc.h f2fs: optimize gc for better performance 2013-09-05 13:50:32 +09:00
hash.c f2fs: unify string length declarations and usage 2012-12-28 11:27:53 +09:00
inode.c f2fs: add an option to avoid unnecessary BUG_ONs 2013-10-29 15:44:38 +09:00
Kconfig f2fs: introduce CONFIG_F2FS_CHECK_FS for BUG_ON control 2013-10-29 15:43:01 +09:00
Makefile f2fs: update Kconfig and Makefile 2012-12-11 13:43:42 +09:00
namei.c f2fs: fix writing incorrect orphan blocks 2013-10-08 10:19:28 +09:00
node.c f2fs: send REQ_META or REQ_PRIO when reading meta area 2013-12-23 10:18:03 +09:00
node.h f2fs: fix the use of XATTR_NODE_OFFSET 2013-08-09 14:57:56 +09:00
recovery.c f2fs: add an option to avoid unnecessary BUG_ONs 2013-10-29 15:44:38 +09:00
segment.c f2fs: send REQ_META or REQ_PRIO when reading meta area 2013-12-23 10:18:03 +09:00
segment.h f2fs: read contiguous sit entry pages by merging for mount performance 2013-12-23 10:18:02 +09:00
super.c f2fs: add a new function to support for merging contiguous read 2013-12-23 10:18:02 +09:00
xattr.c f2fs: fix calculating incorrect free size when update xattr in __f2fs_setxattr 2013-10-29 15:56:08 +09:00
xattr.h f2fs: support the inline xattrs 2013-08-26 20:15:23 +09:00