[PATCH] libbb/loop: don't try to re-use existing loop device
Denys Vlasenko
vda.linux at googlemail.com
Sat Feb 7 18:14:10 UTC 2015
Applied, thanks!
On Wed, Feb 4, 2015 at 1:17 AM, Kevin Wallace <k at igneous.io> wrote:
> loopinfo.lo_file_name is not enough to uniquely identify a file on a system with
> multiple mount namespaces. We could conceivably change this to dedup on
> (lo_rdevice, lo_inode), but, as the comment above the deleted code notes, this
> whole approach of reusing devices is racy anyway, so it seems better to stop
> doing it entirely.
>
> Signed-off-by: Kevin Wallace <k at igneous.io>
> ---
> libbb/loop.c | 11 +----------
> 1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/libbb/loop.c b/libbb/loop.c
> index c96c5e0..d30b378 100644
> --- a/libbb/loop.c
> +++ b/libbb/loop.c
> @@ -154,16 +154,7 @@ int FAST_FUNC set_loop(char **device, const char *file, unsigned long long offse
> else
> ioctl(dfd, LOOP_CLR_FD, 0);
> }
> -
> - /* If this block device already set up right, re-use it.
> - * (Yes this is racy, but associating two loop devices with the same
> - * file isn't pretty either. In general, mounting the same file twice
> - * without using losetup manually is problematic.)
> - */
> - } else
> - if (strcmp(file, (char *)loopinfo.lo_file_name) != 0
> - || offset != loopinfo.lo_offset
> - ) {
> + } else {
> rc = -1;
> }
> close(dfd);
> --
> 2.2.1
>
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox
More information about the busybox
mailing list