[iov_iter] new primitives - copy_from_iter_full() and friends
copy_from_iter_full(), copy_from_iter_full_nocache() and
csum_and_copy_from_iter_full() - counterparts of copy_from_iter()
et.al., advancing iterator only in case of successful full copy
and returning whether it had been successful or not.
Convert some obvious users. *NOTE* - do not blindly assume that
something is a good candidate for those unless you are sure that
not advancing iov_iter in failure case is the right thing in
this case. Anything that does short read/short write kind of
stuff (or is in a loop, etc.) is unlikely to be a good one.
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk>
Showing
- drivers/bluetooth/hci_vhci.c 1 addition, 1 deletiondrivers/bluetooth/hci_vhci.c
- drivers/net/macvtap.c 1 addition, 3 deletionsdrivers/net/macvtap.c
- drivers/net/tun.c 2 additions, 5 deletionsdrivers/net/tun.c
- drivers/usb/gadget/function/f_fs.c 1 addition, 1 deletiondrivers/usb/gadget/function/f_fs.c
- drivers/usb/gadget/legacy/inode.c 1 addition, 1 deletiondrivers/usb/gadget/legacy/inode.c
- drivers/vhost/scsi.c 1 addition, 2 deletionsdrivers/vhost/scsi.c
- drivers/vhost/vhost.c 1 addition, 2 deletionsdrivers/vhost/vhost.c
- fs/ncpfs/file.c 1 addition, 1 deletionfs/ncpfs/file.c
- fs/orangefs/devorangefs-req.c 4 additions, 9 deletionsfs/orangefs/devorangefs-req.c
- include/linux/uio.h 3 additions, 0 deletionsinclude/linux/uio.h
- kernel/printk/printk.c 1 addition, 1 deletionkernel/printk/printk.c
- lib/iov_iter.c 96 additions, 2 deletionslib/iov_iter.c
- net/atm/common.c 1 addition, 1 deletionnet/atm/common.c
- net/bluetooth/l2cap_core.c 3 additions, 3 deletionsnet/bluetooth/l2cap_core.c
- net/packet/af_packet.c 1 addition, 4 deletionsnet/packet/af_packet.c
- net/tipc/msg.c 2 additions, 2 deletionsnet/tipc/msg.c
- security/keys/keyctl.c 1 addition, 1 deletionsecurity/keys/keyctl.c
Loading
Please register or sign in to comment