Peter Jeremy wrote:
On Fri, 2005-Sep-30 16:51:51 -0500, Eric Anderson wrote:

I'm hacking up sys/ufs/ufs/ufs_vnops.c, and I've added a sysctl entry, but it doesn't appear via sysctl -a -c vfs.ufs. Here's what I've done:


The code looks correct but I can't find a '-c' option to sysctl in
4.x, 5.x or 7.x.  Note that SYSCTL_STRUCT defines an opaque type that
won't be displayed by default.  You may want "sysctl -x vfs.ufs"


Yea, that's what I meant, sorry about that. I think I am missing a SYSCTL_DECL in there, so maybe this would work:

--- /usr/src/sys/ufs/ufs/ufs_vnops.c-orig       Thu Sep 29 20:47:50 2005
+++ /usr/src/sys/ufs/ufs/ufs_vnops.c    Fri Sep 30 23:14:34 2005
@@ -79,6 +79,7 @@
 #include <ufs/ufs/dir.h>
 #include <ufs/ufs/ufsmount.h>
 #include <ufs/ufs/ufs_extern.h>
+#include <ufs/ufs/ufsstats.h>
 #ifdef UFS_DIRHASH
 #include <ufs/ufs/dirhash.h>
 #endif
@@ -122,6 +123,13 @@
        0, DIRBLKSIZ - 12, 2, ".."
 };

+struct ufsstats ufsstats;
+
+SYSCTL_DECL(_vfs_ufs);
+
+SYSCTL_STRUCT(_vfs_ufs, OID_AUTO, ufsstats, CTLFLAG_RW,
+        &ufsstats, ufsstats, "S,ufsstats");
+
 void
 ufs_itimes(vp)
        struct vnode *vp;
@@ -172,6 +180,7 @@
        error =
ufs_makeinode(MAKEIMODE(ap->a_vap->va_type, ap->a_vap->va_mode),
            ap->a_dvp, ap->a_vpp, ap->a_cnp);
+        ufsstats.create++;
        if (error)
                return (error);
        return (0);


Thanks for the reply!

Eric



--
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to