diff options
Diffstat (limited to 'gl')
-rw-r--r-- | gl/fsusage.c | 5 | ||||
-rw-r--r-- | gl/fsusage.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gl/fsusage.c b/gl/fsusage.c index 0657555..6103ecf 100644 --- a/gl/fsusage.c +++ b/gl/fsusage.c | |||
@@ -143,6 +143,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp) | |||
143 | fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (vfsd.f_bavail) != 0; | 143 | fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (vfsd.f_bavail) != 0; |
144 | fsp->fsu_files = PROPAGATE_ALL_ONES (vfsd.f_files); | 144 | fsp->fsu_files = PROPAGATE_ALL_ONES (vfsd.f_files); |
145 | fsp->fsu_ffree = PROPAGATE_ALL_ONES (vfsd.f_ffree); | 145 | fsp->fsu_ffree = PROPAGATE_ALL_ONES (vfsd.f_ffree); |
146 | fsp->fsu_favail = PROPAGATE_ALL_ONES (vfsd.f_favail); | ||
146 | return 0; | 147 | return 0; |
147 | } | 148 | } |
148 | 149 | ||
@@ -174,6 +175,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp) | |||
174 | fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.fd_req.bfreen) != 0; | 175 | fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.fd_req.bfreen) != 0; |
175 | fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.fd_req.gtot); | 176 | fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.fd_req.gtot); |
176 | fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.fd_req.gfree); | 177 | fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.fd_req.gfree); |
178 | fsp->fsu_favail = PROPAGATE_ALL_ONES (fsd.fd_req.gfree); | ||
177 | 179 | ||
178 | #elif defined STAT_READ_FILSYS /* SVR2 */ | 180 | #elif defined STAT_READ_FILSYS /* SVR2 */ |
179 | # ifndef SUPERBOFF | 181 | # ifndef SUPERBOFF |
@@ -209,6 +211,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp) | |||
209 | ? UINTMAX_MAX | 211 | ? UINTMAX_MAX |
210 | : (fsd.s_isize - 2) * INOPB * (fsd.s_type == Fs2b ? 2 : 1)); | 212 | : (fsd.s_isize - 2) * INOPB * (fsd.s_type == Fs2b ? 2 : 1)); |
211 | fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.s_tinode); | 213 | fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.s_tinode); |
214 | fsp->fsu_favail = PROPAGATE_ALL_ONES (fsd.s_tinode); | ||
212 | 215 | ||
213 | #elif defined STAT_STATFS3_OSF1 /* OSF/1 */ | 216 | #elif defined STAT_STATFS3_OSF1 /* OSF/1 */ |
214 | 217 | ||
@@ -296,6 +299,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp) | |||
296 | fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.f_bavail) != 0; | 299 | fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.f_bavail) != 0; |
297 | fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.f_files); | 300 | fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.f_files); |
298 | fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.f_ffree); | 301 | fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.f_ffree); |
302 | fsp->fsu_favail = PROPAGATE_ALL_ONES (fsd.f_ffree); | ||
299 | 303 | ||
300 | #endif | 304 | #endif |
301 | 305 | ||
@@ -323,6 +327,7 @@ statfs (char *file, struct statfs *fsb) | |||
323 | fsb->f_bavail = fsd.du_tfree; | 327 | fsb->f_bavail = fsd.du_tfree; |
324 | fsb->f_files = (fsd.du_isize - 2) * fsd.du_inopb; | 328 | fsb->f_files = (fsd.du_isize - 2) * fsd.du_inopb; |
325 | fsb->f_ffree = fsd.du_tinode; | 329 | fsb->f_ffree = fsd.du_tinode; |
330 | fsb->f_favail = fsd.du_tinode; | ||
326 | fsb->f_fsid.val[0] = fsd.du_site; | 331 | fsb->f_fsid.val[0] = fsd.du_site; |
327 | fsb->f_fsid.val[1] = fsd.du_pckno; | 332 | fsb->f_fsid.val[1] = fsd.du_pckno; |
328 | return 0; | 333 | return 0; |
diff --git a/gl/fsusage.h b/gl/fsusage.h index 7810fc0..e2654fd 100644 --- a/gl/fsusage.h +++ b/gl/fsusage.h | |||
@@ -32,7 +32,8 @@ struct fs_usage | |||
32 | uintmax_t fsu_bavail; /* Free blocks available to non-superuser. */ | 32 | uintmax_t fsu_bavail; /* Free blocks available to non-superuser. */ |
33 | bool fsu_bavail_top_bit_set; /* 1 if fsu_bavail represents a value < 0. */ | 33 | bool fsu_bavail_top_bit_set; /* 1 if fsu_bavail represents a value < 0. */ |
34 | uintmax_t fsu_files; /* Total file nodes. */ | 34 | uintmax_t fsu_files; /* Total file nodes. */ |
35 | uintmax_t fsu_ffree; /* Free file nodes. */ | 35 | uintmax_t fsu_ffree; /* Free file nodes to superuser. */ |
36 | uintmax_t fsu_favail; /* Free file nodes to non-superuser. */ | ||
36 | }; | 37 | }; |
37 | 38 | ||
38 | int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp); | 39 | int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp); |