diff options
Diffstat (limited to 'fs/ext4/xattr.c')
| -rw-r--r-- | fs/ext4/xattr.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 3fbc2c6c3d0..ff08633f398 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;  |