Re: [PATCH] ata: Add support for Long Logical Sectors and Long Physical Sectors

From: Matthew Wilcox
Date: Mon Aug 18 2008 - 14:42:59 EST


On Mon, Aug 18, 2008 at 07:06:29PM +0100, Alan Cox wrote:
> > + static const char command_sect_size[256] = {
> > + [ ATA_CMD_CFA_TRANSLATE_SECTOR ] = DEVICE,
>
> Should be a bit array so we can do a single fast test_bit()
>
> > + if (size == UNKNOWN && printk_ratelimit())
> > + printk("Unknown ata cmd %d, assuming 512 byte sector size\n",
> > + command);
>
> or two bits ;)

;-) How about two 256-bit arrays?

The first is set for "Use device sector size", the second is set for
"Yes, we know about this command, don't warn". The most common commands
(reads and writes) will hit the first test and never try the second test.

> Rest looks ok. I'll probably send a follow up patch to make most pata
> drivers return "no" to anything but 512 until we can test them with real
> devices.

Why do we need to do that? Leaving sector_size_supported() unset means
exactly "no to anything but 512". I'll be quite surprised if we see
PATA drives supporting 4096 or 520 byte sectors anyway. It seems like
a premium feature.

--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
--
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/