Red Hat Bugzilla – Bug 426458
nfs server RO, but client will not get error on write?
Last modified: 2010-03-16 14:32:10 EDT
Description of problem:
I did this experiment, where one server exported filesystem via
nfs(ro,sync,no_root_squash), and the second mounted it with
mount -t nfs -o nfsvers=3 beta50:/mnt/mnt tmp
resulted mount is
server:/mnt/mnt /mnt/tmp nfs
rw,v3,rsize=32768,wsize=32768,hard,tcp,lock,addr=server 0 0
Next, I wrote very simple client, which opens nfs file in O_APPEND|O_SYNC mode,
and writes 1 byte in a infinite loop.
While the client application runs I did following tests on server
mount -o remount,ro /mnt/mnt
the server filesystem remounted RO fine, the file written by client stopped
growing, hence client haven't got any error to write() syscalls? It was writing
forever. I verified it with strace as well.
Next, instead of remounting it RO on the server, I changed the /etc/export line
to RO mode and restarted nfs service. The result was similar, file stopped
growing, the client stalled for a while, then again, it was not getting any
errors to the write() syscalls.
Is it bug, or nfs "mis" feature?
Version-Release number of selected component (if applicable):
no write() error
error "RO filesystem" so client will not be lied, that the operation succeeded.
Would you mind trying your "test" in a kernel newer than 2.6.9-56, please?
Well, this bug applies to RHEL4, and since I'm running RHEL4, i'd rather leave
thay testing to someone who's actually running rhel5.
BTW, there's a mistake in my first posting
< I did this experiment, where one server exported filesystem via
< nfs(ro,sync,no_root_squash), and the second mounted it with
> I did this experiment, where one server exported filesystem via
> nfs(rw,sync,no_root_squash), and the second mounted it with
2.6.9-56 or newer kernels _are_ RHEL-4 kernels.
RHEL-5 is based on 2.6.18.
Please test using a RHEL-4 kernel at least as new as 2.6.9-56.
I really cannot. I was bound to rhel4.4/32bit, now I'm running rhel5.1/64bit
Do you see this problem on your current system?
It's not like I experienced some problems cause this bug - It just showed during
I suppose You guys should have two machines to perform the test on various