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> |
||
|---|---|---|
| .. | ||
| agp | ||
| hw_random | ||
| ip2 | ||
| ipmi | ||
| mwave | ||
| pcmcia | ||
| rio | ||
| tpm | ||
| xilinx_hwicap | ||
| .gitignore | ||
| amiserial.c | ||
| apm-emulation.c | ||
| applicom.c | ||
| applicom.h | ||
| bfin-otp.c | ||
| briq_panel.c | ||
| bsr.c | ||
| cd1865.h | ||
| ChangeLog | ||
| consolemap.c | ||
| cp437.uni | ||
| cs5535_gpio.c | ||
| cyclades.c | ||
| defkeymap.c_shipped | ||
| defkeymap.map | ||
| digi1.h | ||
| digiFep1.h | ||
| digiPCI.h | ||
| ds1302.c | ||
| ds1620.c | ||
| dsp56k.c | ||
| dtlk.c | ||
| efirtc.c | ||
| epca.c | ||
| epca.h | ||
| epcaconfig.h | ||
| esp.c | ||
| generic_nvram.c | ||
| generic_serial.c | ||
| genrtc.c | ||
| hangcheck-timer.c | ||
| hpet.c | ||
| hvc_beat.c | ||
| hvc_console.c | ||
| hvc_console.h | ||
| hvc_irq.c | ||
| hvc_iseries.c | ||
| hvc_rtas.c | ||
| hvc_vio.c | ||
| hvc_xen.c | ||
| hvcs.c | ||
| hvsi.c | ||
| i8k.c | ||
| isicom.c | ||
| istallion.c | ||
| Kconfig | ||
| keyboard.c | ||
| lp.c | ||
| Makefile | ||
| mbcs.c | ||
| mbcs.h | ||
| mem.c | ||
| misc.c | ||
| mmtimer.c | ||
| moxa.c | ||
| moxa.h | ||
| mspec.c | ||
| mxser.c | ||
| mxser.h | ||
| n_hdlc.c | ||
| n_r3964.c | ||
| n_tty.c | ||
| nozomi.c | ||
| nsc_gpio.c | ||
| nvram.c | ||
| nwbutton.c | ||
| nwbutton.h | ||
| nwflash.c | ||
| pc8736x_gpio.c | ||
| ppdev.c | ||
| ps3flash.c | ||
| pty.c | ||
| random.c | ||
| raw.c | ||
| riscom8.c | ||
| riscom8.h | ||
| riscom8_reg.h | ||
| rocket.c | ||
| rocket.h | ||
| rocket_int.h | ||
| rtc.c | ||
| scc.h | ||
| scx200_gpio.c | ||
| selection.c | ||
| ser_a2232.c | ||
| ser_a2232.h | ||
| ser_a2232fw.ax | ||
| ser_a2232fw.h | ||
| serial167.c | ||
| snsc.c | ||
| snsc.h | ||
| snsc_event.c | ||
| sonypi.c | ||
| specialix.c | ||
| specialix_io8.h | ||
| stallion.c | ||
| sx.c | ||
| sx.h | ||
| sxboards.h | ||
| sxwindow.h | ||
| synclink.c | ||
| synclink_gt.c | ||
| synclinkmp.c | ||
| sysrq.c | ||
| tb0219.c | ||
| tlclk.c | ||
| toshiba.c | ||
| tty_audit.c | ||
| tty_buffer.c | ||
| tty_io.c | ||
| tty_ioctl.c | ||
| tty_ldisc.c | ||
| tty_port.c | ||
| vc_screen.c | ||
| viotape.c | ||
| virtio_console.c | ||
| vme_scc.c | ||
| vr41xx_giu.c | ||
| vt.c | ||
| vt_ioctl.c | ||