Merge tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux
Pull stream_open conversion from Kirill Smelkov: - remove unnecessary double nonseekable_open from drivers/char/dtlk.c as noticed by Pavel Machek while reviewing nonseekable_open -> stream_open mass conversion. - the mass conversion patch promised in commit 10dce8af ("fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock") and is automatically generated by running $ make coccicheck MODE=patch COCCI=scripts/coccinelle/api/stream_open.cocci I've verified each generated change manually - that it is correct to convert - and each other nonseekable_open instance left - that it is either not correct to convert there, or that it is not converted due to current stream_open.cocci limitations. More details on this in the patch. - finally, change VFS to pass ppos=NULL into .read/.write for files that declare themselves streams. It was suggested by Rasmus Villemoes and makes sure that if ppos starts to be erroneously used in a stream file, such bug won't go unnoticed and will produce an oops instead of creating illusion of position change being taken into account. Note: this patch does not conflict with "fuse: Add FOPEN_STREAM to use stream_open()" that will be hopefully coming via FUSE tree, because fs/fuse/ uses new-style .read_iter/.write_iter, and for these accessors position is still passed as non-pointer kiocb.ki_pos . * tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux: vfs: pass ppos=NULL to .read()/.write() of FMODE_STREAM files *: convert stream-like files from nonseekable_open -> stream_open dtlk: remove double call to nonseekable_open
No related branches found
No related tags found
Showing
- arch/powerpc/platforms/52xx/mpc52xx_gpt.c 1 addition, 1 deletionarch/powerpc/platforms/52xx/mpc52xx_gpt.c
- arch/powerpc/platforms/cell/spufs/file.c 1 addition, 1 deletionarch/powerpc/platforms/cell/spufs/file.c
- arch/um/drivers/harddog_kern.c 1 addition, 1 deletionarch/um/drivers/harddog_kern.c
- arch/x86/kernel/cpu/microcode/core.c 1 addition, 1 deletionarch/x86/kernel/cpu/microcode/core.c
- drivers/char/ds1620.c 1 addition, 1 deletiondrivers/char/ds1620.c
- drivers/char/dtlk.c 1 addition, 2 deletionsdrivers/char/dtlk.c
- drivers/char/ipmi/ipmi_watchdog.c 1 addition, 1 deletiondrivers/char/ipmi/ipmi_watchdog.c
- drivers/char/pcmcia/cm4000_cs.c 1 addition, 1 deletiondrivers/char/pcmcia/cm4000_cs.c
- drivers/char/pcmcia/scr24x_cs.c 1 addition, 1 deletiondrivers/char/pcmcia/scr24x_cs.c
- drivers/char/tb0219.c 1 addition, 1 deletiondrivers/char/tb0219.c
- drivers/firewire/nosy.c 1 addition, 1 deletiondrivers/firewire/nosy.c
- drivers/gnss/core.c 1 addition, 1 deletiondrivers/gnss/core.c
- drivers/hid/uhid.c 1 addition, 1 deletiondrivers/hid/uhid.c
- drivers/hwmon/fschmd.c 1 addition, 1 deletiondrivers/hwmon/fschmd.c
- drivers/hwmon/w83793.c 1 addition, 1 deletiondrivers/hwmon/w83793.c
- drivers/infiniband/core/ucm.c 1 addition, 1 deletiondrivers/infiniband/core/ucm.c
- drivers/infiniband/core/ucma.c 1 addition, 1 deletiondrivers/infiniband/core/ucma.c
- drivers/infiniband/core/user_mad.c 1 addition, 1 deletiondrivers/infiniband/core/user_mad.c
- drivers/infiniband/core/uverbs_main.c 1 addition, 1 deletiondrivers/infiniband/core/uverbs_main.c
- drivers/input/evdev.c 1 addition, 1 deletiondrivers/input/evdev.c
Loading
Please register or sign in to comment