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

The quota hash function isn't correct

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.1.0, Lustre 1.8.7
    • Lustre 2.0.0, Lustre 2.1.0, Lustre 1.8.7, Lustre 1.8.6
    • None
    • 3
    • 4917

    Description

      Quota code uses 'uid' or '(1 << 32) + gid' as the hash key, however, the quota hash function lqs_hash() always try to interpret such a unsigned long long key as a 'quota_adjust_qunit' struct, then calculate the hash value by quota_adjust_qunit->qaq_id, since the misused key->qaq_id most likely be a certain value (0 or something else), the calculated hash value for all uid/gid will be same.

      I think this problem might be introduced by some landing or hash converting long time ago, since we can still store/fetch the qunit for each uig/gid (though they are always in same bucket), the bug was not detected by any test.

      Attachments

        Issue Links

          Activity

            [LU-550] The quota hash function isn't correct

            landed for 1.8.7 and 2.1

            niu Niu Yawei (Inactive) added a comment - landed for 1.8.7 and 2.1

            Integrated in lustre-master » i686,server,el5,inkernel #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » i686,server,el5,inkernel #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            Integrated in lustre-master » i686,client,el5,ofa #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » i686,client,el5,ofa #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            Integrated in lustre-master » i686,client,el6,inkernel #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » i686,client,el6,inkernel #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            Integrated in lustre-master » i686,server,el5,ofa #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » i686,server,el5,ofa #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            Integrated in lustre-master » i686,client,el5,inkernel #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » i686,client,el5,inkernel #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            Integrated in lustre-master » x86_64,client,ubuntu1004,inkernel #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » x86_64,client,ubuntu1004,inkernel #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            Integrated in lustre-master » x86_64,client,el6,inkernel #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » x86_64,client,el6,inkernel #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            Integrated in lustre-master » x86_64,server,el5,inkernel #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » x86_64,server,el5,inkernel #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            Integrated in lustre-master » x86_64,client,sles11,inkernel #255
            LU-550 incorrect quota hash function

            Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
            Files :

            • lustre/quota/quota_context.c
            hudson Build Master (Inactive) added a comment - Integrated in lustre-master » x86_64,client,sles11,inkernel #255 LU-550 incorrect quota hash function Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2 Files : lustre/quota/quota_context.c

            People

              niu Niu Yawei (Inactive)
              niu Niu Yawei (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: