diff options
| author | Gaurav <gaurav@gluster.com> | 2011-09-22 12:48:41 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2011-09-22 04:51:22 -0700 | 
| commit | 2e61c86ba89d546c7cab522b53d6b9c7f164cd8c (patch) | |
| tree | f1823957f856d0b5475a29d49623c8fb2f6dc631 /xlators/nfs/server/src | |
| parent | b8f2f460f9a5f977ef6debc2e59cae75324c95ca (diff) | |
NFS : Posix compliance fixes.
Change-Id: I4f1d8883a3eedee20557e306815674a6dc062bfe
BUG: 1337
Reviewed-on: http://review.gluster.com/487
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/nfs/server/src')
| -rw-r--r-- | xlators/nfs/server/src/nfs3-helpers.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/xlators/nfs/server/src/nfs3-helpers.c b/xlators/nfs/server/src/nfs3-helpers.c index 5708db1b83d..6ead0154690 100644 --- a/xlators/nfs/server/src/nfs3-helpers.c +++ b/xlators/nfs/server/src/nfs3-helpers.c @@ -575,13 +575,14 @@ nfs3_accessbits (int32_t accbits)          uint32_t        accresult = 0;          if (accbits & POSIX_READ) -                accresult |= (ACCESS3_READ | ACCESS3_LOOKUP); +                accresult |= ACCESS3_READ;          if (accbits & POSIX_WRITE)                  accresult |= (ACCESS3_MODIFY | ACCESS3_EXTEND); +        /* lookup on directory allowed only in case of execute permission */          if (accbits & POSIX_EXEC) -                accresult |= ACCESS3_EXECUTE; +                accresult |= (ACCESS3_EXECUTE | ACCESS3_LOOKUP);          return accresult;  } @@ -591,13 +592,14 @@ nfs3_request_to_accessbits (int32_t accbits)  {          uint32_t        acc_request = 0; -        if (accbits & (ACCESS3_READ | ACCESS3_LOOKUP)) +        if (accbits & ACCESS3_READ)                  acc_request |= POSIX_READ;          if (accbits & (ACCESS3_MODIFY | ACCESS3_EXTEND))                  acc_request |= POSIX_WRITE; -        if (accbits & ACCESS3_EXECUTE) +        /* For lookup on directory check for execute permission */ +        if (accbits & (ACCESS3_EXECUTE | ACCESS3_LOOKUP))                  acc_request |= POSIX_EXEC;          return acc_request;  | 
