···179179 */180180181181/* IO operations when bitmap is stored near all superblocks */182182-static struct page *read_sb_page(mddev_t *mddev, loff_t offset,182182+static struct page *read_sb_page(struct mddev *mddev, loff_t offset,183183 struct page *page,184184 unsigned long index, int size)185185{···218218219219}220220221221-static struct md_rdev *next_active_rdev(struct md_rdev *rdev, mddev_t *mddev)221221+static struct md_rdev *next_active_rdev(struct md_rdev *rdev, struct mddev *mddev)222222{223223 /* Iterate the disks of an mddev, using rcu to protect access to the224224 * linked list, and raising the refcount of devices we return to ensure···256256{257257 struct md_rdev *rdev = NULL;258258 struct block_device *bdev;259259- mddev_t *mddev = bitmap->mddev;259259+ struct mddev *mddev = bitmap->mddev;260260261261 while ((rdev = next_active_rdev(rdev, mddev)) != NULL) {262262 int size = PAGE_SIZE;···11571157 * out to disk11581158 */1159115911601160-void bitmap_daemon_work(mddev_t *mddev)11601160+void bitmap_daemon_work(struct mddev *mddev)11611161{11621162 struct bitmap *bitmap;11631163 unsigned long j;···16471647/*16481648 * flush out any pending updates16491649 */16501650-void bitmap_flush(mddev_t *mddev)16501650+void bitmap_flush(struct mddev *mddev)16511651{16521652 struct bitmap *bitmap = mddev->bitmap;16531653 long sleep;···16951695 kfree(bitmap);16961696}1697169716981698-void bitmap_destroy(mddev_t *mddev)16981698+void bitmap_destroy(struct mddev *mddev)16991699{17001700 struct bitmap *bitmap = mddev->bitmap;17011701···17181718 * initialize the bitmap structure17191719 * if this returns an error, bitmap_destroy must be called to do clean up17201720 */17211721-int bitmap_create(mddev_t *mddev)17211721+int bitmap_create(struct mddev *mddev)17221722{17231723 struct bitmap *bitmap;17241724 sector_t blocks = mddev->resync_max_sectors;···18221822 return err;18231823}1824182418251825-int bitmap_load(mddev_t *mddev)18251825+int bitmap_load(struct mddev *mddev)18261826{18271827 int err = 0;18281828 sector_t start = 0;···18681868EXPORT_SYMBOL_GPL(bitmap_load);1869186918701870static ssize_t18711871-location_show(mddev_t *mddev, char *page)18711871+location_show(struct mddev *mddev, char *page)18721872{18731873 ssize_t len;18741874 if (mddev->bitmap_info.file)···18821882}1883188318841884static ssize_t18851885-location_store(mddev_t *mddev, const char *buf, size_t len)18851885+location_store(struct mddev *mddev, const char *buf, size_t len)18861886{1887188718881888 if (mddev->pers) {···19591959__ATTR(location, S_IRUGO|S_IWUSR, location_show, location_store);1960196019611961static ssize_t19621962-timeout_show(mddev_t *mddev, char *page)19621962+timeout_show(struct mddev *mddev, char *page)19631963{19641964 ssize_t len;19651965 unsigned long secs = mddev->bitmap_info.daemon_sleep / HZ;···19731973}1974197419751975static ssize_t19761976-timeout_store(mddev_t *mddev, const char *buf, size_t len)19761976+timeout_store(struct mddev *mddev, const char *buf, size_t len)19771977{19781978 /* timeout can be set at any time */19791979 unsigned long timeout;···20092009__ATTR(time_base, S_IRUGO|S_IWUSR, timeout_show, timeout_store);2010201020112011static ssize_t20122012-backlog_show(mddev_t *mddev, char *page)20122012+backlog_show(struct mddev *mddev, char *page)20132013{20142014 return sprintf(page, "%lu\n", mddev->bitmap_info.max_write_behind);20152015}2016201620172017static ssize_t20182018-backlog_store(mddev_t *mddev, const char *buf, size_t len)20182018+backlog_store(struct mddev *mddev, const char *buf, size_t len)20192019{20202020 unsigned long backlog;20212021 int rv = strict_strtoul(buf, 10, &backlog);···20312031__ATTR(backlog, S_IRUGO|S_IWUSR, backlog_show, backlog_store);2032203220332033static ssize_t20342034-chunksize_show(mddev_t *mddev, char *page)20342034+chunksize_show(struct mddev *mddev, char *page)20352035{20362036 return sprintf(page, "%lu\n", mddev->bitmap_info.chunksize);20372037}2038203820392039static ssize_t20402040-chunksize_store(mddev_t *mddev, const char *buf, size_t len)20402040+chunksize_store(struct mddev *mddev, const char *buf, size_t len)20412041{20422042 /* Can only be changed when no bitmap is active */20432043 int rv;···20572057static struct md_sysfs_entry bitmap_chunksize =20582058__ATTR(chunksize, S_IRUGO|S_IWUSR, chunksize_show, chunksize_store);2059205920602060-static ssize_t metadata_show(mddev_t *mddev, char *page)20602060+static ssize_t metadata_show(struct mddev *mddev, char *page)20612061{20622062 return sprintf(page, "%s\n", (mddev->bitmap_info.external20632063 ? "external" : "internal"));20642064}2065206520662066-static ssize_t metadata_store(mddev_t *mddev, const char *buf, size_t len)20662066+static ssize_t metadata_store(struct mddev *mddev, const char *buf, size_t len)20672067{20682068 if (mddev->bitmap ||20692069 mddev->bitmap_info.file ||···20812081static struct md_sysfs_entry bitmap_metadata =20822082__ATTR(metadata, S_IRUGO|S_IWUSR, metadata_show, metadata_store);2083208320842084-static ssize_t can_clear_show(mddev_t *mddev, char *page)20842084+static ssize_t can_clear_show(struct mddev *mddev, char *page)20852085{20862086 int len;20872087 if (mddev->bitmap)···20922092 return len;20932093}2094209420952095-static ssize_t can_clear_store(mddev_t *mddev, const char *buf, size_t len)20952095+static ssize_t can_clear_store(struct mddev *mddev, const char *buf, size_t len)20962096{20972097 if (mddev->bitmap == NULL)20982098 return -ENOENT;···21112111__ATTR(can_clear, S_IRUGO|S_IWUSR, can_clear_show, can_clear_store);2112211221132113static ssize_t21142114-behind_writes_used_show(mddev_t *mddev, char *page)21142114+behind_writes_used_show(struct mddev *mddev, char *page)21152115{21162116 if (mddev->bitmap == NULL)21172117 return sprintf(page, "0\n");···21202120}2121212121222122static ssize_t21232123-behind_writes_used_reset(mddev_t *mddev, const char *buf, size_t len)21232123+behind_writes_used_reset(struct mddev *mddev, const char *buf, size_t len)21242124{21252125 if (mddev->bitmap)21262126 mddev->bitmap->behind_writes_used = 0;
+6-6
drivers/md/bitmap.h
···193193 unsigned long pages; /* total number of pages in the bitmap */194194 unsigned long missing_pages; /* number of pages not yet allocated */195195196196- mddev_t *mddev; /* the md device that the bitmap is for */196196+ struct mddev *mddev; /* the md device that the bitmap is for */197197198198 /* bitmap chunksize -- how much data does each bit represent? */199199 unsigned long chunkshift; /* chunksize = 2^chunkshift (for bitops) */···238238/* the bitmap API */239239240240/* these are used only by md/bitmap */241241-int bitmap_create(mddev_t *mddev);242242-int bitmap_load(mddev_t *mddev);243243-void bitmap_flush(mddev_t *mddev);244244-void bitmap_destroy(mddev_t *mddev);241241+int bitmap_create(struct mddev *mddev);242242+int bitmap_load(struct mddev *mddev);243243+void bitmap_flush(struct mddev *mddev);244244+void bitmap_destroy(struct mddev *mddev);245245246246void bitmap_print_sb(struct bitmap *bitmap);247247void bitmap_update_sb(struct bitmap *bitmap);···262262void bitmap_cond_end_sync(struct bitmap *bitmap, sector_t sector);263263264264void bitmap_unplug(struct bitmap *bitmap);265265-void bitmap_daemon_work(mddev_t *mddev);265265+void bitmap_daemon_work(struct mddev *mddev);266266#endif267267268268#endif
···169169 conf->nfaults = n+1;170170}171171172172-static int make_request(mddev_t *mddev, struct bio *bio)172172+static int make_request(struct mddev *mddev, struct bio *bio)173173{174174 conf_t *conf = mddev->private;175175 int failit = 0;···222222 }223223}224224225225-static void status(struct seq_file *seq, mddev_t *mddev)225225+static void status(struct seq_file *seq, struct mddev *mddev)226226{227227 conf_t *conf = mddev->private;228228 int n;···255255}256256257257258258-static int reshape(mddev_t *mddev)258258+static int reshape(struct mddev *mddev)259259{260260 int mode = mddev->new_layout & ModeMask;261261 int count = mddev->new_layout >> ModeShift;···284284 return 0;285285}286286287287-static sector_t faulty_size(mddev_t *mddev, sector_t sectors, int raid_disks)287287+static sector_t faulty_size(struct mddev *mddev, sector_t sectors, int raid_disks)288288{289289 WARN_ONCE(raid_disks,290290 "%s does not support generic reshape\n", __func__);···295295 return sectors;296296}297297298298-static int run(mddev_t *mddev)298298+static int run(struct mddev *mddev)299299{300300 struct md_rdev *rdev;301301 int i;···325325 return 0;326326}327327328328-static int stop(mddev_t *mddev)328328+static int stop(struct mddev *mddev)329329{330330 conf_t *conf = mddev->private;331331
+10-10
drivers/md/linear.c
···2626/*2727 * find which device holds a particular offset 2828 */2929-static inline dev_info_t *which_dev(mddev_t *mddev, sector_t sector)2929+static inline dev_info_t *which_dev(struct mddev *mddev, sector_t sector)3030{3131 int lo, mid, hi;3232 linear_conf_t *conf;···6363 struct bvec_merge_data *bvm,6464 struct bio_vec *biovec)6565{6666- mddev_t *mddev = q->queuedata;6666+ struct mddev *mddev = q->queuedata;6767 dev_info_t *dev0;6868 unsigned long maxsectors, bio_sectors = bvm->bi_size >> 9;6969 sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);···89899090static int linear_congested(void *data, int bits)9191{9292- mddev_t *mddev = data;9292+ struct mddev *mddev = data;9393 linear_conf_t *conf;9494 int i, ret = 0;9595···108108 return ret;109109}110110111111-static sector_t linear_size(mddev_t *mddev, sector_t sectors, int raid_disks)111111+static sector_t linear_size(struct mddev *mddev, sector_t sectors, int raid_disks)112112{113113 linear_conf_t *conf;114114 sector_t array_sectors;···123123 return array_sectors;124124}125125126126-static linear_conf_t *linear_conf(mddev_t *mddev, int raid_disks)126126+static linear_conf_t *linear_conf(struct mddev *mddev, int raid_disks)127127{128128 linear_conf_t *conf;129129 struct md_rdev *rdev;···194194 return NULL;195195}196196197197-static int linear_run (mddev_t *mddev)197197+static int linear_run (struct mddev *mddev)198198{199199 linear_conf_t *conf;200200···213213 return md_integrity_register(mddev);214214}215215216216-static int linear_add(mddev_t *mddev, struct md_rdev *rdev)216216+static int linear_add(struct mddev *mddev, struct md_rdev *rdev)217217{218218 /* Adding a drive to a linear array allows the array to grow.219219 * It is permitted if the new drive has a matching superblock···245245 return 0;246246}247247248248-static int linear_stop (mddev_t *mddev)248248+static int linear_stop (struct mddev *mddev)249249{250250 linear_conf_t *conf = mddev->private;251251···264264 return 0;265265}266266267267-static int linear_make_request (mddev_t *mddev, struct bio *bio)267267+static int linear_make_request (struct mddev *mddev, struct bio *bio)268268{269269 dev_info_t *tmp_dev;270270 sector_t start_sector;···323323 return 1;324324}325325326326-static void linear_status (struct seq_file *seq, mddev_t *mddev)326326+static void linear_status (struct seq_file *seq, struct mddev *mddev)327327{328328329329 seq_printf(seq, " %dk rounding", mddev->chunk_sectors / 2);
+180-180
drivers/md/md.c
···95959696static int sysctl_speed_limit_min = 1000;9797static int sysctl_speed_limit_max = 200000;9898-static inline int speed_min(mddev_t *mddev)9898+static inline int speed_min(struct mddev *mddev)9999{100100 return mddev->sync_speed_min ?101101 mddev->sync_speed_min : sysctl_speed_limit_min;102102}103103104104-static inline int speed_max(mddev_t *mddev)104104+static inline int speed_max(struct mddev *mddev)105105{106106 return mddev->sync_speed_max ?107107 mddev->sync_speed_max : sysctl_speed_limit_max;···157157158158static void mddev_bio_destructor(struct bio *bio)159159{160160- mddev_t *mddev, **mddevp;160160+ struct mddev *mddev, **mddevp;161161162162 mddevp = (void*)bio;163163 mddev = mddevp[-1];···166166}167167168168struct bio *bio_alloc_mddev(gfp_t gfp_mask, int nr_iovecs,169169- mddev_t *mddev)169169+ struct mddev *mddev)170170{171171 struct bio *b;172172- mddev_t **mddevp;172172+ struct mddev **mddevp;173173174174 if (!mddev || !mddev->bio_set)175175 return bio_alloc(gfp_mask, nr_iovecs);···186186EXPORT_SYMBOL_GPL(bio_alloc_mddev);187187188188struct bio *bio_clone_mddev(struct bio *bio, gfp_t gfp_mask,189189- mddev_t *mddev)189189+ struct mddev *mddev)190190{191191 struct bio *b;192192- mddev_t **mddevp;192192+ struct mddev **mddevp;193193194194 if (!mddev || !mddev->bio_set)195195 return bio_clone(bio, gfp_mask);···278278 */279279static DECLARE_WAIT_QUEUE_HEAD(md_event_waiters);280280static atomic_t md_event_count;281281-void md_new_event(mddev_t *mddev)281281+void md_new_event(struct mddev *mddev)282282{283283 atomic_inc(&md_event_count);284284 wake_up(&md_event_waiters);···288288/* Alternate version that can be called from interrupts289289 * when calling sysfs_notify isn't needed.290290 */291291-static void md_new_event_inintr(mddev_t *mddev)291291+static void md_new_event_inintr(struct mddev *mddev)292292{293293 atomic_inc(&md_event_count);294294 wake_up(&md_event_waiters);···309309 * Any code which breaks out of this loop while own310310 * a reference to the current mddev and must mddev_put it.311311 */312312-#define for_each_mddev(mddev,tmp) \312312+#define for_each_mddev(_mddev,_tmp) \313313 \314314 for (({ spin_lock(&all_mddevs_lock); \315315- tmp = all_mddevs.next; \316316- mddev = NULL;}); \317317- ({ if (tmp != &all_mddevs) \318318- mddev_get(list_entry(tmp, mddev_t, all_mddevs));\315315+ _tmp = all_mddevs.next; \316316+ _mddev = NULL;}); \317317+ ({ if (_tmp != &all_mddevs) \318318+ mddev_get(list_entry(_tmp, struct mddev, all_mddevs));\319319 spin_unlock(&all_mddevs_lock); \320320- if (mddev) mddev_put(mddev); \321321- mddev = list_entry(tmp, mddev_t, all_mddevs); \322322- tmp != &all_mddevs;}); \320320+ if (_mddev) mddev_put(_mddev); \321321+ _mddev = list_entry(_tmp, struct mddev, all_mddevs); \322322+ _tmp != &all_mddevs;}); \323323 ({ spin_lock(&all_mddevs_lock); \324324- tmp = tmp->next;}) \324324+ _tmp = _tmp->next;}) \325325 )326326327327···335335static int md_make_request(struct request_queue *q, struct bio *bio)336336{337337 const int rw = bio_data_dir(bio);338338- mddev_t *mddev = q->queuedata;338338+ struct mddev *mddev = q->queuedata;339339 int rv;340340 int cpu;341341 unsigned int sectors;···387387 * Once ->stop is called and completes, the module will be completely388388 * unused.389389 */390390-void mddev_suspend(mddev_t *mddev)390390+void mddev_suspend(struct mddev *mddev)391391{392392 BUG_ON(mddev->suspended);393393 mddev->suspended = 1;···397397}398398EXPORT_SYMBOL_GPL(mddev_suspend);399399400400-void mddev_resume(mddev_t *mddev)400400+void mddev_resume(struct mddev *mddev)401401{402402 mddev->suspended = 0;403403 wake_up(&mddev->sb_wait);···408408}409409EXPORT_SYMBOL_GPL(mddev_resume);410410411411-int mddev_congested(mddev_t *mddev, int bits)411411+int mddev_congested(struct mddev *mddev, int bits)412412{413413 return mddev->suspended;414414}···421421static void md_end_flush(struct bio *bio, int err)422422{423423 struct md_rdev *rdev = bio->bi_private;424424- mddev_t *mddev = rdev->mddev;424424+ struct mddev *mddev = rdev->mddev;425425426426 rdev_dec_pending(rdev, mddev);427427···436436437437static void submit_flushes(struct work_struct *ws)438438{439439- mddev_t *mddev = container_of(ws, mddev_t, flush_work);439439+ struct mddev *mddev = container_of(ws, struct mddev, flush_work);440440 struct md_rdev *rdev;441441442442 INIT_WORK(&mddev->flush_work, md_submit_flush_data);···469469470470static void md_submit_flush_data(struct work_struct *ws)471471{472472- mddev_t *mddev = container_of(ws, mddev_t, flush_work);472472+ struct mddev *mddev = container_of(ws, struct mddev, flush_work);473473 struct bio *bio = mddev->flush_bio;474474475475 if (bio->bi_size == 0)···485485 wake_up(&mddev->sb_wait);486486}487487488488-void md_flush_request(mddev_t *mddev, struct bio *bio)488488+void md_flush_request(struct mddev *mddev, struct bio *bio)489489{490490 spin_lock_irq(&mddev->write_lock);491491 wait_event_lock_irq(mddev->sb_wait,···509509 */510510struct md_plug_cb {511511 struct blk_plug_cb cb;512512- mddev_t *mddev;512512+ struct mddev *mddev;513513};514514515515static void plugger_unplug(struct blk_plug_cb *cb)···523523/* Check that an unplug wakeup will come shortly.524524 * If not, wakeup the md thread immediately525525 */526526-int mddev_check_plugged(mddev_t *mddev)526526+int mddev_check_plugged(struct mddev *mddev)527527{528528 struct blk_plug *plug = current->plug;529529 struct md_plug_cb *mdcb;···555555}556556EXPORT_SYMBOL_GPL(mddev_check_plugged);557557558558-static inline mddev_t *mddev_get(mddev_t *mddev)558558+static inline struct mddev *mddev_get(struct mddev *mddev)559559{560560 atomic_inc(&mddev->active);561561 return mddev;···563563564564static void mddev_delayed_delete(struct work_struct *ws);565565566566-static void mddev_put(mddev_t *mddev)566566+static void mddev_put(struct mddev *mddev)567567{568568 struct bio_set *bs = NULL;569569···592592 bioset_free(bs);593593}594594595595-void mddev_init(mddev_t *mddev)595595+void mddev_init(struct mddev *mddev)596596{597597 mutex_init(&mddev->open_mutex);598598 mutex_init(&mddev->reconfig_mutex);···615615}616616EXPORT_SYMBOL_GPL(mddev_init);617617618618-static mddev_t * mddev_find(dev_t unit)618618+static struct mddev * mddev_find(dev_t unit)619619{620620- mddev_t *mddev, *new = NULL;620620+ struct mddev *mddev, *new = NULL;621621622622 if (unit && MAJOR(unit) != MD_MAJOR)623623 unit &= ~((1<<MdpMinorShift)-1);···689689 goto retry;690690}691691692692-static inline int mddev_lock(mddev_t * mddev)692692+static inline int mddev_lock(struct mddev * mddev)693693{694694 return mutex_lock_interruptible(&mddev->reconfig_mutex);695695}696696697697-static inline int mddev_is_locked(mddev_t *mddev)697697+static inline int mddev_is_locked(struct mddev *mddev)698698{699699 return mutex_is_locked(&mddev->reconfig_mutex);700700}701701702702-static inline int mddev_trylock(mddev_t * mddev)702702+static inline int mddev_trylock(struct mddev * mddev)703703{704704 return mutex_trylock(&mddev->reconfig_mutex);705705}706706707707static struct attribute_group md_redundancy_group;708708709709-static void mddev_unlock(mddev_t * mddev)709709+static void mddev_unlock(struct mddev * mddev)710710{711711 if (mddev->to_remove) {712712 /* These cannot be removed under reconfig_mutex as···749749 spin_unlock(&pers_lock);750750}751751752752-static struct md_rdev * find_rdev_nr(mddev_t *mddev, int nr)752752+static struct md_rdev * find_rdev_nr(struct mddev *mddev, int nr)753753{754754 struct md_rdev *rdev;755755···760760 return NULL;761761}762762763763-static struct md_rdev * find_rdev(mddev_t * mddev, dev_t dev)763763+static struct md_rdev * find_rdev(struct mddev * mddev, dev_t dev)764764{765765 struct md_rdev *rdev;766766···823823static void super_written(struct bio *bio, int error)824824{825825 struct md_rdev *rdev = bio->bi_private;826826- mddev_t *mddev = rdev->mddev;826826+ struct mddev *mddev = rdev->mddev;827827828828 if (error || !test_bit(BIO_UPTODATE, &bio->bi_flags)) {829829 printk("md: super_written gets error=%d, uptodate=%d\n",···837837 bio_put(bio);838838}839839840840-void md_super_write(mddev_t *mddev, struct md_rdev *rdev,840840+void md_super_write(struct mddev *mddev, struct md_rdev *rdev,841841 sector_t sector, int size, struct page *page)842842{843843 /* write first size bytes of page to sector of rdev···858858 submit_bio(WRITE_FLUSH_FUA, bio);859859}860860861861-void md_super_wait(mddev_t *mddev)861861+void md_super_wait(struct mddev *mddev)862862{863863 /* wait for all superblock writes that were scheduled to complete */864864 DEFINE_WAIT(wq);···10211021 * -EINVAL superblock incompatible or invalid10221022 * -othererror e.g. -EIO10231023 *10241024- * int validate_super(mddev_t *mddev, struct md_rdev *dev)10241024+ * int validate_super(struct mddev *mddev, struct md_rdev *dev)10251025 * Verify that dev is acceptable into mddev.10261026 * The first time, mddev->raid_disks will be 0, and data from10271027 * dev should be merged in. Subsequent calls check that dev10281028 * is new enough. Return 0 or -EINVAL10291029 *10301030- * void sync_super(mddev_t *mddev, struct md_rdev *dev)10301030+ * void sync_super(struct mddev *mddev, struct md_rdev *dev)10311031 * Update the superblock for rdev with data in mddev10321032 * This does not write to disc.10331033 *···10381038 struct module *owner;10391039 int (*load_super)(struct md_rdev *rdev, struct md_rdev *refdev,10401040 int minor_version);10411041- int (*validate_super)(mddev_t *mddev, struct md_rdev *rdev);10421042- void (*sync_super)(mddev_t *mddev, struct md_rdev *rdev);10411041+ int (*validate_super)(struct mddev *mddev, struct md_rdev *rdev);10421042+ void (*sync_super)(struct mddev *mddev, struct md_rdev *rdev);10431043 unsigned long long (*rdev_size_change)(struct md_rdev *rdev,10441044 sector_t num_sectors);10451045};···10521052 * has a bitmap. Otherwise, it returns 0.10531053 *10541054 */10551055-int md_check_no_bitmap(mddev_t *mddev)10551055+int md_check_no_bitmap(struct mddev *mddev)10561056{10571057 if (!mddev->bitmap_info.file && !mddev->bitmap_info.offset)10581058 return 0;···11601160/*11611161 * validate_super for 0.90.011621162 */11631163-static int super_90_validate(mddev_t *mddev, struct md_rdev *rdev)11631163+static int super_90_validate(struct mddev *mddev, struct md_rdev *rdev)11641164{11651165 mdp_disk_t *desc;11661166 mdp_super_t *sb = page_address(rdev->sb_page);···12721272/*12731273 * sync_super for 0.90.012741274 */12751275-static void super_90_sync(mddev_t *mddev, struct md_rdev *rdev)12751275+static void super_90_sync(struct mddev *mddev, struct md_rdev *rdev)12761276{12771277 mdp_super_t *sb;12781278 struct md_rdev *rdev2;···16221622 return ret;16231623}1624162416251625-static int super_1_validate(mddev_t *mddev, struct md_rdev *rdev)16251625+static int super_1_validate(struct mddev *mddev, struct md_rdev *rdev)16261626{16271627 struct mdp_superblock_1 *sb = page_address(rdev->sb_page);16281628 __u64 ev1 = le64_to_cpu(sb->events);···17231723 return 0;17241724}1725172517261726-static void super_1_sync(mddev_t *mddev, struct md_rdev *rdev)17261726+static void super_1_sync(struct mddev *mddev, struct md_rdev *rdev)17271727{17281728 struct mdp_superblock_1 *sb;17291729 struct md_rdev *rdev2;···19021902 },19031903};1904190419051905-static void sync_super(mddev_t *mddev, struct md_rdev *rdev)19051905+static void sync_super(struct mddev *mddev, struct md_rdev *rdev)19061906{19071907 if (mddev->sync_super) {19081908 mddev->sync_super(mddev, rdev);···19141914 super_types[mddev->major_version].sync_super(mddev, rdev);19151915}1916191619171917-static int match_mddev_units(mddev_t *mddev1, mddev_t *mddev2)19171917+static int match_mddev_units(struct mddev *mddev1, struct mddev *mddev2)19181918{19191919 struct md_rdev *rdev, *rdev2;19201920···19391939 * from the array. It only succeeds if all working and active component devices19401940 * are integrity capable with matching profiles.19411941 */19421942-int md_integrity_register(mddev_t *mddev)19421942+int md_integrity_register(struct mddev *mddev)19431943{19441944 struct md_rdev *rdev, *reference = NULL;19451945···19861986EXPORT_SYMBOL(md_integrity_register);1987198719881988/* Disable data integrity if non-capable/non-matching disk is being added */19891989-void md_integrity_add_rdev(struct md_rdev *rdev, mddev_t *mddev)19891989+void md_integrity_add_rdev(struct md_rdev *rdev, struct mddev *mddev)19901990{19911991 struct blk_integrity *bi_rdev = bdev_get_integrity(rdev->bdev);19921992 struct blk_integrity *bi_mddev = blk_get_integrity(mddev->gendisk);···20032003}20042004EXPORT_SYMBOL(md_integrity_add_rdev);2005200520062006-static int bind_rdev_to_array(struct md_rdev * rdev, mddev_t * mddev)20062006+static int bind_rdev_to_array(struct md_rdev * rdev, struct mddev * mddev)20072007{20082008 char b[BDEVNAME_SIZE];20092009 struct kobject *ko;···21702170 export_rdev(rdev);21712171}2172217221732173-static void export_array(mddev_t *mddev)21732173+static void export_array(struct mddev *mddev)21742174{21752175 struct md_rdev *rdev, *tmp;21762176···22932293{22942294 struct list_head *tmp;22952295 struct md_rdev *rdev;22962296- mddev_t *mddev;22962296+ struct mddev *mddev;22972297 char b[BDEVNAME_SIZE];2298229822992299 printk("\n");···23182318}231923192320232023212321-static void sync_sbs(mddev_t * mddev, int nospares)23212321+static void sync_sbs(struct mddev * mddev, int nospares)23222322{23232323 /* Update each superblock (in-memory image), but23242324 * if we are allowed to, skip spares which already···23412341 }23422342}2343234323442344-static void md_update_sb(mddev_t * mddev, int force_change)23442344+static void md_update_sb(struct mddev * mddev, int force_change)23452345{23462346 struct md_rdev *rdev;23472347 int sync_req;···25862586 if (rdev->raid_disk >= 0)25872587 err = -EBUSY;25882588 else {25892589- mddev_t *mddev = rdev->mddev;25892589+ struct mddev *mddev = rdev->mddev;25902590 kick_rdev_from_array(rdev);25912591 if (mddev->pers)25922592 md_update_sb(mddev, 1);···28142814static ssize_t28152815rdev_size_store(struct md_rdev *rdev, const char *buf, size_t len)28162816{28172817- mddev_t *my_mddev = rdev->mddev;28172817+ struct mddev *my_mddev = rdev->mddev;28182818 sector_t oldsectors = rdev->sectors;28192819 sector_t sectors;28202820···28402840 * a deadlock. We have already changed rdev->sectors, and if28412841 * we have to change it back, we will have the lock again.28422842 */28432843- mddev_t *mddev;28432843+ struct mddev *mddev;28442844 int overlap = 0;28452845 struct list_head *tmp;28462846···29672967{29682968 struct rdev_sysfs_entry *entry = container_of(attr, struct rdev_sysfs_entry, attr);29692969 struct md_rdev *rdev = container_of(kobj, struct md_rdev, kobj);29702970- mddev_t *mddev = rdev->mddev;29702970+ struct mddev *mddev = rdev->mddev;29712971 ssize_t rv;2972297229732973 if (!entry->show)···29912991 struct rdev_sysfs_entry *entry = container_of(attr, struct rdev_sysfs_entry, attr);29922992 struct md_rdev *rdev = container_of(kobj, struct md_rdev, kobj);29932993 ssize_t rv;29942994- mddev_t *mddev = rdev->mddev;29942994+ struct mddev *mddev = rdev->mddev;2995299529962996 if (!entry->store)29972997 return -EIO;···31393139 */314031403141314131423142-static void analyze_sbs(mddev_t * mddev)31423142+static void analyze_sbs(struct mddev * mddev)31433143{31443144 int i;31453145 struct md_rdev *rdev, *freshest, *tmp;···32423242static void md_safemode_timeout(unsigned long data);3243324332443244static ssize_t32453245-safe_delay_show(mddev_t *mddev, char *page)32453245+safe_delay_show(struct mddev *mddev, char *page)32463246{32473247 int msec = (mddev->safemode_delay*1000)/HZ;32483248 return sprintf(page, "%d.%03d\n", msec/1000, msec%1000);32493249}32503250static ssize_t32513251-safe_delay_store(mddev_t *mddev, const char *cbuf, size_t len)32513251+safe_delay_store(struct mddev *mddev, const char *cbuf, size_t len)32523252{32533253 unsigned long msec;32543254···32703270__ATTR(safe_mode_delay, S_IRUGO|S_IWUSR,safe_delay_show, safe_delay_store);3271327132723272static ssize_t32733273-level_show(mddev_t *mddev, char *page)32733273+level_show(struct mddev *mddev, char *page)32743274{32753275 struct mdk_personality *p = mddev->pers;32763276 if (p)···32843284}3285328532863286static ssize_t32873287-level_store(mddev_t *mddev, const char *buf, size_t len)32873287+level_store(struct mddev *mddev, const char *buf, size_t len)32883288{32893289 char clevel[16];32903290 ssize_t rv = len;···346534653466346634673467static ssize_t34683468-layout_show(mddev_t *mddev, char *page)34683468+layout_show(struct mddev *mddev, char *page)34693469{34703470 /* just a number, not meaningful for all levels */34713471 if (mddev->reshape_position != MaxSector &&···34763476}3477347734783478static ssize_t34793479-layout_store(mddev_t *mddev, const char *buf, size_t len)34793479+layout_store(struct mddev *mddev, const char *buf, size_t len)34803480{34813481 char *e;34823482 unsigned long n = simple_strtoul(buf, &e, 10);···350635063507350735083508static ssize_t35093509-raid_disks_show(mddev_t *mddev, char *page)35093509+raid_disks_show(struct mddev *mddev, char *page)35103510{35113511 if (mddev->raid_disks == 0)35123512 return 0;···35173517 return sprintf(page, "%d\n", mddev->raid_disks);35183518}3519351935203520-static int update_raid_disks(mddev_t *mddev, int raid_disks);35203520+static int update_raid_disks(struct mddev *mddev, int raid_disks);3521352135223522static ssize_t35233523-raid_disks_store(mddev_t *mddev, const char *buf, size_t len)35233523+raid_disks_store(struct mddev *mddev, const char *buf, size_t len)35243524{35253525 char *e;35263526 int rv = 0;···35433543__ATTR(raid_disks, S_IRUGO|S_IWUSR, raid_disks_show, raid_disks_store);3544354435453545static ssize_t35463546-chunk_size_show(mddev_t *mddev, char *page)35463546+chunk_size_show(struct mddev *mddev, char *page)35473547{35483548 if (mddev->reshape_position != MaxSector &&35493549 mddev->chunk_sectors != mddev->new_chunk_sectors)···35543554}3555355535563556static ssize_t35573557-chunk_size_store(mddev_t *mddev, const char *buf, size_t len)35573557+chunk_size_store(struct mddev *mddev, const char *buf, size_t len)35583558{35593559 char *e;35603560 unsigned long n = simple_strtoul(buf, &e, 10);···35833583__ATTR(chunk_size, S_IRUGO|S_IWUSR, chunk_size_show, chunk_size_store);3584358435853585static ssize_t35863586-resync_start_show(mddev_t *mddev, char *page)35863586+resync_start_show(struct mddev *mddev, char *page)35873587{35883588 if (mddev->recovery_cp == MaxSector)35893589 return sprintf(page, "none\n");···35913591}3592359235933593static ssize_t35943594-resync_start_store(mddev_t *mddev, const char *buf, size_t len)35943594+resync_start_store(struct mddev *mddev, const char *buf, size_t len)35953595{35963596 char *e;35973597 unsigned long long n = simple_strtoull(buf, &e, 10);···36613661}3662366236633663static ssize_t36643664-array_state_show(mddev_t *mddev, char *page)36643664+array_state_show(struct mddev *mddev, char *page)36653665{36663666 enum array_state st = inactive;36673667···36943694 return sprintf(page, "%s\n", array_states[st]);36953695}3696369636973697-static int do_md_stop(mddev_t * mddev, int ro, int is_open);36983698-static int md_set_readonly(mddev_t * mddev, int is_open);36993699-static int do_md_run(mddev_t * mddev);37003700-static int restart_array(mddev_t *mddev);36973697+static int do_md_stop(struct mddev * mddev, int ro, int is_open);36983698+static int md_set_readonly(struct mddev * mddev, int is_open);36993699+static int do_md_run(struct mddev * mddev);37003700+static int restart_array(struct mddev *mddev);3701370137023702static ssize_t37033703-array_state_store(mddev_t *mddev, const char *buf, size_t len)37033703+array_state_store(struct mddev *mddev, const char *buf, size_t len)37043704{37053705 int err = -EINVAL;37063706 enum array_state st = match_word(buf, array_states);···37943794__ATTR(array_state, S_IRUGO|S_IWUSR, array_state_show, array_state_store);3795379537963796static ssize_t37973797-max_corrected_read_errors_show(mddev_t *mddev, char *page) {37973797+max_corrected_read_errors_show(struct mddev *mddev, char *page) {37983798 return sprintf(page, "%d\n",37993799 atomic_read(&mddev->max_corr_read_errors));38003800}3801380138023802static ssize_t38033803-max_corrected_read_errors_store(mddev_t *mddev, const char *buf, size_t len)38033803+max_corrected_read_errors_store(struct mddev *mddev, const char *buf, size_t len)38043804{38053805 char *e;38063806 unsigned long n = simple_strtoul(buf, &e, 10);···38173817 max_corrected_read_errors_store);3818381838193819static ssize_t38203820-null_show(mddev_t *mddev, char *page)38203820+null_show(struct mddev *mddev, char *page)38213821{38223822 return -EINVAL;38233823}3824382438253825static ssize_t38263826-new_dev_store(mddev_t *mddev, const char *buf, size_t len)38263826+new_dev_store(struct mddev *mddev, const char *buf, size_t len)38273827{38283828 /* buf must be %d:%d\n? giving major and minor numbers */38293829 /* The new device is added to the array.···38803880__ATTR(new_dev, S_IWUSR, null_show, new_dev_store);3881388138823882static ssize_t38833883-bitmap_store(mddev_t *mddev, const char *buf, size_t len)38833883+bitmap_store(struct mddev *mddev, const char *buf, size_t len)38843884{38853885 char *end;38863886 unsigned long chunk, end_chunk;···39093909__ATTR(bitmap_set_bits, S_IWUSR, null_show, bitmap_store);3910391039113911static ssize_t39123912-size_show(mddev_t *mddev, char *page)39123912+size_show(struct mddev *mddev, char *page)39133913{39143914 return sprintf(page, "%llu\n",39153915 (unsigned long long)mddev->dev_sectors / 2);39163916}3917391739183918-static int update_size(mddev_t *mddev, sector_t num_sectors);39183918+static int update_size(struct mddev *mddev, sector_t num_sectors);3919391939203920static ssize_t39213921-size_store(mddev_t *mddev, const char *buf, size_t len)39213921+size_store(struct mddev *mddev, const char *buf, size_t len)39223922{39233923 /* If array is inactive, we can reduce the component size, but39243924 * not increase it (except from 0).···39533953 * or N.M for internally known formats39543954 */39553955static ssize_t39563956-metadata_show(mddev_t *mddev, char *page)39563956+metadata_show(struct mddev *mddev, char *page)39573957{39583958 if (mddev->persistent)39593959 return sprintf(page, "%d.%d\n",···39653965}3966396639673967static ssize_t39683968-metadata_store(mddev_t *mddev, const char *buf, size_t len)39683968+metadata_store(struct mddev *mddev, const char *buf, size_t len)39693969{39703970 int major, minor;39713971 char *e;···40194019__ATTR(metadata_version, S_IRUGO|S_IWUSR, metadata_show, metadata_store);4020402040214021static ssize_t40224022-action_show(mddev_t *mddev, char *page)40224022+action_show(struct mddev *mddev, char *page)40234023{40244024 char *type = "idle";40254025 if (test_bit(MD_RECOVERY_FROZEN, &mddev->recovery))···40414041 return sprintf(page, "%s\n", type);40424042}4043404340444044-static void reap_sync_thread(mddev_t *mddev);40444044+static void reap_sync_thread(struct mddev *mddev);4045404540464046static ssize_t40474047-action_store(mddev_t *mddev, const char *page, size_t len)40474047+action_store(struct mddev *mddev, const char *page, size_t len)40484048{40494049 if (!mddev->pers || !mddev->pers->sync_request)40504050 return -EINVAL;···40904090}4091409140924092static ssize_t40934093-mismatch_cnt_show(mddev_t *mddev, char *page)40934093+mismatch_cnt_show(struct mddev *mddev, char *page)40944094{40954095 return sprintf(page, "%llu\n",40964096 (unsigned long long) mddev->resync_mismatches);···41034103static struct md_sysfs_entry md_mismatches = __ATTR_RO(mismatch_cnt);4104410441054105static ssize_t41064106-sync_min_show(mddev_t *mddev, char *page)41064106+sync_min_show(struct mddev *mddev, char *page)41074107{41084108 return sprintf(page, "%d (%s)\n", speed_min(mddev),41094109 mddev->sync_speed_min ? "local": "system");41104110}4111411141124112static ssize_t41134113-sync_min_store(mddev_t *mddev, const char *buf, size_t len)41134113+sync_min_store(struct mddev *mddev, const char *buf, size_t len)41144114{41154115 int min;41164116 char *e;···41294129__ATTR(sync_speed_min, S_IRUGO|S_IWUSR, sync_min_show, sync_min_store);4130413041314131static ssize_t41324132-sync_max_show(mddev_t *mddev, char *page)41324132+sync_max_show(struct mddev *mddev, char *page)41334133{41344134 return sprintf(page, "%d (%s)\n", speed_max(mddev),41354135 mddev->sync_speed_max ? "local": "system");41364136}4137413741384138static ssize_t41394139-sync_max_store(mddev_t *mddev, const char *buf, size_t len)41394139+sync_max_store(struct mddev *mddev, const char *buf, size_t len)41404140{41414141 int max;41424142 char *e;···41554155__ATTR(sync_speed_max, S_IRUGO|S_IWUSR, sync_max_show, sync_max_store);4156415641574157static ssize_t41584158-degraded_show(mddev_t *mddev, char *page)41584158+degraded_show(struct mddev *mddev, char *page)41594159{41604160 return sprintf(page, "%d\n", mddev->degraded);41614161}41624162static struct md_sysfs_entry md_degraded = __ATTR_RO(degraded);4163416341644164static ssize_t41654165-sync_force_parallel_show(mddev_t *mddev, char *page)41654165+sync_force_parallel_show(struct mddev *mddev, char *page)41664166{41674167 return sprintf(page, "%d\n", mddev->parallel_resync);41684168}4169416941704170static ssize_t41714171-sync_force_parallel_store(mddev_t *mddev, const char *buf, size_t len)41714171+sync_force_parallel_store(struct mddev *mddev, const char *buf, size_t len)41724172{41734173 long n;41744174···41924192 sync_force_parallel_show, sync_force_parallel_store);4193419341944194static ssize_t41954195-sync_speed_show(mddev_t *mddev, char *page)41954195+sync_speed_show(struct mddev *mddev, char *page)41964196{41974197 unsigned long resync, dt, db;41984198 if (mddev->curr_resync == 0)···42074207static struct md_sysfs_entry md_sync_speed = __ATTR_RO(sync_speed);4208420842094209static ssize_t42104210-sync_completed_show(mddev_t *mddev, char *page)42104210+sync_completed_show(struct mddev *mddev, char *page)42114211{42124212 unsigned long long max_sectors, resync;42134213···42264226static struct md_sysfs_entry md_sync_completed = __ATTR_RO(sync_completed);4227422742284228static ssize_t42294229-min_sync_show(mddev_t *mddev, char *page)42294229+min_sync_show(struct mddev *mddev, char *page)42304230{42314231 return sprintf(page, "%llu\n",42324232 (unsigned long long)mddev->resync_min);42334233}42344234static ssize_t42354235-min_sync_store(mddev_t *mddev, const char *buf, size_t len)42354235+min_sync_store(struct mddev *mddev, const char *buf, size_t len)42364236{42374237 unsigned long long min;42384238 if (strict_strtoull(buf, 10, &min))···42574257__ATTR(sync_min, S_IRUGO|S_IWUSR, min_sync_show, min_sync_store);4258425842594259static ssize_t42604260-max_sync_show(mddev_t *mddev, char *page)42604260+max_sync_show(struct mddev *mddev, char *page)42614261{42624262 if (mddev->resync_max == MaxSector)42634263 return sprintf(page, "max\n");···42664266 (unsigned long long)mddev->resync_max);42674267}42684268static ssize_t42694269-max_sync_store(mddev_t *mddev, const char *buf, size_t len)42694269+max_sync_store(struct mddev *mddev, const char *buf, size_t len)42704270{42714271 if (strncmp(buf, "max", 3) == 0)42724272 mddev->resync_max = MaxSector;···42974297__ATTR(sync_max, S_IRUGO|S_IWUSR, max_sync_show, max_sync_store);4298429842994299static ssize_t43004300-suspend_lo_show(mddev_t *mddev, char *page)43004300+suspend_lo_show(struct mddev *mddev, char *page)43014301{43024302 return sprintf(page, "%llu\n", (unsigned long long)mddev->suspend_lo);43034303}4304430443054305static ssize_t43064306-suspend_lo_store(mddev_t *mddev, const char *buf, size_t len)43064306+suspend_lo_store(struct mddev *mddev, const char *buf, size_t len)43074307{43084308 char *e;43094309 unsigned long long new = simple_strtoull(buf, &e, 10);···433143314332433243334333static ssize_t43344334-suspend_hi_show(mddev_t *mddev, char *page)43344334+suspend_hi_show(struct mddev *mddev, char *page)43354335{43364336 return sprintf(page, "%llu\n", (unsigned long long)mddev->suspend_hi);43374337}4338433843394339static ssize_t43404340-suspend_hi_store(mddev_t *mddev, const char *buf, size_t len)43404340+suspend_hi_store(struct mddev *mddev, const char *buf, size_t len)43414341{43424342 char *e;43434343 unsigned long long new = simple_strtoull(buf, &e, 10);···43644364__ATTR(suspend_hi, S_IRUGO|S_IWUSR, suspend_hi_show, suspend_hi_store);4365436543664366static ssize_t43674367-reshape_position_show(mddev_t *mddev, char *page)43674367+reshape_position_show(struct mddev *mddev, char *page)43684368{43694369 if (mddev->reshape_position != MaxSector)43704370 return sprintf(page, "%llu\n",···43744374}4375437543764376static ssize_t43774377-reshape_position_store(mddev_t *mddev, const char *buf, size_t len)43774377+reshape_position_store(struct mddev *mddev, const char *buf, size_t len)43784378{43794379 char *e;43804380 unsigned long long new = simple_strtoull(buf, &e, 10);···43954395 reshape_position_store);4396439643974397static ssize_t43984398-array_size_show(mddev_t *mddev, char *page)43984398+array_size_show(struct mddev *mddev, char *page)43994399{44004400 if (mddev->external_size)44014401 return sprintf(page, "%llu\n",···44054405}4406440644074407static ssize_t44084408-array_size_store(mddev_t *mddev, const char *buf, size_t len)44084408+array_size_store(struct mddev *mddev, const char *buf, size_t len)44094409{44104410 sector_t sectors;44114411···44804480md_attr_show(struct kobject *kobj, struct attribute *attr, char *page)44814481{44824482 struct md_sysfs_entry *entry = container_of(attr, struct md_sysfs_entry, attr);44834483- mddev_t *mddev = container_of(kobj, struct mddev_s, kobj);44834483+ struct mddev *mddev = container_of(kobj, struct mddev, kobj);44844484 ssize_t rv;4485448544864486 if (!entry->show)···44984498 const char *page, size_t length)44994499{45004500 struct md_sysfs_entry *entry = container_of(attr, struct md_sysfs_entry, attr);45014501- mddev_t *mddev = container_of(kobj, struct mddev_s, kobj);45014501+ struct mddev *mddev = container_of(kobj, struct mddev, kobj);45024502 ssize_t rv;4503450345044504 if (!entry->store)···4517451745184518static void md_free(struct kobject *ko)45194519{45204520- mddev_t *mddev = container_of(ko, mddev_t, kobj);45204520+ struct mddev *mddev = container_of(ko, struct mddev, kobj);4521452145224522 if (mddev->sysfs_state)45234523 sysfs_put(mddev->sysfs_state);···4546454645474547static void mddev_delayed_delete(struct work_struct *ws)45484548{45494549- mddev_t *mddev = container_of(ws, mddev_t, del_work);45494549+ struct mddev *mddev = container_of(ws, struct mddev, del_work);4550455045514551 sysfs_remove_group(&mddev->kobj, &md_bitmap_group);45524552 kobject_del(&mddev->kobj);···45564556static int md_alloc(dev_t dev, char *name)45574557{45584558 static DEFINE_MUTEX(disks_mutex);45594559- mddev_t *mddev = mddev_find(dev);45594559+ struct mddev *mddev = mddev_find(dev);45604560 struct gendisk *disk;45614561 int partitioned;45624562 int shift;···45834583 if (name) {45844584 /* Need to ensure that 'name' is not a duplicate.45854585 */45864586- mddev_t *mddev2;45864586+ struct mddev *mddev2;45874587 spin_lock(&all_mddevs_lock);4588458845894589 list_for_each_entry(mddev2, &all_mddevs, all_mddevs)···4684468446854685static void md_safemode_timeout(unsigned long data)46864686{46874687- mddev_t *mddev = (mddev_t *) data;46874687+ struct mddev *mddev = (struct mddev *) data;4688468846894689 if (!atomic_read(&mddev->writes_pending)) {46904690 mddev->safemode = 1;···4696469646974697static int start_dirty_degraded;4698469846994699-int md_run(mddev_t *mddev)46994699+int md_run(struct mddev *mddev)47004700{47014701 int err;47024702 struct md_rdev *rdev;···4764476447654765 if (mddev->bio_set == NULL)47664766 mddev->bio_set = bioset_create(BIO_POOL_SIZE,47674767- sizeof(mddev_t *));47674767+ sizeof(struct mddev *));4768476847694769 spin_lock(&pers_lock);47704770 pers = find_pers(mddev->level, mddev->clevel);···48984898}48994899EXPORT_SYMBOL_GPL(md_run);4900490049014901-static int do_md_run(mddev_t *mddev)49014901+static int do_md_run(struct mddev *mddev)49024902{49034903 int err;49044904···49224922 return err;49234923}4924492449254925-static int restart_array(mddev_t *mddev)49254925+static int restart_array(struct mddev *mddev)49264926{49274927 struct gendisk *disk = mddev->gendisk;49284928···49724972 spin_unlock(&inode->i_lock);49734973}4974497449754975-static void md_clean(mddev_t *mddev)49754975+static void md_clean(struct mddev *mddev)49764976{49774977 mddev->array_sectors = 0;49784978 mddev->external_size = 0;···50155015 mddev->bitmap_info.max_write_behind = 0;50165016}5017501750185018-static void __md_stop_writes(mddev_t *mddev)50185018+static void __md_stop_writes(struct mddev *mddev)50195019{50205020 if (mddev->sync_thread) {50215021 set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);···50355035 }50365036}5037503750385038-void md_stop_writes(mddev_t *mddev)50385038+void md_stop_writes(struct mddev *mddev)50395039{50405040 mddev_lock(mddev);50415041 __md_stop_writes(mddev);···50435043}50445044EXPORT_SYMBOL_GPL(md_stop_writes);5045504550465046-void md_stop(mddev_t *mddev)50465046+void md_stop(struct mddev *mddev)50475047{50485048 mddev->ready = 0;50495049 mddev->pers->stop(mddev);···50555055}50565056EXPORT_SYMBOL_GPL(md_stop);5057505750585058-static int md_set_readonly(mddev_t *mddev, int is_open)50585058+static int md_set_readonly(struct mddev *mddev, int is_open)50595059{50605060 int err = 0;50615061 mutex_lock(&mddev->open_mutex);···50855085 * 0 - completely stop and dis-assemble array50865086 * 2 - stop but do not disassemble array50875087 */50885088-static int do_md_stop(mddev_t * mddev, int mode, int is_open)50885088+static int do_md_stop(struct mddev * mddev, int mode, int is_open)50895089{50905090 struct gendisk *disk = mddev->gendisk;50915091 struct md_rdev *rdev;···51515151}5152515251535153#ifndef MODULE51545154-static void autorun_array(mddev_t *mddev)51545154+static void autorun_array(struct mddev *mddev)51555155{51565156 struct md_rdev *rdev;51575157 int err;···51895189static void autorun_devices(int part)51905190{51915191 struct md_rdev *rdev0, *rdev, *tmp;51925192- mddev_t *mddev;51925192+ struct mddev *mddev;51935193 char b[BDEVNAME_SIZE];5194519451955195 printk(KERN_INFO "md: autorun ...\n");···52845284 return 0;52855285}5286528652875287-static int get_array_info(mddev_t * mddev, void __user * arg)52875287+static int get_array_info(struct mddev * mddev, void __user * arg)52885288{52895289 mdu_array_info_t info;52905290 int nr,working,insync,failed,spare;···53375337 return 0;53385338}5339533953405340-static int get_bitmap_file(mddev_t * mddev, void __user * arg)53405340+static int get_bitmap_file(struct mddev * mddev, void __user * arg)53415341{53425342 mdu_bitmap_file_t *file = NULL; /* too big for stack allocation */53435343 char *ptr, *buf = NULL;···53775377 return err;53785378}5379537953805380-static int get_disk_info(mddev_t * mddev, void __user * arg)53805380+static int get_disk_info(struct mddev * mddev, void __user * arg)53815381{53825382 mdu_disk_info_t info;53835383 struct md_rdev *rdev;···54115411 return 0;54125412}5413541354145414-static int add_new_disk(mddev_t * mddev, mdu_disk_info_t *info)54145414+static int add_new_disk(struct mddev * mddev, mdu_disk_info_t *info)54155415{54165416 char b[BDEVNAME_SIZE], b2[BDEVNAME_SIZE];54175417 struct md_rdev *rdev;···55835583 return 0;55845584}5585558555865586-static int hot_remove_disk(mddev_t * mddev, dev_t dev)55865586+static int hot_remove_disk(struct mddev * mddev, dev_t dev)55875587{55885588 char b[BDEVNAME_SIZE];55895589 struct md_rdev *rdev;···56065606 return -EBUSY;56075607}5608560856095609-static int hot_add_disk(mddev_t * mddev, dev_t dev)56095609+static int hot_add_disk(struct mddev * mddev, dev_t dev)56105610{56115611 char b[BDEVNAME_SIZE];56125612 int err;···56805680 return err;56815681}5682568256835683-static int set_bitmap_file(mddev_t *mddev, int fd)56835683+static int set_bitmap_file(struct mddev *mddev, int fd)56845684{56855685 int err;56865686···57535753 * The minor and patch _version numbers are also kept incase the57545754 * super_block handler wishes to interpret them.57555755 */57565756-static int set_array_info(mddev_t * mddev, mdu_array_info_t *info)57565756+static int set_array_info(struct mddev * mddev, mdu_array_info_t *info)57575757{5758575857595759 if (info->raid_disks == 0) {···58235823 return 0;58245824}5825582558265826-void md_set_array_sectors(mddev_t *mddev, sector_t array_sectors)58265826+void md_set_array_sectors(struct mddev *mddev, sector_t array_sectors)58275827{58285828 WARN(!mddev_is_locked(mddev), "%s: unlocked mddev!\n", __func__);58295829···58345834}58355835EXPORT_SYMBOL(md_set_array_sectors);5836583658375837-static int update_size(mddev_t *mddev, sector_t num_sectors)58375837+static int update_size(struct mddev *mddev, sector_t num_sectors)58385838{58395839 struct md_rdev *rdev;58405840 int rv;···58725872 return rv;58735873}5874587458755875-static int update_raid_disks(mddev_t *mddev, int raid_disks)58755875+static int update_raid_disks(struct mddev *mddev, int raid_disks)58765876{58775877 int rv;58785878 /* change the number of raid disks */···59005900 * Any differences that cannot be handled will cause an error.59015901 * Normally, only one change can be managed at a time.59025902 */59035903-static int update_array_info(mddev_t *mddev, mdu_array_info_t *info)59035903+static int update_array_info(struct mddev *mddev, mdu_array_info_t *info)59045904{59055905 int rv = 0;59065906 int cnt = 0;···59935993 return rv;59945994}5995599559965996-static int set_disk_faulty(mddev_t *mddev, dev_t dev)59965996+static int set_disk_faulty(struct mddev *mddev, dev_t dev)59975997{59985998 struct md_rdev *rdev;59995999···60186018 */60196019static int md_getgeo(struct block_device *bdev, struct hd_geometry *geo)60206020{60216021- mddev_t *mddev = bdev->bd_disk->private_data;60216021+ struct mddev *mddev = bdev->bd_disk->private_data;6022602260236023 geo->heads = 2;60246024 geo->sectors = 4;···60316031{60326032 int err = 0;60336033 void __user *argp = (void __user *)arg;60346034- mddev_t *mddev = NULL;60346034+ struct mddev *mddev = NULL;60356035 int ro;6036603660376037 if (!capable(CAP_SYS_ADMIN))···62946294 * Succeed if we can lock the mddev, which confirms that62956295 * it isn't being stopped right now.62966296 */62976297- mddev_t *mddev = mddev_find(bdev->bd_dev);62976297+ struct mddev *mddev = mddev_find(bdev->bd_dev);62986298 int err;6299629963006300 if (mddev->gendisk != bdev->bd_disk) {···6323632363246324static int md_release(struct gendisk *disk, fmode_t mode)63256325{63266326- mddev_t *mddev = disk->private_data;63266326+ struct mddev *mddev = disk->private_data;6327632763286328 BUG_ON(!mddev);63296329 atomic_dec(&mddev->openers);···6334633463356335static int md_media_changed(struct gendisk *disk)63366336{63376337- mddev_t *mddev = disk->private_data;63376337+ struct mddev *mddev = disk->private_data;6338633863396339 return mddev->changed;63406340}6341634163426342static int md_revalidate(struct gendisk *disk)63436343{63446344- mddev_t *mddev = disk->private_data;63446344+ struct mddev *mddev = disk->private_data;6345634563466346 mddev->changed = 0;63476347 return 0;···64106410 }64116411}6412641264136413-mdk_thread_t *md_register_thread(void (*run) (mddev_t *), mddev_t *mddev,64136413+mdk_thread_t *md_register_thread(void (*run) (struct mddev *), struct mddev *mddev,64146414 const char *name)64156415{64166416 mdk_thread_t *thread;···64526452 kfree(thread);64536453}6454645464556455-void md_error(mddev_t *mddev, struct md_rdev *rdev)64556455+void md_error(struct mddev *mddev, struct md_rdev *rdev)64566456{64576457 if (!mddev) {64586458 MD_BUG();···64986498}649964996500650065016501-static void status_resync(struct seq_file *seq, mddev_t * mddev)65016501+static void status_resync(struct seq_file *seq, struct mddev * mddev)65026502{65036503 sector_t max_sectors, resync, res;65046504 unsigned long dt, db;···65896589{65906590 struct list_head *tmp;65916591 loff_t l = *pos;65926592- mddev_t *mddev;65926592+ struct mddev *mddev;6593659365946594 if (l >= 0x10000)65956595 return NULL;···66006600 spin_lock(&all_mddevs_lock);66016601 list_for_each(tmp,&all_mddevs)66026602 if (!l--) {66036603- mddev = list_entry(tmp, mddev_t, all_mddevs);66036603+ mddev = list_entry(tmp, struct mddev, all_mddevs);66046604 mddev_get(mddev);66056605 spin_unlock(&all_mddevs_lock);66066606 return mddev;···66146614static void *md_seq_next(struct seq_file *seq, void *v, loff_t *pos)66156615{66166616 struct list_head *tmp;66176617- mddev_t *next_mddev, *mddev = v;66176617+ struct mddev *next_mddev, *mddev = v;6618661866196619 ++*pos;66206620 if (v == (void*)2)···66266626 else66276627 tmp = mddev->all_mddevs.next;66286628 if (tmp != &all_mddevs)66296629- next_mddev = mddev_get(list_entry(tmp,mddev_t,all_mddevs));66296629+ next_mddev = mddev_get(list_entry(tmp,struct mddev,all_mddevs));66306630 else {66316631 next_mddev = (void*)2;66326632 *pos = 0x10000;···6641664166426642static void md_seq_stop(struct seq_file *seq, void *v)66436643{66446644- mddev_t *mddev = v;66446644+ struct mddev *mddev = v;6645664566466646 if (mddev && v != (void*)1 && v != (void*)2)66476647 mddev_put(mddev);···6649664966506650static int md_seq_show(struct seq_file *seq, void *v)66516651{66526652- mddev_t *mddev = v;66526652+ struct mddev *mddev = v;66536653 sector_t sectors;66546654 struct md_rdev *rdev;66556655 struct bitmap *bitmap;···68296829 return 0;68306830}6831683168326832-static int is_mddev_idle(mddev_t *mddev, int init)68326832+static int is_mddev_idle(struct mddev *mddev, int init)68336833{68346834 struct md_rdev * rdev;68356835 int idle;···68736873 return idle;68746874}6875687568766876-void md_done_sync(mddev_t *mddev, int blocks, int ok)68766876+void md_done_sync(struct mddev *mddev, int blocks, int ok)68776877{68786878 /* another "blocks" (512byte) blocks have been synced */68796879 atomic_sub(blocks, &mddev->recovery_active);···68916891 * in superblock) before writing, schedule a superblock update68926892 * and wait for it to complete.68936893 */68946894-void md_write_start(mddev_t *mddev, struct bio *bi)68946894+void md_write_start(struct mddev *mddev, struct bio *bi)68956895{68966896 int did_change = 0;68976897 if (bio_data_dir(bi) != WRITE)···69266926 !test_bit(MD_CHANGE_PENDING, &mddev->flags));69276927}6928692869296929-void md_write_end(mddev_t *mddev)69296929+void md_write_end(struct mddev *mddev)69306930{69316931 if (atomic_dec_and_test(&mddev->writes_pending)) {69326932 if (mddev->safemode == 2)···69456945 * In the ->external case MD_CHANGE_CLEAN can not be cleared until mddev->lock69466946 * is dropped, so return -EAGAIN after notifying userspace.69476947 */69486948-int md_allow_write(mddev_t *mddev)69486948+int md_allow_write(struct mddev *mddev)69496949{69506950 if (!mddev->pers)69516951 return 0;···6977697769786978#define SYNC_MARKS 1069796979#define SYNC_MARK_STEP (3*HZ)69806980-void md_do_sync(mddev_t *mddev)69806980+void md_do_sync(struct mddev *mddev)69816981{69826982- mddev_t *mddev2;69826982+ struct mddev *mddev2;69836983 unsigned int currspeed = 0,69846984 window;69856985 sector_t max_sectors,j, io_sectors;···73047304}73057305EXPORT_SYMBOL_GPL(md_do_sync);7306730673077307-static int remove_and_add_spares(mddev_t *mddev)73077307+static int remove_and_add_spares(struct mddev *mddev)73087308{73097309 struct md_rdev *rdev;73107310 int spares = 0;···73487348 return spares;73497349}7350735073517351-static void reap_sync_thread(mddev_t *mddev)73517351+static void reap_sync_thread(struct mddev *mddev)73527352{73537353 struct md_rdev *rdev;73547354···74097409 * 5/ If array is degraded, try to add spares devices74107410 * 6/ If array has spares or is not in-sync, start a resync thread.74117411 */74127412-void md_check_recovery(mddev_t *mddev)74127412+void md_check_recovery(struct mddev *mddev)74137413{74147414 if (mddev->suspended)74157415 return;···75697569 }75707570}7571757175727572-void md_wait_for_blocked_rdev(struct md_rdev *rdev, mddev_t *mddev)75727572+void md_wait_for_blocked_rdev(struct md_rdev *rdev, struct mddev *mddev)75737573{75747574 sysfs_notify_dirent_safe(rdev->sysfs_state);75757575 wait_event_timeout(rdev->blocked_wait,···80708070 unsigned long code, void *x)80718071{80728072 struct list_head *tmp;80738073- mddev_t *mddev;80738073+ struct mddev *mddev;80748074 int need_delay = 0;8075807580768076 if ((code == SYS_DOWN) || (code == SYS_HALT) || (code == SYS_POWER_OFF)) {···8223822382248224static __exit void md_exit(void)82258225{82268226- mddev_t *mddev;82268226+ struct mddev *mddev;82278227 struct list_head *tmp;8228822882298229 blk_unregister_region(MKDEV(MD_MAJOR,0), 1U << MINORBITS);
+55-58
drivers/md/md.h
···26262727#define MaxSector (~(sector_t)0)28282929-typedef struct mddev_s mddev_t;3030-3129/* Bad block numbers are stored sorted in a single page.3230 * 64bits is used for each block or extent.3331 * 54 bits are sector number, 9 bits are extent size,···4042 struct list_head same_set; /* RAID devices within the same set */41434244 sector_t sectors; /* Device size (in 512bytes sectors) */4343- mddev_t *mddev; /* RAID array if running */4545+ struct mddev *mddev; /* RAID array if running */4446 int last_events; /* IO event timestamp */45474648 /*···182184extern int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors);183185extern void md_ack_all_badblocks(struct badblocks *bb);184186185185-struct mddev_s186186-{187187+struct mddev {187188 void *private;188189 struct mdk_personality *pers;189190 dev_t unit;···397400 atomic_t flush_pending;398401 struct work_struct flush_work;399402 struct work_struct event_work; /* used by dm to report failure event */400400- void (*sync_super)(mddev_t *mddev, struct md_rdev *rdev);403403+ void (*sync_super)(struct mddev *mddev, struct md_rdev *rdev);401404};402405403406404404-static inline void rdev_dec_pending(struct md_rdev *rdev, mddev_t *mddev)407407+static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev)405408{406409 int faulty = test_bit(Faulty, &rdev->flags);407410 if (atomic_dec_and_test(&rdev->nr_pending) && faulty)···419422 int level;420423 struct list_head list;421424 struct module *owner;422422- int (*make_request)(mddev_t *mddev, struct bio *bio);423423- int (*run)(mddev_t *mddev);424424- int (*stop)(mddev_t *mddev);425425- void (*status)(struct seq_file *seq, mddev_t *mddev);425425+ int (*make_request)(struct mddev *mddev, struct bio *bio);426426+ int (*run)(struct mddev *mddev);427427+ int (*stop)(struct mddev *mddev);428428+ void (*status)(struct seq_file *seq, struct mddev *mddev);426429 /* error_handler must set ->faulty and clear ->in_sync427430 * if appropriate, and should abort recovery if needed 428431 */429429- void (*error_handler)(mddev_t *mddev, struct md_rdev *rdev);430430- int (*hot_add_disk) (mddev_t *mddev, struct md_rdev *rdev);431431- int (*hot_remove_disk) (mddev_t *mddev, int number);432432- int (*spare_active) (mddev_t *mddev);433433- sector_t (*sync_request)(mddev_t *mddev, sector_t sector_nr, int *skipped, int go_faster);434434- int (*resize) (mddev_t *mddev, sector_t sectors);435435- sector_t (*size) (mddev_t *mddev, sector_t sectors, int raid_disks);436436- int (*check_reshape) (mddev_t *mddev);437437- int (*start_reshape) (mddev_t *mddev);438438- void (*finish_reshape) (mddev_t *mddev);432432+ void (*error_handler)(struct mddev *mddev, struct md_rdev *rdev);433433+ int (*hot_add_disk) (struct mddev *mddev, struct md_rdev *rdev);434434+ int (*hot_remove_disk) (struct mddev *mddev, int number);435435+ int (*spare_active) (struct mddev *mddev);436436+ sector_t (*sync_request)(struct mddev *mddev, sector_t sector_nr, int *skipped, int go_faster);437437+ int (*resize) (struct mddev *mddev, sector_t sectors);438438+ sector_t (*size) (struct mddev *mddev, sector_t sectors, int raid_disks);439439+ int (*check_reshape) (struct mddev *mddev);440440+ int (*start_reshape) (struct mddev *mddev);441441+ void (*finish_reshape) (struct mddev *mddev);439442 /* quiesce moves between quiescence states440443 * 0 - fully active441444 * 1 - no new requests allowed442445 * others - reserved443446 */444444- void (*quiesce) (mddev_t *mddev, int state);447447+ void (*quiesce) (struct mddev *mddev, int state);445448 /* takeover is used to transition an array from one446449 * personality to another. The new personality must be able447450 * to handle the data in the current layout.···451454 * This needs to be installed and then ->run used to activate the452455 * array.453456 */454454- void *(*takeover) (mddev_t *mddev);457457+ void *(*takeover) (struct mddev *mddev);455458};456459457460458461struct md_sysfs_entry {459462 struct attribute attr;460460- ssize_t (*show)(mddev_t *, char *);461461- ssize_t (*store)(mddev_t *, const char *, size_t);463463+ ssize_t (*show)(struct mddev *, char *);464464+ ssize_t (*store)(struct mddev *, const char *, size_t);462465};463466extern struct attribute_group md_bitmap_group;464467···474477 sysfs_notify_dirent(sd);475478}476479477477-static inline char * mdname (mddev_t * mddev)480480+static inline char * mdname (struct mddev * mddev)478481{479482 return mddev->gendisk ? mddev->gendisk->disk_name : "mdX";480483}481484482482-static inline int sysfs_link_rdev(mddev_t *mddev, struct md_rdev *rdev)485485+static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev)483486{484487 char nm[20];485488 sprintf(nm, "rd%d", rdev->raid_disk);486489 return sysfs_create_link(&mddev->kobj, &rdev->kobj, nm);487490}488491489489-static inline void sysfs_unlink_rdev(mddev_t *mddev, struct md_rdev *rdev)492492+static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev)490493{491494 char nm[20];492495 sprintf(nm, "rd%d", rdev->raid_disk);···510513 list_for_each_entry_rcu(rdev, &((mddev)->disks), same_set)511514512515typedef struct mdk_thread_s {513513- void (*run) (mddev_t *mddev);514514- mddev_t *mddev;516516+ void (*run) (struct mddev *mddev);517517+ struct mddev *mddev;515518 wait_queue_head_t wqueue;516519 unsigned long flags;517520 struct task_struct *tsk;···553556554557extern int register_md_personality(struct mdk_personality *p);555558extern int unregister_md_personality(struct mdk_personality *p);556556-extern mdk_thread_t * md_register_thread(void (*run) (mddev_t *mddev),557557- mddev_t *mddev, const char *name);559559+extern mdk_thread_t * md_register_thread(void (*run) (struct mddev *mddev),560560+ struct mddev *mddev, const char *name);558561extern void md_unregister_thread(mdk_thread_t **threadp);559562extern void md_wakeup_thread(mdk_thread_t *thread);560560-extern void md_check_recovery(mddev_t *mddev);561561-extern void md_write_start(mddev_t *mddev, struct bio *bi);562562-extern void md_write_end(mddev_t *mddev);563563-extern void md_done_sync(mddev_t *mddev, int blocks, int ok);564564-extern void md_error(mddev_t *mddev, struct md_rdev *rdev);563563+extern void md_check_recovery(struct mddev *mddev);564564+extern void md_write_start(struct mddev *mddev, struct bio *bi);565565+extern void md_write_end(struct mddev *mddev);566566+extern void md_done_sync(struct mddev *mddev, int blocks, int ok);567567+extern void md_error(struct mddev *mddev, struct md_rdev *rdev);565568566566-extern int mddev_congested(mddev_t *mddev, int bits);567567-extern void md_flush_request(mddev_t *mddev, struct bio *bio);568568-extern void md_super_write(mddev_t *mddev, struct md_rdev *rdev,569569+extern int mddev_congested(struct mddev *mddev, int bits);570570+extern void md_flush_request(struct mddev *mddev, struct bio *bio);571571+extern void md_super_write(struct mddev *mddev, struct md_rdev *rdev,569572 sector_t sector, int size, struct page *page);570570-extern void md_super_wait(mddev_t *mddev);573573+extern void md_super_wait(struct mddev *mddev);571574extern int sync_page_io(struct md_rdev *rdev, sector_t sector, int size, 572575 struct page *page, int rw, bool metadata_op);573573-extern void md_do_sync(mddev_t *mddev);574574-extern void md_new_event(mddev_t *mddev);575575-extern int md_allow_write(mddev_t *mddev);576576-extern void md_wait_for_blocked_rdev(struct md_rdev *rdev, mddev_t *mddev);577577-extern void md_set_array_sectors(mddev_t *mddev, sector_t array_sectors);578578-extern int md_check_no_bitmap(mddev_t *mddev);579579-extern int md_integrity_register(mddev_t *mddev);580580-extern void md_integrity_add_rdev(struct md_rdev *rdev, mddev_t *mddev);576576+extern void md_do_sync(struct mddev *mddev);577577+extern void md_new_event(struct mddev *mddev);578578+extern int md_allow_write(struct mddev *mddev);579579+extern void md_wait_for_blocked_rdev(struct md_rdev *rdev, struct mddev *mddev);580580+extern void md_set_array_sectors(struct mddev *mddev, sector_t array_sectors);581581+extern int md_check_no_bitmap(struct mddev *mddev);582582+extern int md_integrity_register(struct mddev *mddev);583583+extern void md_integrity_add_rdev(struct md_rdev *rdev, struct mddev *mddev);581584extern int strict_strtoul_scaled(const char *cp, unsigned long *res, int scale);582585extern void restore_bitmap_write_access(struct file *file);583586584584-extern void mddev_init(mddev_t *mddev);585585-extern int md_run(mddev_t *mddev);586586-extern void md_stop(mddev_t *mddev);587587-extern void md_stop_writes(mddev_t *mddev);587587+extern void mddev_init(struct mddev *mddev);588588+extern int md_run(struct mddev *mddev);589589+extern void md_stop(struct mddev *mddev);590590+extern void md_stop_writes(struct mddev *mddev);588591extern int md_rdev_init(struct md_rdev *rdev);589592590590-extern void mddev_suspend(mddev_t *mddev);591591-extern void mddev_resume(mddev_t *mddev);593593+extern void mddev_suspend(struct mddev *mddev);594594+extern void mddev_resume(struct mddev *mddev);592595extern struct bio *bio_clone_mddev(struct bio *bio, gfp_t gfp_mask,593593- mddev_t *mddev);596596+ struct mddev *mddev);594597extern struct bio *bio_alloc_mddev(gfp_t gfp_mask, int nr_iovecs,595595- mddev_t *mddev);596596-extern int mddev_check_plugged(mddev_t *mddev);598598+ struct mddev *mddev);599599+extern int mddev_check_plugged(struct mddev *mddev);597600extern void md_trim_bio(struct bio *bio, int offset, int size);598601#endif /* _MD_MD_H */
+11-11
drivers/md/multipath.c
···5858static void multipath_reschedule_retry (struct multipath_bh *mp_bh)5959{6060 unsigned long flags;6161- mddev_t *mddev = mp_bh->mddev;6161+ struct mddev *mddev = mp_bh->mddev;6262 multipath_conf_t *conf = mddev->private;63636464 spin_lock_irqsave(&conf->device_lock, flags);···106106 rdev_dec_pending(rdev, conf->mddev);107107}108108109109-static int multipath_make_request(mddev_t *mddev, struct bio * bio)109109+static int multipath_make_request(struct mddev *mddev, struct bio * bio)110110{111111 multipath_conf_t *conf = mddev->private;112112 struct multipath_bh * mp_bh;···140140 return 0;141141}142142143143-static void multipath_status (struct seq_file *seq, mddev_t *mddev)143143+static void multipath_status (struct seq_file *seq, struct mddev *mddev)144144{145145 multipath_conf_t *conf = mddev->private;146146 int i;···156156157157static int multipath_congested(void *data, int bits)158158{159159- mddev_t *mddev = data;159159+ struct mddev *mddev = data;160160 multipath_conf_t *conf = mddev->private;161161 int i, ret = 0;162162···183183/*184184 * Careful, this can execute in IRQ contexts as well!185185 */186186-static void multipath_error (mddev_t *mddev, struct md_rdev *rdev)186186+static void multipath_error (struct mddev *mddev, struct md_rdev *rdev)187187{188188 multipath_conf_t *conf = mddev->private;189189 char b[BDEVNAME_SIZE];···242242}243243244244245245-static int multipath_add_disk(mddev_t *mddev, struct md_rdev *rdev)245245+static int multipath_add_disk(struct mddev *mddev, struct md_rdev *rdev)246246{247247 multipath_conf_t *conf = mddev->private;248248 struct request_queue *q;···291291 return err;292292}293293294294-static int multipath_remove_disk(mddev_t *mddev, int number)294294+static int multipath_remove_disk(struct mddev *mddev, int number)295295{296296 multipath_conf_t *conf = mddev->private;297297 int err = 0;···335335 * 3. Performs writes following reads for array syncronising.336336 */337337338338-static void multipathd (mddev_t *mddev)338338+static void multipathd (struct mddev *mddev)339339{340340 struct multipath_bh *mp_bh;341341 struct bio *bio;···379379 spin_unlock_irqrestore(&conf->device_lock, flags);380380}381381382382-static sector_t multipath_size(mddev_t *mddev, sector_t sectors, int raid_disks)382382+static sector_t multipath_size(struct mddev *mddev, sector_t sectors, int raid_disks)383383{384384 WARN_ONCE(sectors || raid_disks,385385 "%s does not support generic reshape\n", __func__);···387387 return mddev->dev_sectors;388388}389389390390-static int multipath_run (mddev_t *mddev)390390+static int multipath_run (struct mddev *mddev)391391{392392 multipath_conf_t *conf;393393 int disk_idx;···510510}511511512512513513-static int multipath_stop (mddev_t *mddev)513513+static int multipath_stop (struct mddev *mddev)514514{515515 multipath_conf_t *conf = mddev->private;516516
+2-2
drivers/md/multipath.h
···66};7788struct multipath_private_data {99- mddev_t *mddev;99+ struct mddev *mddev;1010 struct multipath_info *multipaths;1111 int raid_disks;1212 spinlock_t device_lock;···2424 */25252626struct multipath_bh {2727- mddev_t *mddev;2727+ struct mddev *mddev;2828 struct bio *master_bio;2929 struct bio bio;3030 int path;
+16-16
drivers/md/raid0.c
···27272828static int raid0_congested(void *data, int bits)2929{3030- mddev_t *mddev = data;3030+ struct mddev *mddev = data;3131 raid0_conf_t *conf = mddev->private;3232 struct md_rdev **devlist = conf->devlist;3333 int raid_disks = conf->strip_zone[0].nb_dev;···4747/*4848 * inform the user of the raid configuration4949*/5050-static void dump_zones(mddev_t *mddev)5050+static void dump_zones(struct mddev *mddev)5151{5252 int j, k;5353 sector_t zone_size = 0;···7777 printk(KERN_INFO "\n");7878}79798080-static int create_strip_zones(mddev_t *mddev, raid0_conf_t **private_conf)8080+static int create_strip_zones(struct mddev *mddev, raid0_conf_t **private_conf)8181{8282 int i, c, err;8383 sector_t curr_zone_end, sectors;···301301 struct bvec_merge_data *bvm,302302 struct bio_vec *biovec)303303{304304- mddev_t *mddev = q->queuedata;304304+ struct mddev *mddev = q->queuedata;305305 sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);306306 int max;307307 unsigned int chunk_sectors = mddev->chunk_sectors;···320320 return max;321321}322322323323-static sector_t raid0_size(mddev_t *mddev, sector_t sectors, int raid_disks)323323+static sector_t raid0_size(struct mddev *mddev, sector_t sectors, int raid_disks)324324{325325 sector_t array_sectors = 0;326326 struct md_rdev *rdev;···334334 return array_sectors;335335}336336337337-static int raid0_run(mddev_t *mddev)337337+static int raid0_run(struct mddev *mddev)338338{339339 raid0_conf_t *conf;340340 int ret;···384384 return md_integrity_register(mddev);385385}386386387387-static int raid0_stop(mddev_t *mddev)387387+static int raid0_stop(struct mddev *mddev)388388{389389 raid0_conf_t *conf = mddev->private;390390···419419 * remaps the bio to the target device. we separate two flows.420420 * power 2 flow and a general flow for the sake of perfromance421421*/422422-static struct md_rdev *map_sector(mddev_t *mddev, struct strip_zone *zone,422422+static struct md_rdev *map_sector(struct mddev *mddev, struct strip_zone *zone,423423 sector_t sector, sector_t *sector_offset)424424{425425 unsigned int sect_in_chunk;···455455/*456456 * Is io distribute over 1 or more chunks ?457457*/458458-static inline int is_io_in_chunk_boundary(mddev_t *mddev,458458+static inline int is_io_in_chunk_boundary(struct mddev *mddev,459459 unsigned int chunk_sects, struct bio *bio)460460{461461 if (likely(is_power_of_2(chunk_sects))) {···468468 }469469}470470471471-static int raid0_make_request(mddev_t *mddev, struct bio *bio)471471+static int raid0_make_request(struct mddev *mddev, struct bio *bio)472472{473473 unsigned int chunk_sects;474474 sector_t sector_offset;···528528 return 0;529529}530530531531-static void raid0_status(struct seq_file *seq, mddev_t *mddev)531531+static void raid0_status(struct seq_file *seq, struct mddev *mddev)532532{533533 seq_printf(seq, " %dk chunks", mddev->chunk_sectors / 2);534534 return;535535}536536537537-static void *raid0_takeover_raid45(mddev_t *mddev)537537+static void *raid0_takeover_raid45(struct mddev *mddev)538538{539539 struct md_rdev *rdev;540540 raid0_conf_t *priv_conf;···568568 return priv_conf;569569}570570571571-static void *raid0_takeover_raid10(mddev_t *mddev)571571+static void *raid0_takeover_raid10(struct mddev *mddev)572572{573573 raid0_conf_t *priv_conf;574574···609609 return priv_conf;610610}611611612612-static void *raid0_takeover_raid1(mddev_t *mddev)612612+static void *raid0_takeover_raid1(struct mddev *mddev)613613{614614 raid0_conf_t *priv_conf;615615···635635 return priv_conf;636636}637637638638-static void *raid0_takeover(mddev_t *mddev)638638+static void *raid0_takeover(struct mddev *mddev)639639{640640 /* raid0 can take over:641641 * raid4 - if all data disks are active.···666666 return ERR_PTR(-EINVAL);667667}668668669669-static void raid0_quiesce(mddev_t *mddev, int state)669669+static void raid0_quiesce(struct mddev *mddev, int state)670670{671671}672672
+26-26
drivers/md/raid1.c
···193193static void reschedule_retry(r1bio_t *r1_bio)194194{195195 unsigned long flags;196196- mddev_t *mddev = r1_bio->mddev;196196+ struct mddev *mddev = r1_bio->mddev;197197 conf_t *conf = mddev->private;198198199199 spin_lock_irqsave(&conf->device_lock, flags);···593593 return best_disk;594594}595595596596-int md_raid1_congested(mddev_t *mddev, int bits)596596+int md_raid1_congested(struct mddev *mddev, int bits)597597{598598 conf_t *conf = mddev->private;599599 int i, ret = 0;···622622623623static int raid1_congested(void *data, int bits)624624{625625- mddev_t *mddev = data;625625+ struct mddev *mddev = data;626626627627 return mddev_congested(mddev, bits) ||628628 md_raid1_congested(mddev, bits);···796796 pr_debug("%dB behind alloc failed, doing sync I/O\n", bio->bi_size);797797}798798799799-static int make_request(mddev_t *mddev, struct bio * bio)799799+static int make_request(struct mddev *mddev, struct bio * bio)800800{801801 conf_t *conf = mddev->private;802802 mirror_info_t *mirror;···11381138 return 0;11391139}1140114011411141-static void status(struct seq_file *seq, mddev_t *mddev)11411141+static void status(struct seq_file *seq, struct mddev *mddev)11421142{11431143 conf_t *conf = mddev->private;11441144 int i;···11561156}115711571158115811591159-static void error(mddev_t *mddev, struct md_rdev *rdev)11591159+static void error(struct mddev *mddev, struct md_rdev *rdev)11601160{11611161 char b[BDEVNAME_SIZE];11621162 conf_t *conf = mddev->private;···12331233 conf->r1buf_pool = NULL;12341234}1235123512361236-static int raid1_spare_active(mddev_t *mddev)12361236+static int raid1_spare_active(struct mddev *mddev)12371237{12381238 int i;12391239 conf_t *conf = mddev->private;···12631263}126412641265126512661266-static int raid1_add_disk(mddev_t *mddev, struct md_rdev *rdev)12661266+static int raid1_add_disk(struct mddev *mddev, struct md_rdev *rdev)12671267{12681268 conf_t *conf = mddev->private;12691269 int err = -EEXIST;···13111311 return err;13121312}1313131313141314-static int raid1_remove_disk(mddev_t *mddev, int number)13141314+static int raid1_remove_disk(struct mddev *mddev, int number)13151315{13161316 conf_t *conf = mddev->private;13171317 int err = 0;···13741374{13751375 int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);13761376 r1bio_t *r1_bio = bio->bi_private;13771377- mddev_t *mddev = r1_bio->mddev;13771377+ struct mddev *mddev = r1_bio->mddev;13781378 conf_t *conf = mddev->private;13791379 int mirror=0;13801380 sector_t first_bad;···14461446 * made sure that anything with a bad block in range14471447 * will have bi_end_io clear.14481448 */14491449- mddev_t *mddev = r1_bio->mddev;14491449+ struct mddev *mddev = r1_bio->mddev;14501450 conf_t *conf = mddev->private;14511451 struct bio *bio = r1_bio->bios[r1_bio->read_disk];14521452 sector_t sect = r1_bio->sector;···15621562 * If any blocks failed to read, then we need to15631563 * attempt an over-write15641564 */15651565- mddev_t *mddev = r1_bio->mddev;15651565+ struct mddev *mddev = r1_bio->mddev;15661566 conf_t *conf = mddev->private;15671567 int primary;15681568 int i;···16351635 return 0;16361636}1637163716381638-static void sync_request_write(mddev_t *mddev, r1bio_t *r1_bio)16381638+static void sync_request_write(struct mddev *mddev, r1bio_t *r1_bio)16391639{16401640 conf_t *conf = mddev->private;16411641 int i;···16901690static void fix_read_error(conf_t *conf, int read_disk,16911691 sector_t sect, int sectors)16921692{16931693- mddev_t *mddev = conf->mddev;16931693+ struct mddev *mddev = conf->mddev;16941694 while(sectors) {16951695 int s = sectors;16961696 int d = read_disk;···1792179217931793static int narrow_write_error(r1bio_t *r1_bio, int i)17941794{17951795- mddev_t *mddev = r1_bio->mddev;17951795+ struct mddev *mddev = r1_bio->mddev;17961796 conf_t *conf = mddev->private;17971797 struct md_rdev *rdev = conf->mirrors[i].rdev;17981798 int vcnt, idx;···19221922{19231923 int disk;19241924 int max_sectors;19251925- mddev_t *mddev = conf->mddev;19251925+ struct mddev *mddev = conf->mddev;19261926 struct bio *bio;19271927 char b[BDEVNAME_SIZE];19281928 struct md_rdev *rdev;···20082008 }20092009}2010201020112011-static void raid1d(mddev_t *mddev)20112011+static void raid1d(struct mddev *mddev)20122012{20132013 r1bio_t *r1_bio;20142014 unsigned long flags;···20852085 * that can be installed to exclude normal IO requests.20862086 */2087208720882088-static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, int go_faster)20882088+static sector_t sync_request(struct mddev *mddev, sector_t sector_nr, int *skipped, int go_faster)20892089{20902090 conf_t *conf = mddev->private;20912091 r1bio_t *r1_bio;···23572357 return nr_sectors;23582358}2359235923602360-static sector_t raid1_size(mddev_t *mddev, sector_t sectors, int raid_disks)23602360+static sector_t raid1_size(struct mddev *mddev, sector_t sectors, int raid_disks)23612361{23622362 if (sectors)23632363 return sectors;···23652365 return mddev->dev_sectors;23662366}2367236723682368-static conf_t *setup_conf(mddev_t *mddev)23682368+static conf_t *setup_conf(struct mddev *mddev)23692369{23702370 conf_t *conf;23712371 int i;···24662466 return ERR_PTR(err);24672467}2468246824692469-static int run(mddev_t *mddev)24692469+static int run(struct mddev *mddev)24702470{24712471 conf_t *conf;24722472 int i;···25462546 return md_integrity_register(mddev);25472547}2548254825492549-static int stop(mddev_t *mddev)25492549+static int stop(struct mddev *mddev)25502550{25512551 conf_t *conf = mddev->private;25522552 struct bitmap *bitmap = mddev->bitmap;···25732573 return 0;25742574}2575257525762576-static int raid1_resize(mddev_t *mddev, sector_t sectors)25762576+static int raid1_resize(struct mddev *mddev, sector_t sectors)25772577{25782578 /* no resync is happening, and there is enough space25792579 * on all devices, so we can resize.···25972597 return 0;25982598}2599259926002600-static int raid1_reshape(mddev_t *mddev)26002600+static int raid1_reshape(struct mddev *mddev)26012601{26022602 /* We need to:26032603 * 1/ resize the r1bio_pool···27032703 return 0;27042704}2705270527062706-static void raid1_quiesce(mddev_t *mddev, int state)27062706+static void raid1_quiesce(struct mddev *mddev, int state)27072707{27082708 conf_t *conf = mddev->private;27092709···27202720 }27212721}2722272227232723-static void *raid1_takeover(mddev_t *mddev)27232723+static void *raid1_takeover(struct mddev *mddev)27242724{27252725 /* raid1 can take over:27262726 * raid5 with 2 devices, any layout or chunk size
+4-4
drivers/md/raid1.h
···1717 */18181919struct pool_info {2020- mddev_t *mddev;2020+ struct mddev *mddev;2121 int raid_disks;2222};2323···2525typedef struct r1bio_s r1bio_t;26262727struct r1_private_data_s {2828- mddev_t *mddev;2828+ struct mddev *mddev;2929 mirror_info_t *mirrors;3030 int raid_disks;3131···114114 sector_t sector;115115 int sectors;116116 unsigned long state;117117- mddev_t *mddev;117117+ struct mddev *mddev;118118 /*119119 * original bio going to /dev/mdx120120 */···173173#define R1BIO_MadeGood 7174174#define R1BIO_WriteError 8175175176176-extern int md_raid1_congested(mddev_t *mddev, int bits);176176+extern int md_raid1_congested(struct mddev *mddev, int bits);177177178178#endif
+27-27
drivers/md/raid10.c
···207207static void reschedule_retry(r10bio_t *r10_bio)208208{209209 unsigned long flags;210210- mddev_t *mddev = r10_bio->mddev;210210+ struct mddev *mddev = r10_bio->mddev;211211 conf_t *conf = mddev->private;212212213213 spin_lock_irqsave(&conf->device_lock, flags);···522522 struct bvec_merge_data *bvm,523523 struct bio_vec *biovec)524524{525525- mddev_t *mddev = q->queuedata;525525+ struct mddev *mddev = q->queuedata;526526 sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);527527 int max;528528 unsigned int chunk_sectors = mddev->chunk_sectors;···677677678678static int raid10_congested(void *data, int bits)679679{680680- mddev_t *mddev = data;680680+ struct mddev *mddev = data;681681 conf_t *conf = mddev->private;682682 int i, ret = 0;683683···830830 spin_unlock_irq(&conf->resync_lock);831831}832832833833-static int make_request(mddev_t *mddev, struct bio * bio)833833+static int make_request(struct mddev *mddev, struct bio * bio)834834{835835 conf_t *conf = mddev->private;836836 mirror_info_t *mirror;···11611161 return 0;11621162}1163116311641164-static void status(struct seq_file *seq, mddev_t *mddev)11641164+static void status(struct seq_file *seq, struct mddev *mddev)11651165{11661166 conf_t *conf = mddev->private;11671167 int i;···12091209 return 1;12101210}1211121112121212-static void error(mddev_t *mddev, struct md_rdev *rdev)12121212+static void error(struct mddev *mddev, struct md_rdev *rdev)12131213{12141214 char b[BDEVNAME_SIZE];12151215 conf_t *conf = mddev->private;···12791279 conf->r10buf_pool = NULL;12801280}1281128112821282-static int raid10_spare_active(mddev_t *mddev)12821282+static int raid10_spare_active(struct mddev *mddev)12831283{12841284 int i;12851285 conf_t *conf = mddev->private;···13091309}131013101311131113121312-static int raid10_add_disk(mddev_t *mddev, struct md_rdev *rdev)13121312+static int raid10_add_disk(struct mddev *mddev, struct md_rdev *rdev)13131313{13141314 conf_t *conf = mddev->private;13151315 int err = -EEXIST;···13681368 return err;13691369}1370137013711371-static int raid10_remove_disk(mddev_t *mddev, int number)13711371+static int raid10_remove_disk(struct mddev *mddev, int number)13721372{13731373 conf_t *conf = mddev->private;13741374 int err = 0;···1441144114421442static void end_sync_request(r10bio_t *r10_bio)14431443{14441444- mddev_t *mddev = r10_bio->mddev;14441444+ struct mddev *mddev = r10_bio->mddev;1445144514461446 while (atomic_dec_and_test(&r10_bio->remaining)) {14471447 if (r10_bio->master_bio == NULL) {···14701470{14711471 int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);14721472 r10bio_t *r10_bio = bio->bi_private;14731473- mddev_t *mddev = r10_bio->mddev;14731473+ struct mddev *mddev = r10_bio->mddev;14741474 conf_t *conf = mddev->private;14751475 int d;14761476 sector_t first_bad;···15091509 * We check if all blocks are in-sync and only write to blocks that15101510 * aren't in sync15111511 */15121512-static void sync_request_write(mddev_t *mddev, r10bio_t *r10_bio)15121512+static void sync_request_write(struct mddev *mddev, r10bio_t *r10_bio)15131513{15141514 conf_t *conf = mddev->private;15151515 int i, first;···16181618 * If a read fails, record a bad block on both old and16191619 * new devices.16201620 */16211621- mddev_t *mddev = r10_bio->mddev;16211621+ struct mddev *mddev = r10_bio->mddev;16221622 conf_t *conf = mddev->private;16231623 struct bio *bio = r10_bio->devs[0].bio;16241624 sector_t sect = 0;···16881688 }16891689}1690169016911691-static void recovery_request_write(mddev_t *mddev, r10bio_t *r10_bio)16911691+static void recovery_request_write(struct mddev *mddev, r10bio_t *r10_bio)16921692{16931693 conf_t *conf = mddev->private;16941694 int d;···17191719 * since the last recorded read error.17201720 *17211721 */17221722-static void check_decay_read_errors(mddev_t *mddev, struct md_rdev *rdev)17221722+static void check_decay_read_errors(struct mddev *mddev, struct md_rdev *rdev)17231723{17241724 struct timespec cur_time_mon;17251725 unsigned long hours_since_last;···17781778 * 3. Performs writes following reads for array synchronising.17791779 */1780178017811781-static void fix_read_error(conf_t *conf, mddev_t *mddev, r10bio_t *r10_bio)17811781+static void fix_read_error(conf_t *conf, struct mddev *mddev, r10bio_t *r10_bio)17821782{17831783 int sect = 0; /* Offset from r10_bio->sector */17841784 int sectors = r10_bio->sectors;···19861986static int narrow_write_error(r10bio_t *r10_bio, int i)19871987{19881988 struct bio *bio = r10_bio->master_bio;19891989- mddev_t *mddev = r10_bio->mddev;19891989+ struct mddev *mddev = r10_bio->mddev;19901990 conf_t *conf = mddev->private;19911991 struct md_rdev *rdev = conf->mirrors[r10_bio->devs[i].devnum].rdev;19921992 /* bio has the data to be written to slot 'i' where···20402040 return ok;20412041}2042204220432043-static void handle_read_error(mddev_t *mddev, r10bio_t *r10_bio)20432043+static void handle_read_error(struct mddev *mddev, r10bio_t *r10_bio)20442044{20452045 int slot = r10_bio->read_slot;20462046 int mirror = r10_bio->devs[slot].devnum;···22002200 }22012201}2202220222032203-static void raid10d(mddev_t *mddev)22032203+static void raid10d(struct mddev *mddev)22042204{22052205 r10bio_t *r10_bio;22062206 unsigned long flags;···22972297 *22982298 */2299229923002300-static sector_t sync_request(mddev_t *mddev, sector_t sector_nr,23002300+static sector_t sync_request(struct mddev *mddev, sector_t sector_nr,23012301 int *skipped, int go_faster)23022302{23032303 conf_t *conf = mddev->private;···27142714}2715271527162716static sector_t27172717-raid10_size(mddev_t *mddev, sector_t sectors, int raid_disks)27172717+raid10_size(struct mddev *mddev, sector_t sectors, int raid_disks)27182718{27192719 sector_t size;27202720 conf_t *conf = mddev->private;···27332733}273427342735273527362736-static conf_t *setup_conf(mddev_t *mddev)27362736+static conf_t *setup_conf(struct mddev *mddev)27372737{27382738 conf_t *conf = NULL;27392739 int nc, fc, fo;···28362836 return ERR_PTR(err);28372837}2838283828392839-static int run(mddev_t *mddev)28392839+static int run(struct mddev *mddev)28402840{28412841 conf_t *conf;28422842 int i, disk_idx, chunk_size;···29662966 return -EIO;29672967}2968296829692969-static int stop(mddev_t *mddev)29692969+static int stop(struct mddev *mddev)29702970{29712971 conf_t *conf = mddev->private;29722972···29832983 return 0;29842984}2985298529862986-static void raid10_quiesce(mddev_t *mddev, int state)29862986+static void raid10_quiesce(struct mddev *mddev, int state)29872987{29882988 conf_t *conf = mddev->private;29892989···29972997 }29982998}2999299930003000-static void *raid10_takeover_raid0(mddev_t *mddev)30003000+static void *raid10_takeover_raid0(struct mddev *mddev)30013001{30023002 struct md_rdev *rdev;30033003 conf_t *conf;···30293029 return conf;30303030}3031303130323032-static void *raid10_takeover(mddev_t *mddev)30323032+static void *raid10_takeover(struct mddev *mddev)30333033{30343034 struct raid0_private_data *raid0_priv;30353035
+2-2
drivers/md/raid10.h
···1616typedef struct r10bio_s r10bio_t;17171818struct r10_private_data_s {1919- mddev_t *mddev;1919+ struct mddev *mddev;2020 mirror_info_t *mirrors;2121 int raid_disks;2222 spinlock_t device_lock;···8787 sector_t sector; /* virtual sector number */8888 int sectors;8989 unsigned long state;9090- mddev_t *mddev;9090+ struct mddev *mddev;9191 /*9292 * original bio going to /dev/mdx9393 */
+40-40
drivers/md/raid5.c
···17191719 dev->sector = compute_blocknr(sh, i, previous);17201720}1721172117221722-static void error(mddev_t *mddev, struct md_rdev *rdev)17221722+static void error(struct mddev *mddev, struct md_rdev *rdev)17231723{17241724 char b[BDEVNAME_SIZE];17251725 raid5_conf_t *conf = mddev->private;···34033403 }34043404}3405340534063406-int md_raid5_congested(mddev_t *mddev, int bits)34063406+int md_raid5_congested(struct mddev *mddev, int bits)34073407{34083408 raid5_conf_t *conf = mddev->private;34093409···3424342434253425static int raid5_congested(void *data, int bits)34263426{34273427- mddev_t *mddev = data;34273427+ struct mddev *mddev = data;3428342834293429 return mddev_congested(mddev, bits) ||34303430 md_raid5_congested(mddev, bits);···34373437 struct bvec_merge_data *bvm,34383438 struct bio_vec *biovec)34393439{34403440- mddev_t *mddev = q->queuedata;34403440+ struct mddev *mddev = q->queuedata;34413441 sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);34423442 int max;34433443 unsigned int chunk_sectors = mddev->chunk_sectors;···34573457}345834583459345934603460-static int in_chunk_boundary(mddev_t *mddev, struct bio *bio)34603460+static int in_chunk_boundary(struct mddev *mddev, struct bio *bio)34613461{34623462 sector_t sector = bio->bi_sector + get_start_sect(bio->bi_bdev);34633463 unsigned int chunk_sectors = mddev->chunk_sectors;···35203520static void raid5_align_endio(struct bio *bi, int error)35213521{35223522 struct bio* raid_bi = bi->bi_private;35233523- mddev_t *mddev;35233523+ struct mddev *mddev;35243524 raid5_conf_t *conf;35253525 int uptodate = test_bit(BIO_UPTODATE, &bi->bi_flags);35263526 struct md_rdev *rdev;···35673567}356835683569356935703570-static int chunk_aligned_read(mddev_t *mddev, struct bio * raid_bio)35703570+static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio)35713571{35723572 raid5_conf_t *conf = mddev->private;35733573 int dd_idx;···36883688 return sh;36893689}3690369036913691-static int make_request(mddev_t *mddev, struct bio * bi)36913691+static int make_request(struct mddev *mddev, struct bio * bi)36923692{36933693 raid5_conf_t *conf = mddev->private;36943694 int dd_idx;···38483848 return 0;38493849}3850385038513851-static sector_t raid5_size(mddev_t *mddev, sector_t sectors, int raid_disks);38513851+static sector_t raid5_size(struct mddev *mddev, sector_t sectors, int raid_disks);3852385238533853-static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped)38533853+static sector_t reshape_request(struct mddev *mddev, sector_t sector_nr, int *skipped)38543854{38553855 /* reshaping is quite different to recovery/resync so it is38563856 * handled quite separately ... here.···40684068}4069406940704070/* FIXME go_faster isn't used */40714071-static inline sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, int go_faster)40714071+static inline sector_t sync_request(struct mddev *mddev, sector_t sector_nr, int *skipped, int go_faster)40724072{40734073 raid5_conf_t *conf = mddev->private;40744074 struct stripe_head *sh;···42274227 * During the scan, completed stripes are saved for us by the interrupt42284228 * handler, so that they will not have to wait for our next wakeup.42294229 */42304230-static void raid5d(mddev_t *mddev)42304230+static void raid5d(struct mddev *mddev)42314231{42324232 struct stripe_head *sh;42334233 raid5_conf_t *conf = mddev->private;···42944294}4295429542964296static ssize_t42974297-raid5_show_stripe_cache_size(mddev_t *mddev, char *page)42974297+raid5_show_stripe_cache_size(struct mddev *mddev, char *page)42984298{42994299 raid5_conf_t *conf = mddev->private;43004300 if (conf)···43044304}4305430543064306int43074307-raid5_set_cache_size(mddev_t *mddev, int size)43074307+raid5_set_cache_size(struct mddev *mddev, int size)43084308{43094309 raid5_conf_t *conf = mddev->private;43104310 int err;···43304330EXPORT_SYMBOL(raid5_set_cache_size);4331433143324332static ssize_t43334333-raid5_store_stripe_cache_size(mddev_t *mddev, const char *page, size_t len)43334333+raid5_store_stripe_cache_size(struct mddev *mddev, const char *page, size_t len)43344334{43354335 raid5_conf_t *conf = mddev->private;43364336 unsigned long new;···43554355 raid5_store_stripe_cache_size);4356435643574357static ssize_t43584358-raid5_show_preread_threshold(mddev_t *mddev, char *page)43584358+raid5_show_preread_threshold(struct mddev *mddev, char *page)43594359{43604360 raid5_conf_t *conf = mddev->private;43614361 if (conf)···43654365}4366436643674367static ssize_t43684368-raid5_store_preread_threshold(mddev_t *mddev, const char *page, size_t len)43684368+raid5_store_preread_threshold(struct mddev *mddev, const char *page, size_t len)43694369{43704370 raid5_conf_t *conf = mddev->private;43714371 unsigned long new;···43894389 raid5_store_preread_threshold);4390439043914391static ssize_t43924392-stripe_cache_active_show(mddev_t *mddev, char *page)43924392+stripe_cache_active_show(struct mddev *mddev, char *page)43934393{43944394 raid5_conf_t *conf = mddev->private;43954395 if (conf)···44134413};4414441444154415static sector_t44164416-raid5_size(mddev_t *mddev, sector_t sectors, int raid_disks)44164416+raid5_size(struct mddev *mddev, sector_t sectors, int raid_disks)44174417{44184418 raid5_conf_t *conf = mddev->private;44194419···45404540 return err;45414541}4542454245434543-static raid5_conf_t *setup_conf(mddev_t *mddev)45434543+static raid5_conf_t *setup_conf(struct mddev *mddev)45444544{45454545 raid5_conf_t *conf;45464546 int raid_disk, memory, max_disks;···47054705 return 0;47064706}4707470747084708-static int run(mddev_t *mddev)47084708+static int run(struct mddev *mddev)47094709{47104710 raid5_conf_t *conf;47114711 int working_disks = 0;···49424942 return -EIO;49434943}4944494449454945-static int stop(mddev_t *mddev)49454945+static int stop(struct mddev *mddev)49464946{49474947 raid5_conf_t *conf = mddev->private;49484948···49554955 return 0;49564956}4957495749584958-static void status(struct seq_file *seq, mddev_t *mddev)49584958+static void status(struct seq_file *seq, struct mddev *mddev)49594959{49604960 raid5_conf_t *conf = mddev->private;49614961 int i;···49944994 }49954995}4996499649974997-static int raid5_spare_active(mddev_t *mddev)49974997+static int raid5_spare_active(struct mddev *mddev)49984998{49994999 int i;50005000 raid5_conf_t *conf = mddev->private;···50195019 return count;50205020}5021502150225022-static int raid5_remove_disk(mddev_t *mddev, int number)50225022+static int raid5_remove_disk(struct mddev *mddev, int number)50235023{50245024 raid5_conf_t *conf = mddev->private;50255025 int err = 0;···50625062 return err;50635063}5064506450655065-static int raid5_add_disk(mddev_t *mddev, struct md_rdev *rdev)50655065+static int raid5_add_disk(struct mddev *mddev, struct md_rdev *rdev)50665066{50675067 raid5_conf_t *conf = mddev->private;50685068 int err = -EEXIST;···51055105 return err;51065106}5107510751085108-static int raid5_resize(mddev_t *mddev, sector_t sectors)51085108+static int raid5_resize(struct mddev *mddev, sector_t sectors)51095109{51105110 /* no resync is happening, and there is enough space51115111 * on all devices, so we can resize.···51325132 return 0;51335133}5134513451355135-static int check_stripe_cache(mddev_t *mddev)51355135+static int check_stripe_cache(struct mddev *mddev)51365136{51375137 /* Can only proceed if there are plenty of stripe_heads.51385138 * We need a minimum of one full stripe,, and for sensible progress···51565156 return 1;51575157}5158515851595159-static int check_reshape(mddev_t *mddev)51595159+static int check_reshape(struct mddev *mddev)51605160{51615161 raid5_conf_t *conf = mddev->private;51625162···51885188 return resize_stripes(conf, conf->raid_disks + mddev->delta_disks);51895189}5190519051915191-static int raid5_start_reshape(mddev_t *mddev)51915191+static int raid5_start_reshape(struct mddev *mddev)51925192{51935193 raid5_conf_t *conf = mddev->private;51945194 struct md_rdev *rdev;···53325332/* This is called from the raid5d thread with mddev_lock held.53335333 * It makes config changes to the device.53345334 */53355335-static void raid5_finish_reshape(mddev_t *mddev)53355335+static void raid5_finish_reshape(struct mddev *mddev)53365336{53375337 raid5_conf_t *conf = mddev->private;53385338···53675367 }53685368}5369536953705370-static void raid5_quiesce(mddev_t *mddev, int state)53705370+static void raid5_quiesce(struct mddev *mddev, int state)53715371{53725372 raid5_conf_t *conf = mddev->private;53735373···54035403}540454045405540554065406-static void *raid45_takeover_raid0(mddev_t *mddev, int level)54065406+static void *raid45_takeover_raid0(struct mddev *mddev, int level)54075407{54085408 struct raid0_private_data *raid0_priv = mddev->private;54095409 sector_t sectors;···54305430}543154315432543254335433-static void *raid5_takeover_raid1(mddev_t *mddev)54335433+static void *raid5_takeover_raid1(struct mddev *mddev)54345434{54355435 int chunksect;54365436···54575457 return setup_conf(mddev);54585458}5459545954605460-static void *raid5_takeover_raid6(mddev_t *mddev)54605460+static void *raid5_takeover_raid6(struct mddev *mddev)54615461{54625462 int new_layout;54635463···54915491}549254925493549354945494-static int raid5_check_reshape(mddev_t *mddev)54945494+static int raid5_check_reshape(struct mddev *mddev)54955495{54965496 /* For a 2-drive array, the layout and chunk size can be changed54975497 * immediately as not restriping is needed.···55315531 return check_reshape(mddev);55325532}5533553355345534-static int raid6_check_reshape(mddev_t *mddev)55345534+static int raid6_check_reshape(struct mddev *mddev)55355535{55365536 int new_chunk = mddev->new_chunk_sectors;55375537···55515551 return check_reshape(mddev);55525552}5553555355545554-static void *raid5_takeover(mddev_t *mddev)55545554+static void *raid5_takeover(struct mddev *mddev)55555555{55565556 /* raid5 can take over:55575557 * raid0 - if there is only one strip zone - make it a raid4 layout···55745574 return ERR_PTR(-EINVAL);55755575}5576557655775577-static void *raid4_takeover(mddev_t *mddev)55775577+static void *raid4_takeover(struct mddev *mddev)55785578{55795579 /* raid4 can take over:55805580 * raid0 - if there is only one strip zone···5593559355945594static struct mdk_personality raid5_personality;5595559555965596-static void *raid6_takeover(mddev_t *mddev)55965596+static void *raid6_takeover(struct mddev *mddev)55975597{55985598 /* Currently can only take over a raid5. We map the55995599 * personality to an equivalent raid6 personality
+3-3
drivers/md/raid5.h
···349349350350struct raid5_private_data {351351 struct hlist_head *stripe_hashtbl;352352- mddev_t *mddev;352352+ struct mddev *mddev;353353 struct disk_info *spare;354354 int chunk_sectors;355355 int level, algorithm;···503503 return layout >= 8 && layout <= 10;504504}505505506506-extern int md_raid5_congested(mddev_t *mddev, int bits);506506+extern int md_raid5_congested(struct mddev *mddev, int bits);507507extern void md_raid5_kick_device(raid5_conf_t *conf);508508-extern int raid5_set_cache_size(mddev_t *mddev, int size);508508+extern int raid5_set_cache_size(struct mddev *mddev, int size);509509#endif