Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-9799

mount doesn't return an error when failing

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.10.1, Lustre 2.11.0
    • Lustre 2.10.0
    • None
    • Lustre: Build Version: 2.10.0_5_gbb3c407
    • 3
    • 9223372036854775807

    Description

      When mount -t lustre ... has failed to actually mount a target, the exit code of mount does not reflect this:

      # mount -t lustre zfs_pool_scsi0QEMU_QEMU_HARDDISK_disk13/MGS /mnt/MGS
      e2label: No such file or directory while trying to open zfs_pool_scsi0QEMU_QEMU_HARDDISK_disk13/MGS
      Couldn't find valid filesystem superblock.
      # echo $?
      0
      

      This of course wreaks havoc on systems such as IML which rely on the exit code of one step in the process of starting a filesystem to decide if it should continue with subsequent steps.

      Attachments

        Issue Links

          Activity

            [LU-9799] mount doesn't return an error when failing
            bhoagland Brad Hoagland (Inactive) made changes -
            Link Original: This issue is related to JFC-21 [ JFC-21 ]
            pjones Peter Jones made changes -
            Labels Original: LTS
            bhoagland Brad Hoagland (Inactive) made changes -
            Link New: This issue is related to JFC-21 [ JFC-21 ]
            mdiep Minh Diep made changes -
            Fix Version/s New: Lustre 2.10.1 [ 13090 ]
            pjones Peter Jones made changes -
            Fix Version/s New: Lustre 2.11.0 [ 13091 ]
            Resolution New: Fixed [ 1 ]
            Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
            utopiabound Nathaniel Clark made changes -
            Status Original: Open [ 1 ] New: In Progress [ 3 ]
            utopiabound Nathaniel Clark made changes -
            Link New: This issue is duplicated by LU-9853 [ LU-9853 ]
            pjones Peter Jones made changes -
            Labels New: LTS
            pjones Peter Jones made changes -
            Assignee Original: WC Triage [ wc-triage ] New: Nathaniel Clark [ utopiabound ]
            brian Brian Murrell (Inactive) made changes -
            Comment [ Is the problem here that {{readcmd()}} in {{lustre/utils/mount_utils_ldiskfs.c}} is not analysing/propagating any failure exit code from {{cmd}} back up to the caller and so when the {{e2label}} given to {{readcmd()}} in the below code (from {{ldiskfs_read_ldd}}):
            {noformat}
            snprintf(cmd, sizeof(cmd), E2LABEL" %s", dev);
            ret = readcmd(cmd, mo_ldd->ldd_svname, sizeof(mo_ldd->ldd_svname) - 1);

            return ret;

            {noformat}
            is given a {{dev}} that doesn't exist, and errors out, that is not being handled and propagated? ]
            brian Brian Murrell (Inactive) created issue -

            People

              utopiabound Nathaniel Clark
              brian Brian Murrell (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: