diff options
author | Pranith Kumar K <pkarampu@redhat.com> | 2017-07-12 09:18:02 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2017-07-18 06:48:54 +0000 |
commit | 11eb8ba870457337c6067284dde4277e09764c0a (patch) | |
tree | a824fa09ca0db7c51689e7471cb2c7c3714feb6b /xlators/storage/posix/src/posix.h | |
parent | b14f26a869c056fb9951e481ae20f3887edb743d (diff) |
storage/posix: Don't allow gfid/volume-id xattr to be removed
Problem:
Bulk xattr removal doesn't check if the xattrs that are coming in xdata
have gfid/volume-id xattrs, so there is potential for bulkremovexattr
removing gfid/volume-id.
I also observed that bulkremovexattr is not available for fremovexattr.
Fix:
Do proper checks in bulk removexattr to remove gfid/volume-id.
Refactor [f]removexattr to reduce the differences.
BUG: 1470489
Change-Id: Ia845b31846a149500111c0996646e648f72cdce6
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: https://review.gluster.org/17765
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Anuradha Talur <atalur@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Diffstat (limited to 'xlators/storage/posix/src/posix.h')
-rw-r--r-- | xlators/storage/posix/src/posix.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/storage/posix/src/posix.h b/xlators/storage/posix/src/posix.h index 332c0ab4f49..480566a5340 100644 --- a/xlators/storage/posix/src/posix.h +++ b/xlators/storage/posix/src/posix.h @@ -293,4 +293,6 @@ posix_get_objectsignature (char *, dict_t *); int32_t posix_fdget_objectsignature (int, dict_t *); +gf_boolean_t +posix_is_bulk_removexattr (char *name, dict_t *dict); #endif /* _POSIX_H */ |