Thread (25 messages) flat view 25 messages, 6 authors, 2021-06-02

Re: [PATCH RFCv2 1/3] fs: introduce helper d_path_fast()

From: Al Viro <viro@zeniv.linux.org.uk>
Date: 2021-05-28 12:45:16
Also in: linux-doc, linux-s390, linux-wireless, lkml

On Fri, May 28, 2021 at 07:39:49PM +0800, Jia He wrote:
+/**
+ * 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)
+{
+	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);
Umm...  I'd suggest failing if __prepend_path() returns 3 (at least)...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help