diff options
-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 |