scripts/gdb/linux/vfs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Commit 58cf9c383c5c68666808 ("dcache: back inline names with a
struct-wrapped array of unsigned long") introduced a d_shortname union
in place of d_iname. However, the gdb scripts for vfs still reference
the old field. Update the scripts to reference the correct field and
union member.
Signed-off-by: Illia Ostapyshyn <illia@yshyn.com>
---
scripts/gdb/linux/vfs.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/gdb/linux/vfs.py b/scripts/gdb/linux/vfs.py
index c77b9ce75f6d..b5fbb18ccb77 100644
--- a/scripts/gdb/linux/vfs.py
+++ b/scripts/gdb/linux/vfs.py
@@ -22,7 +22,7 @@ def dentry_name(d):
if parent == d or parent == 0:
return ""
p = dentry_name(d['d_parent']) + "/"
- return p + d['d_iname'].string()
+ return p + d['d_shortname']['string'].string()
class DentryName(gdb.Function):
"""Return string of the full path of a dentry.
--
2.49.0
On Sun, May 25, 2025 at 11:37:10PM +0200, Illia Ostapyshyn wrote:
> Commit 58cf9c383c5c68666808 ("dcache: back inline names with a
> struct-wrapped array of unsigned long") introduced a d_shortname union
> in place of d_iname. However, the gdb scripts for vfs still reference
> the old field. Update the scripts to reference the correct field and
> union member.
You do realize that for dentries with names longer than 40 characters
that field contains garbage, right?
On 5/25/25 23:41, Al Viro wrote: > You do realize that for dentries with names longer than 40 characters > that field contains garbage, right? Is d_name.name a better choice here? It seems to always reference the full valid name.
© 2016 - 2025 Red Hat, Inc.