On 01/06/2016:04:26:38 PM, Josef Bacik wrote: > Some systems may not have /etc/mtab, so fall back to using /proc/mounts if we > fail to open /etc/mtab. Also if a user does > > mount -t sysfs none /sys > > we won't find the sysfs directory. We need to check mnt->mnt_type, not > mnt->mnt_fsname. yes, mnt_fsname is actually "device for filesystem" and mnt_type is "type of filesystem". Therefore, checking mnt->mnt_type is appropriate. > > Signed-off-by: Josef Bacik <jbacik at fb.com> Reviewed-by: Pratyush Anand <panand at redhat.com> > --- > kexec/arch/i386/x86-linux-setup.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c > index c75adaa..c24abaa 100644 > --- a/kexec/arch/i386/x86-linux-setup.c > +++ b/kexec/arch/i386/x86-linux-setup.c > @@ -425,10 +425,13 @@ char *find_mnt_by_fsname(char *fsname) > char *mntdir; > > mtab = setmntent("/etc/mtab", "r"); > - if (!mtab) > - return NULL; > + if (!mtab) { > + mtab = setmntent("/proc/mounts", "r"); > + if (!mtab) > + return NULL; > + } > for(mnt = getmntent(mtab); mnt; mnt = getmntent(mtab)) { > - if (strcmp(mnt->mnt_fsname, fsname) == 0) > + if (strcmp(mnt->mnt_type, fsname) == 0) > break; > } > mntdir = mnt ? strdup(mnt->mnt_dir) : NULL; > -- > 2.5.0 > > > _______________________________________________ > kexec mailing list > kexec at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec