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

RHEL made /sbin a symlink to /usr/sbin/

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.8.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      We have a code in test-framework.sh that tries to avoid double-mounting /sbin/mount.lustre when running from a built tree:

             local mount_lustre=$LUSTRE/utils/mount.lustre
              if [ -f $mount_lustre ]; then
                      local sbin_mount=/sbin/mount.lustre
                      if grep -qw "$sbin_mount" /proc/mounts; then
                              cmp -s $mount_lustre $sbin_mount || umount $sbin_mount
                      fi
      

      In rhel7 and other new distros with the /sbin -> /usr/sbin symlink that never matches, /proc/mounts output is like this:

      192.168.10.1:/exports/centos7-nfsroot/home/green/git/lustre-release/lustre/utils/mount.lustre /usr/sbin/mount.lustre nfs4 rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.10.232,local_lock=none,addr=192.168.10.1 0 0
      

      This is sounds mostly harmless, after all whats acouple of more bind mounts, right? Except for an unknown reason (I am still looking), rhel7 kernel is doubling size of mnt_cache slab on every such bind mount, so 7 iterations in the cache takes 120 megabytes, next iteration brings it to 240 and so on. It does add up quickly and some other slabs also grow (though not as drastically), so we quickly run out of memory (I tried and rhel6 kernel does not have this problem).

      Attachments

        Issue Links

          Activity

            People

              emoly.liu Emoly Liu
              green Oleg Drokin
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: