summaryrefslogtreecommitdiffstats
path: root/include/linux/genhd.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/genhd.h')
-rw-r--r--include/linux/genhd.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/include/linux/genhd.h b/include/linux/genhd.h
index 9e228d0d7..e7bf84240 100644
--- a/include/linux/genhd.h
+++ b/include/linux/genhd.h
@@ -29,7 +29,7 @@
#define EZD_PARTITION 0x55 /* EZ-DRIVE */
#define DM6_AUX1PARTITION 0x51 /* no DDO: use xlated geom */
#define DM6_AUX3PARTITION 0x53 /* no DDO: use xlated geom */
-
+
struct partition {
unsigned char boot_ind; /* 0x80 - active */
unsigned char head; /* starting head */
@@ -43,12 +43,18 @@ struct partition {
unsigned int nr_sects; /* nr of sectors in partition */
} __attribute__((packed));
+#ifdef __KERNEL__
+# include <linux/devfs_fs_kernel.h>
+
struct hd_struct {
long start_sect;
long nr_sects;
int type; /* currently RAID or normal */
+ devfs_handle_t de; /* primary (master) devfs entry */
};
+#define GENHD_FL_REMOVABLE 1
+
struct gendisk {
int major; /* major number of driver */
const char *major_name; /* name of major driver */
@@ -62,7 +68,12 @@ struct gendisk {
void *real_devices; /* internal use */
struct gendisk *next;
+ struct block_device_operations *fops;
+
+ devfs_handle_t *de_arr; /* one per physical disc */
+ char *flags; /* one per physical disc */
};
+#endif /* __KERNEL__ */
#ifdef CONFIG_SOLARIS_X86_PARTITION
@@ -217,7 +228,11 @@ extern struct gendisk *gendisk_head; /* linked list of disks */
char *disk_name (struct gendisk *hd, int minor, char *buf);
+extern void devfs_register_partitions (struct gendisk *dev, int minor,
+ int unregister);
+
int get_hardsect_size(kdev_t dev);
+
#endif
#endif