diff --git a/lustre/utils/mount_lustre.c b/lustre/utils/mount_lustre.c index 0dd13c61a3ca32e4a234a11199bb2bd2fe232eb1..0e082468d069f959b83005a9d618cd72f366337d 100644 --- a/lustre/utils/mount_lustre.c +++ b/lustre/utils/mount_lustre.c @@ -97,7 +97,7 @@ void usage(FILE *out) exit((out != stdout) ? EINVAL : 0); } -static int check_mtab_entry(char *spec, char *mtpt, char *type) +static int check_mtab_entry(char *spec1, char *spec2, char *mtpt, char *type) { FILE *fp; struct mntent *mnt; @@ -107,7 +107,8 @@ static int check_mtab_entry(char *spec, char *mtpt, char *type) return(0); while ((mnt = getmntent(fp)) != NULL) { - if (strcmp(mnt->mnt_fsname, spec) == 0 && + if ((strcmp(mnt->mnt_fsname, spec1) == 0 || + strcmp(mnt->mnt_fsname, spec2) == 0) && strcmp(mnt->mnt_dir, mtpt) == 0 && strcmp(mnt->mnt_type, type) == 0) { endmntent(fp); @@ -544,7 +545,7 @@ int main(int argc, char *const argv[]) } if (!force) { - rc = check_mtab_entry(usource, target, "lustre"); + rc = check_mtab_entry(usource, source, target, "lustre"); if (rc && !(flags & MS_REMOUNT)) { fprintf(stderr, "%s: according to %s %s is " "already mounted on %s\n",