large-partition-support-20080305
[openafs.git] / src / vol / partition.h
index 7d869df..afdb8d1 100644 (file)
  * variant for VGetPartition as well. Also, the VolPartitionInfo RPC does
  * a swap before sending the data out on the wire.
  */
-struct DiskPartition {
-    struct DiskPartition *next;
+struct DiskPartition64 {
+    struct DiskPartition64 *next;
     char *name;                        /* Mounted partition name */
     char *devName;             /* Device mounted on */
     Device device;             /* device number */
     afs_int32 index;            /* partition index (0<=x<=VOLMAXPARTS) */
     int lock_fd;               /* File descriptor of this partition if locked; otherwise -1;
                                 * Not used by the file server */
-    int free;                  /* Total number of blocks (1K) presumed
+    afs_int64 free;            /* Total number of blocks (1K) presumed
                                 * available on this partition (accounting
                                 * for the minfree parameter for the
                                 * partition).  This is adjusted
@@ -69,7 +69,7 @@ struct DiskPartition {
                                 * this is recomputed.  This number can
                                 * be negative, if the partition starts
                                 * out too full */
-    int totalUsable;           /* Total number of blocks available on this
+    afs_int64 totalUsable;     /* Total number of blocks available on this
                                 * partition, taking into account the minfree
                                 * parameter for the partition (see the
                                 * 4.2bsd command tunefs, but note that the
@@ -77,10 +77,10 @@ struct DiskPartition {
                                 * is not reread--does not apply here.  The
                                 * superblock is re-read periodically by
                                 * VSetPartitionDiskUsage().) */
-    int minFree;               /* Number blocks to be kept free, as last read
+    afs_int64 minFree;         /* Number blocks to be kept free, as last read
                                 * from the superblock */
     int flags;
-    int f_files;               /* total number of files in this partition */
+    afs_int64 f_files;         /* total number of files in this partition */
 #ifdef AFS_DEMAND_ATTACH_FS
     struct {
        struct rx_queue head;   /* list of volumes on this partition (VByPList) */
@@ -91,11 +91,11 @@ struct DiskPartition {
 #endif /* AFS_DEMAND_ATTACH_FS */
 };
 
-struct DiskPartitionStats {
-    afs_int32 free;
-    afs_int32 totalUsable;
-    afs_int32 minFree;
-    afs_int32 f_files;
+struct DiskPartitionStats64 {
+    afs_int64 free;
+    afs_int64 totalUsable;
+    afs_int64 minFree;
+    afs_int64 f_files;
 #ifdef AFS_DEMAND_ATTACH_FS
     afs_int32 vol_list_len;
 #endif
@@ -115,12 +115,12 @@ extern int VValidVPTEntry(struct vptab *vptp);
 
 struct Volume;                 /* Potentially forward definition */
 
-extern struct DiskPartition *DiskPartitionList;
-extern struct DiskPartition *VGetPartition(char * name, int abortp);
-extern struct DiskPartition *VGetPartition_r(char * name, int abortp);
+extern struct DiskPartition64 *DiskPartitionList;
+extern struct DiskPartition64 *VGetPartition(char * name, int abortp);
+extern struct DiskPartition64 *VGetPartition_r(char * name, int abortp);
 #ifdef AFS_DEMAND_ATTACH_FS
-extern struct DiskPartition *VGetPartitionById(afs_int32 index, int abortp);
-extern struct DiskPartition *VGetPartitionById_r(afs_int32 index, int abortp);
+extern struct DiskPartition64 *VGetPartitionById(afs_int32 index, int abortp);
+extern struct DiskPartition64 *VGetPartitionById_r(afs_int32 index, int abortp);
 #endif
 extern int VAttachPartitions(void);
 extern void VLockPartition(char *name);
@@ -129,9 +129,9 @@ extern void VUnlockPartition(char *name);
 extern void VUnlockPartition_r(char *name);
 extern void VResetDiskUsage(void);
 extern void VResetDiskUsage_r(void);
-extern void VSetPartitionDiskUsage(register struct DiskPartition *dp);
-extern void VSetPartitionDiskUsage_r(register struct DiskPartition *dp);
-extern char *VPartitionPath(struct DiskPartition *p);
+extern void VSetPartitionDiskUsage(register struct DiskPartition64 *dp);
+extern void VSetPartitionDiskUsage_r(register struct DiskPartition64 *dp);
+extern char *VPartitionPath(struct DiskPartition64 *p);
 extern void VAdjustDiskUsage(Error * ec, struct Volume *vp,
                             afs_sfsize_t blocks, afs_sfsize_t checkBlocks);
 extern int VDiskUsage(struct Volume *vp, afs_sfsize_t blocks);