1*86d7f5d3SJohn Marino /* 2*86d7f5d3SJohn Marino * SYS/BIOTRACK.H 3*86d7f5d3SJohn Marino * 4*86d7f5d3SJohn Marino * $DragonFly: src/sys/sys/biotrack.h,v 1.1 2006/02/17 19:18:07 dillon Exp $ 5*86d7f5d3SJohn Marino */ 6*86d7f5d3SJohn Marino 7*86d7f5d3SJohn Marino #ifndef _SYS_BIOTRACK_H_ 8*86d7f5d3SJohn Marino #define _SYS_BIOTRACK_H_ 9*86d7f5d3SJohn Marino 10*86d7f5d3SJohn Marino /* 11*86d7f5d3SJohn Marino * BIO tracking structure - tracks in-progress BIOs 12*86d7f5d3SJohn Marino */ 13*86d7f5d3SJohn Marino struct bio_track { 14*86d7f5d3SJohn Marino int bk_active; /* I/O's currently in progress */ 15*86d7f5d3SJohn Marino }; 16*86d7f5d3SJohn Marino 17*86d7f5d3SJohn Marino #define bio_track_active(track) ((track)->bk_active) 18*86d7f5d3SJohn Marino #define bio_track_ref(track) atomic_add_int(&(track)->bk_active, 1) 19*86d7f5d3SJohn Marino 20*86d7f5d3SJohn Marino #ifdef _KERNEL 21*86d7f5d3SJohn Marino 22*86d7f5d3SJohn Marino int bio_track_wait(struct bio_track *track, int slp_flags, int slp_timo); 23*86d7f5d3SJohn Marino 24*86d7f5d3SJohn Marino #endif 25*86d7f5d3SJohn Marino 26*86d7f5d3SJohn Marino #endif 27