In message <[EMAIL PROTECTED]>, "D. Rock" writes:
>Hi,
>
>the new dev_t stuff in the kernel keeps system accounting showing up
>the tty properly. After taking a look at the fix for the swap device,
>I propose the following equivalent fix:

Looks good, could you try this version for me ?


Index: sys/acct.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/acct.h,v
retrieving revision 1.9
diff -u -r1.9 acct.h
--- acct.h      1998/02/01 20:08:35     1.9
+++ acct.h      1999/07/09 21:27:49
@@ -49,6 +49,12 @@
  */
 typedef u_int16_t comp_t;
 
+#ifdef KERNEL
+#define __dev_t udev_t
+#else
+#define __dev_t dev_t
+#endif
+
 #define AC_COMM_LEN 16
 struct acct {
        char      ac_comm[AC_COMM_LEN]; /* command name */
@@ -60,7 +66,7 @@
        gid_t     ac_gid;               /* group id */
        u_int16_t ac_mem;               /* average memory usage */
        comp_t    ac_io;                /* count of IO blocks */
-       dev_t     ac_tty;               /* controlling tty */
+       __dev_t   ac_tty;               /* controlling tty */
 
 #define        AFORK   0x01                    /* forked but not exec'ed */
 #define        ASU     0x02                    /* used super-user permissions */
@@ -69,6 +75,7 @@
 #define        AXSIG   0x10                    /* killed by a signal */
        u_int8_t  ac_flag;              /* accounting flags */
 };
+#undef __dev_t
 
 /*
  * 1/AHZ is the granularity of the data encoded in the comp_t fields.
Index: kern/kern_acct.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_acct.c,v
retrieving revision 1.20
diff -u -r1.20 kern_acct.c
--- kern_acct.c 1999/04/27 11:15:53     1.20
+++ kern_acct.c 1999/07/09 21:26:44
@@ -221,9 +221,9 @@
 
        /* (7) The terminal from which the process was started */
        if ((p->p_flag & P_CONTROLT) && p->p_pgrp->pg_session->s_ttyp)
-               acct.ac_tty = p->p_pgrp->pg_session->s_ttyp->t_dev;
+               acct.ac_tty = dev2udev(p->p_pgrp->pg_session->s_ttyp->t_dev);
        else
-               acct.ac_tty = NODEV;
+               acct.ac_tty = NOUDEV;
 
        /* (8) The boolean flags that tell how the process terminated, etc. */
        acct.ac_flag = p->p_acflag;
--
Poul-Henning Kamp             FreeBSD coreteam member
[EMAIL PROTECTED]               "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to