linux/fs/partitions
Tejun Heo b403a98e26 block: improve automatic native capacity unlocking
Currently, native capacity unlocking is initiated only when a
recognized partition extends beyond the end of the disk.  However,
there are several other unhandled cases where truncated capacity can
lead to misdetection of partitions.

* Partition table is fully beyond EOD.

* Partition table is partially beyond EOD (daisy chained ones).

* Recognized partition starts beyond EOD.

This patch updates generic partition check code such that all the
above three cases are handled too.  For the first two, @state tracks
whether low level partition check code tried to read beyond EOD during
partition scan and triggers native capacity unlocking accordingly.
The third is now handled similarly to the original unlocking case.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ben Hutchings <ben@decadent.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2010-05-21 20:01:03 +02:00
..
acorn.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
acorn.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
amiga.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
amiga.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
atari.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
atari.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
check.c block: improve automatic native capacity unlocking 2010-05-21 20:01:03 +02:00
check.h block: improve automatic native capacity unlocking 2010-05-21 20:01:03 +02:00
efi.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
efi.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
ibm.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
ibm.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
karma.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
karma.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
Kconfig partition: use DEFAULT_SGI_PARTITION for SGI_PARTION default 2008-02-06 10:41:08 -08:00
ldm.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
ldm.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
mac.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
mac.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
Makefile partition: add support for sysv68 partitions 2007-05-08 11:15:09 -07:00
msdos.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
msdos.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
osf.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
osf.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
sgi.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
sgi.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
sun.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
sun.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
sysv68.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
sysv68.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
ultrix.c block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00
ultrix.h block: use struct parsed_partitions *state universally in partition check code 2010-05-21 20:01:02 +02:00