aboutsummaryrefslogtreecommitdiffstats
path: root/fs/afs/afs.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2018-10-19 19:57:58 -0400
committerDavid Howells <dhowells@redhat.com>2018-10-23 19:41:08 -0400
commitd4936803a92b7d088086b1d7b8ecb5739d52c03b (patch)
treebd13569c222291fd08d42be28c3565f3ff0c45c1 /fs/afs/afs.h
parentf58db83fd3325a305cf615f4ffb0e6f60745ed8a (diff)
afs: Expand data structure fields to support YFS
Expand fields in various data structures to support the expanded information that YFS is capable of returning. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/afs.h')
-rw-r--r--fs/afs/afs.h35
1 files changed, 18 insertions, 17 deletions
diff --git a/fs/afs/afs.h b/fs/afs/afs.h
index 417cd23529c5..d12ffb457e47 100644
--- a/fs/afs/afs.h
+++ b/fs/afs/afs.h
@@ -130,19 +130,18 @@ typedef u32 afs_access_t;
130struct afs_file_status { 130struct afs_file_status {
131 u64 size; /* file size */ 131 u64 size; /* file size */
132 afs_dataversion_t data_version; /* current data version */ 132 afs_dataversion_t data_version; /* current data version */
133 time_t mtime_client; /* last time client changed data */ 133 struct timespec64 mtime_client; /* Last time client changed data */
134 time_t mtime_server; /* last time server changed data */ 134 struct timespec64 mtime_server; /* Last time server changed data */
135 unsigned abort_code; /* Abort if bulk-fetching this failed */ 135 s64 author; /* author ID */
136 136 s64 owner; /* owner ID */
137 afs_file_type_t type; /* file type */ 137 s64 group; /* group ID */
138 unsigned nlink; /* link count */
139 u32 author; /* author ID */
140 u32 owner; /* owner ID */
141 u32 group; /* group ID */
142 afs_access_t caller_access; /* access rights for authenticated caller */ 138 afs_access_t caller_access; /* access rights for authenticated caller */
143 afs_access_t anon_access; /* access rights for unauthenticated caller */ 139 afs_access_t anon_access; /* access rights for unauthenticated caller */
144 umode_t mode; /* UNIX mode */ 140 umode_t mode; /* UNIX mode */
141 afs_file_type_t type; /* file type */
142 u32 nlink; /* link count */
145 s32 lock_count; /* file lock count (0=UNLK -1=WRLCK +ve=#RDLCK */ 143 s32 lock_count; /* file lock count (0=UNLK -1=WRLCK +ve=#RDLCK */
144 u32 abort_code; /* Abort if bulk-fetching this failed */
146}; 145};
147 146
148/* 147/*
@@ -159,25 +158,27 @@ struct afs_file_status {
159 * AFS volume synchronisation information 158 * AFS volume synchronisation information
160 */ 159 */
161struct afs_volsync { 160struct afs_volsync {
162 time_t creation; /* volume creation time */ 161 time64_t creation; /* volume creation time */
163}; 162};
164 163
165/* 164/*
166 * AFS volume status record 165 * AFS volume status record
167 */ 166 */
168struct afs_volume_status { 167struct afs_volume_status {
169 u32 vid; /* volume ID */ 168 afs_volid_t vid; /* volume ID */
170 u32 parent_id; /* parent volume ID */ 169 afs_volid_t parent_id; /* parent volume ID */
171 u8 online; /* true if volume currently online and available */ 170 u8 online; /* true if volume currently online and available */
172 u8 in_service; /* true if volume currently in service */ 171 u8 in_service; /* true if volume currently in service */
173 u8 blessed; /* same as in_service */ 172 u8 blessed; /* same as in_service */
174 u8 needs_salvage; /* true if consistency checking required */ 173 u8 needs_salvage; /* true if consistency checking required */
175 u32 type; /* volume type (afs_voltype_t) */ 174 u32 type; /* volume type (afs_voltype_t) */
176 u32 min_quota; /* minimum space set aside (blocks) */ 175 u64 min_quota; /* minimum space set aside (blocks) */
177 u32 max_quota; /* maximum space this volume may occupy (blocks) */ 176 u64 max_quota; /* maximum space this volume may occupy (blocks) */
178 u32 blocks_in_use; /* space this volume currently occupies (blocks) */ 177 u64 blocks_in_use; /* space this volume currently occupies (blocks) */
179 u32 part_blocks_avail; /* space available in volume's partition */ 178 u64 part_blocks_avail; /* space available in volume's partition */
180 u32 part_max_blocks; /* size of volume's partition */ 179 u64 part_max_blocks; /* size of volume's partition */
180 s64 vol_copy_date;
181 s64 vol_backup_date;
181}; 182};
182 183
183#define AFS_BLOCK_SIZE 1024 184#define AFS_BLOCK_SIZE 1024