From: Bob Glossman Date: Fri, 12 Feb 2016 23:50:26 +0000 (-0800) Subject: LU-6757 ldiskfs: large EA support X-Git-Tag: 2.8.51~59 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=721e5ca9b7c1e00dae1d0adc49bcbe403d913a10;p=fs%2Flustre-release.git LU-6757 ldiskfs: large EA support For large EA support, ext4_xattr_check_names() will return -EIO. This patch fixes that by checking whether the large EA value is saved in an external EA inode or not. this mod copys a small subset of http://review.whamcloud.com/16012 that made this change in el7 ldiskfs into sles12 ldiskfs Signed-off-by: Bob Glossman Change-Id: I5f29eb5d87e1a3a0a928298ed3ac993c7a0bcdd1 Reviewed-on: http://review.whamcloud.com/18449 Tested-by: Jenkins Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Jian Yu Reviewed-by: Oleg Drokin --- diff --git a/ldiskfs/kernel_patches/patches/sles12/ext4-large-eas.patch b/ldiskfs/kernel_patches/patches/sles12/ext4-large-eas.patch index 6c94182..15ded92 100644 --- a/ldiskfs/kernel_patches/patches/sles12/ext4-large-eas.patch +++ b/ldiskfs/kernel_patches/patches/sles12/ext4-large-eas.patch @@ -137,6 +137,14 @@ Index: linux-stage/fs/ext4/xattr.c =================================================================== --- linux-stage.orig/fs/ext4/xattr.c +++ linux-stage/fs/ext4/xattr.c +@@ -201,6 +201,7 @@ ext4_xattr_check_names(struct ext4_xattr + + while (!IS_LAST_ENTRY(entry)) { + if (entry->e_value_size != 0 && ++ entry->e_value_inum == 0 && + (value_start + le16_to_cpu(entry->e_value_offs) < + (void *)e + sizeof(__u32) || + value_start + le16_to_cpu(entry->e_value_offs) + @@ -233,19 +233,26 @@ ext4_xattr_check_block(struct inode *ino }