diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2021-02-12 10:34:50 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-02-16 10:33:05 +0100 |
commit | 1fe7e39ff783e7606537080eb5bb4142defd1b49 (patch) | |
tree | 7f658716b023c071e60f3cceff6e0c79613411da /arch/sandbox/board | |
parent | ecd1539d9333c0d4a743555dc874ea7a83ee9ea7 (diff) | |
download | barebox-1fe7e39ff783e7606537080eb5bb4142defd1b49.tar.gz barebox-1fe7e39ff783e7606537080eb5bb4142defd1b49.tar.xz |
fs: increase reference count for backing store when loop mounting
The VFS layer already increase the mount reference count for the mount
point. This means e.g. following sequence is well-behaving:
mkdir -p /mnt/disk0.0/media
mount -o loop backing.squashfs /mnt/disk0.0/media
umount /mnt/disk0.0
barebox will do the right thing and report
umount: Device or resource busy
However the reference count of the file where backing.squashfs comes
from is not incremented on mount with the effect that following sequence
crashes:
mkdir -p /media
mount -o loop /mnt/disk0.0/backing.squashfs /media
umount /mnt/disk0.0 # should've returned EBUSY
umount /media
Fix this by touching the backing store's mount reference count when
loop mounting and unmounting.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/sandbox/board')
0 files changed, 0 insertions, 0 deletions