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@igneous.io>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
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);