X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fext4%2Fxattr.c;h=ff08633f398edb410cba33f9912f743ebfa29ada;hb=ac9d463afb1ca2434335351f3b7d9e4c8f8470e9;hp=3fbc2c6c3d0e900c5ce8e1a5f8e56270f5984768;hpb=d626e3bf728c47746f2129aa00c775d4e8c2a73b;p=linux-2.6 diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 3fbc2c6c3d..ff08633f39 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -1009,6 +1009,11 @@ ext4_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index, i.value = NULL; error = ext4_xattr_block_set(handle, inode, &i, &bs); } else if (error == -ENOSPC) { + if (EXT4_I(inode)->i_file_acl && !bs.s.base) { + error = ext4_xattr_block_find(inode, &i, &bs); + if (error) + goto cleanup; + } error = ext4_xattr_block_set(handle, inode, &i, &bs); if (error) goto cleanup;