raid0.c (b7e56edba4b02f2079042c326a8cd72a44635817) raid0.c (086fa5ff0854c676ec333760f4c0154b3b242616)
1/*
2 raid0.c : Multiple Devices driver for Linux
3 Copyright (C) 1994-96 Marc ZYNGIER
4 <zyngier@ufr-info-p7.ibp.fr> or
5 <maz@gloups.fdn.fr>
6 Copyright (C) 1999, 2000 Ingo Molnar, Red Hat
7
8

--- 168 unchanged lines hidden (view full) ---

177 rdev1->data_offset << 9);
178 /* as we don't honour merge_bvec_fn, we must never risk
179 * violating it, so limit ->max_sector to one PAGE, as
180 * a one page request is never in violation.
181 */
182
183 if (rdev1->bdev->bd_disk->queue->merge_bvec_fn &&
184 queue_max_sectors(mddev->queue) > (PAGE_SIZE>>9))
1/*
2 raid0.c : Multiple Devices driver for Linux
3 Copyright (C) 1994-96 Marc ZYNGIER
4 <zyngier@ufr-info-p7.ibp.fr> or
5 <maz@gloups.fdn.fr>
6 Copyright (C) 1999, 2000 Ingo Molnar, Red Hat
7
8

--- 168 unchanged lines hidden (view full) ---

177 rdev1->data_offset << 9);
178 /* as we don't honour merge_bvec_fn, we must never risk
179 * violating it, so limit ->max_sector to one PAGE, as
180 * a one page request is never in violation.
181 */
182
183 if (rdev1->bdev->bd_disk->queue->merge_bvec_fn &&
184 queue_max_sectors(mddev->queue) > (PAGE_SIZE>>9))
185 blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9);
185 blk_queue_max_hw_sectors(mddev->queue, PAGE_SIZE>>9);
186
187 if (!smallest || (rdev1->sectors < smallest->sectors))
188 smallest = rdev1;
189 cnt++;
190 }
191 if (cnt != mddev->raid_disks) {
192 printk(KERN_ERR "raid0: too few disks (%d of %d) - "
193 "aborting!\n", cnt, mddev->raid_disks);

--- 126 unchanged lines hidden (view full) ---

320 int ret;
321
322 if (mddev->chunk_sectors == 0) {
323 printk(KERN_ERR "md/raid0: chunk size must be set.\n");
324 return -EINVAL;
325 }
326 if (md_check_no_bitmap(mddev))
327 return -EINVAL;
186
187 if (!smallest || (rdev1->sectors < smallest->sectors))
188 smallest = rdev1;
189 cnt++;
190 }
191 if (cnt != mddev->raid_disks) {
192 printk(KERN_ERR "raid0: too few disks (%d of %d) - "
193 "aborting!\n", cnt, mddev->raid_disks);

--- 126 unchanged lines hidden (view full) ---

320 int ret;
321
322 if (mddev->chunk_sectors == 0) {
323 printk(KERN_ERR "md/raid0: chunk size must be set.\n");
324 return -EINVAL;
325 }
326 if (md_check_no_bitmap(mddev))
327 return -EINVAL;
328 blk_queue_max_sectors(mddev->queue, mddev->chunk_sectors);
328 blk_queue_max_hw_sectors(mddev->queue, mddev->chunk_sectors);
329 mddev->queue->queue_lock = &mddev->queue->__queue_lock;
330
331 ret = create_strip_zones(mddev);
332 if (ret < 0)
333 return ret;
334
335 /* calculate array device size */
336 md_set_array_sectors(mddev, raid0_size(mddev, 0, 0));

--- 237 unchanged lines hidden ---
329 mddev->queue->queue_lock = &mddev->queue->__queue_lock;
330
331 ret = create_strip_zones(mddev);
332 if (ret < 0)
333 return ret;
334
335 /* calculate array device size */
336 md_set_array_sectors(mddev, raid0_size(mddev, 0, 0));

--- 237 unchanged lines hidden ---