diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2008-08-09 16:42:20 +0100 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-10-09 08:56:02 +0200 |
commit | e17fc0a1ccf88f6d4dcb363729f3141b0958c325 (patch) | |
tree | 0a7c2dc1c3159c2af14d87c67ca83e158b2c78b5 /include/linux/fs.h | |
parent | d30a2605be9d5132d95944916e8f578fcfe4f976 (diff) | |
download | linux-stable-e17fc0a1ccf88f6d4dcb363729f3141b0958c325.tar.gz linux-stable-e17fc0a1ccf88f6d4dcb363729f3141b0958c325.tar.bz2 linux-stable-e17fc0a1ccf88f6d4dcb363729f3141b0958c325.zip |
Allow elevators to sort/merge discard requests
But blkdev_issue_discard() still emits requests which are interpreted as
soft barriers, because naïve callers might otherwise issue subsequent
writes to those same sectors, which might cross on the queue (if they're
reallocated quickly enough).
Callers still _can_ issue non-barrier discard requests, but they have to
take care of queue ordering for themselves.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 88358ca6af25..860689f541b1 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -87,7 +87,8 @@ extern int dir_notify_enable; #define WRITE_SYNC (WRITE | (1 << BIO_RW_SYNC)) #define SWRITE_SYNC (SWRITE | (1 << BIO_RW_SYNC)) #define WRITE_BARRIER (WRITE | (1 << BIO_RW_BARRIER)) -#define WRITE_DISCARD (WRITE | (1 << BIO_RW_DISCARD)) +#define DISCARD_NOBARRIER (1 << BIO_RW_DISCARD) +#define DISCARD_BARRIER ((1 << BIO_RW_DISCARD) | (1 << BIO_RW_BARRIER)) #define SEL_IN 1 #define SEL_OUT 2 |