Re: [PATCH] dm-mpath: requeue I/O during pg_init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 01, 2013 at 11:49:56AM +0200, Hannes Reinecke wrote:
> --- a/drivers/md/dm-mpath.c
> +++ b/drivers/md/dm-mpath.c
> @@ -390,7 +390,11 @@ static int map_io(struct multipath *m, struct request *clone,
>  	if (was_queued)
>  		m->queue_size--;
>  
> -	if ((pgpath && m->queue_io) ||
> +	if (m->pg_init_required) {
> +		if (!m->pg_init_in_progress)
> +			queue_work(kmultipathd, &m->process_queued_ios);
> +		r = DM_MAPIO_REQUEUE;
> +	} else if ((pgpath && m->queue_io) ||
>  	    (!pgpath && m->queue_if_no_path)) {
>  		/* Queue for the daemon to resubmit */
>  		list_add_tail(&clone->queuelist, &m->queued_ios);

This sequence if...else if... is becoming more and more unreadable!
- Two cases now return REQUEUE; two cases now queue_work().

If it really can't be simplified, could we at least add some explanatory
comments inline?

Alasdair

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel




[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux