[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <570D40A2.7030209@suse.cz>
Date: Tue, 12 Apr 2016 20:38:26 +0200
From: Stanislav Brabec <sbrabec@...e.cz>
To: Al Viro <viro@...IV.linux.org.uk>,
"Austin S. Hemmelgarn" <ahferroin7@...il.com>
Cc: linux-kernel@...r.kernel.org, Jens Axboe <axboe@...nel.dk>,
Btrfs BTRFS <linux-btrfs@...r.kernel.org>,
David Sterba <dsterba@...e.cz>, Valdis.Kletnieks@...edu
Subject: Re: loop subsystem corrupted after mounting multiple btrfs
sub-volumes
On Feb 26, 2016 at 21:30 Al Viro wrote:
> Sigh... sys_mount() (mount_bdev(), actually) has no way to tell if two
> loop devices refer to the same underlying object. As far as it's
> concerned, you are asking to mount a completely unrelated block device.
> Which just happens to see the data (living in separate pagecache, even)
> modified behind its back (with some delay) after it gets written to another
> device. Filesystem drivers generally don't like when something is screwing
> the underlying data, to put it mildly...
>
I wrote a loop device reuse patch for mount -oloop.
[PATCH 0/3] btrfs-safe implementation of -oloop
http://marc.info/?l=util-linux-ng&m=146048532307963&w=2
[PATCH 1/3] libmount: Re-organize is_mounted_same_loopfile()
http://marc.info/?l=util-linux-ng&m=146048535907971&w=2
[PATCH 2/3] libmount: reuse existing loop device
http://marc.info/?l=util-linux-ng&m=146048537807980&w=2
[PATCH 3/3] mount: Handle EROFS before calling mount() syscall
http://marc.info/?l=util-linux-ng&m=146048542007990&w=2
However it works for me, there are still some controversial issues
described in [PATCH 0/3].
These patches will hide corruption of kernel loop control structures
mentioned earlier in this thread and in most cases prevent data
corruption.
--
Best Regards / S pozdravem,
Stanislav Brabec
software developer
---------------------------------------------------------------------
SUSE LINUX, s. r. o. e-mail: sbrabec@...e.com
Lihovarská 1060/12 tel: +49 911 7405384547
190 00 Praha 9 fax: +420 284 084 001
Czech Republic http://www.suse.cz/
PGP: 830B 40D5 9E05 35D8 5E27 6FA3 717C 209F A04F CD76
Powered by blists - more mailing lists