> A value of hardsect_size[] means: this is the smallest size
    > the hardware can work with. It is therefore a serious mistake
    > just to come with "a good guess". This value is used only

    You are defeating the entire purpose of having a hardware sector
    size independently from the software block size. And 2kB is a
    valid guess, apart from the drives that do 512 byte transfers too
    2kB is really the smallest transfer we can do.

: And 2kB is a valid guess

Strange. The twelve or so CD readers I have here are all
able to read 512-byte sectors. I am quite willing to believe
that hardware exists that is unable to, but it is a bad idea
to refuse to mount filesystems just because of some "good guess"
that was not so good at all.

    > to reject impossible sizes, and everywhere the kernel accepts 0
    > meaning "don't know".

[Minor correction to my previous note:
        hardsect_size[MAJOR_NR] = NULL;
is fine, putting 512 is fine as well, but putting 0 does not
work because of the get_hardsect_size() that doesnt check for 0.]

    So put 0 and sure anyone can submit I/O on the size that they want.
    Now the driver has to support padding reads, or gathering data to do
    a complete block write. This is silly. Sr should support 512b transfers
    just fine, but only because I added the necessary _hacks_ to support
    it. sd doesn't right now for instance.

Please calm down. Removing this sr_hardsizes nonsense
is a good idea today. No padding reads involved.
If you disagree, please go slowly and state very explicitly
why you think I should be unable to mount ext2 filesystems with
a block size smaller than 2048 on my SCSI CD drive.

Andries
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to