aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2011-08-23 14:12:04 -0400
committerJens Axboe <jaxboe@fusionio.com>2011-08-23 14:12:04 -0400
commite03c8dd14915fabc101aa495828d58598dc5af98 (patch)
tree8aba1d519848c3f7684ac5673c95f56aa6ff1d57 /include/linux
parente8b177cedc39b092e423b8cbc687dbf096a1de47 (diff)
loop: always allow userspace partitions and optionally support automatic scanning
Automatic partition scanning can be requested individually per loop device during its setup by setting LO_FLAGS_PARTSCAN. By default, no partition tables are scanned. Userspace can now always add and remove partitions from all loop devices, regardless if the in-kernel partition scanner is enabled or not. The needed partition minor numbers are allocated from the extended minors space, the main loop device numbers will continue to match the loop minors, regardless of the number of partitions used. # grep . /sys/class/block/loop1/loop/* /sys/block/loop1/loop/autoclear:0 /sys/block/loop1/loop/backing_file:/home/kay/data/stuff/part.img /sys/block/loop1/loop/offset:0 /sys/block/loop1/loop/partscan:1 /sys/block/loop1/loop/sizelimit:0 # ls -l /dev/loop* brw-rw---- 1 root disk 7, 0 Aug 14 20:22 /dev/loop0 brw-rw---- 1 root disk 7, 1 Aug 14 20:23 /dev/loop1 brw-rw---- 1 root disk 259, 0 Aug 14 20:23 /dev/loop1p1 brw-rw---- 1 root disk 259, 1 Aug 14 20:23 /dev/loop1p2 brw-rw---- 1 root disk 7, 99 Aug 14 20:23 /dev/loop99 brw-rw---- 1 root disk 259, 2 Aug 14 20:23 /dev/loop99p1 brw-rw---- 1 root disk 259, 3 Aug 14 20:23 /dev/loop99p2 crw------T 1 root root 10, 237 Aug 14 20:22 /dev/loop-control Cc: Karel Zak <kzak@redhat.com> Cc: Davidlohr Bueso <dave@gnu.org> Acked-By: Tejun Heo <tj@kernel.org> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/loop.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/loop.h b/include/linux/loop.h
index 66c194e2d9b9..4367fc507fe9 100644
--- a/include/linux/loop.h
+++ b/include/linux/loop.h
@@ -76,6 +76,7 @@ enum {
76 LO_FLAGS_READ_ONLY = 1, 76 LO_FLAGS_READ_ONLY = 1,
77 LO_FLAGS_USE_AOPS = 2, 77 LO_FLAGS_USE_AOPS = 2,
78 LO_FLAGS_AUTOCLEAR = 4, 78 LO_FLAGS_AUTOCLEAR = 4,
79 LO_FLAGS_PARTSCAN = 8,
79}; 80};
80 81
81#include <asm/posix_types.h> /* for __kernel_old_dev_t */ 82#include <asm/posix_types.h> /* for __kernel_old_dev_t */