]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
linux: add read_descriptor_t configure test and ifdef
authorChristof Hanke <christof.hanke@rzg.mpg.de>
Thu, 26 May 2011 05:46:32 +0000 (07:46 +0200)
committerDerrick Brashear <shadow@dementia.org>
Thu, 26 May 2011 18:21:16 +0000 (11:21 -0700)
With linux 2.6.8 the struct read_descriptor_t changed.
Add a configure-test and respective ifdef to deal with that.

Reviewed-on: http://gerrit.openafs.org/4719
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 7133266bafbf238ef921690c40846f3ea2d2fc8b)

Change-Id: Ifdc7c1d3c4162452c1576942b7bfe37ea5014a77
Reviewed-on: http://gerrit.openafs.org/4726
Reviewed-by: Christof Hanke <christof.hanke@rzg.mpg.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
acinclude.m4
src/afs/LINUX/osi_fetchstore.c

index f5538b70f54ecbdbee93ec0f206e6c580019b5ae..1dd4bfe61da9160e5e09d9b047cfe81525b7cd9a 100644 (file)
@@ -813,6 +813,10 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 AC_CHECK_LINUX_STRUCT([task_struct], [thread_info], [sched.h])
                 LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM
 
+                dnl Check for typed structure elements
+                AC_CHECK_LINUX_TYPED_STRUCT([read_descriptor_t],
+                                            [buf], [fs.h])
+
                 dnl Function existence checks
 
                  AC_CHECK_LINUX_FUNC([bdi_init],
index 4989a01ed8e157f35e2c5d59ebb12c6e1e9324b2..4089bbbeee539b5153d7bfa0a2c633287db0740d 100644 (file)
@@ -126,7 +126,11 @@ static int
 afs_linux_read_actor(read_descriptor_t *desc, struct page *page,
                     unsigned long offset, unsigned long size)
 {
+#ifdef READ_DESCRIPTOR_T_HAS_BUF
+    struct rxfs_storeVariables *svar = (void *) desc->buf;
+#else
     struct rxfs_storeVariables *svar = desc->arg.data;
+#endif
     unsigned long count = desc->count;
     int code;