[BusyBox] lazy unmount
Rob Landley
rob at landley.net
Sat Jul 30 00:04:55 UTC 2005
On Friday 29 July 2005 10:36, Rafael Ávila de Espíndola wrote:
> I really need the lazy unmount feature and it appears to be simple to add
> it to umout.c. But
> 1) There was a discussion about a mount rewrite. Is umount also going to be
> rewritten?
Yes, and that's what's holding up the checkin. (The mount part was done a
while ago...)
> 2) busybox umount use -l fop freeloop. What option should I use for lazy?
I'm ripping out -l for freeing loop devices; it should now autodetect this.
(Okay, when I say "autodetect" I mean that when loop support is enabled it
calls the loop detach ioctl on the block device unconditionally, which should
be a NOP for every device that's not a loop device because according to
linux/Documentation/ioctl-number.txt, loop major 'L' minor 00-1F is not a
conflicted range.)
And for the case of doubly mounted loop devices (which my code sets up as
preferable to attaching two loop devices to the same file -- one loop device
can be mounted in multiple places and they'll share a superblock properly and
the kernel won't corrupt the underlying filesystem. Two block devices
attached to the same file, the kernel does NOT detect that it's already in
use, and if either mount is writeable things get unpleasant quickly. Not
that anybody's ever encountered this, but I'm trying to fix it. And yes, I
care about the race conditions of somebody detaching the loop device while
another mount detects it and wants to re-use it, although in that case I'm
just trying to fail gracefully rather than retry. And yes, I care about two
block devices on the same file at different offsets: I'm catching that one
andmaking sure the offsets match before ok-ing it for reuse.)
And you wonder why this took so long...
Anyway: yeah, -l is becoming lazy unmount. I'm working on it...
> Thanks,
> Rafael
Rob
More information about the busybox
mailing list