]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Linux 3.19: Use mgs_iter in struct msghdr
authorMarc Dionne <marc.dionne@your-file-system.com>
Mon, 5 Jan 2015 12:13:37 +0000 (07:13 -0500)
committerStephan Wiesand <stephan.wiesand@desy.de>
Fri, 23 Jan 2015 07:48:30 +0000 (02:48 -0500)
struct msghdr gets msg_iov replaced by msg_iter.  Add a configure
test and adjust the affected code.

Reviewed-on: http://gerrit.openafs.org/11647
Reviewed-by: Daria Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit ec9a7c2db833efacfd0692c658c2d38ed9f852ba)

Change-Id: I9d873626d8997922aacf67a5a9ce7621ed904faa
Reviewed-on: http://gerrit.openafs.org/11661
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Daria Brashear <shadow@your-file-system.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
acinclude.m4
src/rx/LINUX/rx_knet.c

index 94f21530ef342f10089d621cd9fa4332a6bd5e6f..f22572f7447b570f6448cfa34a5c9c73de607d5f 100644 (file)
@@ -853,6 +853,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 AC_CHECK_LINUX_STRUCT([key_type], [instantiate_prep], [key-type.h])
                 AC_CHECK_LINUX_STRUCT([key_type], [match_preparse], [key-type.h])
                 AC_CHECK_LINUX_STRUCT([key_type], [preparse], [key-type.h])
+                AC_CHECK_LINUX_STRUCT([msghdr], [msg_iter], [socket.h])
                 AC_CHECK_LINUX_STRUCT([nameidata], [path], [namei.h])
                 AC_CHECK_LINUX_STRUCT([proc_dir_entry], [owner], [proc_fs.h])
                 AC_CHECK_LINUX_STRUCT([super_block], [s_bdi], [fs.h])
index cb7034eeab4902e8288bf863f23b8845e1bba37c..3f7f2bc1e53bb53c82c0ca45c3140c4e7f841ed2 100644 (file)
@@ -229,8 +229,13 @@ osi_NetReceive(osi_socket so, struct sockaddr_in *from, struct iovec *iov,
 #endif
     memcpy(tmpvec, iov, iovcnt * sizeof(struct iovec));
     msg.msg_name = from;
+#if defined(STRUCT_MSGHDR_HAS_MSG_ITER)
+    msg.msg_iter.iov = tmpvec;
+    msg.msg_iter.nr_segs = iovcnt;
+#else
     msg.msg_iov = tmpvec;
     msg.msg_iovlen = iovcnt;
+#endif
     msg.msg_control = NULL;
     msg.msg_controllen = 0;
     msg.msg_flags = 0;