提交 1b60f6df 编写于 作者: J James Simmons 提交者: Greg Kroah-Hartman

staging: lustre: llite: correct removexattr detection

In ll_xattr_set_common() detect the removexattr() case correctly by
testing for a NULL value as well as XATTR_REPLACE.
Signed-off-by: NJohn L. Hammond <john.hammond@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-10787
Reviewed-on: https://review.whamcloud.com/Reviewed-by: NDmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: NJames Simmons <uja.ornl@yahoo.com>
Signed-off-by: NJames Simmons <jsimmons@infradead.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 ab42bc01
......@@ -94,7 +94,11 @@ static int ll_xattr_set_common(const struct xattr_handler *handler,
u64 valid;
int rc;
if (flags == XATTR_REPLACE) {
/* When setxattr() is called with a size of 0 the value is
* unconditionally replaced by "". When removexattr() is
* called we get a NULL value and XATTR_REPLACE for flags.
*/
if (!value && flags == XATTR_REPLACE) {
ll_stats_ops_tally(ll_i2sbi(inode), LPROC_LL_REMOVEXATTR, 1);
valid = OBD_MD_FLXATTRRM;
} else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册