diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-03-26 19:51:46 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-03-26 19:51:46 +0100 |
commit | 561593a048d7d6915889706f4b503a65435c033a (patch) | |
tree | 5b802be4953a1dae421b528d32082e297a17a7cc /block/blk-merge.c | |
parent | Merge tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/... (diff) | |
parent | fs: remove fs.f_write_hint (diff) | |
download | linux-561593a048d7d6915889706f4b503a65435c033a.tar.xz linux-561593a048d7d6915889706f4b503a65435c033a.zip |
Merge tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-block
Pull NVMe write streams removal from Jens Axboe:
"This removes the write streams support in NVMe. No vendor ever really
shipped working support for this, and they are not interested in
supporting it.
With the NVMe support gone, we have nothing in the tree that supports
this. Remove passing around of the hints.
The only discussion point in this patchset imho is the fact that the
file specific write hint setting/getting fcntl helpers will now return
-1/EINVAL like they did before we supported write hints. No known
applications use these functions, I only know of one prototype that I
help do for RocksDB, and that's not used. That said, with a change
like this, it's always a bit controversial. Alternatively, we could
just make them return 0 and pretend it worked. It's placement based
hints after all"
* tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-block:
fs: remove fs.f_write_hint
fs: remove kiocb.ki_hint
block: remove the per-bio/request write hint
nvme: remove support or stream based temperature hint
Diffstat (limited to 'block/blk-merge.c')
-rw-r--r-- | block/blk-merge.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/block/blk-merge.c b/block/blk-merge.c index 49d0d0da0bf2..7771dacc99cb 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c @@ -754,13 +754,6 @@ static struct request *attempt_merge(struct request_queue *q, if (rq_data_dir(req) != rq_data_dir(next)) return NULL; - /* - * Don't allow merge of different write hints, or for a hint with - * non-hint IO. - */ - if (req->write_hint != next->write_hint) - return NULL; - if (req->ioprio != next->ioprio) return NULL; @@ -886,13 +879,6 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio) if (!bio_crypt_rq_ctx_compatible(rq, bio)) return false; - /* - * Don't allow merge of different write hints, or for a hint with - * non-hint IO. - */ - if (rq->write_hint != bio->bi_write_hint) - return false; - if (rq->ioprio != bio_prio(bio)) return false; |