Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Jan 2000 16:34:32 -0500 (EST)
From:      Erez Zadok <ezk@cs.columbia.edu>
To:        Chuck McCrobie <mccrobi@aplcenMP.apl.jhu.edu>
Cc:        fs@FreeBSD.ORG
Subject:   Re: Userfs Daemon Dies, What Happens? & Caching Questions 
Message-ID:  <200001232134.QAA28564@shekel.mcl.cs.columbia.edu>
In-Reply-To: Your message of "Sat, 22 Jan 2000 14:32:58 EST." <388A05EA.E8CE2EBA@apl.jhu.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <388A05EA.E8CE2EBA@apl.jhu.edu>, Chuck McCrobie writes:
> I've been following the discussion about the userfs.  I'm wondering
> what happens if, while the pseudo-device is mounted, the daemon dies.
> Doesn't that tend to "fudge" up the pseudo-device?  I've only just
> started into file system implementations for FreeBSD, so sorry if the
> answer is obvious...

As the maintainer of am-utils (amd), I can tell you with confidence: you're
SOL. :-)

Seriously, user-level f/s servers should be considered system (read: kernel)
services.  What happens if a kernel module dies?  Your machine must reboot,
right?  When amd or something like it dies, it may leave an active struct
vfs mounted in the kernel, and several processes hung and un-killable (not
even -9) b/c the daemon was mounted with the "hard" option.

> It would seem that some type of recovery would be necessary for the
> new daemon when its started.

If you want to mount the new daemon on the same mnt pt, using the same
resources (such port address, etc.) then you must first umount the old hung
mnt pt.  That's usually requires a reboot.  What's needed is a
forced-unmount that will remove the in-kernel struct vfs no-questions-asked,
*and* release any resources associated with that VFS (such as hung
processes).  Some OSs have a fumount() syscall, but it doesn't do all of
that.  (A while back I've written a kmem program for sunos4 which did just
that.)

All of the problems of user-level NFS servers are fixed with autofs (at
least the latest version of it as of Solaris 2.6).

> Does the userfs handle caching of disk blocks?  Does it handle caching
> of inodes?  Does it handle caching of directory data?  If so, the userfs
> would then not benefit from the caching algorithms in the kernel?
> 
> Chuck McCrobie  (** MAD VAX **)
> mccrobi@apl.jhu.edu
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-fs" in the body of the message

Erez.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001232134.QAA28564>