Whamcloud - gitweb
LU-7261 ldiskfs: fix large_xattr overwrite
[fs/lustre-release.git] / ldiskfs / kernel_patches / patches / rhel7 / ext4-large-eas.patch
index 1fd34aa..b7251db 100644 (file)
@@ -568,13 +568,13 @@ Index: linux-stage/fs/ext4/xattr.c
                        void *first_val = s->base + min_offs;
                        size_t offs = le16_to_cpu(s->here->e_value_offs);
                        void *val = s->base + offs;
-@@ -685,13 +966,17 @@ ext4_xattr_set_entry(struct ext4_xattr_i
+@@ -685,13 +966,18 @@ ext4_xattr_set_entry(struct ext4_xattr_i
                        last = s->first;
                        while (!IS_LAST_ENTRY(last)) {
                                size_t o = le16_to_cpu(last->e_value_offs);
 -                              if (!last->e_value_block &&
--                                  last->e_value_size && o < offs)
-+                              if (last->e_value_size > 0 && o < offs)
++                              if (!last->e_value_inum &&
+                                   last->e_value_size && o < offs)
                                        last->e_value_offs =
                                                cpu_to_le16(o + size);
                                last = EXT4_XATTR_NEXT(last);