summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2008-10-09 09:01:10 +0200
committerJens Axboe <jens.axboe@oracle.com>2008-10-09 09:01:10 +0200
commitaf5639424008ffe96f89b059bea1aec15e0115a9 (patch)
tree5055712fa33e4878c97ff240d7755c6413627baf /include
parent6feef531f55cf4a20fd9eb39f5352e5745203603 (diff)
downloadlinux-af5639424008ffe96f89b059bea1aec15e0115a9.tar.gz
linux-af5639424008ffe96f89b059bea1aec15e0115a9.tar.bz2
linux-af5639424008ffe96f89b059bea1aec15e0115a9.zip
block: add some comments around the bio read-write flags
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/bio.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h
index fb97221d7c30..ff5b4cf9e2da 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -123,13 +123,23 @@ struct bio {
/*
* bio bi_rw flags
*
- * bit 0 -- read (not set) or write (set)
+ * bit 0 -- data direction
+ * If not set, bio is a read from device. If set, it's a write to device.
* bit 1 -- rw-ahead when set
* bit 2 -- barrier
+ * Insert a serialization point in the IO queue, forcing previously
+ * submitted IO to be completed before this oen is issued.
* bit 3 -- fail fast, don't want low level driver retries
* bit 4 -- synchronous I/O hint: the block layer will unplug immediately
+ * Note that this does NOT indicate that the IO itself is sync, just
+ * that the block layer will not postpone issue of this IO by plugging.
* bit 5 -- metadata request
+ * Used for tracing to differentiate metadata and data IO. May also
+ * get some preferential treatment in the IO scheduler
* bit 6 -- discard sectors
+ * Informs the lower level device that this range of sectors is no longer
+ * used by the file system and may thus be freed by the device. Used
+ * for flash based storage.
*/
#define BIO_RW 0 /* Must match RW in req flags (blkdev.h) */
#define BIO_RW_AHEAD 1 /* Must match FAILFAST in req flags */