Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1585778 > unrolled thread
| Started by | Stephen Rothwell <sfr@canb.auug.org.au> |
|---|---|
| First post | 2017-02-21 23:20 +0100 |
| Last post | 2017-02-21 23:20 +0100 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: linux-next: manual merge of the block tree with the vfs tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-02-21 23:20 +0100
| From | Stephen Rothwell <sfr@canb.auug.org.au> |
|---|---|
| Date | 2017-02-21 23:20 +0100 |
| Subject | Re: linux-next: manual merge of the block tree with the vfs tree |
| Message-ID | <tdqWT-l3-27@gated-at.bofh.it> |
Hi all,
On Thu, 2 Feb 2017 13:44:07 +1100 Stephen Rothwell <sfr@canb.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
Back to top | Article view | linux.kernel
csiph-web