Messages in this thread |  | | Date | Fri, 13 Oct 2000 13:36:48 +0200 | From | Guest section DW <> | Subject | Re: floppy on alpha |
| |
On Fri, Oct 13, 2000 at 10:13:11AM +0900, Tom Holroyd wrote:
> Mine works OK, except for that invalidate on last close thing > (how do I go back to the old behavior? Why was it changed?).
You go back to the old behaviour by commenting out the invalidate_buffers call in if (atomic_dec_and_test(&bdev->bd_openers)) invalidate_buffers(rdev); in blkdev_put().
A rather silly but effective measure is to start the command openflop: #include <fcntl.h> main(){ int fd = open("/dev/fd0", O_RDONLY); pause(); } each time after inserting a floppy, and to kill it before taking the floppy out again. (For me reading a floppy takes 72.5 seconds each time without this command, and 0.1 sec the second time with this command.)
Why was it changed? I think it was a very bad move. The main reason was that Alexander Viro didnt see how to retain guaranteed correctness without it. Alan pseudo-defended it by saying that some devices have a broken detection of media change. So, presently we leave detection of media change to the user who has to run openflop. You may find the discussion in the archives. [Subject: why invalidate_buffers() in blkdev_put()?]
Andries
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |