On 04/16/2012 05:50 AM, Rich Felker wrote:
> On Sun, Apr 15, 2012 at 11:02:20PM -0500, Rob Landley wrote:
>> I really don't understand this deference to the limitations of
>> util-linux. If we have a spec we should document and justify deviations
>> from the spec. But when all we have is some example implementation, they
>> can be _wrong_. It doesn't _matter_ what they do, what matters is that
>> we get the behavior right.
> 
> I don't think it's deference but desire to avoid breaking things. Some
> people setup loop devices manually with losetup, and don't want them
> automatically deleted, or even just don't expect the automatic
> deletion.

That's why I added -D to disable it.

> For example:
> 
> dev=$(losetup -f --show "$file")
> mkfs "$dev"
> mount "$dev" "$mountpoint"
> ...
> umount "$dev"
> dd if=/dev/zero of="$dev"
> losetup -d "$dev"
> 
> With the automatic loop deletion, this code has a DANGEROUS race
> condition.

A) Which is why I added -D in the first place.

B) "rm -rf mountpoint/*; cat /dev/zero > mountpoint/blah; umount", or
you could blank the $FILE instead of the block device...

> Note that the automatic loop deletion is safe if you can
> determine that the loop device was auto-created by mount, but it's
> extremely unsafe when it was manually created by losetup.

"Root could write bad code, and not understand what they're doing."

This is your definition of "extremely unsafe".

Rob
-- 
GNU/Linux isn't: Linux=GPLv2, GNU=GPLv3+, they can't share code.
Either it's "mere aggregation", or a license violation.  Pick one.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to