linux/fs/f2fs
Chao Yu 500e0b28ec f2fs: fix to check inline_xattr_size boundary correctly
We use below condition to check inline_xattr_size boundary:

	if (!F2FS_OPTION(sbi).inline_xattr_size ||
		F2FS_OPTION(sbi).inline_xattr_size >=
				DEF_ADDRS_PER_INODE -
				F2FS_TOTAL_EXTRA_ATTR_SIZE -
				DEF_INLINE_RESERVED_SIZE -
				DEF_MIN_INLINE_SIZE)

There is there problems in that check:
- we should allow inline_xattr_size equaling to min size of inline
{data,dentry} area.
- F2FS_TOTAL_EXTRA_ATTR_SIZE and inline_xattr_size are based on
different size unit, previous one is 4 bytes, latter one is 1 bytes.
- DEF_MIN_INLINE_SIZE only indicate min size of inline data area,
however, we need to consider min size of inline dentry area as well,
minimal inline dentry should at least contain two entries: '.' and
'..', so that min inline_dentry size is 40 bytes.

.bitmap		1 * 1 = 1
.reserved	1 * 1 = 1
.dentry		11 * 2 = 22
.filename	8 * 2 = 16
total		40

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2019-03-05 19:58:06 -08:00
..
acl.c f2fs: use kvmalloc, if kmalloc is failed 2018-12-26 15:16:53 -08:00
acl.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
checkpoint.c f2fs: sync filesystem after roll-forward recovery 2019-02-15 20:59:45 -08:00
data.c f2fs: fix potential data inconsistence of checkpoint 2019-03-05 19:58:06 -08:00
debug.c f2fs: no need to check return value of debugfs_create functions 2019-01-08 20:41:09 -08:00
dir.c f2fs: check if file namelen exceeds max value 2019-01-22 15:31:26 -08:00
extent_cache.c f2fs: fix to initialize variable to avoid UBSAN/smatch warning 2019-01-22 15:31:26 -08:00
f2fs.h f2fs: fix to check inline_xattr_size boundary correctly 2019-03-05 19:58:06 -08:00
file.c f2fs: fix potential data inconsistence of checkpoint 2019-03-05 19:58:06 -08:00
gc.c f2fs: check PageWriteback flag for ordered case 2018-12-26 15:16:56 -08:00
gc.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
hash.c f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
inline.c f2fs: fix potential data inconsistence of checkpoint 2019-03-05 19:58:06 -08:00
inode.c f2fs: check PageWriteback flag for ordered case 2018-12-26 15:16:56 -08:00
Kconfig fs/*/Kconfig: drop links to 404-compliant http://acl.bestbits.at 2018-01-01 12:45:37 -07:00
Makefile
namei.c f2fs: use kvmalloc, if kmalloc is failed 2018-12-26 15:16:53 -08:00
node.c f2fs: sync filesystem after roll-forward recovery 2019-02-15 20:59:45 -08:00
node.h f2fs: check PageWriteback flag for ordered case 2018-12-26 15:16:56 -08:00
recovery.c f2fs: check PageWriteback flag for ordered case 2018-12-26 15:16:56 -08:00
segment.c f2fs: try to keep CP_TRIMMED_FLAG after successful umount 2019-02-15 20:59:45 -08:00
segment.h f2fs: don't wake up too frequently, if there is lots of IOs 2019-02-15 20:59:45 -08:00
shrinker.c f2fs: fix sbi->extent_list corruption issue 2018-12-26 15:16:54 -08:00
super.c f2fs: fix to check inline_xattr_size boundary correctly 2019-03-05 19:58:06 -08:00
sysfs.c f2fs: run discard jobs when put_super 2019-02-04 08:55:34 -08:00
trace.c f2fs: do not use mutex lock in atomic context 2019-03-05 19:58:06 -08:00
trace.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
xattr.c f2fs: use xattr_prefix to wrap up 2019-02-15 20:59:46 -08:00
xattr.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00