Ack. Mikulas On Tue, 2 Aug 2011, Joe Thornber wrote: > --- > drivers/md/persistent-data/dm-block-manager.c | 23 +++++++---------------- > 1 files changed, 7 insertions(+), 16 deletions(-) > > diff --git a/drivers/md/persistent-data/dm-block-manager.c b/drivers/md/persistent-data/dm-block-manager.c > index 4e2f240..c9fb132 100644 > --- a/drivers/md/persistent-data/dm-block-manager.c > +++ b/drivers/md/persistent-data/dm-block-manager.c > @@ -371,46 +371,37 @@ static void __clear_errors(struct dm_block_manager *bm) > > #define __wait_block(wq, lock, flags, sched_fn, condition) \ > do { \ > - int r = 0; \ > - \ > DEFINE_WAIT(wait); \ > add_wait_queue(wq, &wait); \ > \ > for (;;) { \ > - prepare_to_wait(wq, &wait, TASK_INTERRUPTIBLE); \ > + prepare_to_wait(wq, &wait, TASK_UNINTERRUPTIBLE); \ > if (condition) \ > break; \ > \ > spin_unlock_irqrestore(lock, flags); \ > - if (signal_pending(current)) { \ > - r = -ERESTARTSYS; \ > - spin_lock_irqsave(lock, flags); \ > - break; \ > - } \ > - \ > sched_fn(); \ > spin_lock_irqsave(lock, flags); \ > } \ > \ > finish_wait(wq, &wait); \ > - return r; \ > } while (0) > > -static int __wait_io(struct dm_block *b, unsigned long *flags) > +static void __wait_io(struct dm_block *b, unsigned long *flags) > __retains(&b->bm->lock) > { > __wait_block(&b->io_q, &b->bm->lock, *flags, io_schedule, > ((b->state != BS_READING) && (b->state != BS_WRITING))); > } > > -static int __wait_unlocked(struct dm_block *b, unsigned long *flags) > +static void __wait_unlocked(struct dm_block *b, unsigned long *flags) > __retains(&b->bm->lock) > { > __wait_block(&b->io_q, &b->bm->lock, *flags, schedule, > ((b->state == BS_CLEAN) || (b->state == BS_DIRTY))); > } > > -static int __wait_read_lockable(struct dm_block *b, unsigned long *flags) > +static void __wait_read_lockable(struct dm_block *b, unsigned long *flags) > __retains(&b->bm->lock) > { > __wait_block(&b->io_q, &b->bm->lock, *flags, schedule, > @@ -419,21 +410,21 @@ static int __wait_read_lockable(struct dm_block *b, unsigned long *flags) > b->state == BS_READ_LOCKED))); > } > > -static int __wait_all_writes(struct dm_block_manager *bm, unsigned long *flags) > +static void __wait_all_writes(struct dm_block_manager *bm, unsigned long *flags) > __retains(&bm->lock) > { > __wait_block(&bm->io_q, &bm->lock, *flags, io_schedule, > !bm->writing_count); > } > > -static int __wait_all_io(struct dm_block_manager *bm, unsigned long *flags) > +static void __wait_all_io(struct dm_block_manager *bm, unsigned long *flags) > __retains(&bm->lock) > { > __wait_block(&bm->io_q, &bm->lock, *flags, io_schedule, > !bm->writing_count && !bm->reading_count); > } > > -static int __wait_clean(struct dm_block_manager *bm, unsigned long *flags) > +static void __wait_clean(struct dm_block_manager *bm, unsigned long *flags) > __retains(&bm->lock) > { > __wait_block(&bm->io_q, &bm->lock, *flags, io_schedule, > -- > 1.7.4.1 > -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel