summaryrefslogtreecommitdiff
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2024-11-27 16:51:30 +0300
committerJens Axboe <axboe@kernel.dk>2024-12-23 18:17:22 +0300
commitf6661b1d0525f3764596a1b65eeed9e75aecafa7 (patch)
tree9b75effee32676156f10afdba5b7c214724a9d0a /include/linux/blkdev.h
parentb9d4eee7e04b9cfb0b4bcd748fe6b3ec517171d9 (diff)
downloadlinux-f6661b1d0525f3764596a1b65eeed9e75aecafa7.tar.xz
block: track queue dying state automatically for modeling queue freeze lockdep
Now we only verify the outmost freeze & unfreeze in current context in case that !q->mq_freeze_depth, so it is reliable to save queue lying state when we want to lock the freeze queue since the state is one per-task variable now. Signed-off-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20241127135133.3952153-5-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 522cf8eef66c..5d40af2ef971 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -581,8 +581,12 @@ struct request_queue {
#ifdef CONFIG_LOCKDEP
struct task_struct *mq_freeze_owner;
int mq_freeze_owner_depth;
- /* Records disk state in current context, used in unfreeze queue */
+ /*
+ * Records disk & queue state in current context, used in unfreeze
+ * queue
+ */
bool mq_freeze_disk_dead;
+ bool mq_freeze_queue_dying;
#endif
wait_queue_head_t mq_freeze_wq;
/*