]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: let add_dir_entry handle inline data properly
authorTao Ma <boyu.mt@taobao.com>
Mon, 10 Dec 2012 19:05:59 +0000 (14:05 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 10 Dec 2012 19:05:59 +0000 (14:05 -0500)
commit53a296bbc690ea5a4aade459a9e722ff2c2d4e01
tree6fdde24d7d168265eb227e63c209f23931e7f53b
parentde1670f4a9ed25c3bf1c5c46379832e5146f3e7c
ext4: let add_dir_entry handle inline data properly

This patch let add_dir_entry handle the inline data case. So the
dir is initialized as inline dir first and then we can try to add
some files to it, when the inline space can't hold all the entries,
a dir block will be created and the dir entry will be moved to it.

Also for an inlined dir, "." and ".." are removed and we only use
4 bytes to store the parent inode number. These 2 entries will be
added when we convert an inline dir to a block-based one.

[ Folded in patch from Dan Carpenter to remove an unused variable. ]

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/inline.c
fs/ext4/namei.c
fs/ext4/xattr.h