Messages in this thread | | | Date | Wed, 16 Feb 2000 09:45:10 -0500 | From | "Theodore Y. Ts'o" <> | Subject | Re: Of removable devices |
| |
From: Francis GALIEGUE <francis@mandrakesoft.com> Date: 16 Feb 2000 12:57:17 +0100
"Khimenko Victor" <khim@sch57.msk.ru> writes:
First, sorry for yelling earlier. I'm conscious of problems with PC floppies. Calling block_fsync() regulary is not even a solution, I'm aware of this as well - too much overhead for not so much. But a newbie is not as stupid to eject a floppy when he sees the LED is on (well, at least I hope so :)
Right. That was the basic design behind supermount, as I understand it. Users have been well programmed that if the LED light is off, it's safe to pop the disk out. Because Linux normally has different rules, this violates the principal of least surprise.
So the question is whether it's possible to do something relatively painless which allows the right thing to happen under most circumstances. A key observation is that the sort of programs you expect naive users to use: i.e., cp, office suite software, etc. generally tends to open a file for writing, write it out completely, and then close the file. So if you can automatically dismount the filesystem after the close, and then automatically mount the filesystem after something tries to touch the dentry, it works 99.9% of the time. Is it perfect? No! Is it better than hoping that users will adapt to Linux? Well, that's a religious question, but the traditional answers is that users are (a) resistant to change and (b) highly stubborn, and so it's better to try to make at least some consessions to pre-programmed behaviour.
By the way, ext2 has a serial number, so it *would* be possible to make ext2 check the superblock parameter when it was informed that a media change may have happened. So it's not just the FAT filesystem that can do this.
- Ted
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |