Line 518 of ext4_xattr:
[lwext4.git] / lwext4 / ext4_xattr.c
index 2a4b12f2c7380800794c14afedfe7d85cf9cc6cf..b50bab18450b917a6520ceffc650d3a022cd0d39 100644 (file)
@@ -515,7 +515,7 @@ ext4_xattr_try_alloc_block(struct ext4_xattr_ref *xattr_ref)
                        goto Finish;
 
                ret = ext4_block_get(xattr_ref->fs->bdev,
-                               &xattr_ref->inode_ref->block,
+                               &xattr_ref->block,
                                xattr_block);
                if (ret != EOK) {
                        ext4_balloc_free_block(xattr_ref->inode_ref,
@@ -629,7 +629,8 @@ ext4_xattr_write_to_disk(struct ext4_xattr_ref *xattr_ref)
                                entry->e_name_len   = to_le32(item->name_len);
                                entry->e_name_index = item->name_index;
                                entry->e_value_offs =
-                                       (char *)ibody_data - (char *)ibody_header;
+                                       (char *)ibody_data -
+                                       (char *)EXT4_XATTR_IFIRST(ibody_header);
                                entry->e_value_block = 0;
                                entry->e_value_size = item->data_size;
                                memcpy(EXT4_XATTR_NAME(entry), item->name, item->name_len);