md-cache: fix dict leak of cached xattr
Change-Id: I52f8e13e68528ba9679537ffdddf58ec08f9fd0c Updates: bz#1634220 Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
This commit is contained in:
parent
92c22abb44
commit
826e03db09
@ -2352,6 +2352,9 @@ mdc_getxattr(call_frame_t *frame, xlator_t *this, loc_t *loc, const char *key,
|
||||
GF_ATOMIC_INC(conf->mdc_counter.xattr_hit);
|
||||
MDC_STACK_UNWIND(getxattr, frame, ret, op_errno, xattr, xdata);
|
||||
|
||||
if (xattr)
|
||||
dict_unref(xattr);
|
||||
|
||||
return 0;
|
||||
|
||||
uncached:
|
||||
@ -2417,6 +2420,9 @@ mdc_fgetxattr(call_frame_t *frame, xlator_t *this, fd_t *fd, const char *key,
|
||||
GF_ATOMIC_INC(conf->mdc_counter.xattr_hit);
|
||||
MDC_STACK_UNWIND(fgetxattr, frame, ret, op_errno, xattr, xdata);
|
||||
|
||||
if (xattr)
|
||||
dict_unref(xattr);
|
||||
|
||||
return 0;
|
||||
|
||||
uncached:
|
||||
@ -2500,6 +2506,9 @@ mdc_removexattr(call_frame_t *frame, xlator_t *this, loc_t *loc,
|
||||
GF_ATOMIC_INC(conf->mdc_counter.xattr_hit);
|
||||
MDC_STACK_UNWIND(removexattr, frame, ret, op_errno, xdata);
|
||||
|
||||
if (xattr)
|
||||
dict_unref(xattr);
|
||||
|
||||
return 0;
|
||||
|
||||
uncached:
|
||||
@ -2583,6 +2592,10 @@ mdc_fremovexattr(call_frame_t *frame, xlator_t *this, fd_t *fd,
|
||||
|
||||
GF_ATOMIC_INC(conf->mdc_counter.xattr_hit);
|
||||
MDC_STACK_UNWIND(fremovexattr, frame, ret, op_errno, xdata);
|
||||
|
||||
if (xattr)
|
||||
dict_unref(xattr);
|
||||
|
||||
return 0;
|
||||
|
||||
uncached:
|
||||
|
Loading…
x
Reference in New Issue
Block a user