xref: /dragonfly/sys/sys/biotrack.h (revision 86d7f5d3)
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