]> git.baikalelectronics.ru Git - kernel.git/commit
f2fs: support the inline xattrs
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Wed, 14 Aug 2013 12:57:27 +0000 (21:57 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 26 Aug 2013 11:15:23 +0000 (20:15 +0900)
commitee3559e9169465bd772bc939eb7f727459a1bd85
tree5eea77933c96f3007cdc29b6fa06c313737003f6
parentb0af31796d0efb1dca0b12cbc2302a8b78172e04
f2fs: support the inline xattrs

0. modified inode structure
--------------------------------------
metadata (e.g., i_mtime, i_ctime, etc)
--------------------------------------
direct pointers [0 ~ 873]

inline xattrs (200 bytes by default)

indirect pointers [0 ~ 4]
--------------------------------------
node footer
--------------------------------------

1. setxattr flow
 - read_all_xattrs copies all the xattrs from inline and xattr node block.
 - handle xattr entries
 - write_all_xattrs copies modified xattrs into inline and xattr node block.

2. getxattr flow
 - read_all_xattrs copies all the xattrs from inline and xattr node block.
 - check target entries

3. Usage
 # mount -t f2fs -o inline_xattr $DEV $MNT

 Once mounted with the inline_xattr option, f2fs marks all the newly created
 files to reserve an amount of inline xattr space explicitly inside the inode
 block. Without the mount option, f2fs will not touch any existing files and
 newly created files as well.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/f2fs.h
fs/f2fs/node.c
fs/f2fs/xattr.c
fs/f2fs/xattr.h
include/linux/f2fs_fs.h