[OpenAFS] compile fails kernel version 4.4.0-1-default

Denis Lohner denis.lohner@kit.edu
Tue, 8 Mar 2016 10:16:25 +0100


This is a cryptographically signed message in MIME format.

--------------ms000501040508040508060409
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Am 08.03.2016 um 04:37 schrieb Benjamin Kaduk:
>>> There
>>> > > are many call paths in the cache manager that end up at this func=
tion,
>>> > > most of which are not prepared to properly handle an ERESTARTSYS
>>> > > return.
>>> > > Since this status can be returned after some data has already bee=
n
>>> > > 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 "rea=
l"
>> > fix would likely be difficult to completely test in a timely fashion=
=2E
> 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 >=3D4.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


--=20
Karlsruher Institut f=C3=BCr Technologie (KIT)
IPD Snelting

Denis Lohner
wissenschaftlicher Mitarbeiter

Am Fasanengarten 5, Geb=C3=A4ude 50.34, Raum 025
76131 Karlsruhe

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

KIT =E2=80=93 Die Forschungsuniversit=C3=A4t in der Helmholtz-Gemeinschaf=
t

Das KIT ist seit 2010 als familiengerechte Hochschule zertifiziert.


--------------ms000501040508040508060409
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
EEAwggTVMIIDvaADAgECAghQTsb1PRG0ZDANBgkqhkiG9w0BAQsFADBxMQswCQYDVQQGEwJE
RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRy
dXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNMTQw
NzIyMTIwODI2WhcNMTkwNzA5MjM1OTAwWjBaMQswCQYDVQQGEwJERTETMBEGA1UEChMKREZO
LVZlcmVpbjEQMA4GA1UECxMHREZOLVBLSTEkMCIGA1UEAxMbREZOLVZlcmVpbiBQQ0EgR2xv
YmFsIC0gRzAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6ZvDZ4X5Da71jVTD
llA1PWLpbkztlNcAW5UidNQg6zSP1uzAMQQLmYHiphTSUqAoI4SLdIkEXlvg4njBeMsWyyg1
OXstkEXQ7aAAeny/Sg4bAMOG6VwrMRF7DPOCJEOMHDiLamgAmu7cT3ir0sYTm3at7t4m6O8B
r3QPwQmi9mvOvdPNFDBP9eXjpMhim4IaAycwDQJlYE3t0QkjKpY1WCfTdsZxtpAdxO3/NYZ9
bzOz2w/FEcKKg6GUXUFr2NIQ9Uz9ylGs2b3vkoO72uuLFlZWQ8/h1RM9ph8nMM1JVNvJEzSa
cXXFbOqnC5j5IZ0nrz6jOTlIaoytyZn7wxLyvQIDAQABo4IBhjCCAYIwDgYDVR0PAQH/BAQD
AgEGMB0GA1UdDgQWBBRJt8bP6D0ff+pEexMp9/EKcD7eZDAfBgNVHSMEGDAWgBQxw3kbuvVT
1xfgiXotF2wKsyudMzASBgNVHRMBAf8ECDAGAQH/AgECMGIGA1UdIARbMFkwEQYPKwYBBAGB
rSGCLAEBBAICMBEGDysGAQQBga0hgiwBAQQDADARBg8rBgEEAYGtIYIsAQEEAwEwDwYNKwYB
BAGBrSGCLAEBBDANBgsrBgEEAYGtIYIsHjA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vcGtp
MDMzNi50ZWxlc2VjLmRlL3JsL0RUX1JPT1RfQ0FfMi5jcmwweAYIKwYBBQUHAQEEbDBqMCwG
CCsGAQUFBzABhiBodHRwOi8vb2NzcDAzMzYudGVsZXNlYy5kZS9vY3NwcjA6BggrBgEFBQcw
AoYuaHR0cDovL3BraTAzMzYudGVsZXNlYy5kZS9jcnQvRFRfUk9PVF9DQV8yLmNlcjANBgkq
hkiG9w0BAQsFAAOCAQEAYyAo/ZwhhnK+OUZZOTIlvKkBmw3Myn1BnIZtCm4ssxNZdbEzkhth
Jxb/w7LVNYL7hCoBSb1mu2YvssIGXW4/buMBWlvKQ2NclbbhMacf1QdfTeZlgk4y+cN8ekvN
TVx07iHydQLsUj7SyWrTkCNuSWc1vn9NVqTszC/Pt6GXqHI+ybxA1lqkCD3WvILDt7cyjrEs
jmpttzUCGc/1OURYY6ckABCwu/xOr24vOLulV0k/2G5QbyyXltwdRpplic+uzPLl2Z9Tsz6h
L5Kp2AvGhB8Exuse6J99tXulAvEkxSRjETTMWpMgKnmIOiVCkKllO3yG0xIVIyn8LNrMOVtU
FzCCBZQwggR8oAMCAQICBxev928jIukwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCREUx
EzARBgNVBAoTCkRGTi1WZXJlaW4xEDAOBgNVBAsTB0RGTi1QS0kxJDAiBgNVBAMTG0RGTi1W
ZXJlaW4gUENBIEdsb2JhbCAtIEcwMTAeFw0xNDA2MDUxNDA4MzFaFw0xOTA3MDkyMzU5MDBa
MIG/MQswCQYDVQQGEwJERTEbMBkGA1UECBMSQmFkZW4tV3VlcnR0ZW1iZXJnMRIwEAYDVQQH
EwlLYXJsc3J1aGUxKjAoBgNVBAoTIUthcmxzcnVoZSBJbnN0aXR1dGUgb2YgVGVjaG5vbG9n
eTEnMCUGA1UECxMeU3RlaW5idWNoIENlbnRyZSBmb3IgQ29tcHV0aW5nMQ8wDQYDVQQDEwZL
SVQtQ0ExGTAXBgkqhkiG9w0BCQEWCmNhQGtpdC5lZHUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDMsqiKiaKAQVEpL20dPB0IejTRPrajRK7mwwXpqBo/APNN8IPtcb16pITt
b5wQAaeVPvu8YA+bi5U3Dm/xeFBayQQcvUAp04cwm/nqhvveCMOpvC41qgiqK/ZSsDQlIre7
8zQDgndK9IjQmFdv8XCvLR0h8N5hl4L8H2NBfY9eJ1BIPZ3eZD6tAMPYkBw7mJzs9wPDVU6V
6Uws4kEwmSUGBEw7Avp8p0DdrLwJgFd1dRyUXvwA+oncv+hzdBLQCDj5RNacdeDRUuEmalJP
xeLw/KcUs/2FMGwhiuCB9+1fW3G0JgPDTTSgbRS6l9faL7kJ99pUcElvws9x4/s0kT9zAgMB
AAGjggH3MIIB8zASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1UdDwEB/wQEAwIBBjARBgNVHSAE
CjAIMAYGBFUdIAAwHQYDVR0OBBYEFB90ZfSaHXr2MenfYRtzKw1t0DNJMB8GA1UdIwQYMBaA
FEm3xs/oPR9/6kR7Eyn38QpwPt5kMBUGA1UdEQQOMAyBCmNhQGtpdC5lZHUwgYgGA1UdHwSB
gDB+MD2gO6A5hjdodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9j
cmwvY2FjcmwuY3JsMD2gO6A5hjdodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290
LWNhL3B1Yi9jcmwvY2FjcmwuY3JsMIHXBggrBgEFBQcBAQSByjCBxzAzBggrBgEFBQcwAYYn
aHR0cDovL29jc3AucGNhLmRmbi5kZS9PQ1NQLVNlcnZlci9PQ1NQMEcGCCsGAQUFBzAChjto
dHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jYWNlcnQvY2FjZXJ0
LmNydDBHBggrBgEFBQcwAoY7aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1j
YS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwDQYJKoZIhvcNAQELBQADggEBADoWJv/UVyB9nfso
ym9xKp8a7sOLa4XSPU/xrKF4Dp3UdlKdzDK2JvzCziF50SiH54ZuKbsKUa6YXwHiWHO7tsUW
2+r6cnbf6FGcvylyeOtetQsoKvB2bMhEG0fn1B4+9k5IuXJpcQSHiKZhRa/lqNWO95hKHvht
UO8dlTYtlTaSEmv6RAcfw2JcYKiB2GC97h3YpwimDC15sfzwYdnhTdSXF54CVPgwHPL85cR/
YI7KlQtjvI6yz14mma7ffYN6W7UBDPPc/5emiYIgxbwEBFZ5orfkvPtfeJUuT3FI7RBmE8mP
l/betefdZzqF1F357emrpuGH9gZbJp98SgruQqgwggXLMIIEs6ADAgECAgcaJO7Bq4qQMA0G
CSqGSIb3DQEBCwUAMIG/MQswCQYDVQQGEwJERTEbMBkGA1UECBMSQmFkZW4tV3VlcnR0ZW1i
ZXJnMRIwEAYDVQQHEwlLYXJsc3J1aGUxKjAoBgNVBAoTIUthcmxzcnVoZSBJbnN0aXR1dGUg
b2YgVGVjaG5vbG9neTEnMCUGA1UECxMeU3RlaW5idWNoIENlbnRyZSBmb3IgQ29tcHV0aW5n
MQ8wDQYDVQQDEwZLSVQtQ0ExGTAXBgkqhkiG9w0BCQEWCmNhQGtpdC5lZHUwHhcNMTUwOTI1
MTYwNzEzWhcNMTgwOTI0MTYwNzEzWjBnMQswCQYDVQQGEwJERTEqMCgGA1UECgwhS2FybHNy
dWhlIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5MRUwEwYDVQQLDAxJUEQgU25lbHRpbmcxFTAT
BgNVBAMMDERlbmlzIExvaG5lcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAONC
mLkoMAwBrp9DqEmZp4qz0ugWR9q1fFnyXoCzJvrRB1rer9pM4+pYmDJpUnDwQufALld2os08
H4D2Gf63liVHVTI0ldivAaiKJO9bjIVAFFkAe9BfDVe5hQ9aRxGLvblEtMVtvfWTD8aPf+Ej
JO7/NtQqgc6xHVF/plOJ5hK4ctkfK7nwSVZctf7KcH1cXw2PGsUiTfsRlsXMyjHpdsdeTuf0
z2rOodUyaIUEoZIU9PRS1oQRiuOrBPxpjTOlzxqk97YR7TBEK7GiBI2UE0+loNGSxxvW66Cn
kB3YgXYdqVzdxFZwWrl4VmOGJvyNZMyKuOvURDpRGynHi1+KfgkCAwEAAaOCAiEwggIdMEAG
A1UdIAQ5MDcwEQYPKwYBBAGBrSGCLAEBBAMDMBEGDysGAQQBga0hgiwCAQQDATAPBg0rBgEE
AYGtIYIsAQEEMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMC
BggrBgEFBQcDBDAdBgNVHQ4EFgQUU4o6adi9h4l8uXSK+JqwGmpYH/0wHwYDVR0jBBgwFoAU
H3Rl9JodevYx6d9hG3MrDW3QM0kwHwYDVR0RBBgwFoEUZGVuaXMubG9obmVyQGtpdC5lZHUw
dwYDVR0fBHAwbjA1oDOgMYYvaHR0cDovL2NkcDEucGNhLmRmbi5kZS9raXQtY2EvcHViL2Ny
bC9jYWNybC5jcmwwNaAzoDGGL2h0dHA6Ly9jZHAyLnBjYS5kZm4uZGUva2l0LWNhL3B1Yi9j
cmwvY2FjcmwuY3JsMIHHBggrBgEFBQcBAQSBujCBtzAzBggrBgEFBQcwAYYnaHR0cDovL29j
c3AucGNhLmRmbi5kZS9PQ1NQLVNlcnZlci9PQ1NQMD8GCCsGAQUFBzAChjNodHRwOi8vY2Rw
MS5wY2EuZGZuLmRlL2tpdC1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwPwYIKwYBBQUHMAKG
M2h0dHA6Ly9jZHAyLnBjYS5kZm4uZGUva2l0LWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDAN
BgkqhkiG9w0BAQsFAAOCAQEAQ9OUtAQfOoNS9/G1m9RfmO8+KOms0om2EiwvFO4DVzABZ/Fq
v1pCP9bSBUYhRguWJc52YuplVUN1LQeFCS2efslNCBD2Bkm3GRDWYF469yd0Y9Vub8FMb7Xv
H1AezppIPG8y601jMhGVwTG+eMYk/00aQ/1D5dt63zZwW9t6JtB9qYg17oOI3Poofbxx3GHl
mOEdVC/02czrmtdgq9ywHpm88A60a7xO3egPvoyr4RdGjg2Uf5ToyF89JPHKtD/UX2IFCWav
FMezxlzIFnk6pfFVJdUSUdn1MvA87DRdBP9GmXwqFnbYoX0ouYrYkvV07nunHmGQrTrHvUfI
UBJHJzGCBJIwggSOAgEBMIHLMIG/MQswCQYDVQQGEwJERTEbMBkGA1UECBMSQmFkZW4tV3Vl
cnR0ZW1iZXJnMRIwEAYDVQQHEwlLYXJsc3J1aGUxKjAoBgNVBAoTIUthcmxzcnVoZSBJbnN0
aXR1dGUgb2YgVGVjaG5vbG9neTEnMCUGA1UECxMeU3RlaW5idWNoIENlbnRyZSBmb3IgQ29t
cHV0aW5nMQ8wDQYDVQQDEwZLSVQtQ0ExGTAXBgkqhkiG9w0BCQEWCmNhQGtpdC5lZHUCBxok
7sGripAwDQYJYIZIAWUDBAIBBQCgggKXMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ
KoZIhvcNAQkFMQ8XDTE2MDMwODA5MTYyNVowLwYJKoZIhvcNAQkEMSIEICnJHQNxZAItlJeJ
dCiQV+5dKQ/Cb8GVJcHWsoyfUQ9jMGwGCSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsG
CWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAw
BwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgdwGCSsGAQQBgjcQBDGBzjCByzCBvzELMAkGA1UE
BhMCREUxGzAZBgNVBAgTEkJhZGVuLVd1ZXJ0dGVtYmVyZzESMBAGA1UEBxMJS2FybHNydWhl
MSowKAYDVQQKEyFLYXJsc3J1aGUgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kxJzAlBgNVBAsT
HlN0ZWluYnVjaCBDZW50cmUgZm9yIENvbXB1dGluZzEPMA0GA1UEAxMGS0lULUNBMRkwFwYJ
KoZIhvcNAQkBFgpjYUBraXQuZWR1AgcaJO7Bq4qQMIHeBgsqhkiG9w0BCRACCzGBzqCByzCB
vzELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuLVd1ZXJ0dGVtYmVyZzESMBAGA1UEBxMJ
S2FybHNydWhlMSowKAYDVQQKEyFLYXJsc3J1aGUgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kx
JzAlBgNVBAsTHlN0ZWluYnVjaCBDZW50cmUgZm9yIENvbXB1dGluZzEPMA0GA1UEAxMGS0lU
LUNBMRkwFwYJKoZIhvcNAQkBFgpjYUBraXQuZWR1AgcaJO7Bq4qQMA0GCSqGSIb3DQEBAQUA
BIIBAAemWR9K0akJw68cYUBGlWheni7LUsbUETkoaN4vDNL4Im6yoZgEdUFfuJuL9kmJL/sM
juJnxSym/Ai77obX7Ktkn5rnKwVp5Q1naMXYNrtDlu0CqvqV1/yP8evWzqOdjbsyKEDS264T
okwXASsfAwo67uZQ6fGqwmCfv7JNIrhC0V2KZI2H0HRqPg6EMY8u8aun3u+UYH98Tw3mAvXC
dGtk1C1ACKwJQsWPd2PN4e3QTfrorZYh2K8IdzMkkzCwO1Nxl239WaVIICTUPFtnEZOHOLu0
/LovqXnL74fJcjazzuxAuqB4fRxv+FJ7X8ZN5iI+AdTT6/puJIECf9J/6jgAAAAAAAA=
--------------ms000501040508040508060409--