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. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Acked-by: Al Viro <viro@ftp.linux.org.uk> Makes-sense-to: Jens Axboe <axboe@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
acorn.c | ||
acorn.h | ||
amiga.c | ||
amiga.h | ||
atari.c | ||
atari.h | ||
check.c | ||
check.h | ||
efi.c | ||
efi.h | ||
ibm.c | ||
ibm.h | ||
karma.c | ||
karma.h | ||
ldm.c | ||
ldm.h | ||
mac.c | ||
mac.h | ||
msdos.c | ||
msdos.h | ||
osf.c | ||
osf.h | ||
sgi.c | ||
sgi.h | ||
sun.c | ||
sun.h | ||
ultrix.c | ||
ultrix.h |