diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-07 07:52:52 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-07 07:52:52 -0400 |
commit | db429e9ec0f9dee2d8e50c154f04f29f880fc9d6 (patch) | |
tree | 363328c6aa85f7a15cc061f7c71f3cc3a8cde970 /include/linux/blkdev.h | |
parent | 02c33b123e59cab5771e52a012aeb810500260a2 (diff) |
partitions: add ->set_capacity block device method
* Add ->set_capacity block device method and use it in rescan_partitions()
to attempt enabling native capacity of the device upon detecting the
partition which exceeds device capacity.
* Add GENHD_FL_NATIVE_CAPACITY flag to try limit attempts of enabling
native capacity during partition scan.
Together with the consecutive patch implementing ->set_capacity method in
ide-gd device driver this allows automatic disabling of Host Protected Area
(HPA) if any partitions overlapping HPA are detected.
Cc: Robert Hancock <hancockrwd@gmail.com>
Cc: Frans Pop <elendil@planet.nl>
Cc: "Andries E. Brouwer" <Andries.Brouwer@cwi.nl>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Emphatically-Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 6f841fb1be30..a2d7298be351 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -1106,6 +1106,8 @@ struct block_device_operations { | |||
1106 | int (*direct_access) (struct block_device *, sector_t, | 1106 | int (*direct_access) (struct block_device *, sector_t, |
1107 | void **, unsigned long *); | 1107 | void **, unsigned long *); |
1108 | int (*media_changed) (struct gendisk *); | 1108 | int (*media_changed) (struct gendisk *); |
1109 | unsigned long long (*set_capacity) (struct gendisk *, | ||
1110 | unsigned long long); | ||
1109 | int (*revalidate_disk) (struct gendisk *); | 1111 | int (*revalidate_disk) (struct gendisk *); |
1110 | int (*getgeo)(struct block_device *, struct hd_geometry *); | 1112 | int (*getgeo)(struct block_device *, struct hd_geometry *); |
1111 | struct module *owner; | 1113 | struct module *owner; |