Re: loop subsystem corrupted after mounting multiple btrfs sub-volumes

From: Austin S. Hemmelgarn
Date: Mon Feb 29 2016 - 08:12:16 EST

On 2016-02-26 16:45, Al Viro wrote:
On Fri, Feb 26, 2016 at 10:36:50PM +0100, Stanislav Brabec wrote:

It should definitely report error whenever trying -oloop on top of
anything else than a file. Or at least a warning.

Well, even losetup should report a warning.

Keep in mind that with crypto in the game it just might be useful to have
loop-over-loop - it might be _not_ a no-op (hell, you might have two
layers of encryption - not the smartest thing to do, but if that's what
got dumped on your lap, you deal with what you've got). So such warnings
shouldn't be hard errors.

That and that using a loop device is one of the ways to expose partitions on a device the kernel doesn't normally expose them from. In general, I'm pretty certain the preferred method is to use DM based mappings, but those aren't always available, and I've had multiple cases where I had to use nested loop devices to get to a filesystem.

You can't protect against everything, but you very much should not be doing something that is known to cause issues, and the current behavior of mount(8) WRT -o loop definitely can cause issues.