const char *type_page, unsigned long flags, void *data_page);
 int path_umount(struct path *path, int flags);
 
+int show_path(struct seq_file *m, struct dentry *root);
+
 /*
  * fs_struct.c
  */
 
        return err;
 }
 
+int show_path(struct seq_file *m, struct dentry *root)
+{
+       if (root->d_sb->s_op->show_path)
+               return root->d_sb->s_op->show_path(m, root);
+
+       seq_dentry(m, root, " \t\n\\");
+       return 0;
+}
+
 static void __init init_mount_tree(void)
 {
        struct vfsmount *mnt;
 
 
        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->mnt_root);
-               if (err)
-                       goto out;
-       } else {
-               seq_dentry(m, mnt->mnt_root, " \t\n\\");
-       }
+       err = show_path(m, mnt->mnt_root);
+       if (err)
+               goto out;
        seq_putc(m, ' ');
 
        /* mountpoints outside of chroot jail will give SEQ_SKIP on this */