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

Andrew Morton
2005-11-16T09:00:32Z

Cal Peake <cp@absolutedigital.net> 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.