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

cl_put_grouplock()) ASSERTION( cg->cg_gid ) failed

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.7.0
    • Lustre 2.7.0, Lustre 2.5.3
    • Any 2.x version of Lustre. Client crash.
    • 3
    • 16316

    Description

      When a group lock with GID=0 is released (put_grouplock is called), an assertion in cl_put_grouplock is hit.

      There are two assertions at the start of cl_put_grouplock:
      LASSERT(cg->cg_env);
      LASSERT(cg->cg_gid);

      cg_env is a pointer, so this assertion is valid, but cg_gid is just an integer so this is not a valid assertion. There are no other checks to make sure the GID is not zero, so a zero a GID is otherwise valid.

      Since there doesn't appear to be any reason a '0' GID shouldn't be allowed, the solution is to remove this assertion. I'll make a patch shortly.

      Attachments

        Issue Links

          Activity

            [LU-5817] cl_put_grouplock()) ASSERTION( cg->cg_gid ) failed

            frank zago (fzago@cray.com) uploaded a new patch: http://review.whamcloud.com/14344
            Subject: LU-5817 tests: tests group lock on volatiles
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: a4e257f5116cea85f3233ecbf8e7ab6340dae952

            gerrit Gerrit Updater added a comment - frank zago (fzago@cray.com) uploaded a new patch: http://review.whamcloud.com/14344 Subject: LU-5817 tests: tests group lock on volatiles Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: a4e257f5116cea85f3233ecbf8e7ab6340dae952
            pjones Peter Jones added a comment -

            Landed for 2.7

            pjones Peter Jones added a comment - Landed for 2.7

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12838/
            Subject: LU-5817 tests: Several tests for group locks.
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 5a521355691803b657d47e00dde27ff74c911382

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12838/ Subject: LU-5817 tests: Several tests for group locks. Project: fs/lustre-release Branch: master Current Patch Set: Commit: 5a521355691803b657d47e00dde27ff74c911382

            Test for this and other conditions: http://review.whamcloud.com/12838

            fzago Frank Zago (Inactive) added a comment - Test for this and other conditions: http://review.whamcloud.com/12838

            frank zago (fzago@cray.com) uploaded a new patch: http://review.whamcloud.com/12838
            Subject: LU-5817 tests: Several tests for group locks.
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 365bc0e79ec64fcb3e51371bce3442a3d22f2a2d

            gerrit Gerrit Updater added a comment - frank zago (fzago@cray.com) uploaded a new patch: http://review.whamcloud.com/12838 Subject: LU-5817 tests: Several tests for group locks. Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 365bc0e79ec64fcb3e51371bce3442a3d22f2a2d

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12459/
            Subject: LU-5817 clio: Do not allow group locks with gid 0
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: a1307d41a3a6682f60c91df4b581f21fb2980265

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12459/ Subject: LU-5817 clio: Do not allow group locks with gid 0 Project: fs/lustre-release Branch: master Current Patch Set: Commit: a1307d41a3a6682f60c91df4b581f21fb2980265

            OK - I can make a patch to have the ioctl code return EINVAL if GID is 0, then.

            paf Patrick Farrell (Inactive) added a comment - OK - I can make a patch to have the ioctl code return EINVAL if GID is 0, then.
            green Oleg Drokin added a comment -

            The idea was to disallow use of gid 0 at all, so we really should check in the get/put handler not to allow gid of 0 and leave the assertion intact.

            green Oleg Drokin added a comment - The idea was to disallow use of gid 0 at all, so we really should check in the get/put handler not to allow gid of 0 and leave the assertion intact.

            People

              cliffw Cliff White (Inactive)
              paf Patrick Farrell (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: