btrfs: xattr: fix attribute removal
An attribute is not removed by 'setfattr -x attr file' and remains visible in attr list. This makes xfstests/062 pass again. Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
Родитель
a39f752143
Коммит
4815053aba
|
@ -116,6 +116,12 @@ static int do_setxattr(struct btrfs_trans_handle *trans,
|
|||
if (ret)
|
||||
goto out;
|
||||
btrfs_release_path(path);
|
||||
|
||||
/*
|
||||
* remove the attribute
|
||||
*/
|
||||
if (!value)
|
||||
goto out;
|
||||
}
|
||||
|
||||
again:
|
||||
|
@ -158,6 +164,9 @@ out:
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* @value: "" makes the attribute to empty, NULL removes it
|
||||
*/
|
||||
int __btrfs_setxattr(struct btrfs_trans_handle *trans,
|
||||
struct inode *inode, const char *name,
|
||||
const void *value, size_t size, int flags)
|
||||
|
|
Загрузка…
Ссылка в новой задаче