tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Making forced unmounts work

On Mon, Nov 26, 2012 at 03:06:34PM +0100, J. Hannken-Illjes wrote:
 > In short the attached diff:
 > - Adds a new kernel-internal errno ERESTARTVOP and changes VCALL() to
 >   restart a vnode operation once it returns ERESTARTVOP.
 > - Changes fstrans_start() to take an optional `hint vnode' and return
 >   ERESTARTVOP if the vnode becomes dead.

Is there any major reason we can't just use ERESTART and rerun the
whole syscall?

I see there are two references to ERESTARTVOP in genfs_io.c, and I
don't see what they're for without digging deeper, but given that they
appear to make locking behavior depend on the error condition maybe it
would be better not to do that too. :-/

Also I wonder if there's any way to accomplish this that doesn't
require adding fstrans calls to every operation in every fs.

More later on hopefully when I have more time to look...

David A. Holland

Home | Main Index | Thread Index | Old Index