Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH 1/2] proc: Add struct mount & struct super_block addr in lx-mounts command | From | Jan Kiszka <> | Date | Tue, 18 Aug 2020 07:37:14 +0200 |
| |
On 18.08.20 06:04, Ritesh Harjani wrote: > This is many times found useful while debugging some FS related issue. > > <e.g. output> > mount super_block fstype devname pathname options > 0xffff888a0bfa4b40 0xffff888a0bfc1000 rootfs none / rw 0 0 > 0xffff888a02c065c0 0xffff8889fcf65000 ext4 /dev/root / rw ,relatime 0 0 > 0xffff8889fc8cc040 0xffff888a0bb51000 devtmpfs devtmpfs /dev rw ,relatime 0 0 > > Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com> > --- > scripts/gdb/linux/proc.py | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py > index 6a56bba233a9..c16fab981bdd 100644 > --- a/scripts/gdb/linux/proc.py > +++ b/scripts/gdb/linux/proc.py > @@ -167,6 +167,9 @@ values of that process namespace""" > if not namespace: > raise gdb.GdbError("No namespace for current process") > > + gdb.write("{:^18} {:^15} {:>9} {} {} options\n".format( > + "mount", "super_block", "fstype", "devname", "pathname")) > + > for vfs in lists.list_for_each_entry(namespace['list'], > mount_ptr_type, "mnt_list"): > devname = vfs['mnt_devname'].string() > @@ -190,14 +193,10 @@ values of that process namespace""" > m_flags = int(vfs['mnt']['mnt_flags']) > rd = "ro" if (s_flags & constants.LX_SB_RDONLY) else "rw" > > - gdb.write( > - "{} {} {} {}{}{} 0 0\n" > - .format(devname, > - pathname, > - fstype, > - rd, > - info_opts(FS_INFO, s_flags), > - info_opts(MNT_INFO, m_flags))) > + gdb.write("{} {} {} {} {} {} {} {} 0 0\n".format( > + vfs.format_string(), superblock.format_string(), fstype, > + devname, pathname, rd, info_opts(FS_INFO, s_flags), > + info_opts(MNT_INFO, m_flags)))
The last three format elements should not be space-separated. The effect can even be seen in your example above.
Jan
> > > LxMounts() >
-- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux
| ![\](/images/icornerr.gif) |