[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170222091414.2b85f4be@canb.auug.org.au>
Date: Wed, 22 Feb 2017 09:14:14 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Jens Axboe <axboe@...nel.dk>, Al Viro <viro@...IV.linux.org.uk>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Christoph Hellwig <hch@....de>
Subject: Re: linux-next: manual merge of the block tree with the vfs tree
Hi all,
On Thu, 2 Feb 2017 13:44:07 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> Today's linux-next merge of the block tree got a conflict in:
>
> drivers/block/nbd.c
>
> between commit:
>
> c9f2b6aeb922 ("[nbd] pass iov_iter to nbd_xmit()")
>
> from the vfs tree and commit:
>
> 09fc54ccc427 ("nbd: move request validity checking into nbd_send_cmd")
> aebf526b53ae ("block: fold cmd_type into the REQ_OP_ space")
>
> from the block tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc drivers/block/nbd.c
> index 48132b0530fe,0be84a3cb6d7..000000000000
> --- a/drivers/block/nbd.c
> +++ b/drivers/block/nbd.c
> @@@ -265,17 -275,32 +262,32 @@@ static int nbd_send_cmd(struct nbd_devi
> u32 type;
> u32 tag = blk_mq_unique_tag(req);
>
> + iov_iter_kvec(&from, WRITE | ITER_KVEC, &iov, 1, sizeof(request));
> +
> - if (req_op(req) == REQ_OP_DISCARD)
> + switch (req_op(req)) {
> + case REQ_OP_DISCARD:
> type = NBD_CMD_TRIM;
> - else if (req_op(req) == REQ_OP_FLUSH)
> + break;
> + case REQ_OP_FLUSH:
> type = NBD_CMD_FLUSH;
> - else if (rq_data_dir(req) == WRITE)
> + break;
> + case REQ_OP_WRITE:
> type = NBD_CMD_WRITE;
> - else
> + break;
> + case REQ_OP_READ:
> type = NBD_CMD_READ;
> + break;
> + default:
> + return -EIO;
> + }
> +
> + if (rq_data_dir(req) == WRITE &&
> + (nbd->flags & NBD_FLAG_READ_ONLY)) {
> + dev_err_ratelimited(disk_to_dev(nbd->disk),
> + "Write on read-only\n");
> + return -EIO;
> + }
>
> - memset(&request, 0, sizeof(request));
> - request.magic = htonl(NBD_REQUEST_MAGIC);
> request.type = htonl(type);
> if (type != NBD_CMD_FLUSH) {
> request.from = cpu_to_be64((u64)blk_rq_pos(req) << 9);
This is now a conflict between the vfs tree and Linus' tree.
--
Cheers,
Stephen Rothwell
Powered by blists - more mailing lists