aix-cleanup-20061013
[openafs.git] / src / volser / dumpstuff.c
index 6090ce6..adfc769 100644 (file)
@@ -535,11 +535,11 @@ DumpFile(struct iod *iodp, int vnode, FdHandle_t * handleP)
     afs_sfsize_t size;
 #ifdef AFS_AIX_ENV
 #include <sys/statfs.h>
-#ifdef AFS_LARGEFILE_ENV
+#if defined(AFS_AIX52_ENV) && defined(AFS_LARGEFILE_ENV)
     struct statfs64 tstatfs;
-#else /* !AFS_LARGEFILE_ENV */
+#else /* !AFS_AIX52_ENV || !AFS_LARGEFILE_ENV */
     struct statfs tstatfs;
-#endif /* !AFS_LARGEFILE_ENV */
+#endif /* !AFS_AIX52_ENV || !AFS_LARGEFILE_ENV */
     int statfs_code;
 #endif
 
@@ -555,16 +555,16 @@ DumpFile(struct iod *iodp, int vnode, FdHandle_t * handleP)
     /* Unfortunately in AIX valuable fields such as st_blksize are 
      * gone from the stat structure.
      */
-#ifdef AFS_LARGEFILE_ENV
+#if defined(AFS_AIX52_ENV) && defined(AFS_LARGEFILE_ENV)
     statfs_code = fstatfs64(handleP->fd_fd, &tstatfs);
-#else /* !AFS_LARGEFILE_ENV */
+#else /* !AFS_AIX52_ENV || !AFS_LARGEFILE_ENV */
     statfs_code = fstatfs(handleP->fd_fd, &tstatfs);
-#endif /* !AFS_LARGEFILE_ENV */
+#endif /* !AFS_AIX52_ENV || !AFS_LARGEFILE_ENV */
     if (statfs_code != 0) {
         Log("DumpFile: fstatfs returned error code %d on descriptor %d\n", errno, handleP->fd_fd);
        return VOLSERDUMPERROR;
     }
-    howMany = tstatfs.f_bsize;
+    howMany = (afs_sfsize_t) tstatfs.f_bsize;
 #else
     howMany = status.st_blksize;
 #endif /* AFS_AIX_ENV */