ext4: fix the number of credits needed for acl ops with inline data
authorTheodore Ts'o <tytso@mit.edu>
Sat, 9 Feb 2013 20:23:03 +0000 (15:23 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 9 Feb 2013 20:23:03 +0000 (15:23 -0500)
commit95eaefbdececae5e781d76d03fe7472a857c8c7a
treeabe337e1490ded4166cf4d26f97cd1fe856a84ab
parent64044abf05d0842a7fed30e102fa411a744c7d9f
ext4: fix the number of credits needed for acl ops with inline data

Operations which modify extended attributes may need extra journal
credits if inline data is used, since there is a chance that some
extended attributes may need to get pushed to an external attribute
block.

Changes to reflect this was made in xattr.c, but they were missed in
fs/ext4/acl.c.  To fix this, abstract the calculation of the number of
credits needed for xattr operations to an inline function defined in
ext4_jbd2.h, and use it in acl.c and xattr.c.

Also move the function declarations used in inline.c from xattr.h
(where they are non-obviously hidden, and caused problems since
ext4_jbd2.h needs to use the function ext4_has_inline_data), and move
them to ext4.h.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Tao Ma <boyu.mt@taobao.com>
Reviewed-by: Jan Kara <jack@suse.cz>
fs/ext4/acl.c
fs/ext4/ext4.h
fs/ext4/ext4_jbd2.h
fs/ext4/xattr.c
fs/ext4/xattr.h