Jeff Layton has uploaded this change for review.

View Change

FSAL_CEPH: open file as root for COMMIT purposes

Kenneth reported that he was seeing problems copying large, read
only files to a share as an unprivileged user. The final COMMIT
call would get back a permissions error.

Since we don't have a stateid to use as a hint, we have to use the
global fd to issue a commit. In many situations we won't have it
open for write already, so we need to perform an open. If the file
has gone r/o though, we can't do that with the creds sent in the
RPC.

Switch to using root creds for the when we're opening the file for
a COMMIT call. We check the permissions at the protocol layer already
and we're just using it to issue an fsync, so this should be safe.

Fixes: https://github.com/nfs-ganesha/nfs-ganesha/issues/349
Change-Id: I60fba7ff05b3a5210d34e25f591256c9a1d61949
Signed-off-by: Jeff Layton <jlayton@redhat.com>
---
M src/FSAL/FSAL_CEPH/handle.c
1 file changed, 10 insertions(+), 2 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/89/426589/1

To view, visit change 426589. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: I60fba7ff05b3a5210d34e25f591256c9a1d61949
Gerrit-Change-Number: 426589
Gerrit-PatchSet: 1
Gerrit-Owner: Jeff Layton <jlayton@redhat.com>