On Wed, May 19, 2021 at 08:04:59AM -0700, Jeff Johnson wrote:
On 2021-05-18 22:05, Greg Kroah-Hartman wrote:
> On Tue, May 18, 2021 at 03:00:44PM -0700, Jeff Johnson wrote:
> > On 2021-05-18 12:29, Jeff Johnson wrote:
> > Would still like guidance on if there is a recommended way to get a
> > dentry not associated with debugfs.
>
> What do you exactly mean by "not associated with debugfs"?
>
> And why are you passing a debugfs dentry to relay_open()? That feels
> really wrong and fragile.
I don't know the history but the relay documentation tells us:
"If you want a directory structure to contain your relay files,
you should create it using the host filesystem’s directory
creation function, e.g. debugfs_create_dir()..."
So my guess is that the original implementation followed that
advice. I see 5 clients of this functionality, and all 5 pass a
dentry returned from debugfs_create_dir():
drivers/gpu/drm/i915/gt/uc/intel_guc_log.c, line 384
drivers/net/wireless/ath/ath10k/spectral.c, line 534
drivers/net/wireless/ath/ath11k/spectral.c, line 902
drivers/net/wireless/ath/ath9k/common-spectral.c, line 1077
kernel/trace/blktrace.c, line 549
Ah, that's just the "parent" dentry for the relayfs file. That's fine,
not a big deal, debugfs will always provide a way for you to get that if
needed.