NFS serving off NTFS panic
Dmitri Nikulin
dnikulin at optusnet.com.au
Fri Dec 24 02:08:11 PST 2004
Matthew Dillon wrote:
+ if (nvp) {
+ vput(nvp);
+ nvp = NULL;
+ }
Maybe a better 'solution' (at least a more globally useful hack) would
be to have vput() do nothing if its argument is NULL. This means any
other file systems (of which I assume there are none, but you can never
be too sure) which are susceptible to this 'oops' will suddenly work as
expected.
The way it looks now it's adding more and more exceptions rather than
avoiding a problem, so perhaps a review of the NTFS code's design is
overdue. Do enough people use it for it to matter?
I'm sorry but the only machine I had under DragonFly had to be put to
another use (it went from sandbox to production gateway, because the
existing gateway had a disk failure) so I can't immediately test this
patch, but maybe someone with the resources can help out. Knowing my
curiosity I'll get another rig up eventually, but for now my hands are tied.
On another note, is it such a good idea sticking to the direct IO style
that all the BSDs use for NFS? It certainly does lead to amazing
performance, but it means not all file systems work the same; I wasn't
surprised to find that Linux, with a (by default) abstraction between
file systems under NFS, could serve off NTFS perfectly. NetBSD didn't
show any files on the volume, and so far DragonFly has crashed. I'm not
even giving FreeBSD a chance. If it can be done cleanly, maybe a better
abstraction wouldn't be so bad; if new file systems are added they can
be supported as NFS exports as soon as they work as locals. Just an idea
though, I'm certainly no kernel developer.
More information about the Bugs
mailing list