Re: [dm-devel] [PATCH 0/15] copy offload patches
From: Mike Christie
Date: Fri Dec 11 2015 - 00:06:28 EST
On 12/10/2015 04:33 PM, Martin K. Petersen wrote:
>>>>>> "Mikulas" == Mikulas Patocka <mpatocka@xxxxxxxxxx> writes:
>
> Mikulas,
>
> Mikulas> This patch series adds copy offload (the XCOPY command) to the
> Mikulas> block layer, SCSI subsystems and device mapper.
>
> Now that the VFS stuff appears to stabilize I agree it's a good time to
> revisit all this. I just merged the required VPD patches from Hannes so
> those will be in 4.5.
>
> I have a bunch of changes to the SCSI code that I worked on over the
> spring/summer based on a feedback from the array vendors after
> discussions we started at LSF/MM. Generally speaking, their comments
> didn't make things easier, nor prettier :( But your two bio approach is
> a requirement to accommodate those needs (token-based copy) so I'll work
> on consolidating your changes with mine.
>
> That said, we still need Mike Christie's patches to go in first.
>
> Mike: What's your status? I'm afraid I didn't get a chance to dig very
> deep in your series since it coincided with me scrambling to sort out
> SCSI for 4.4. Do you think there's a chance we could get your patches in
> shape for 4.5? Is there an up-to-date tree I can look at?
>
It looks like my original mail did not make it due to an attachment.
I just had 2 review comments left:
1. Originally, I had left REQ_FLUSH a flag. Christoph suggested to break
it up into a op and flag:
http://marc.info/?l=linux-scsi&m=144689113106515&w=2
I started this and messed up Was going to retry next week.
2. Start REQ_OP_READ off at non-zero to try and shake out code that was
not converted.
There are a several places where we assume reads are zero and writes are
1 for things like indexing in arrays (like blktrace's ddir_act or dm
starts), passing into block functions (like nvme_alloc_request's call of
blk_mq_alloc_request), and if/else's. I am not done fixing all of them
and testing.
Ok, 3 comments. One I gave myself:
3. Also, the btrfs patch is really large (1000 lines) because that code
base is so large and there were so many places we passed around rw to
through multiple functions. I wanted to try and break it up, so it would
be easier for those guys to review.
I uploaded a git tree here:
https://github.com/mikechristie/kernel.git
The patches are in the for-next-req-op.
I made this over Jens's for-next branch in his linux-block tree.
--
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/