[OpenAFS] Re: Large files with 1.6.0pre2

Ryan C. Underwood nemesis@icequake.net
Sat, 5 Mar 2011 21:23:23 -0600


--pvezYHf7grwyp3Bc
Content-Type: multipart/mixed; boundary="UugvWAfsgieZRqgk"
Content-Disposition: inline


--UugvWAfsgieZRqgk
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Mar 05, 2011 at 08:10:42PM -0600, Ryan C. Underwood wrote:
>=20
> > 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/
>=20
> 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.=20

--=20
Ryan C. Underwood, <nemesis@icequake.net>

--UugvWAfsgieZRqgk
Content-Type: text/x-diff; charset=iso-8859-1
Content-Disposition: attachment; filename="1.6.0-pre2.largefile.patch"
Content-Transfer-Encoding: quoted-printable

--- 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.24910592=
4 -0600
@@ -528,8 +526,13 @@
 #endif
=20
 #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
=20
 #define FDH_PREAD(H, B, S, O) OS_PREAD((H)->fd_fd, B, S, O)

--UugvWAfsgieZRqgk--

--pvezYHf7grwyp3Bc
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iD8DBQFNcv4rIonHnh+67jkRAvqzAJ9ZxBp7BjZ3MoQ1KUJX69mu+EnC0ACgkW7P
BGYunakMEmRx4KBjZjBBoCc=
=nmvi
-----END PGP SIGNATURE-----

--pvezYHf7grwyp3Bc--