[LU-550] The quota hash function isn't correct Created: 28/Jul/11  Updated: 11/Oct/11  Resolved: 14/Aug/11

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.0.0, Lustre 2.1.0, Lustre 1.8.7, Lustre 1.8.6
Fix Version/s: Lustre 2.1.0, Lustre 1.8.7

Type: Bug Priority: Minor
Reporter: Niu Yawei (Inactive) Assignee: Niu Yawei (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 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.



 Comments   
Comment by Niu Yawei (Inactive) [ 29/Jul/11 ]

b1_8: http://review.whamcloud.com/1163
master: http://review.whamcloud.com/1162

Comment by Build Master (Inactive) [ 09/Aug/11 ]

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

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

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

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

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

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

Integrated in lustre-b1_8 » x86_64,client,el5,inkernel #120
LU-550 incorrect quota hash function

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

Integrated in lustre-b1_8 » x86_64,client,el5,ofa #120
LU-550 incorrect quota hash function

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

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

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

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

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

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

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

Integrated in lustre-b1_8 » x86_64,server,el5,ofa #120
LU-550 incorrect quota hash function

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

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

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 09/Aug/11 ]

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

Johann Lombardi : 69d748be13bda3e160c8f3328659ee7e7b2e8ac8
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Build Master (Inactive) [ 12/Aug/11 ]

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

Oleg Drokin : d24dce9f96591cf63d7c1ab22c36b9aed16a4ef2
Files :

  • lustre/quota/quota_context.c
Comment by Niu Yawei (Inactive) [ 14/Aug/11 ]

landed for 1.8.7 and 2.1

Generated at Sat Feb 10 01:08:08 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.