Re: [PATCH 0/7] sg_ring: a ring of scatterlist arrays

From: Tejun Heo
Date: Mon Jan 07 2008 - 03:46:14 EST


Rusty Russell wrote:
> On Monday 07 January 2008 17:37:41 Tejun Heo wrote:
>> Rusty Russell wrote:
>>> Hi Tejun,
>>>
>>> Nice try! Even ignoring the ugliness of undoing such an operation if
>>> the caller doesn't expect you to mangle their chains, consider a
>>> one-element sg array. :(
>> Heh heh, that can be dealt with by skipping the first chain if the first
>> chain is empty after chaining. Please take a look at
>> ata_sg_setup_extra() in the following.
>>
>> http://git.kernel.org/?p=linux/kernel/git/tj/libata-dev.git;a=blob;f=driver
>> s/ata/libata-core.c;h=32dde5bbc75ed53e89ac17040da2cd0621a37161;hb=c8847e473a
>> 4a2844244784226eb362be10d52ce9
>>
>> That said, yeah, it's seriously ugly. Restoring the original sg is ugly
>> too. I definitely agree that we need some improvements here.
>
> Erk, that's beyond ugly, into actual evil.

/me agrees.

> To make this general you need to find the last N 1-element chains (but SCSI
> doesn't do this of course). Oh the horror...

/me agrees.

> I'd be remiss if I didn't mention that the sg_ring ata patches were
> straightforward, and indescribably beautiful if compared to this!

/me agrees. As long as this can be made sane using one unified
interface, I don't care whether it's sg_ring, table or dish.

Thanks.

--
tejun
--
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/