]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/miscfs/specfs/specdev.h
xnu-2422.1.72.tar.gz
[apple/xnu.git] / bsd / miscfs / specfs / specdev.h
index 3394fedbf17cfd0d2d527b318da8ab0b9e8816e1..2b14d796b1e5c51272a9e16df26f256f854aab82 100644 (file)
@@ -83,6 +83,12 @@ struct specinfo {
        daddr_t si_size;                /* device block size in bytes */
        daddr64_t       si_lastr;       /* last read blkno (read-ahead) */
        u_int64_t       si_devsize;     /* actual device size in bytes */
+
+       u_int8_t        si_initted;
+       u_int8_t        si_throttleable;
+       u_int16_t       si_isssd;
+       u_int32_t       si_devbsdunit;
+       u_int64_t       si_throttle_mask;
 };
 /*
  * Exported shorthand
@@ -106,9 +112,9 @@ struct specinfo {
  */
 #define        SPECHSZ 64
 #if    ((SPECHSZ&(SPECHSZ-1)) == 0)
-#define        SPECHASH(rdev)  (((rdev>>5)+(rdev))&(SPECHSZ-1))
+#define        SPECHASH(rdev)  (((rdev>>21)+(rdev))&(SPECHSZ-1))
 #else
-#define        SPECHASH(rdev)  (((unsigned)((rdev>>5)+(rdev)))%SPECHSZ)
+#define        SPECHASH(rdev)  (((unsigned)((rdev>>21)+(rdev)))%SPECHSZ)
 #endif
 
 extern struct vnode *speclisth[SPECHSZ];