diff options
author | Anand Avati <avati@redhat.com> | 2012-10-20 00:14:13 -0700 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2012-11-19 01:17:47 -0800 |
commit | 28994167a7fbbb35370b515eb72a9aaf49f58ac4 (patch) | |
tree | 7d743623fb7b8fb2f75b7fa4e3bedc1790ab4cca | |
parent | 6149303d55c1a240ac878bbee7928cc7eb071447 (diff) |
fuse-bridge: fix posix-only configuration
Recent changes in fuse-resolver had broken the use case of having
a trivial configuration with only storage/posix translator. Fix
it and include a regression test to avoid breakage in the future.
Change-Id: I85cbcac4b5c2d3517dd03fd3dc6d07610697981b
BUG: 868478
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/4114
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rwxr-xr-x | tests/basic/posixonly.t | 30 | ||||
-rw-r--r-- | xlators/mount/fuse/src/fuse-resolve.c | 1 |
2 files changed, 31 insertions, 0 deletions
diff --git a/tests/basic/posixonly.t b/tests/basic/posixonly.t new file mode 100755 index 00000000000..b9de317a4d0 --- /dev/null +++ b/tests/basic/posixonly.t @@ -0,0 +1,30 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc + +cleanup; + +TEST mkdir -p $B0/posixonly +cat > $B0/posixonly.vol <<EOF +volume poisxonly + type storage/posix + option directory $B0/posixonly +end-volume +EOF + +TEST glusterfs -f $B0/posixonly.vol $M0; + +TEST touch $M0/filename; +TEST stat $M0/filename; +TEST mkdir $M0/dirname; +TEST stat $M0/dirname; +TEST touch $M0/dirname/filename; +TEST stat $M0/dirname/filename; +TEST ln $M0/dirname/filename $M0/dirname/linkname; +TEST chown 100:100 $M0/dirname/filename; +TEST chown 100:100 $M0/dirname; +TEST rm -rf $M0/filename $M0/dirname; + +TEST umount $M0; + +cleanup; diff --git a/xlators/mount/fuse/src/fuse-resolve.c b/xlators/mount/fuse/src/fuse-resolve.c index e7e580fe86a..88ce32ab9cd 100644 --- a/xlators/mount/fuse/src/fuse-resolve.c +++ b/xlators/mount/fuse/src/fuse-resolve.c @@ -241,6 +241,7 @@ fuse_resolve_parent_simple (fuse_state_t *state) if (parent->table == state->itable) { /* no graph switches since */ loc->parent = inode_ref (parent); + uuid_copy (loc->pargfid, parent->gfid); loc->inode = inode_grep (state->itable, parent, loc->name); /* nodeid for root is 1 and we blindly take the latest graph's |