Messages in this thread | | | Date | Sat, 3 May 1997 09:42:58 -0400 | From | "Theodore Y. Ts'o" <> | Subject | Re: On the subject of the VFS layer (was Re: VFS questions) |
| |
Date: Sat, 3 May 1997 19:38:32 +1200 (NZST) From: "J. Sean Connell" <ankh@canuck.gen.nz>
I took a look at the kernel sources (both ext2fs and eventually the VFS layer), and I was amazed by what I (didn't) find: the low-level disk manipulation functions (e.g., the ext2fs routine for reading an inode off the disk), while they themselves check for errors returned by, e.g., bread(), have no way to actually *report* this information to higher layers. And of course, if the bread() fails, the inode retrieval has failed... but there's no way to tell the caller this fact. At least, not that I could find.
Uh, yeah. Known problem. Both Stephen and I know about it, but as you said, it requires changing the VFS layer, and then fixing all of the filesystem code, and we've been both too busy. The ext2 error already does the checking... there's just no way to report it up to the VFS layer. If someone wants to take fixing this up as a project, you're right it's long overdue.
Sean, you apparently know enough kernel programming to have at least figured this out; you want to try give a hand at fixing it? Or Ingo, you had independently figured this out as well, and having seen the other kernel patches you've done, I'm sure you'd be able to do it.... Anybody else interested?
(Delegation is a wonderful thing, especially when you're too hosed and too busy. :-)
- Ted
| |