Merge branch 'sched/urgent' into sched/core
[firefly-linux-kernel-4.4.55.git] / fs / partitions / check.h
index 98dbe1a84528c3c73e04774b45409b614e758a67..52f8bd399396f3d1bf73836efe59bacc1ec2261d 100644 (file)
@@ -6,6 +6,7 @@
  * description.
  */
 struct parsed_partitions {
+       struct block_device *bdev;
        char name[BDEVNAME_SIZE];
        struct {
                sector_t from;
@@ -14,8 +15,19 @@ struct parsed_partitions {
        } parts[DISK_MAX_PARTS];
        int next;
        int limit;
+       bool access_beyond_eod;
 };
 
+static inline void *read_part_sector(struct parsed_partitions *state,
+                                    sector_t n, Sector *p)
+{
+       if (n >= get_capacity(state->bdev->bd_disk)) {
+               state->access_beyond_eod = true;
+               return NULL;
+       }
+       return read_dev_sector(state->bdev, n, p);
+}
+
 static inline void
 put_partition(struct parsed_partitions *p, int n, sector_t from, sector_t size)
 {