Re: [PATCH] dm.c - device-mapper I/O path fixes

Joe Thornber
2002-12-11T12:11:34Z

dec_pending(): only bother spin locking if io->error is going to be
updated. [Kevin Corry]

--- diff/drivers/md/dm.c 2002-12-11 12:00:29.000000000 +0000
+++ source/drivers/md/dm.c 2002-12-11 12:00:34.000000000 +0000
@@ -238,10 +238,11 @@
static spinlock_t _uptodate_lock = SPIN_LOCK_UNLOCKED;
unsigned long flags;

- spin_lock_irqsave(&_uptodate_lock, flags);
- if (error)
+ if (error) {
+ spin_lock_irqsave(&_uptodate_lock, flags);
io->error = error;
- spin_unlock_irqrestore(&_uptodate_lock, flags);
+ spin_unlock_irqrestore(&_uptodate_lock, flags);
+ }

if (atomic_dec_and_test(&io->io_count)) {
if (atomic_dec_and_test(&io->md->pending))