Re: [PATCH v7 8/8] block: create the request_queue debugfs_dir on registration
From: Bart Van Assche <bvanassche@acm.org>
Date: 2020-06-20 18:07:51
Also in:
linux-fsdevel, linux-mm, lkml
From: Bart Van Assche <bvanassche@acm.org>
Date: 2020-06-20 18:07:51
Also in:
linux-fsdevel, linux-mm, lkml
On 2020-06-19 13:47, Luis Chamberlain wrote:
We were only creating the request_queue debugfs_dir only for make_request block drivers (multiqueue), but never for request-based block drivers. We did this as we were only creating non-blktrace additional debugfs files on that directory for make_request drivers. However, since blktrace *always* creates that directory anyway, we special-case the use of that directory on blktrace. Other than this being an eye-sore, this exposes request-based block drivers to the same debugfs fragile race that used to exist with make_request block drivers where if we start adding files onto that directory we can later run a race with a double removal of dentries on the directory if we don't deal with this carefully on blktrace. Instead, just simplify things by always creating the request_queue debugfs_dir on request_queue registration. Rename the mutex also to reflect the fact that this is used outside of the blktrace context.
There are two changes in this patch: a bug fix and a rename of a mutex. I don't like it to see two changes in a single patch. Additionally, is the new mutex name really better than the old name? The proper way to use mutexes is to use mutexes to protect data instead of code. Where is the documentation that mentions which member variable(s) of which data structures are protected by the mutex formerly called blk_trace_mutex? Since the new name makes it even less clear which data is protected by this mutex, is the new name really better than the old name? Thanks, Bart.