diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 23:59:20 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 23:59:20 -0800 |
| commit | 0925bad356699684440720f2a908030f98bc3284 (patch) | |
| tree | 07aeab195124a7f069dab9e5f349abb0ba5c47cc /include/linux/raid | |
| parent | 51f4a834d5661caada395e99fd713065f04bfc69 (diff) | |
v2.5.1 -> v2.5.1.1
- me: revert the "kill(-1..)" change. POSIX isn't that clear on the
issue anyway, and the new behaviour breaks things.
- Jens Axboe: more bio updates
- Al Viro: rd_load cleanups. hpfs mount fix, mount cleanups
- Ingo Molnar: more raid updates
- Jakub Jelinek: fix Linux/x86 confusion about arg passing of "save_v86_state" and "do_signal"
- Trond Myklebust: fix NFS client race conditions
Diffstat (limited to 'include/linux/raid')
| -rw-r--r-- | include/linux/raid/md_k.h | 2 | ||||
| -rw-r--r-- | include/linux/raid/raid1.h | 30 |
2 files changed, 16 insertions, 16 deletions
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h index 6bf45496c507..d9b7870f363d 100644 --- a/include/linux/raid/md_k.h +++ b/include/linux/raid/md_k.h @@ -240,7 +240,7 @@ struct mdk_personality_s int (*stop_resync)(mddev_t *mddev); int (*restart_resync)(mddev_t *mddev); - int (*sync_request)(mddev_t *mddev, sector_t sector_nr); + int (*sync_request)(mddev_t *mddev, sector_t sector_nr, int go_faster); }; diff --git a/include/linux/raid/raid1.h b/include/linux/raid/raid1.h index c03eabf2e55c..8c96e84c661b 100644 --- a/include/linux/raid/raid1.h +++ b/include/linux/raid/raid1.h @@ -9,8 +9,8 @@ struct mirror_info { int number; int raid_disk; kdev_t dev; - int sect_limit; - int head_position; + sector_t head_position; + atomic_t nr_pending; /* * State bits: @@ -31,23 +31,21 @@ struct r1_private_data_s { int raid_disks; int working_disks; int last_used; - sector_t next_sect; - int sect_count; + sector_t next_seq_sect; mdk_thread_t *thread, *resync_thread; int resync_mirrors; mirror_info_t *spare; spinlock_t device_lock; /* for use when syncing mirrors: */ - unsigned long start_active, start_ready, - start_pending, start_future; - int cnt_done, cnt_active, cnt_ready, - cnt_pending, cnt_future; - int phase; - int window; - wait_queue_head_t wait_done; - wait_queue_head_t wait_ready; - spinlock_t segment_lock; + + spinlock_t resync_lock; + int nr_pending; + int barrier; + sector_t next_resync; + + wait_queue_head_t wait_idle; + wait_queue_head_t wait_resume; mempool_t *r1bio_pool; mempool_t *r1buf_pool; @@ -62,7 +60,8 @@ typedef struct r1_private_data_s conf_t; #define mddev_to_conf(mddev) ((conf_t *) mddev->private) /* - * this is our 'private' 'collective' RAID1 buffer head. + * this is our 'private' RAID1 bio. + * * it contains information about what kind of IO operations were started * for this RAID1 operation, and about their status: */ @@ -83,6 +82,7 @@ struct r1bio_s { * if the IO is in READ direction, then this bio is used: */ struct bio *read_bio; + int read_disk; /* * if the IO is in WRITE direction, then multiple bios are used: */ @@ -94,5 +94,5 @@ struct r1bio_s { /* bits for r1bio.state */ #define R1BIO_Uptodate 1 -#define R1BIO_SyncPhase 2 + #endif |
