[Libsysio-commit] HEAD: libsysio/drivers/incore fs_incore.c
Brought to you by:
lward
From: Lee W. <lw...@us...> - 2007-04-30 23:24:16
|
Update of /cvsroot/libsysio/libsysio/drivers/incore In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv2987/drivers/incore Modified Files: fs_incore.c Log Message: Restore support of statvfs{,64}. Index: fs_incore.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/drivers/incore/fs_incore.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -w -b -B -p -r1.29 -r1.30 --- fs_incore.c 30 Apr 2007 16:52:19 -0000 1.29 +++ fs_incore.c 30 Apr 2007 23:24:12 -0000 1.30 @@ -56,9 +56,7 @@ #include <sys/types.h> #include <dirent.h> #include <sys/stat.h> -#ifdef _HAVE_STATVFS #include <sys/statvfs.h> -#endif #include <sys/queue.h> #include "sysio.h" @@ -154,11 +152,9 @@ static int _sysio_incore_filop_ioctl(str unsigned long int request, va_list ap); static int _sysio_incore_dirop_mknod(struct pnode *pno, mode_t mode, dev_t dev); -#ifdef _HAVE_STATVFS static int _sysio_incore_inop_statvfs(struct pnode *pno, struct inode *ino, struct intnl_statvfs *buf); -#endif static void _sysio_incore_inop_gone(struct inode *ino); #define _sysio_incore_dirop_symlink \ @@ -206,9 +202,7 @@ static struct inode_ops _sysio_incore_di _sysio_incore_inop_sync, _sysio_incore_dirop_ioctl, _sysio_incore_dirop_mknod, -#ifdef _HAVE_STATVFS _sysio_incore_inop_statvfs, -#endif _sysio_incore_inop_gone }; @@ -261,9 +255,7 @@ static struct inode_ops _sysio_incore_fi _sysio_incore_inop_sync, _sysio_incore_filop_ioctl, _sysio_incore_filop_mknod, -#ifdef _HAVE_STATVFS _sysio_incore_inop_statvfs, -#endif _sysio_incore_inop_gone }; @@ -290,9 +282,7 @@ static struct inode_ops _sysio_incore_de _sysio_nodev_inop_sync, _sysio_nodev_inop_ioctl, _sysio_incore_filop_mknod, -#ifdef _HAVE_STATVFS _sysio_incore_inop_statvfs, -#endif _sysio_incore_inop_gone }; @@ -1697,17 +1687,14 @@ _sysio_incore_dirop_mknod(struct pnode * return incore_create(pno, &stat); } -#ifdef _HAVE_STATVFS static int _sysio_incore_inop_statvfs(struct pnode *pno, - struct inode *ino, + struct inode *ino __IS_UNUSED, struct intnl_statvfs *buf) { struct filesys *fs; - if (!ino) - ino = pno->p_base->pb_ino; - assert(ino); + assert(pno); fs = pno->p_base->pb_ino->i_fs; @@ -1716,9 +1703,9 @@ _sysio_incore_inop_statvfs(struct pnode /* * Mostly, we lie. */ - buf->f_bsize = fs->fs_bsize; + buf->f_bsize = getpagesize(); buf->f_frsize = buf->f_bsize; - buf->f_blocks = ~0; + buf->f_blocks = sizeof(char *) * ULONG_MAX; buf->f_blocks /= buf->f_bsize; buf->f_bfree = buf->f_blocks - 1; buf->f_bavail = buf->f_bfree; @@ -1726,12 +1713,11 @@ _sysio_incore_inop_statvfs(struct pnode buf->f_ffree = buf->f_files - 1; buf->f_favail = buf->f_ffree; buf->f_fsid = fs->fs_id; - buf->f_flag = 0; - buf->f_namemax = ULONG_MAX; + buf->f_flag = pno->p_mount->mnt_flags; + buf->f_namemax = 255; return 0; } -#endif void _sysio_incore_inop_gone(struct inode *ino) |