LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	Christoph Hellwig <hch@lst.de>, Ming Lei <ming.lei@canonical.com>
Subject: linux-next: manual merge of the block tree with Linus' tree
Date: Tue, 6 Oct 2015 12:33:28 +1100	[thread overview]
Message-ID: <20151006123328.7e65c106@canb.auug.org.au> (raw)

Hi Jens,

Today's linux-next merge of the block tree got a conflict in:

  drivers/block/loop.c

between commit:

  f4829a9b7a61 ("blk-mq: fix racy updates of rq->errors")

from Linus' tree and commit:

  bc07c10a3603 ("block: loop: support DIO & AIO")

from the block tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/block/loop.c
index 674f800a3b57,23376084a5cb..000000000000
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@@ -1486,47 -1669,25 +1669,26 @@@ static void loop_handle_cmd(struct loop
  {
  	const bool write = cmd->rq->cmd_flags & REQ_WRITE;
  	struct loop_device *lo = cmd->rq->q->queuedata;
 -	int ret = -EIO;
 +	int ret = 0;
  
 -	if (write && (lo->lo_flags & LO_FLAGS_READ_ONLY))
 +	if (write && (lo->lo_flags & LO_FLAGS_READ_ONLY)) {
 +		ret = -EIO;
  		goto failed;
 +	}
  
  	ret = do_req_filebacked(lo, cmd->rq);
 -
   failed:
- 	blk_mq_complete_request(cmd->rq, ret ? -EIO : 0);
+ 	if (ret)
+ 		cmd->rq->errors = -EIO;
+ 	/* complete non-aio request */
+ 	if (!cmd->use_aio || ret)
 -		blk_mq_complete_request(cmd->rq);
++		blk_mq_complete_request(cmd->rq, ret ? -EIO : 0);
  }
  
- static void loop_queue_write_work(struct work_struct *work)
- {
- 	struct loop_device *lo =
- 		container_of(work, struct loop_device, write_work);
- 	LIST_HEAD(cmd_list);
- 
- 	spin_lock_irq(&lo->lo_lock);
-  repeat:
- 	list_splice_init(&lo->write_cmd_head, &cmd_list);
- 	spin_unlock_irq(&lo->lo_lock);
- 
- 	while (!list_empty(&cmd_list)) {
- 		struct loop_cmd *cmd = list_first_entry(&cmd_list,
- 				struct loop_cmd, list);
- 		list_del_init(&cmd->list);
- 		loop_handle_cmd(cmd);
- 	}
- 
- 	spin_lock_irq(&lo->lo_lock);
- 	if (!list_empty(&lo->write_cmd_head))
- 		goto repeat;
- 	lo->write_started = false;
- 	spin_unlock_irq(&lo->lo_lock);
- }
- 
- static void loop_queue_read_work(struct work_struct *work)
+ static void loop_queue_work(struct kthread_work *work)
  {
  	struct loop_cmd *cmd =
- 		container_of(work, struct loop_cmd, read_work);
+ 		container_of(work, struct loop_cmd, work);
  
  	loop_handle_cmd(cmd);
  }

             reply	other threads:[~2015-10-06  1:33 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-06  1:33 Stephen Rothwell [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-11-25 23:38 Stephen Rothwell
2021-11-26  5:30 ` Christoph Hellwig
2021-11-01  1:36 Stephen Rothwell
2021-10-25  2:26 Stephen Rothwell
2021-08-17  5:25 Stephen Rothwell
2021-08-17 16:40 ` Tejun Heo
2021-08-17 16:50   ` Christoph Hellwig
2021-08-17 16:52     ` Tejun Heo
2021-08-09  4:29 Stephen Rothwell
2021-08-09 14:05 ` Jens Axboe
2020-12-14  3:56 Stephen Rothwell
2020-09-23  4:05 Stephen Rothwell
2020-01-28  0:38 Stephen Rothwell
2020-01-28  0:40 ` Jens Axboe
2019-04-15  3:06 Stephen Rothwell
2019-04-15 14:15 ` Jens Axboe
2019-04-15  3:00 Stephen Rothwell
2019-03-05  1:48 Stephen Rothwell
2018-11-16  2:19 Stephen Rothwell
2018-11-16  2:21 ` Jens Axboe
2017-09-04  3:09 Stephen Rothwell
2017-06-30  2:08 Stephen Rothwell
2017-06-26  2:44 Stephen Rothwell
2017-06-26  2:28 Stephen Rothwell
2017-06-23  3:06 Stephen Rothwell
2017-06-23  3:09 ` Jens Axboe
2017-06-23  3:24   ` Stephen Rothwell
2017-06-23  3:27     ` Jens Axboe
2017-06-23  3:33       ` Stephen Rothwell
2017-06-23  3:56         ` Jens Axboe
2017-06-23  3:29     ` Jens Axboe
2016-07-21  3:08 Stephen Rothwell
2016-07-08  3:07 Stephen Rothwell
2016-07-08  4:14 ` Stephen Rothwell
2016-07-08 14:11   ` Konrad Rzeszutek Wilk
2016-06-14  2:44 Stephen Rothwell
2016-05-03  4:25 Stephen Rothwell
2016-05-03 20:03 ` Jens Axboe
2016-03-07  3:12 Stephen Rothwell
2016-03-07  3:08 Stephen Rothwell
2016-03-01  0:25 Stephen Rothwell
2016-02-18  2:10 Stephen Rothwell
2016-01-13  2:07 Stephen Rothwell
2015-12-31  3:34 Stephen Rothwell
2016-01-21 22:46 ` Stephen Rothwell
2016-01-21 22:48   ` Jens Axboe
2015-12-14  1:36 Stephen Rothwell
2015-12-07  4:27 Stephen Rothwell
2015-12-07  4:16 Stephen Rothwell
2015-08-27  2:36 Stephen Rothwell
2015-08-17  4:04 Stephen Rothwell
2015-06-04  4:51 Stephen Rothwell
2015-06-04  4:36 Stephen Rothwell
2015-06-03  3:33 Stephen Rothwell
2015-06-03  3:28 Stephen Rothwell
2015-06-01  4:56 Stephen Rothwell
2015-06-01 14:31 ` Mike Snitzer
2015-04-13  4:58 Stephen Rothwell
2015-01-27  4:03 Stephen Rothwell
2014-03-17  3:55 Stephen Rothwell
2014-03-10 15:39 Mark Brown
2013-11-01  3:25 Stephen Rothwell
2013-09-25  3:11 Stephen Rothwell
2013-05-01  5:17 Stephen Rothwell
2013-03-26  2:05 Stephen Rothwell
2012-12-07  2:44 Stephen Rothwell
2012-10-31  2:04 Stephen Rothwell
2012-10-31 13:55 ` Ben Hutchings
2012-10-31 13:57   ` Jens Axboe
2012-11-01 10:04   ` Herton Ronaldo Krzesinski
2011-11-01  5:15 Stephen Rothwell
2011-11-01  8:09 ` Jens Axboe
2011-11-01  9:03   ` Stephen Rothwell
2011-05-19  1:34 Stephen Rothwell
2011-03-21  0:43 Stephen Rothwell
2011-03-21  9:48 ` Jens Axboe
2011-03-07  2:19 Stephen Rothwell
2011-03-07  6:36 ` Tejun Heo
2011-03-07  8:42   ` Jens Axboe
2011-03-07 10:41     ` Sedat Dilek
2011-03-07 10:47       ` Tejun Heo
2011-03-07 11:14         ` Sedat Dilek
2011-03-07 11:16           ` Jens Axboe
2011-03-07 11:25             ` Sedat Dilek
2011-03-07 11:26               ` Jens Axboe
2011-03-07 11:35                 ` Sedat Dilek
2011-03-07 11:46                   ` Jens Axboe
2011-03-07 12:26                     ` Sedat Dilek
2011-03-07 11:42               ` Stephen Rothwell
2011-03-07 11:38             ` Stephen Rothwell
2010-09-16  2:04 Stephen Rothwell
2010-04-29  3:52 Stephen Rothwell
2010-04-29  7:33 ` Jens Axboe
2010-03-17  1:52 Stephen Rothwell
2010-03-17  2:03 ` Li Zefan
2010-02-25  3:10 Stephen Rothwell
2010-02-25  7:47 ` Jens Axboe
2010-02-25 23:11   ` Stephen Rothwell
2009-06-25  3:15 Stephen Rothwell
2009-06-25  3:30 ` Stephen Rothwell
2009-06-25  6:38   ` Jens Axboe
2009-06-25  7:42     ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151006123328.7e65c106@canb.auug.org.au \
    --to=sfr@canb.auug.org.au \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=ming.lei@canonical.com \
    --subject='Re: linux-next: manual merge of the block tree with Linus'\'' tree' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).