ext4: ignore e_value_offs for xattrs with value-in-ea-inode
[sfrench/cifs-2.6.git] / fs / ext4 / xattr.c
index dc82e7757f67de061a432a82faa8e75ca2ce95c7..491f9ee4040e262b023655ebd5de4e2e92c50a18 100644 (file)
@@ -1696,7 +1696,7 @@ static int ext4_xattr_set_entry(struct ext4_xattr_info *i,
 
        /* No failures allowed past this point. */
 
-       if (!s->not_found && here->e_value_size && here->e_value_offs) {
+       if (!s->not_found && here->e_value_size && !here->e_value_inum) {
                /* Remove the old value. */
                void *first_val = s->base + min_offs;
                size_t offs = le16_to_cpu(here->e_value_offs);