Am 08.03.2016 um 04:37 schrieb Benjamin Kaduk:
>>> There
>>> > > are many call paths in the cache manager that end up at this function,
>>> > > most of which are not prepared to properly handle an ERESTARTSYS
>>> > > return.
>>> > > Since this status can be returned after some data has already been
>>> > > written, the correct behavior upon receiving it is far from clear ...
>>> > > a
>>> > > path towards a client free of this vector for data corruption may
>>> > > involve
>>> > > avoiding the dependence on splice_from_pipe_next() in preference to
>>> > > adopting all call sites to handle the ERSTARTSYS case.
>> >
>> > For the 1.6 release, this seems the best choice of action.  The "real"
>> > fix would likely be difficult to completely test in a timely fashion.
> That only helps if we know what the replacement would be...I am not a
> linux VFS expert and do not have any ideas right now.


I am not a kernel/driver developer nor a file system developer. So
please forgive, if the following makes no sense at all.

As far as I understand the issue and the openafs sources, the problem
arises as afs_linux_storeproc uses the splice api that can return
ERESTARTSYS as of kernel version 4.4.
A quick search in the NEWS file and git logs suggests that
afs_linux_storeproc was introduced in OpenAFS 1.5.69 (2010-01-19) as a
performance improvement:
" Linux

   * Use splice to speed up storing files."

The original behaviour which uses seperate reads/writes instead of
splice and that is (still) used on non-linux systems remained in
afs_GenericStoreProc in src/afs/afs_fetchstore.c .

So my question is: Is it possible to rereplace afs_linux_storeproc with
afs_GenericStoreProc on linux kernel versions >=4.4  as a temporary
solution to the issue either in the openafs sources or as a distribution
specific patch, trading some performance for data integrity?


Denis


-- 
Karlsruher Institut für Technologie (KIT)
IPD Snelting

Denis Lohner
wissenschaftlicher Mitarbeiter

Am Fasanengarten 5, Gebäude 50.34, Raum 025
76131 Karlsruhe

Telefon: +49 721 608-47399
Fax: +49 721 608-48457
E-Mail: denis.loh...@kit.edu
Web: pp.ipd.kit.edu

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Das KIT ist seit 2010 als familiengerechte Hochschule zertifiziert.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to