Re: floppy regression from "[PATCH] fix floppy.c to store correct..."

From: Andrew Morton
Date: Wed Nov 16 2005 - 04:00:12 EST


Cal Peake <cp@xxxxxxxxxxxxxxxxxxx> wrote:
>
> Hi,
>
> Commit 88baf3e85af72f606363a85e9a60e9e61cc64a6c:
>
> "[PATCH] fix floppy.c to store correct ro/rw status in underlying gendisk"
>
> causes an annoying side-effect. Upon first write attempt to a floppy I get
> this:
>
> $ dd if=bootdisk.img of=/dev/fd0 bs=1440k
> dd: writing `/dev/fd0': Operation not permitted
> 1+0 records in
> 0+0 records out
>
> Any successive attempts succeed without problem. Confirmed that backing
> out the patch fixes it.
>

hmm, yes, when floppy_open() does its test we haven't yet gone and
determined the state of FD_DISK_WRITABLE. On later opens, we have done, so
things work OK.

We may be able to do the test at the end of floppy_open(), after
check_disk_change() has called floppy_revalidate(). But for O_NDELAY opens
we appear to be screwed.
-
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/