Bug 27894

Summary: remounting local filesystem causes nfsd to return EPERM
Product: Base System Reporter: kevind <kevind>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.3-RELEASE   
Hardware: Any   
OS: Any   

Description kevind 2001-06-05 21:30:04 UTC
When remounting a filesystem with different options on an NFS server, for a brief window, write commands from an NFS client to the NFS server get EPERM.

Fix: 

No fix, but easy to reproduce.
How-To-Repeat: An NFS client was using dd to write data to a file on an NFS server. It was going pretty slowly, so we decided to remount the filesystem on the NFS server with the "async,noatime" options.

I hit ^T before we remounted the file system:

# dd if=/dev/ad0 of=develdisk bs=8192
load: 0.25  cmd: dd 9578 [nfsrcvlk] 1.11u 83.09s 1% 124k
386446+0 records in
386445+0 records out
3165757440 bytes transferred in 2873.737043 secs (1101617 bytes/sec)

It looked like it was going fine.

On the server, I typed:

# mount -u -o async,noatime,rw /bay0

Instantly, dd on the client reported:

dd: develdisk: Permission denied
388710+0 records in
388709+0 records out
3184304128 bytes transferred in 2890.083892 secs (1101803 bytes/sec)
#
Comment 1 iedowse freebsd_committer freebsd_triage 2001-12-03 00:21:20 UTC
State Changed
From-To: open->closed


Duplicate of misc/3980; this is a very old problem that is quite 
hard to fix, since it involves making significant changes to mountd 
and changing the kernel interface that is used to pass in export 
lists. I've thought about it a bit, but I have never got around to 
implementing a solution.