diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2013-11-04 10:15:08 +0000 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2013-11-04 11:17:49 +0000 |
commit | 2147dbfd059eb7fefcfd5934f74f25f0693d4a1f (patch) | |
tree | 8cc89a827bcc48f529698bef65eb61216562425a /fs/gfs2/incore.h | |
parent | 7d80823e1d83e35977d77ae201bf63af3317ad0a (diff) | |
download | talos-op-linux-2147dbfd059eb7fefcfd5934f74f25f0693d4a1f.tar.gz talos-op-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.h | 5 |
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; |