summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2013-11-04 10:15:08 +0000
committerSteven Whitehouse <swhiteho@redhat.com>2013-11-04 11:17:49 +0000
commit2147dbfd059eb7fefcfd5934f74f25f0693d4a1f (patch)
tree8cc89a827bcc48f529698bef65eb61216562425a /fs/gfs2/incore.h
parent7d80823e1d83e35977d77ae201bf63af3317ad0a (diff)
downloadlinux-2147dbfd059eb7fefcfd5934f74f25f0693d4a1f.tar.gz
linux-2147dbfd059eb7fefcfd5934f74f25f0693d4a1f.tar.bz2
linux-2147dbfd059eb7fefcfd5934f74f25f0693d4a1f.zip
GFS2: Use generic list_lru for quota
By using the generic list_lru code, we can now separate the per sb quota list locking from the lru locking. The lru lock is made into the inner-most lock. As a result of this new lock order, we may occasionally see items on the per-sb quota list which are "dead" so that the two places where we traverse that list are updated to take account of that. As a result of this patch, the gfs2 quota shrinker is now NUMA zone aware, and we are also laying the foundations for further improvments in due course. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com> Signed-off-by: Abhijith Das <adas@redhat.com> Tested-by: Abhijith Das <adas@redhat.com> Cc: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 9d778044cc6e..ba1ea67f4eeb 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -420,11 +420,10 @@ enum {
struct gfs2_quota_data {
struct list_head qd_list;
- struct list_head qd_reclaim;
-
+ struct kqid qd_id;
struct lockref qd_lockref;
+ struct list_head qd_lru;
- struct kqid qd_id;
unsigned long qd_flags; /* QDF_... */
s64 qd_change;