Module Name:    src
Committed By:   pooka
Date:           Mon Nov 30 10:59:20 UTC 2009

Modified Files:
        src/sys/fs/ptyfs: ptyfs_vfsops.c
        src/sys/miscfs/fdesc: fdesc_vfsops.c
        src/sys/miscfs/genfs: genfs.h genfs_vfsops.c
        src/sys/miscfs/kernfs: kernfs_vfsops.c
        src/sys/miscfs/procfs: procfs_vfsops.c

Log Message:
Introduce genfs_statvfs() as pretty much a no-info statvfs and
convert several pseudo file systems to use it.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/sys/fs/ptyfs/ptyfs_vfsops.c
cvs rdiff -u -r1.82 -r1.83 src/sys/miscfs/fdesc/fdesc_vfsops.c
cvs rdiff -u -r1.27 -r1.28 src/sys/miscfs/genfs/genfs.h
cvs rdiff -u -r1.2 -r1.3 src/sys/miscfs/genfs/genfs_vfsops.c
cvs rdiff -u -r1.89 -r1.90 src/sys/miscfs/kernfs/kernfs_vfsops.c
cvs rdiff -u -r1.84 -r1.85 src/sys/miscfs/procfs/procfs_vfsops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/fs/ptyfs/ptyfs_vfsops.c
diff -u src/sys/fs/ptyfs/ptyfs_vfsops.c:1.40 src/sys/fs/ptyfs/ptyfs_vfsops.c:1.41
--- src/sys/fs/ptyfs/ptyfs_vfsops.c:1.40	Sat Mar 21 01:11:53 2009
+++ src/sys/fs/ptyfs/ptyfs_vfsops.c	Mon Nov 30 10:59:19 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: ptyfs_vfsops.c,v 1.40 2009/03/21 01:11:53 christos Exp $	*/
+/*	$NetBSD: ptyfs_vfsops.c,v 1.41 2009/11/30 10:59:19 pooka Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993, 1995
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ptyfs_vfsops.c,v 1.40 2009/03/21 01:11:53 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ptyfs_vfsops.c,v 1.41 2009/11/30 10:59:19 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -323,26 +323,6 @@
 
 /*ARGSUSED*/
 int
