diff options
| author | Andrew Morton <akpm@digeo.com> | 2002-10-08 18:37:30 -0700 |
|---|---|---|
| committer | Patrick Mochel <mochel@osdl.org> | 2002-10-08 18:37:30 -0700 |
| commit | 6179fd182aac68edacdf20dd0c264d64bce8410e (patch) | |
| tree | 44dbc23c94879f0cdbf4d957f93a27c1e43dfbfc /include/linux | |
| parent | be48ef9e5c863cdb1296c33fddf8e87849e67068 (diff) | |
[PATCH] 64-bit sector_t - driver changes
From Peter Chubb
Compaq Smart array sector_t cleanup: prepare for possible 64-bit sector_t
Clean up loop device to allow huge backing files.
MD transition to 64-bit sector_t.
- Hold sizes and offsets as sector_t not int;
- use 64-bit arithmetic if necessary to map block-in-raid to zone
and block-in-zone
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/loop.h | 4 | ||||
| -rw-r--r-- | include/linux/raid/md.h | 2 | ||||
| -rw-r--r-- | include/linux/raid/md_k.h | 6 | ||||
| -rw-r--r-- | include/linux/raid/raid0.h | 6 |
4 files changed, 9 insertions, 9 deletions
diff --git a/include/linux/loop.h b/include/linux/loop.h index e2db7af9a438..116980ee5daa 100644 --- a/include/linux/loop.h +++ b/include/linux/loop.h @@ -33,7 +33,7 @@ struct loop_device { int lo_flags; int (*transfer)(struct loop_device *, int cmd, char *raw_buf, char *loop_buf, int size, - int real_block); + sector_t real_block); char lo_name[LO_NAME_SIZE]; char lo_encrypt_key[LO_KEY_SIZE]; __u32 lo_init[2]; @@ -123,7 +123,7 @@ struct loop_info { struct loop_func_table { int number; /* filter type */ int (*transfer)(struct loop_device *lo, int cmd, char *raw_buf, - char *loop_buf, int size, int real_block); + char *loop_buf, int size, sector_t real_block); int (*init)(struct loop_device *, struct loop_info *); /* release is called from loop_unregister_transfer or clr_fd */ int (*release)(struct loop_device *); diff --git a/include/linux/raid/md.h b/include/linux/raid/md.h index e8acacc1adb2..ff0538dae18c 100644 --- a/include/linux/raid/md.h +++ b/include/linux/raid/md.h @@ -60,7 +60,7 @@ #define MD_MINOR_VERSION 90 #define MD_PATCHLEVEL_VERSION 0 -extern int md_size[MAX_MD_DEVS]; +extern sector_t md_size[MAX_MD_DEVS]; extern inline char * bdev_partition_name (struct block_device *bdev) { diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h index 2f72d0213f99..b088c30951bd 100644 --- a/include/linux/raid/md_k.h +++ b/include/linux/raid/md_k.h @@ -144,7 +144,7 @@ struct mdk_rdev_s { struct list_head same_set; /* RAID devices within the same set */ - unsigned long size; /* Device size (in blocks) */ + sector_t size; /* Device size (in blocks) */ mddev_t *mddev; /* RAID array if running */ unsigned long last_events; /* IO event timestamp */ @@ -152,7 +152,7 @@ struct mdk_rdev_s struct page *sb_page; mdp_super_t *sb; - unsigned long sb_offset; + sector_t sb_offset; /* A device can be in one of three states based on two flags: * Not working: faulty==1 in_sync==0 @@ -350,5 +350,5 @@ do { \ __wait_disk_event(wq, condition); \ } while (0) -#endif +#endif diff --git a/include/linux/raid/raid0.h b/include/linux/raid/raid0.h index 0b93729576cd..c2d5dcd52fab 100644 --- a/include/linux/raid/raid0.h +++ b/include/linux/raid/raid0.h @@ -5,9 +5,9 @@ struct strip_zone { - unsigned long zone_offset; /* Zone offset in md_dev */ - unsigned long dev_offset; /* Zone offset in real dev */ - unsigned long size; /* Zone size */ + sector_t zone_offset; /* Zone offset in md_dev */ + sector_t dev_offset; /* Zone offset in real dev */ + sector_t size; /* Zone size */ int nb_dev; /* # of devices attached to the zone */ mdk_rdev_t *dev[MD_SB_DISKS]; /* Devices attached to the zone */ }; |
