Messages in this thread | | | Subject | Re: mkdir on read-only NFS is broken in 2.6.18 | From | Trond Myklebust <> | Date | Mon, 23 Oct 2006 06:33:42 -0400 |
| |
On Mon, 2006-10-23 at 11:23 +0200, Thomas Zeitlhofer wrote: > Hello, > > there is a problem in 2.6.18/.1 when mkdir is called for an existing > directory on a read-only mounted NFS filesystem. > > Lets consider a server that exports the directory /export which contains > the directory-tree a/b/c: > > 1) If /export is mounted ro and the first access to a, b, or c is > mkdir, then this directory and all directories underneath become > inaccessible: > > client:# mount server:/export /mnt -o ro > client:# mkdir /mnt/a/b > mkdir: cannot create directory `/mnt/a/b': Read-only file system > client:# find /mnt > /mnt > /mnt/a > find: /mnt/a/b: No such file or directory > > 2) If /export is mounted ro and the first access to a, b, or c is _not_ > by calling mkdir, then a following mkdir does not destroy the directory > structure (and mkdir now returns EEXIST): > > client:# mount server:/export /mnt -o ro > client:# find /mnt > /mnt > /mnt/a > /mnt/a/b > /mnt/a/b/c > client:# mkdir /mnt/a/b > mkdir: cannot create directory `/mnt/a/b': File exists > client:# find /mnt > /mnt > /mnt/a > /mnt/a/b > /mnt/a/b/c > > 3) If /export is mounted rw (although exported ro), then mkdir does not > destroy the directory structure: > > client:# mount server:/export /mnt -o rw > client:# mkdir /mnt/a/b > mkdir: cannot create directory `/mnt/a/b': Read-only file system > client:# find /mnt > /mnt > /mnt/a > /mnt/a/b > /mnt/a/b/c > > As a consequence of 1), autofs does not work with mountpoints on NFS > (ro) because the automount daemon calls mkdir for all directories in the > path to the mountpoint. This seems related to the discussion [1], and, > as suggested in [1], the issue is fixed by reverting the patch:
There should already be a fix for this issue in 2.6.19-rc1. See
http://kernel.org/git/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd6840714d9cf6e93f1d42b904860a94df316b85
Note, though, that the autofs behaviour that you describe above is seriously broken (mkdir as root on an NFS partition is _not_ acceptable).
Cheers, Trond
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |