saner FASYNC handling on file close
authorAl Viro <viro@ZenIV.linux.org.uk>
Fri, 31 Oct 2008 23:28:30 +0000 (23:28 +0000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 1 Nov 2008 16:49:46 +0000 (09:49 -0700)
As it is, all instances of ->release() for files that have ->fasync()
need to remember to evict file from fasync lists; forgetting that
creates a hole and we actually have a bunch that *does* forget.

So let's keep our lives simple - let __fput() check FASYNC in
file->f_flags and call ->fasync() there if it's been set.  And lose that
crap in ->release() instances - leaving it there is still valid, but we
don't have to bother anymore.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

No differences found