http://bugzilla.opensuse.org/show_bug.cgi?id=1012504
http://bugzilla.opensuse.org/show_bug.cgi?id=1012504#c13
--- Comment #13 from Stanislav Brabec ---
util-linux patch was finished and tested.
I just sent fixes to the upstream for review. (I cannot provide link yet, their
servers are overloaded and archives of util-linux@vger.kernel.org delayed.)
It fixes two issues:
- The reported issue with use a different loop device than specified.
- Detaching of reused loop device, even it is not marked as autoclean.
- It also contains test suite.
Mail subjects:
[PATCH 0/3] fix side effects of loop reuse
[PATCH 1/3] libmount: fix mount -oloop=/dev/loopX regression
[PATCH 2/3] libmount: Fix incorrect detach of reused loop device
[PATCH 3/3] tests: Introduce libmount/loop
I am afraid, that these fixes are not sufficient for complete fix of this bug
report. mount will just return error instead of doing ugly things.
Before: mount created overlapping loop device without even detecting of the
data corruption risk.
Now (after the regression fix): mount refuses to create overlapping loop
device, and either reuses existing loop device, mounts read-only or returns
error, depending on re-usability of the existing loop device.
It implies one regression: If both existing loop and the requested mount loop
are read-only, it is safe to do create two overlapping loops. But mount does
not aware of that fact.
There are two possible fixes:
- Add a heuristic for detecting of safe conditions for read-only loops
overlays, by extension of loopcxt_find_overlap() return codes. (Hopefully it is
not part of public API.) I am now checking how complicated it would be.
- YaST level: Make simple changes in the code that prevent requesting of
overlaying loop devices.
--
You are receiving this mail because:
You are on the CC list for the bug.