NFS occassionally gives "permission" denied in the middle of a large transfer

Kris Kennaway kris at obsecurity.org
Mon Apr 26 16:23:29 PDT 2004


On Mon, Apr 26, 2004 at 06:08:56PM -0500, Dan Nelson wrote:
> In the last episode (Apr 26), Tillman Hodgson said:
> > On Mon, Apr 26, 2004 at 01:47:10PM -0500, Dan Nelson wrote:
> > > In the last episode (Apr 26), Tillman Hodgson said:
> > > > On Mon, Apr 26, 2004 at 01:37:17PM -0500, Dan Nelson wrote:
> > > > > The only time I've seen incorrect permission denied messages is
> > > > > when mountd is refreshing the exports list.  It's not atomic,
> > > > > so there's a small window where the old exports have been
> > > > > deleted but the new ones aren't in place yet.
> > > > 
> > > > Is there anything in the default weekly cron jobs that would do
> > > > something like that on the file server?
> > > 
> > > I don't think so.  Mounting or dismounting local (not NFS)
> > > filesystems might do it, but I'm not sure.
> > 
> > Including local filesystems that aren't exported?
> > 
> > If so, that's interesting because I do that in my weekly periodic
> > cron job. It's a simple script that umounts a backup partition,
> > newfs's it, dumps a local copy of /home over to it, and then
> > re-mounts it (for easy user-accessible near-line backup storage that
> > doesn't require going to tape for the "real" backup).
> 
> That's probably it, then.  /sbin/mount has code that sends SIGHUP to
> mountd on any mount operation.  Which implies that any manual mount
> request, including NFS mounts would, cause the problem.  Amd calls the
> mount syscall directly, bypassing /sbin/mount.
> 
> Ideally, mountd would be able to compare the current and new export
> settings and only update the ones that changed, or have a way to create
> a new mountlist and ask the kernel to replace the old one in a single
> atomic operation.

Very interesting..you might have identified the problem that has
plagued me on one of my package build clusters (NFS was unusable
because of the frequency of EACCESS errors).  A difference between
these systems and others is that the NFS server is also used to build
packages, and does a lot of unmounting and remounting of local
filesystems.

I can't test this right now because all of the client machines are
dead, but I should be able to soon.

Thanks for the insight!

Kris

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20040426/ddd79b3b/attachment.bin


More information about the freebsd-questions mailing list