On 11/07, Artem Bityutskiy wrote:
> On Fri, 2014-10-31 at 13:50 -0500, Ben Shelton wrote:
> > From: Subodh Nijsure <snijs...@grid-net.com>
> > 
> > Signed-off-by: Subodh Nijsure <snijs...@grid-net.com>
> > Signed-off-by: Marc Kleine-Budde <m...@pengutronix.de>
> > Signed-off-by: Ben Shelton <ben.shel...@ni.com>
> > Acked-by: Brad Mouring <brad.mour...@ni.com>
> > Acked-by: Gratian Crisan <gratian.cri...@ni.com>
> 
> It looks like these patches are against an old kernel. In the new kernel
> "dir_ui" was renamed to "host_ui", to show that this is not just a
> directory inode, but a directory or an xattr inode (we call the "host"
> inodes, since the "host" the xattr value).
> 
> I've pushed this patch in a modified form.
> 
> Do you have a possibility to test this series with a newer kernel?

Thanks for having a look at the patches.

We originally tested the patches against a recent stable 3.14 kernel.
I'll try to get a more recent kernel running on one of our targets that
uses UBIFS to test with -- should I use 3.18-rc3 or the latest
l2-mtd.git master?

Ben

> 
> Here is the patch I pushed:
> 
> 
> From a76284e6f89b2ae37d413fe793752257be01765a Mon Sep 17 00:00:00 2001
> From: Subodh Nijsure <snijs...@grid-net.com>
> Date: Fri, 31 Oct 2014 13:50:28 -0500
> Subject: [PATCH] UBIFS: fix a couple bugs in UBIFS xattr length calculation
> 
> The journal update function did not work for extended attributes properly,
> because extended attribute inodes carry the xattr data, and the size of this
> data was not taken into account.
> 
> Artem: improved commit message, amended the patch a bit.
> 
> Signed-off-by: Subodh Nijsure <snijs...@grid-net.com>
> Signed-off-by: Marc Kleine-Budde <m...@pengutronix.de>
> Signed-off-by: Ben Shelton <ben.shel...@ni.com>
> Acked-by: Brad Mouring <brad.mour...@ni.com>
> Acked-by: Gratian Crisan <gratian.cri...@ni.com>
> Signed-off-by: Artem Bityutskiy <artem.bityuts...@linux.intel.com>
> ---
>  fs/ubifs/journal.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c
> index fb166e2..f6ac3f2 100644
> --- a/fs/ubifs/journal.c
> +++ b/fs/ubifs/journal.c
> @@ -571,7 +571,11 @@ int ubifs_jnl_update(struct ubifs_info *c, const struct 
> inode *dir,
>  
>       aligned_dlen = ALIGN(dlen, 8);
>       aligned_ilen = ALIGN(ilen, 8);
> +
>       len = aligned_dlen + aligned_ilen + UBIFS_INO_NODE_SZ;
> +     /* Make sure to also account for extended attributes */
> +     len += host_ui->data_len;
> +
>       dent = kmalloc(len, GFP_NOFS);
>       if (!dent)
>               return -ENOMEM;
> @@ -648,7 +652,8 @@ int ubifs_jnl_update(struct ubifs_info *c, const struct 
> inode *dir,
>  
>       ino_key_init(c, &ino_key, dir->i_ino);
>       ino_offs += aligned_ilen;
> -     err = ubifs_tnc_add(c, &ino_key, lnum, ino_offs, UBIFS_INO_NODE_SZ);
> +     err = ubifs_tnc_add(c, &ino_key, lnum, ino_offs,
> +                         UBIFS_INO_NODE_SZ + host_ui->data_len);
>       if (err)
>               goto out_ro;
>  
> -- 
> 1.9.3
> 
> Artem.
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to