From 8b6550a09026e299dbaa48356aca02d1d5b1803c Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Sun, 2 May 2010 19:06:43 -0400 Subject: [PATCH] fcntl write lock on readonly file error fix apparently we return EROFS where we should return EBADF. Fix the error the client gets; the RPC is unchanged (and indeed shouldn't be changed) Change-Id: I738f1ee36f39d03bf018c0f91c7de9c8ed8cc9a9 Reviewed-on: http://gerrit.openafs.org/1895 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/afs/VNOPS/afs_vnop_flock.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/afs/VNOPS/afs_vnop_flock.c b/src/afs/VNOPS/afs_vnop_flock.c index d8b159d82b..8010e738a2 100644 --- a/src/afs/VNOPS/afs_vnop_flock.c +++ b/src/afs/VNOPS/afs_vnop_flock.c @@ -434,6 +434,8 @@ HandleFlock(register struct vcache *avc, int acom, struct vrequest *areq, (tc, code, &avc->f.fid, areq, AFS_STATS_FS_RPCIDX_SETLOCK, SHARED_LOCK, NULL)); + if ((LockType == LockWrite) && (code == VREADONLY)) + code = EBADF; /* per POSIX; VREADONLY == EROFS */ } else /* XXX - Should probably try and log this when we're * XXX - running with logging enabled. But it's horrid