Re: [PATCH] Block layer: separate out queue-oriented ioctls Re:[PATCH] Block layer: separate out queue-oriented ioctls

From: Joerg Schilling
Date: Mon Apr 02 2007 - 04:38:16 EST


Hi,

this is a repost as I like to know the current state of the problem...

The USB DMA size problem is known to exist on Linux since February 2004.
I am still in hope that there will be a fix soon.

/*--------------------------------------------------------------------------*/
Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:

> Well, if Doug wants to reduce the value returned by SG_GET_RESERVED_SIZE,
> it's okay with me. An advantage of doing this is that older versions of
> cdrecord would then work correctly.
>
> However you don't seem to realize that people can use programs like
> cdrecord with devices whose drivers don't support SG_GET_RESERVED_SIZE --
> because that ioctl works only with sg. Programs would have to try
> SG_GET_RESERVED_SIZE and if it faied, then try BLKSECTGET.

Is there any reason not to have one single ioctl for one basic feature?

> Remember also, the "reserved size" is _not_ the maximum allowed size of a
> DMA transfer. Rather, it is the size of an internal buffer maintained by
> sg. It's legal to do an I/O transfer larger than the "reserved size", but
> it is not legal to do an I/O transfer larger than max_sectors.

At the time the call SG_GET_RESERVED_SIZE has been discussed/defined, we did
originally agree that the max value should be limited to what the HW allows
as DMA size. This is why I did originally files a bug against
SG_GET_RESERVED_SIZE.
/*--------------------------------------------------------------------------*/

Jörg

--
EMail:joerg@xxxxxxxxxxxxxxxxxxxxxxxxxxx (home) Jörg Schilling D-13353 Berlin
js@xxxxxxxxxxxxxxx (uni)
schilling@xxxxxxxxxxxxxxxxxxx (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
-
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/