summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2017-01-25 12:50:47 -0500
committerBob Peterson <rpeterso@redhat.com>2017-01-27 08:20:13 -0500
commit9862ca056e654633e521b303f74fb123f7f17e98 (patch)
tree313e2ce19c02ded366c2974f9480fc94e96cb430 /fs/gfs2/incore.h
parentb63f5e84826b3e1ae81e051a6a7c5a94b657aecb (diff)
downloadlinux-stable-9862ca056e654633e521b303f74fb123f7f17e98.tar.gz
linux-stable-9862ca056e654633e521b303f74fb123f7f17e98.tar.bz2
linux-stable-9862ca056e654633e521b303f74fb123f7f17e98.zip
GFS2: Switch tr_touched to flag in transaction
This patch eliminates the int variable tr_touched in favor of a new flag in the transaction. This is a step toward reducing contention on the gfs2_log_lock spin_lock. Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 00d8dc20ea3a..c45084ac642d 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -470,15 +470,19 @@ struct gfs2_quota_data {
struct rcu_head qd_rcu;
};
+enum {
+ TR_TOUCHED = 1,
+ TR_ATTACHED = 2,
+ TR_ALLOCED = 3,
+};
+
struct gfs2_trans {
unsigned long tr_ip;
unsigned int tr_blocks;
unsigned int tr_revokes;
unsigned int tr_reserved;
- unsigned int tr_touched:1;
- unsigned int tr_attached:1;
- unsigned int tr_alloced:1;
+ unsigned long tr_flags;
unsigned int tr_num_buf_new;
unsigned int tr_num_databuf_new;