[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c57b050d-9ed7-9d6b-b1d0-628a197f6ea6@acm.org>
Date: Tue, 11 Feb 2020 19:27:24 -0800
From: Bart Van Assche <bvanassche@....org>
To: yu kuai <yukuai3@...wei.com>, axboe@...nel.dk, ming.lei@...hat.com
Cc: yi.zhang@...wei.com, zhangxiaoxu5@...wei.com,
luoshijie1@...wei.com, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] block: rename 'q->debugfs_dir' in blk_unregister_queue()
On 2020-02-10 19:51, yu kuai wrote:
> +static struct dentry *blk_prepare_release_queue(struct request_queue *q)
> +{
> + struct dentry *new = NULL;
> + char name[DNAME_INLINE_LEN];
> + int i = 0;
> +
> + if (IS_ERR_OR_NULL(q->debugfs_dir))
> + return q->debugfs_dir;
> +
> + while (new == NULL) {
> + sprintf(name, "ready_to_remove_%d", i++);
> + new = debugfs_rename(blk_debugfs_root, q->debugfs_dir,
> + blk_debugfs_root, name);
> + }
> +
> + return new;
> +}
What is the behavior of this loop if multiple block devices are being
removed concurrently? Does it perhaps change remove block device removal
from an O(1) into an O(n) operation?
Since this scenario may only matter to syzbot tests: has it been
considered to delay block device creation if the debugfs directory from
a previous incarnation of the block device still exists?
Thanks,
Bart.
Powered by blists - more mailing lists