diff options
author | Pranith Kumar K <pranithk@gluster.com> | 2012-09-04 21:10:45 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-09-06 18:28:57 -0700 |
commit | baddf332d589d29d9bcb18d11dcbb875650e4298 (patch) | |
tree | 3ef30374ff78113c1910217449e296e3a611f3da /xlators | |
parent | b46e98787f735f6b7cd434e4eeb7f8f011a6e63b (diff) |
storage/posix: Make posix_fremovexattr anon fd friendly.
Problem:
For anonymous fds posix_fremovexattr fails to work because the open
never happens and the fd-ctx is not set with the fd-number.
Fix:
Use posix_fd_ctx_get which opens and sets the fd-number in the fd-ctx
for anonymous fds.
Tests:
Added a syncop call in glustershd to test this change and it worked fine.
Change-Id: I9629190a87eb27a7a1578e4fe732a5eb1248f30c
BUG: 854331
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.org/3903
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/storage/posix/src/posix.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index d24e70cbd..6a3f4e76c 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -2984,7 +2984,6 @@ posix_fremovexattr (call_frame_t *frame, xlator_t *this, int32_t op_errno = 0; struct posix_fd * pfd = NULL; int _fd = -1; - uint64_t tmp_pfd = 0; int ret = -1; DECLARE_OLD_FS_ID_VAR; @@ -2995,15 +2994,13 @@ posix_fremovexattr (call_frame_t *frame, xlator_t *this, goto out; } - ret = fd_ctx_get (fd, this, &tmp_pfd); + ret = posix_fd_ctx_get (fd, this, &pfd); if (ret < 0) { op_errno = -ret; gf_log (this->name, GF_LOG_WARNING, "pfd is NULL from fd=%p", fd); goto out; } - pfd = (struct posix_fd *)(long)tmp_pfd; - _fd = pfd->fd; |