ext4: let ext4_rename handle inline dir
authorTao Ma <boyu.mt@taobao.com>
Mon, 10 Dec 2012 19:06:01 +0000 (14:06 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 10 Dec 2012 19:06:01 +0000 (14:06 -0500)
commit32f7f22c0b52e8189fef83986b16dc7abe95f2c4
treec11441065aa244746f17bf0efd322fe6dd06c04c
parent61f86638d8a656101bb0f9c41c55d9685f8a2357
ext4: let ext4_rename handle inline dir

In case we rename a directory, ext4_rename has to read the dir block
and change its dotdot's information.  The old ext4_rename encapsulated
the dir_block read into itself.  So this patch adds a new function
ext4_get_first_dir_block() which gets the dir buffer information so
the ext4_rename can handle it properly.  As it will also change the
parent inode number, we return the parent_de so that ext4_rename() can
handle it more easily.

ext4_find_entry is also changed so that the caller(rename) can tell
whether the found entry is an inlined one or not and journaling the
corresponding buffer head.

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