summaryrefslogtreecommitdiffstats
path: root/xlators/storage
diff options
context:
space:
mode:
authorPranith Kumar K <pranithk@gluster.com>2012-09-04 21:10:45 +0530
committerAnand Avati <avati@redhat.com>2012-09-06 18:28:57 -0700
commitbaddf332d589d29d9bcb18d11dcbb875650e4298 (patch)
tree3ef30374ff78113c1910217449e296e3a611f3da /xlators/storage
parentb46e98787f735f6b7cd434e4eeb7f8f011a6e63b (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/storage')
-rw-r--r--xlators/storage/posix/src/posix.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c
index d24e70cbd55..6a3f4e76c11 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;