Messages in this thread |  | | From | Derek Atkins <> | Subject | Re: VFS Problem: close returns void | Date | 05 Dec 1996 20:03:39 -0500 |
| |
alan@lxorguk.ukuu.org.uk (Alan Cox) writes:
> > > POSIX compliant", I still believe that the kernel should be able to > > inform the user that a close failed. Filesystems that perform > > write-through caching wont be affected at all, but filesystems that > > behave like AFS will still be able to let users know when they go over > > quota writing a file. > > The obvious answer would be to copy the SunOS NFS response to this case. > Its part of a more general lack of ability to pass errors back cleanly > issue. Its going to attack us for NFS write behind too
I'm not sure what the "SunOS NFS response" is. I'd be willing to copy it if I did. However, in my mind, the best solution would be to change the VFS close() [oops -- release()] method to return an int instead of returning void. Then the filesystem would have a way to return errors.
Luckily, this is only an in-kernel issue, the libc interface will DTRT. Unfortunately, it would require changing all calls to the release() inode operations everywhere, which is in a lot of places (I haven't done a thorough check). It would also break filesystem modules. However, I'm willing to live with that (and I maintain one myself, AFS), since it will fix these problems in the long run.
I'm willing to create patches and supply them to Linus, if people (Linus?) think(s) it's a good idea. I'm just not sure whether to supply patches off 2.0.27 or 2.1.x (whatever the most recent x is ;)
-derek
|  |