mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 10:29:37 +00:00
ocfs2: reserve xattr block for new directory with inline data
If this is a new directory with inline data, we choose to reserve the entire inline area for directory contents and force an external xattr block. Signed-off-by: Tiger Yang <tiger.yang@oracle.com> Acked-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
This commit is contained in:
parent
ebdcc81c71
commit
6c9fd1dc0a
1 changed files with 4 additions and 0 deletions
|
@ -547,8 +547,12 @@ int ocfs2_calc_xattr_init(struct inode *dir,
|
|||
* when blocksize = 512, may reserve one more cluser for
|
||||
* xattr bucket, otherwise reserve one metadata block
|
||||
* for them is ok.
|
||||
* If this is a new directory with inline data,
|
||||
* we choose to reserve the entire inline area for
|
||||
* directory contents and force an external xattr block.
|
||||
*/
|
||||
if (dir->i_sb->s_blocksize == OCFS2_MIN_BLOCKSIZE ||
|
||||
(S_ISDIR(mode) && ocfs2_supports_inline_data(osb)) ||
|
||||
(s_size + a_size) > OCFS2_XATTR_FREE_IN_IBODY) {
|
||||
ret = ocfs2_reserve_new_metadata_blocks(osb, 1, xattr_ac);
|
||||
if (ret) {
|
||||
|
|
Loading…
Reference in a new issue