aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/md.h')
-rw-r--r--drivers/md/md.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/md/md.h b/drivers/md/md.h
index 1c2063ccf48e..7b4a3c318cae 100644
--- a/drivers/md/md.h
+++ b/drivers/md/md.h
@@ -55,6 +55,7 @@ struct md_rdev {
55 int sb_loaded; 55 int sb_loaded;
56 __u64 sb_events; 56 __u64 sb_events;
57 sector_t data_offset; /* start of data in array */ 57 sector_t data_offset; /* start of data in array */
58 sector_t new_data_offset;/* only relevant while reshaping */
58 sector_t sb_start; /* offset of the super block (in 512byte sectors) */ 59 sector_t sb_start; /* offset of the super block (in 512byte sectors) */
59 int sb_size; /* bytes in the superblock */ 60 int sb_size; /* bytes in the superblock */
60 int preferred_minor; /* autorun support */ 61 int preferred_minor; /* autorun support */
@@ -193,8 +194,9 @@ static inline int is_badblock(struct md_rdev *rdev, sector_t s, int sectors,
193 return 0; 194 return 0;
194} 195}
195extern int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors, 196extern int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
196 int acknowledged); 197 int is_new);
197extern int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors); 198extern int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
199 int is_new);
198extern void md_ack_all_badblocks(struct badblocks *bb); 200extern void md_ack_all_badblocks(struct badblocks *bb);
199 201
200struct mddev { 202struct mddev {
@@ -262,6 +264,7 @@ struct mddev {
262 sector_t reshape_position; 264 sector_t reshape_position;
263 int delta_disks, new_level, new_layout; 265 int delta_disks, new_level, new_layout;
264 int new_chunk_sectors; 266 int new_chunk_sectors;
267 int reshape_backwards;
265 268
266 atomic_t plug_cnt; /* If device is expecting 269 atomic_t plug_cnt; /* If device is expecting
267 * more bios soon. 270 * more bios soon.
@@ -390,10 +393,13 @@ struct mddev {
390 * For external metadata, offset 393 * For external metadata, offset
391 * from start of device. 394 * from start of device.
392 */ 395 */
396 unsigned long space; /* space available at this offset */
393 loff_t default_offset; /* this is the offset to use when 397 loff_t default_offset; /* this is the offset to use when
394 * hot-adding a bitmap. It should 398 * hot-adding a bitmap. It should
395 * eventually be settable by sysfs. 399 * eventually be settable by sysfs.
396 */ 400 */
401 unsigned long default_space; /* space available at
402 * default offset */
397 struct mutex mutex; 403 struct mutex mutex;
398 unsigned long chunksize; 404 unsigned long chunksize;
399 unsigned long daemon_sleep; /* how many jiffies between updates? */ 405 unsigned long daemon_sleep; /* how many jiffies between updates? */
@@ -591,6 +597,7 @@ extern void md_write_start(struct mddev *mddev, struct bio *bi);
591extern void md_write_end(struct mddev *mddev); 597extern void md_write_end(struct mddev *mddev);
592extern void md_done_sync(struct mddev *mddev, int blocks, int ok); 598extern void md_done_sync(struct mddev *mddev, int blocks, int ok);
593extern void md_error(struct mddev *mddev, struct md_rdev *rdev); 599extern void md_error(struct mddev *mddev, struct md_rdev *rdev);
600extern void md_finish_reshape(struct mddev *mddev);
594 601
595extern int mddev_congested(struct mddev *mddev, int bits); 602extern int mddev_congested(struct mddev *mddev, int bits);
596extern void md_flush_request(struct mddev *mddev, struct bio *bio); 603extern void md_flush_request(struct mddev *mddev, struct bio *bio);
@@ -615,6 +622,7 @@ extern int md_run(struct mddev *mddev);
615extern void md_stop(struct mddev *mddev); 622extern void md_stop(struct mddev *mddev);
616extern void md_stop_writes(struct mddev *mddev); 623extern void md_stop_writes(struct mddev *mddev);
617extern int md_rdev_init(struct md_rdev *rdev); 624extern int md_rdev_init(struct md_rdev *rdev);
625extern void md_rdev_clear(struct md_rdev *rdev);
618 626
619extern void mddev_suspend(struct mddev *mddev); 627extern void mddev_suspend(struct mddev *mddev);
620extern void mddev_resume(struct mddev *mddev); 628extern void mddev_resume(struct mddev *mddev);