android_kernel_xiaomi_sm8350/include
Tejun Heo a4e8b91254 sysfs: move sysfs file poll implementation to sysfs_open_dirent
Sysfs file poll implementation is scattered over sysfs and kobject.
Event numbering is done in sysfs_dirent but wait itself is done on
kobject.  This not only unecessarily bloats both kobject and
sysfs_dirent but is also buggy - if a sysfs_dirent is removed while
there still are pollers, the associaton betwen the kobject and
sysfs_dirent breaks and kobject may be freed with the pollers still
sleeping on it.

This patch moves whole poll implementation into sysfs_open_dirent.
Each time a sysfs_open_dirent is created, event number restarts from 1
and pollers sleep on sysfs_open_dirent.  As event sequence number is
meaningless without any open file and pollers should have open file
and thus sysfs_open_dirent, this ephemeral event counting works and is
a saner implementation.

This patch fixes the dnagling sleepers bug and reduces the sizes of
kobject and sysfs_dirent by one pointer.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-12 14:51:11 -07:00
..
acpi
asm-alpha
asm-arm Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight 2007-10-11 19:19:50 -07:00
asm-avr32 [AVR32] Don't use __builtin_xchg() 2007-10-11 13:32:56 +02:00
asm-blackfin
asm-cris
asm-frv
asm-generic
asm-h8300
asm-ia64
asm-m32r
asm-m68k
asm-m68knommu
asm-mips [MIPS] R1: Fix hazard barriers to make kernels work on R2 also. 2007-10-11 23:46:19 +01:00
asm-parisc
asm-powerpc Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
asm-ppc
asm-s390
asm-sh i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
asm-sh64
asm-sparc
asm-sparc64
asm-um
asm-v850
asm-x86 i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
asm-xtensa
crypto [CRYPTO] sha: Add header file for SHA definitions 2007-10-10 16:55:50 -07:00
keys
linux sysfs: move sysfs file poll implementation to sysfs_open_dirent 2007-10-12 14:51:11 -07:00
math-emu
media
mtd
net [IPv6]: Export userland ND options through netlink (RDNSS support) 2007-10-10 21:22:05 -07:00
pcmcia
rdma
rxrpc
scsi
sound
video
xen
Kbuild