Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: CVS commit: syssrc/sys/kern



   
   
   i don't like this change.  i think we can keep it as a small hack
   #ifdef COMPAT_16 in sysctl_diskstats()... certainly it should only
   be visible for COMPAT_16.


something like this appears to work just fine.  anyone mind if i
commit this?


Index: subr_disk.c
===================================================================
RCS file: /cvsroot/syssrc/sys/kern/subr_disk.c,v
retrieving revision 1.46
diff -p -r1.46 subr_disk.c
*** subr_disk.c 2002/11/01 15:20:03     1.46
--- subr_disk.c 2002/11/03 06:50:55
*************** sysctl_disknames(void *vwhere, size_t *s
*** 387,392 ****
--- 387,409 ----
        return (error);
  }
  
+ #ifdef COMPAT_16
+ struct odisk_sysctl {
+       char            dk_name[DK_DISKNAMELEN];
+       int32_t         dk_busy;
+       int32_t         pad;
+       u_int64_t       dk_xfer;
+       u_int64_t       dk_seek;
+       u_int64_t       dk_bytes;
+       u_int32_t       dk_attachtime_sec;
+       u_int32_t       dk_attachtime_usec;
+       u_int32_t       dk_timestamp_sec;
+       u_int32_t       dk_timestamp_usec;
+       u_int32_t       dk_time_sec;
+       u_int32_t       dk_time_usec;
+ };
+ #endif
+ 
  int
  sysctl_diskstats(int *name, u_int namelen, void *vwhere, size_t *sizep)
  {
*************** sysctl_diskstats(int *name, u_int namele
*** 405,411 ****
--- 422,432 ----
        }
  
        if (namelen == 0)
+ #ifdef COMPAT_16
+               tocopy = sizeof(struct odisk_sysctl);
+ #else
                tocopy = sizeof(sdisk);
+ #endif
        else
                tocopy = name[0];
  



Home | Main Index | Thread Index | Old Index