linux-stable/fs/f2fs
Chao Yu 22588f8773 f2fs: don't reserve additional space in xattr block
In this patch, we change xattr block disk layout as below:

Before:
			xattr node block layout
+---------------------------------------------+---------------+-------------+
|           node block xattr entries          |   reserved    | node footer |
|                  4068 Bytes                 |    4 Bytes    |  24 Bytes   |

			In memory layout
+--------------------+---------------------------------+--------------------+
|    inline xattr    |     node block xattr entries    |      reserved      |
|     200 Bytes      |         4068 Bytes              |      4 Bytes       |

After:
			xattr node block layout
+-------------------------------------------------------------+-------------+
|                  node block xattr entries                   | node footer |
|                         4072 Bytes                          |  24 Bytes   |

			In memory layout
+--------------------+---------------------------------+--------------------+
|    inline xattr    |     node block xattr entries    |      reserved      |
|     200 Bytes      |         4072 Bytes              |      4 Bytes       |

With this change, we don't need to reserve additional space in node block,
just keep reserved space in logical in-memory layout. So that it would help
to enlarge valid free space of xattr node block.

As tested, generic/026 shows max stored xattr entires number increases from
531 to 532 when inline_xattr option is enabled.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2017-03-24 15:10:53 -04:00
..
acl.c f2fs: keep dirty inodes selectively for checkpoint 2016-11-23 12:11:08 -08:00
acl.h f2fs: remove dead code f2fs_check_acl 2016-09-14 16:52:36 -07:00
checkpoint.c f2fs: don't track volatile file in dirty inode list 2017-03-24 15:10:51 -04:00
data.c f2fs: fix bad prefetchw of NULL page 2017-03-21 22:34:31 -04:00
debug.c f2fs: show the max number of volatile operations 2017-03-24 15:10:50 -04:00
dir.c f2fs: cleanup the disk level filename updating 2017-03-21 22:34:33 -04:00
extent_cache.c f2fs: kill __is_extent_same 2017-02-27 10:07:43 -08:00
f2fs.h f2fs: show the max number of volatile operations 2017-03-24 15:10:50 -04:00
file.c f2fs: show the max number of volatile operations 2017-03-24 15:10:50 -04:00
gc.c f2fs: fix recording invalid last_victim 2017-03-24 15:10:48 -04:00
gc.h f2fs: detect idle time depending on user behavior 2016-01-11 15:56:37 -08:00
hash.c f2fs: introduce dot and dotdot name check 2015-05-28 15:41:34 -07:00
inline.c f2fs: cleanup the disk level filename updating 2017-03-21 22:34:33 -04:00
inode.c f2fs: fix wrong error injection for evict_inode 2017-03-21 16:52:16 -04:00
Kconfig f2fs: add mount option to select fault injection ratio 2016-05-07 10:32:22 -07:00
Makefile fs crypto: move per-file encryption from f2fs tree to fs/crypto 2016-03-17 21:19:33 -07:00
namei.c f2fs: cleanup the disk level filename updating 2017-03-21 22:34:33 -04:00
node.c f2fs: fix race condition in between free nid allocator/initializer 2017-03-24 15:10:50 -04:00
node.h f2fs: adjust the way of calculating nat block 2017-03-21 22:34:27 -04:00
recovery.c f2fs: change recovery policy of xattr node block 2017-02-23 10:10:52 -08:00
segment.c f2fs: add a punch discard command function 2017-03-21 22:34:23 -04:00
segment.h f2fs: update the comment of default nr_pages to skipping 2017-02-27 10:07:46 -08:00
shrinker.c f2fs: avoid casted negative value as shrink count 2016-11-23 12:11:03 -08:00
super.c f2fs: add fault injection on f2fs_truncate 2017-03-21 22:34:26 -04:00
trace.c f2fs: use set_page_private marcro in f2fs_trace_pid 2017-03-24 15:10:49 -04:00
trace.h f2fs: add sbi and page pointer in f2fs_io_info 2015-05-28 15:41:32 -07:00
xattr.c f2fs: don't reserve additional space in xattr block 2017-03-24 15:10:53 -04:00
xattr.h f2fs: don't reserve additional space in xattr block 2017-03-24 15:10:53 -04:00