]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
UKERNEL: add uafs_statvfs
authorAndrew Deason <adeason@sinenomine.net>
Thu, 8 Apr 2010 19:49:53 +0000 (14:49 -0500)
committerDerrick Brashear <shadow@dementia.org>
Fri, 9 Apr 2010 18:50:07 +0000 (11:50 -0700)
Change-Id: Iedd7882f4a57cd89d145f1c61c5f85181187db03
Reviewed-on: http://gerrit.openafs.org/1716
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/afs/UKERNEL/afs_usrops.c
src/afs/UKERNEL/afs_usrops.h
src/afs/UKERNEL/osi_vfsops.c

index 4f1edc3f772ac8334ba9dda94f3c1533ad1f0147..d52655b866485fd79a8dd18d03158b9355eb9b80 100644 (file)
@@ -1919,6 +1919,25 @@ uafs_Init(char *rn, char *mountDirParam, char *confDirParam,
     return;
 }
 
+int
+uafs_statvfs(struct statvfs *buf)
+{
+    int rc;
+
+    AFS_GLOCK();
+
+    rc = afs_statvfs(&afs_RootVfs, buf);
+
+    AFS_GUNLOCK();
+
+    if (rc) {
+       errno = rc;
+       return -1;
+    }
+
+    return 0;
+}
+
 void
 uafs_Shutdown(void)
 {
index 7fc68f87e32da8db98321b6eccba0f838796af30..9be728f1b2d5c0d4c63fc84ac758cd740cf03c49 100644 (file)
@@ -151,5 +151,6 @@ extern int uafs_RPCStatsEnablePeer(void);
 extern int uafs_RPCStatsDisablePeer(void);
 extern int uafs_IsRoot(char *path);
 extern int uafs_statmountpoint_r(char *path);
+extern int uafs_statvfs(struct statvfs *buf);
 
 #endif /* __AFS_USROPS_H__ */
index 0b2463c8ae081842165328656cbb15a5bbde8de6..7ffa4da3e752382a3cc72c8b45ec16e24f0823a5 100644 (file)
@@ -119,6 +119,21 @@ afs_statfs(register struct vfs *afsp, struct statfs *abp)
     return 0;
 }
 
+int
+afs_statvfs(struct vfs *afsp, struct statvfs *abp)
+{
+    AFS_STATCNT(afs_statfs);
+
+    abp->f_frsize = 1024;
+    abp->f_favail = 9000000;
+    abp->f_bsize = afsp->vfs_bsize;
+    abp->f_blocks = abp->f_bfree = abp->f_bavail = abp->f_files =
+      abp->f_ffree = 9000000;
+    abp->f_fsid = (AFS_VFSMAGIC << 16) || AFS_VFSFSID;
+
+    return 0;
+}
+
 int
 afs_mountroot(void)
 {