Atomic updates of NFS export lists
scottl at samsco.org
Wed May 10 22:36:49 UTC 2006
Andrey Simonenko wrote:
> In my environment non-atomic updates of NFS export lists are not
> acceptable. So, I decided to correct this problem. As the result
> mountd, kern/vfs_export.c were completely rewritten, mount.h,
> vfs_mount.c and nfs_srvsubs.c also got changes.
> For details see kern/9619.
I've been looking at this since my company is also running into these
problems. I've integrated your patchset into my tree, and I'll let you
know how it works after a few days of testing. One thing to note is
that you've significantly re-written much of mountd, as well as changed
the API/ABI a bit and removed some command line switches. That makes it
less attractive for inclusion in RELENG_6, but is fine for 7-CURRENT.
With that in mind, you should switch over to using nmount() instead of
mount(), that way you can completely remove the per-filesystem handling
code that you added.
If there is any way that you can trim the changes to just implement the
new export primitives and leave out the libsock stuff, it would be much
easier to justify getting into RELENG_6. I don't have an opinion on the
libsock design, but you should talk to people like Robert Watson about
that before this goes into 7-CURRENT.
But thank you very much for this. It was a pleasant surprise to see
this after I had been talking to others about exactly these problems for
a few weeks. Hopefully we can get this integrated into FreeBSD soon.
More information about the freebsd-hackers