Re: [PULL REQUEST] md bug fixes and minor improvements

From: Linus Torvalds
Date: Fri Aug 01 2008 - 14:19:44 EST




On Fri, 1 Aug 2008, Jens Axboe wrote:
> + spin_lock_irq(&bitmap->mddev->queue->queue_lock);
> blk_plug_device(bitmap->mddev->queue);
> + spin_unlock_irq(&bitmap->mddev->queue->queue_lock);

Can we please not have a chain of three dereferences in a row like that?
That's an almost certain sign that we should either have a helper function
or just a variable, and do it as

queue = bitmap->mddev->queue;

spin_lock_irq(&queue->queue_lock);
blk_plug_device(queue);
spin_unlock_irq(&queue->queue_lock);

Hmm? Perhaps the helper function is cleaner, ie

static inline blk_plug_device_unlocked(struct request_queue * queue)
{..

instead. That, of course, would have to use spin_lock_irqsave().

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/