summaryrefslogtreecommitdiffstats
path: root/xlators/storage/posix
diff options
context:
space:
mode:
authorAnand V. Avati <avati@amp.gluster.com>2009-02-22 11:29:05 +0530
committerAnand V. Avati <avati@amp.gluster.com>2009-02-22 13:39:08 +0530
commit80066c23da120621f26d83d631e204ab2943d181 (patch)
tree6d9410474b1f57a94c42ac6639d22384e167c712 /xlators/storage/posix
parent8b99865bb1db5e349cfdacc795ca2160a32604e1 (diff)
posix_releasedir flush fds from xattrcache.
It would have entered cache in setdents. Proposed fix for: http://zresearch.com/pipermail/gluster-users/2009-February/001621.html Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Diffstat (limited to 'xlators/storage/posix')
-rw-r--r--xlators/storage/posix/src/posix.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c
index 159f02ddeb4..fe59d64861a 100644
--- a/xlators/storage/posix/src/posix.c
+++ b/xlators/storage/posix/src/posix.c
@@ -590,6 +590,7 @@ posix_releasedir (xlator_t *this,
struct posix_fd * pfd = NULL;
uint64_t tmp_pfd = 0;
int ret = 0;
+ xattr_cache_handle_t handle = {{0,},0};
VALIDATE_OR_GOTO (this, out);
VALIDATE_OR_GOTO (fd, out);
@@ -611,6 +612,9 @@ posix_releasedir (xlator_t *this,
goto out;
}
+ handle.fd = fd;
+ posix_xattr_cache_flush (this, &handle);
+
ret = closedir (pfd->dir);
if (ret == -1) {
op_errno = errno;