diff options
Diffstat (limited to 'drivers/md/raid1.c')
| -rw-r--r-- | drivers/md/raid1.c | 15 | 
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index a0f73092176..d5bddfc4010 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -822,7 +822,7 @@ static void raise_barrier(struct r1conf *conf)  	/* Wait until no block IO is waiting */  	wait_event_lock_irq(conf->wait_barrier, !conf->nr_waiting, -			    conf->resync_lock, ); +			    conf->resync_lock);  	/* block any new IO from starting */  	conf->barrier++; @@ -830,7 +830,7 @@ static void raise_barrier(struct r1conf *conf)  	/* Now wait for all pending IO to complete */  	wait_event_lock_irq(conf->wait_barrier,  			    !conf->nr_pending && conf->barrier < RESYNC_DEPTH, -			    conf->resync_lock, ); +			    conf->resync_lock);  	spin_unlock_irq(&conf->resync_lock);  } @@ -864,8 +864,7 @@ static void wait_barrier(struct r1conf *conf)  				    (conf->nr_pending &&  				     current->bio_list &&  				     !bio_list_empty(current->bio_list)), -				    conf->resync_lock, -			); +				    conf->resync_lock);  		conf->nr_waiting--;  	}  	conf->nr_pending++; @@ -898,10 +897,10 @@ static void freeze_array(struct r1conf *conf)  	spin_lock_irq(&conf->resync_lock);  	conf->barrier++;  	conf->nr_waiting++; -	wait_event_lock_irq(conf->wait_barrier, -			    conf->nr_pending == conf->nr_queued+1, -			    conf->resync_lock, -			    flush_pending_writes(conf)); +	wait_event_lock_irq_cmd(conf->wait_barrier, +				conf->nr_pending == conf->nr_queued+1, +				conf->resync_lock, +				flush_pending_writes(conf));  	spin_unlock_irq(&conf->resync_lock);  }  static void unfreeze_array(struct r1conf *conf)  |