Messages in this thread | | | Date | Sun, 16 Jan 2000 19:16:25 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [Patch] Cleanup struct gendisk registration, 2.3.40-pre1 |
| |
On Sun, 16 Jan 2000, Guest section DW wrote: > > Hmm. People who actually still use floppies would hate you, I suppose. > Hmm. And thinking about it, I would be unhappy too.
Only because you haven't checked what goes on.
> The first time one does a mount (of a 10 GB filesystem) this takes > a long time. Unmounting and doing a mount again immediately afterwards > takes negligible time because the data is still in core.
That's just because of a STUPID default.
The ext2 mount code defaults to do a full check at mount time, and it takes _forever_ on a big disk because the full check involves going through every superblock and verifying that they all match etc.
It doesn't really buy you anything - it's not real protection in the first place, and if you want to be safe you should just fsck the filesystem, not do something silly that takes forever due to seeking all over the disk.
The proper solution for this is not to cache the thing, it's to just not do it in the first place. Use the "nocheck" option or something like that in your fstab, and you'll be a lot happier at boot-time.
> And this fsync doesnt really help at all, does it? > It remains the case that programs that access block 15003 of hda > and block 3 of hda2 will have alias problems as long as there is > at least some process that still has these devices open.
But you shouldn't have processes with them open _anyway_.
If you are fdisk'ing your disks while you have processes with open descriptors to the partitions, you're asking for trouble, and you deserve whatever you get. Don't be ridiculous - this is not something we should even TRY to fix.
In fact, it may make perfect sense to do a lot of the partition parsing code at "open" time, and after opening a device the internal kernel might always just use the "parent" device together with a "offset+length" check. That gets rid of any alias issue, but makes it doubly clear that you REALLY shouldn't have any fd's open when changing the partitioning scheme.
> The problem really lies in the fact that the buffer cache never > considers the possibility that blocks on different devices may > in fact be the same block. Also with loop this causes problems.
It doesn't cause problems in any sane environment, imho. Anything that expects complete synchronization between different devices that might alias is just asking for trouble, and should not exist in the first place.
Linus
- 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/
| |