RE: [PATCH RFCv2 1/3] fs: introduce helper d_path_fast()
From: Justin He <hidden>
Date: 2021-05-28 14:23:28
Also in:
linux-s390, linux-wireless, lkml, netdev
-----Original Message----- From: Matthew Wilcox <willy@infradead.org> Sent: Friday, May 28, 2021 8:52 PM To: Justin He <redacted> Cc: Linus Torvalds <torvalds@linux-foundation.org>; Petr Mladek [off-list ref]; Steven Rostedt [off-list ref]; Sergey Senozhatsky [off-list ref]; Andy Shevchenko [off-list ref]; Rasmus Villemoes [off-list ref]; Jonathan Corbet [off-list ref]; Alexander Viro [off-list ref]; Luca Coelho [off-list ref]; Kalle Valo [off-list ref]; David S. Miller [off-list ref]; Jakub Kicinski [off-list ref]; Heiko Carstens [off-list ref]; Vasily Gorbik [off-list ref]; Christian Borntraeger [off-list ref]; Johannes Berg [off-list ref]; linux- doc@vger.kernel.org; linux-kernel@vger.kernel.org; linux- wireless@vger.kernel.org; netdev@vger.kernel.org; linux- s390@vger.kernel.org Subject: Re: [PATCH RFCv2 1/3] fs: introduce helper d_path_fast() On Fri, May 28, 2021 at 07:39:49PM +0800, Jia He wrote:quoted
+/** + * d_path_fast - fast return the full path of a dentry without taking + * any seqlock/spinlock. This helper is typical for debugging purpose + */ +char *d_path_fast(const struct path *path, char *buf, int buflen)I'd suggest calling it d_path_unsafe(). Otherwise people will call it instead of d_path because who doesn't like fast?
Okay, thanks
quoted
+{ + struct path root; + struct mount *mnt = real_mount(path->mnt); + DECLARE_BUFFER(b, buf, buflen); + + rcu_read_lock(); + get_fs_root_rcu(current->fs, &root); + + prepend(&b, "", 1); + __prepend_path(path->dentry, mnt, &root, &b); + rcu_read_unlock(); + + return extract_string(&b); +} +EXPORT_SYMBOL(d_path_fast);Why export it? What module needs this?
Okay, indeed -- Cheers, Justin (Jia He) IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.