2013-05-26 13:19:16

by Boxi Liu

[permalink] [raw]
Subject: [PATCH] ext4:an improvement in ext4 feature inline_data

In ext4 feature inline_data,it use the xattr's space to store the
inline data in inode.When we calculate the inline data as the xattr,we
add the pad.But in get_max_inline_xattr_value_size() function we count
the free space without pad.It cause some contents are moved to a block
even if it can be
stored in the inode.

Signed-off-by:liulei <[email protected]>
---
fs/ext4/inline.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index c0fd1a1..87758ca 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -71,7 +71,7 @@ static int get_max_inline_xattr_value_size(struct
inode *inode,
entry = (struct ext4_xattr_entry *)
((void *)raw_inode + EXT4_I(inode)->i_inline_off);

- free += le32_to_cpu(entry->e_value_size);
+ free += EXT4_XATTR_SIZE(le32_to_cpu(entry->e_value_size));
goto out;
}

--


2013-05-26 13:40:51

by Tao Ma

[permalink] [raw]
Subject: Re: [PATCH] ext4:an improvement in ext4 feature inline_data

On 05/26/2013 09:19 PM, boxi liu wrote:
> In ext4 feature inline_data,it use the xattr's space to store the
> inline data in inode.When we calculate the inline data as the xattr,we
> add the pad.But in get_max_inline_xattr_value_size() function we count
> the free space without pad.It cause some contents are moved to a block
> even if it can be
> stored in the inode.
>
> Signed-off-by:liulei <[email protected]>
Reviewed-by: Tao Ma <[email protected]>

Thanks,
Tao
> ---
> fs/ext4/inline.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
> index c0fd1a1..87758ca 100644
> --- a/fs/ext4/inline.c
> +++ b/fs/ext4/inline.c
> @@ -71,7 +71,7 @@ static int get_max_inline_xattr_value_size(struct
> inode *inode,
> entry = (struct ext4_xattr_entry *)
> ((void *)raw_inode + EXT4_I(inode)->i_inline_off);
>
> - free += le32_to_cpu(entry->e_value_size);
> + free += EXT4_XATTR_SIZE(le32_to_cpu(entry->e_value_size));
> goto out;
> }
>
> --
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


2013-06-18 15:21:23

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] ext4:an improvement in ext4 feature inline_data

On Sun, May 26, 2013 at 09:40:41PM +0800, Tao Ma wrote:
> On 05/26/2013 09:19 PM, boxi liu wrote:
> > In ext4 feature inline_data,it use the xattr's space to store the
> > inline data in inode.When we calculate the inline data as the xattr,we
> > add the pad.But in get_max_inline_xattr_value_size() function we count
> > the free space without pad.It cause some contents are moved to a block
> > even if it can be
> > stored in the inode.
> >
> > Signed-off-by:liulei <[email protected]>
> Reviewed-by: Tao Ma <[email protected]>

Applied, thanks.

- Ted