On Sat, Mar 05, 2011 at 08:10:42PM -0600, Ryan C. Underwood wrote:
> 
> > More on pwritev().  Looks like there is not a 64-bit version of the call
> > per se.  But it sure looks like a wraparound issue of some sort.
> > http://lwn.net/Articles/311630/
> 
> I stand corrected.  there is a 64-bit version.  Maybe some AFS compile
> time defines are wrong?  I foggily remember having these kinds of issues
> before, years ago, with other apps that were just becoming 64-bit aware.

Yes, this was exactly it.  Attached patch fixes the issue. 

-- 
Ryan C. Underwood, <neme...@icequake.net>
--- temp/src/vol/ihandle.h	2011-03-05 21:04:16.885118383 -0600
+++ 1.6.0/openafs-1.6.0~pre2/src/vol/ihandle.h	2011-03-05 20:14:28.249105924 -0600
@@ -528,8 +526,13 @@
 #endif
 
 #ifdef HAVE_PIOV
+#ifdef O_LARGEFILE
+#define FDH_PREADV(H, I, N, O) preadv64((H)->fd_fd, I, N, O)
+#define FDH_PWRITEV(H, I, N, O) pwritev64((H)->fd_fd, I, N, O)
+#else /* !O_LARGEFILE */
 #define FDH_PREADV(H, I, N, O) preadv((H)->fd_fd, I, N, O)
 #define FDH_PWRITEV(H, I, N, O) pwritev((H)->fd_fd, I, N, O)
+#endif /* !O_LARGEFILE */
 #endif
 
 #define FDH_PREAD(H, B, S, O) OS_PREAD((H)->fd_fd, B, S, O)

Attachment: signature.asc
Description: Digital signature

Reply via email to