-ptyfs_statvfs(struct mount *mp, struct statvfs *sbp)
-{
-	sbp->f_bsize = DEV_BSIZE;
-	sbp->f_frsize = DEV_BSIZE;
-	sbp->f_iosize = DEV_BSIZE;
-	sbp->f_blocks = 2;		/* 1K to keep df happy */
-	sbp->f_bfree = 0;
-	sbp->f_bavail = 0;
-	sbp->f_bresvd = 0;
-	sbp->f_files = 1024;	/* XXX lie */
-	sbp->f_ffree = 128;	/* XXX lie */
-	sbp->f_favail = 128;	/* XXX lie */
-	sbp->f_fresvd = 0;
-	sbp->f_namemax = MAXNAMLEN;
-	copy_statvfs_info(sbp, mp);
-	return 0;
-}
-
-/*ARGSUSED*/
-int
 ptyfs_sync(struct mount *mp, int waitfor,
     kauth_cred_t uc)
 {
@@ -376,7 +356,7 @@
 	ptyfs_unmount,
 	ptyfs_root,
 	(void *)eopnotsupp,		/* vfs_quotactl */
-	ptyfs_statvfs,
+	genfs_statvfs,
 	ptyfs_sync,
 	ptyfs_vget,
 	(void *)eopnotsupp,		/* vfs_fhtovp */

Index: src/sys/miscfs/fdesc/fdesc_vfsops.c
diff -u src/sys/miscfs/fdesc/fdesc_vfsops.c:1.82 src/sys/miscfs/fdesc/fdesc_vfsops.c:1.83
--- src/sys/miscfs/fdesc/fdesc_vfsops.c:1.82	Fri Jul 31 19:47:47 2009
+++ src/sys/miscfs/fdesc/fdesc_vfsops.c	Mon Nov 30 10:59:20 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: fdesc_vfsops.c,v 1.82 2009/07/31 19:47:47 pooka Exp $	*/
+/*	$NetBSD: fdesc_vfsops.c,v 1.83 2009/11/30 10:59:20 pooka Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993, 1995
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fdesc_vfsops.c,v 1.82 2009/07/31 19:47:47 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fdesc_vfsops.c,v 1.83 2009/11/30 10:59:20 pooka Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -153,25 +153,6 @@
 	return (0);
 }
 
-int
-fdesc_statvfs(struct mount *mp, struct statvfs *sbp)
-{
-
-	sbp->f_bsize = DEV_BSIZE;
-	sbp->f_frsize = DEV_BSIZE;
-	sbp->f_iosize = DEV_BSIZE;
-	sbp->f_blocks = 2;		/* 1K to keep df happy */
-	sbp->f_bfree = 0;
-	sbp->f_bavail = 0;
-	sbp->f_bresvd = 0;
-	sbp->f_files = 0;
-	sbp->f_ffree = 0;
-	sbp->f_favail = 0;
-	sbp->f_fresvd = 0;
-	copy_statvfs_info(sbp, mp);
-	return (0);
-}
-
 /*ARGSUSED*/
 int
 fdesc_sync(struct mount *mp, int waitfor,
@@ -208,7 +189,7 @@
 	fdesc_unmount,
 	fdesc_root,
 	(void *)eopnotsupp,		/* vfs_quotactl */
-	fdesc_statvfs,
+	genfs_statvfs,
 	fdesc_sync,
 	fdesc_vget,
 	(void *)eopnotsupp,		/* vfs_fhtovp */

Index: src/sys/miscfs/genfs/genfs.h
diff -u src/sys/miscfs/genfs/genfs.h:1.27 src/sys/miscfs/genfs/genfs.h:1.28
--- src/sys/miscfs/genfs/genfs.h:1.27	Tue Jun 23 19:36:38 2009
+++ src/sys/miscfs/genfs/genfs.h	Mon Nov 30 10:59:20 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: genfs.h,v 1.27 2009/06/23 19:36:38 elad Exp $	*/
+/*	$NetBSD: genfs.h,v 1.28 2009/11/30 10:59:20 pooka Exp $	*/
 
 #ifndef	_MISCFS_GENFS_GENFS_H_
 #define	_MISCFS_GENFS_GENFS_H_
@@ -33,6 +33,8 @@
 
 int	genfs_do_putpages(struct vnode *, off_t, off_t, int, struct vm_page **);
 
+int	genfs_statvfs(struct mount *, struct statvfs *);
+
 int	genfs_renamelock_enter(struct mount *);
 void	genfs_renamelock_exit(struct mount *);
 

Index: src/sys/miscfs/genfs/genfs_vfsops.c
diff -u src/sys/miscfs/genfs/genfs_vfsops.c:1.2 src/sys/miscfs/genfs/genfs_vfsops.c:1.3
--- src/sys/miscfs/genfs/genfs_vfsops.c:1.2	Mon Apr 28 20:24:08 2008
+++ src/sys/miscfs/genfs/genfs_vfsops.c	Mon Nov 30 10:59:20 2009
@@ -1,7 +1,7 @@
-/*	$NetBSD: genfs_vfsops.c,v 1.2 2008/04/28 20:24:08 martin Exp $	*/
+/*	$NetBSD: genfs_vfsops.c,v 1.3 2009/11/30 10:59:20 pooka Exp $	*/
 
 /*-
- * Copyright (c) 2008 The NetBSD Foundation, Inc.
+ * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -27,18 +27,37 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfs_vfsops.c,v 1.2 2008/04/28 20:24:08 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfs_vfsops.c,v 1.3 2009/11/30 10:59:20 pooka Exp $");
 
 #include <sys/types.h>
 #include <sys/mount.h>
-
-/* required by genfs.h */
-#include <uvm/uvm.h>
+#include <sys/statvfs.h>
+#include <sys/vnode.h>
 
 #include <miscfs/genfs/genfs.h>
 #include <miscfs/genfs/genfs_node.h>
 
 int
+genfs_statvfs(struct mount *mp, struct statvfs *sbp)
+{
+
+	sbp->f_bsize = DEV_BSIZE;
+	sbp->f_frsize = DEV_BSIZE;
+	sbp->f_iosize = DEV_BSIZE;
+	sbp->f_blocks = 2;		/* 1k to keep df happy */
+	sbp->f_bfree = 0;
+	sbp->f_bavail = 0;
+	sbp->f_bresvd = 0;
+	sbp->f_files = 0;
+	sbp->f_ffree = 0;
+	sbp->f_favail = 0;
+	sbp->f_fresvd = 0;
+	copy_statvfs_info(sbp, mp);
+
+	return 0;
+}
+
+int
 genfs_renamelock_enter(struct mount *mp)
 {
 	mutex_enter(&mp->mnt_renamelock);

Index: src/sys/miscfs/kernfs/kernfs_vfsops.c
diff -u src/sys/miscfs/kernfs/kernfs_vfsops.c:1.89 src/sys/miscfs/kernfs/kernfs_vfsops.c:1.90
--- src/sys/miscfs/kernfs/kernfs_vfsops.c:1.89	Sun Mar 15 17:22:38 2009
+++ src/sys/miscfs/kernfs/kernfs_vfsops.c	Mon Nov 30 10:59:20 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: kernfs_vfsops.c,v 1.89 2009/03/15 17:22:38 cegger Exp $	*/
+/*	$NetBSD: kernfs_vfsops.c,v 1.90 2009/11/30 10:59:20 pooka Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993, 1995
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kernfs_vfsops.c,v 1.89 2009/03/15 17:22:38 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kernfs_vfsops.c,v 1.90 2009/11/30 10:59:20 pooka Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -195,25 +195,6 @@
 	return (kernfs_allocvp(mp, vpp, KFSkern, &kern_targets[0], 0));
 }
 
-int
-kernfs_statvfs(struct mount *mp, struct statvfs *sbp)
-{
-
-	sbp->f_bsize = DEV_BSIZE;
-	sbp->f_frsize = DEV_BSIZE;
-	sbp->f_iosize = DEV_BSIZE;
-	sbp->f_blocks = 2;		/* 1K to keep df happy */
-	sbp->f_bfree = 0;
-	sbp->f_bavail = 0;
-	sbp->f_bresvd = 0;
-	sbp->f_files = 1024;	/* XXX lie */
-	sbp->f_ffree = 128;	/* XXX lie */
-	sbp->f_favail = 128;	/* XXX lie */
-	sbp->f_fresvd = 0;
-	copy_statvfs_info(sbp, mp);
-	return (0);
-}
-
 /*ARGSUSED*/
 int
 kernfs_sync(struct mount *mp, int waitfor,
@@ -250,7 +231,7 @@
 	kernfs_unmount,
 	kernfs_root,
 	(void *)eopnotsupp,		/* vfs_quotactl */
-	kernfs_statvfs,
+	genfs_statvfs,
 	kernfs_sync,
 	kernfs_vget,
 	(void *)eopnotsupp,		/* vfs_fhtovp */

Index: src/sys/miscfs/procfs/procfs_vfsops.c
diff -u src/sys/miscfs/procfs/procfs_vfsops.c:1.84 src/sys/miscfs/procfs/procfs_vfsops.c:1.85
--- src/sys/miscfs/procfs/procfs_vfsops.c:1.84	Fri Oct  2 23:00:02 2009
+++ src/sys/miscfs/procfs/procfs_vfsops.c	Mon Nov 30 10:59:20 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: procfs_vfsops.c,v 1.84 2009/10/02 23:00:02 elad Exp $	*/
+/*	$NetBSD: procfs_vfsops.c,v 1.85 2009/11/30 10:59:20 pooka Exp $	*/
 
 /*
  * Copyright (c) 1993
@@ -76,7 +76,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: procfs_vfsops.c,v 1.84 2009/10/02 23:00:02 elad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: procfs_vfsops.c,v 1.85 2009/11/30 10:59:20 pooka Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -219,18 +219,16 @@
 procfs_statvfs(struct mount *mp, struct statvfs *sbp)
 {
 
+	genfs_statvfs(mp, sbp);
+
 	sbp->f_bsize = PAGE_SIZE;
 	sbp->f_frsize = PAGE_SIZE;
 	sbp->f_iosize = PAGE_SIZE;
-	sbp->f_blocks = 1;	/* avoid divide by zero in some df's */
-	sbp->f_bfree = 0;
-	sbp->f_bavail = 0;
-	sbp->f_bresvd = 0;
+	sbp->f_blocks = 1;
 	sbp->f_files = maxproc;			/* approx */
 	sbp->f_ffree = maxproc - nprocs;	/* approx */
 	sbp->f_favail = maxproc - nprocs;	/* approx */
-	sbp->f_fresvd = 0;
-	copy_statvfs_info(sbp, mp);
+
 	return (0);
 }
 

Reply via email to