April 22, 2019

.comment: The Wit and Wisdom of Linus Torvalds - page 7

Glimpses of a Guy You'd Like to Know

  • January 31, 2001
  • By Dennis E. Powell

Actually, I bet I know what's up.

Want to bet $5 USD that suspend/resume saves the keyboard A20 state, but does NOT save the fast-A20 gate information?

So anything that enables A20 with only the fast A20 gate will find that A20 is disabled again on resume.

Which would make Linux _really_ unhappy, needless to say. Instant death in the form of a triple fault (all of the Linux kernel code is in the 1-2MB area, which would be invisible), resulting in an instant reboot.


I'm a stupid git. I even remember thinking about the syncing issues at some point, and then obviously just forgetting about it completely.

The simple fix is along the lines of adding code to fsync() that walks the inode page list and writes out dirty pages.

The clever and clean fix is to split the inode page list into two lists, one for dirty and one for clean pages, and only walk the dirty list.

Ho ho ho. I so enjoy making a fool out of myself.


And hey, if you think the above is confusing, try making your /dev/null a regular (writable) file by mistake. Now THAT will be confusing as hell: things will actually work surprisingly well, but some things really don't work the way they are intended to. And chasing it down is an exercise in futility. Yes, I've done that at least twice as root by mistake.


De gustibus non disputandum.


And yes, I forgot to update the Makefile release number - sue me, I'm too lazy to upload a new patch with that fixed ;).


Now, I'm not saying your filesystem is toast. I'm just saying that if you booted up in pre6, I'd suggest a quick reboot into a better kernel might be a good idea (be a jock, and do a sync and just push the reset button to force a proper fsck when it comes up - just in case).

Most Popular LinuxPlanet Stories