struct mount *r = real_mount(mnt);
int err = 0;
struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt };
+ struct super_block *sb = mnt_path.dentry->d_sb;
- if (mnt->mnt_sb->s_op->show_devname) {
- err = mnt->mnt_sb->s_op->show_devname(m, mnt);
+ if (sb->s_op->show_devname) {
+ err = sb->s_op->show_devname(m, mnt_path.dentry);
if (err)
goto out;
} else {
seq_putc(m, ' ');
seq_path(m, &mnt_path, " \t\n\\");
seq_putc(m, ' ');
- show_type(m, mnt->mnt_sb);
+ show_type(m, sb);
seq_puts(m, __mnt_is_readonly(mnt) ? " ro" : " rw");
- err = show_sb_opts(m, mnt->mnt_sb);
+ err = show_sb_opts(m, sb);
if (err)
goto out;
show_mnt_opts(m, mnt);
- if (mnt->mnt_sb->s_op->show_options)
- err = mnt->mnt_sb->s_op->show_options(m, mnt);
+ if (sb->s_op->show_options)
+ err = sb->s_op->show_options(m, mnt_path.dentry);
seq_puts(m, " 0 0\n");
out:
return err;
seq_printf(m, "%i %i %u:%u ", r->mnt_id, r->mnt_parent->mnt_id,
MAJOR(sb->s_dev), MINOR(sb->s_dev));
if (sb->s_op->show_path)
- err = sb->s_op->show_path(m, mnt);
+ err = sb->s_op->show_path(m, mnt->mnt_root);
else
seq_dentry(m, mnt->mnt_root, " \t\n\\");
if (err)
show_type(m, sb);
seq_putc(m, ' ');
if (sb->s_op->show_devname)
- err = sb->s_op->show_devname(m, mnt);
+ err = sb->s_op->show_devname(m, mnt->mnt_root);
else
mangle(m, r->mnt_devname ? r->mnt_devname : "none");
if (err)
if (err)
goto out;
if (sb->s_op->show_options)
- err = sb->s_op->show_options(m, mnt);
+ err = sb->s_op->show_options(m, mnt->mnt_root);
seq_putc(m, '\n');
out:
return err;
{
struct mount *r = real_mount(mnt);
struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt };
+ struct super_block *sb = mnt_path.dentry->d_sb;
int err = 0;
/* device */
- if (mnt->mnt_sb->s_op->show_devname) {
+ if (sb->s_op->show_devname) {
seq_puts(m, "device ");
- err = mnt->mnt_sb->s_op->show_devname(m, mnt);
+ err = sb->s_op->show_devname(m, mnt_path.dentry);
} else {
if (r->mnt_devname) {
seq_puts(m, "device ");
/* file system type */
seq_puts(m, "with fstype ");
- show_type(m, mnt->mnt_sb);
+ show_type(m, sb);
/* optional statistics */
- if (mnt->mnt_sb->s_op->show_stats) {
+ if (sb->s_op->show_stats) {
seq_putc(m, ' ');
if (!err)
- err = mnt->mnt_sb->s_op->show_stats(m, mnt);
+ err = sb->s_op->show_stats(m, mnt_path.dentry);
}
seq_putc(m, '\n');