[lkml]   [1996]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: VFS Problem: close returns void
Date (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 ;)


 \ /
  Last update: 2005-03-22 13:38    [W:0.036 / U:0.492 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site