archive mirror
 help / color / mirror / Atom feed
* [RFC] inconsistent semantics of _copy_mc_to_iter()
@ 2021-04-25  1:28 Al Viro
  0 siblings, 0 replies; only message in thread
From: Al Viro @ 2021-04-25  1:28 UTC (permalink / raw)
  To: Dan Williams; +Cc: linux-nvdimm

	In case of failure halfway through the operation we get
very different results depending upon the iov_iter flavour:

	iovec, pipe - advances by the amount actually copied,
	kvec, bvec - does *NOT* advance at all

Which semantics is desired?  AFAICS, the calls can be repeated -
e.g. the loop in dax_iomap_actor() will call dax_copy_to_iter()
again on the short read and with iovec-backed iter it will
try to copy from the place of failure (presumably returning 0
that time around and terminating the loop), while with bvec
or kvec it will go and paste the copies of the same chunk again
until it runs out of destination.
Linux-nvdimm mailing list --
To unsubscribe send an email to

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-25  1:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-25  1:28 [RFC] inconsistent semantics of _copy_mc_to_iter() Al Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).