diff options
| author | Ravishankar N <ravishankar@redhat.com> | 2017-08-08 21:42:03 +0530 |
|---|---|---|
| committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2017-08-12 13:29:47 +0000 |
| commit | 517316470e8e309e0e572264ee3c02b0748acab1 (patch) | |
| tree | 188b20ed185fc4e8475ff8cd4fe3a0a8b81619d8 /xlators/storage/posix/src/posix-helpers.c | |
| parent | 40d65fb360afac01c593a4cf47851cf9ee50ad96 (diff) | |
posix: add null gfid checks
(Backport of https://review.gluster.org/17975)
...in file/dir creation and lookup codepaths. The check is relaxed for
fops coming from trash xlator at the moment until trash has client side
logic to send the create fops with gfid-req.
Also fixed the missing trash pid assignment in creates sent by trash
xlator. Without this, truncated files won't be moved to .trashcan.
Change-Id: Ieddd7f0634850e7c7010e4fbb4ad1eead35888c8
BUG: 1479474
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: https://review.gluster.org/17996
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Diffstat (limited to 'xlators/storage/posix/src/posix-helpers.c')
| -rw-r--r-- | xlators/storage/posix/src/posix-helpers.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/xlators/storage/posix/src/posix-helpers.c b/xlators/storage/posix/src/posix-helpers.c index 2095b56e5ef..827209e22f9 100644 --- a/xlators/storage/posix/src/posix-helpers.c +++ b/xlators/storage/posix/src/posix-helpers.c @@ -855,6 +855,12 @@ posix_gfid_set (xlator_t *this, const char *path, loc_t *loc, dict_t *xattr_req) loc->path); goto out; } + if (gf_uuid_is_null (uuid_req)) { + gf_msg (this->name, GF_LOG_ERROR, EINVAL, P_MSG_NULL_GFID, + "gfid is null for %s", loc ? loc->path : ""); + ret = -1; + goto out; + } ret = sys_lsetxattr (path, GFID_XATTR_KEY, uuid_req, 16, XATTR_CREATE); if (ret == -1) { |
