From b822971a3ee6bd2dc0024b30b255f8f83e23637c Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Thu, 8 Apr 2010 14:49:53 -0500 Subject: [PATCH] UKERNEL: add uafs_statvfs Change-Id: Iedd7882f4a57cd89d145f1c61c5f85181187db03 Reviewed-on: http://gerrit.openafs.org/1716 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/afs/UKERNEL/afs_usrops.c | 19 +++++++++++++++++++ src/afs/UKERNEL/afs_usrops.h | 1 + src/afs/UKERNEL/osi_vfsops.c | 15 +++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/src/afs/UKERNEL/afs_usrops.c b/src/afs/UKERNEL/afs_usrops.c index 4f1edc3..d52655b 100644 --- a/src/afs/UKERNEL/afs_usrops.c +++ b/src/afs/UKERNEL/afs_usrops.c @@ -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) { diff --git a/src/afs/UKERNEL/afs_usrops.h b/src/afs/UKERNEL/afs_usrops.h index 7fc68f8..9be728f 100644 --- a/src/afs/UKERNEL/afs_usrops.h +++ b/src/afs/UKERNEL/afs_usrops.h @@ -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__ */ diff --git a/src/afs/UKERNEL/osi_vfsops.c b/src/afs/UKERNEL/osi_vfsops.c index 0b2463c..7ffa4da 100644 --- a/src/afs/UKERNEL/osi_vfsops.c +++ b/src/afs/UKERNEL/osi_vfsops.c @@ -120,6 +120,21 @@ afs_statfs(register struct vfs *afsp, struct statfs *abp) } 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) { AFS_STATCNT(afs_mountroot); -- 1.9.4