summaryrefslogtreecommitdiffstats
path: root/gl
diff options
context:
space:
mode:
Diffstat (limited to 'gl')
-rw-r--r--gl/fsusage.c5
-rw-r--r--gl/fsusage.h3
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
38int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp); 39int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp);