]> git.michaelhowe.org Git - packages/o/openafs.git/commit
Linux 4.4: Do not use splice()
authorStephan Wiesand <stephan.wiesand@desy.de>
Tue, 8 Mar 2016 13:15:17 +0000 (14:15 +0100)
committerStephan Wiesand <stephan.wiesand@desy.de>
Wed, 30 Mar 2016 13:48:10 +0000 (09:48 -0400)
commitd73bbdfc49469128071980fd62be4b929593d90e
tree75fc878fec5cf9cf48e1a060a6f7840484ddb815
parent2c3558c8d0688de2faf4d4d349ad48ff15d7fb25
Linux 4.4: Do not use splice()

splice() may return -ERESTARTSYS if there are pending signals, and
it's not even clear how this should be dealt with. This potential
problem has been present for a long time, but as of Linux 4.4
(commit c725bfce7968009756ed2836a8cd7ba4dc163011) seems much more
likely to happen.

Until resources are available to fix the code to handle such errors,
avoid the riskier uses of splice().

If there is a default implementation of file_splice_{write,read},
use that; on somewhat older kernels where it is not available,
use the generic version instead.

[kaduk@mit.edu: add test for default_file_splice_write]

Reviewed-on: https://gerrit.openafs.org/12217
Reviewed-by: Chas Williams <3chas3@gmail.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit ae5f411c3b374367ab8ae69488f78f8e0484ce48)

Change-Id: I40dd0d60caece6379a62674defb8d46a2bfadad6
Reviewed-on: https://gerrit.openafs.org/12228
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
acinclude.m4
src/afs/LINUX/osi_fetchstore.c
src/afs/LINUX/osi_vnodeops.c
src/afs/afs_fetchstore.c