[PATCH/RFC] partitions: let partitions inherit policy from disk

From: Peter Oberparleiter
Date: Mon Jul 03 2006 - 08:19:06 EST


I'd like to suggest to change the partition code in
fs/partitions/check.c to initialize a newly detected partition's policy
field with that of the containing block device (see patch below).

My reasoning is that function set_disk_ro() in block/genhd.c
modifies the policy field (read-only indicator) of a disk and all
contained partitions. When a partition is detected after the call to
set_disk_ro(), the policy field of this partition will currently not
inherit the disk's policy field. This behavior poses a problem in cases
where a block device can be 'logically de- and reactivated' like e.g.
the s390 DASD driver because partition detection may run after the
policy field has been modified.

From: Peter Oberparleiter <peter.oberparleiter@xxxxxxxxxx>

Initialize the policy field of partitions with that of the containing
block device.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@xxxxxxxxxx>
---
diff -Naurp linux-2.6.17/fs/partitions/check.c linux-2.6.17b/fs/partitions/check.c
--- linux-2.6.17/fs/partitions/check.c 2006-06-18 03:49:35.000000000 +0200
+++ linux-2.6.17b/fs/partitions/check.c 2006-07-03 12:49:13.000000000 +0200
@@ -348,6 +348,7 @@ void add_partition(struct gendisk *disk,
p->start_sect = start;-
p->nr_sects = len;
p->partno = part;
+ p->policy = disk->policy;

devfs_mk_bdev(MKDEV(disk->major, disk->first_minor + part),
S_IFBLK|S_IRUSR|S_IWUSR,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/