aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/ocfs2.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ocfs2/ocfs2.h')
-rw-r--r--fs/ocfs2/ocfs2.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h
index 43dd42e313a1..4d6e200a4843 100644
--- a/fs/ocfs2/ocfs2.h
+++ b/fs/ocfs2/ocfs2.h
@@ -171,9 +171,13 @@ struct ocfs2_alloc_stats
171 171
172enum ocfs2_local_alloc_state 172enum ocfs2_local_alloc_state
173{ 173{
174 OCFS2_LA_UNUSED = 0, 174 OCFS2_LA_UNUSED = 0, /* Local alloc will never be used for
175 OCFS2_LA_ENABLED, 175 * this mountpoint. */
176 OCFS2_LA_DISABLED 176 OCFS2_LA_ENABLED, /* Local alloc is in use. */
177 OCFS2_LA_THROTTLED, /* Local alloc is in use, but number
178 * of bits has been reduced. */
179 OCFS2_LA_DISABLED /* Local alloc has temporarily been
180 * disabled. */
177}; 181};
178 182
179enum ocfs2_mount_options 183enum ocfs2_mount_options
@@ -252,9 +256,20 @@ struct ocfs2_super
252 struct ocfs2_journal *journal; 256 struct ocfs2_journal *journal;
253 unsigned long osb_commit_interval; 257 unsigned long osb_commit_interval;
254 258
259 struct delayed_work la_enable_wq;
260
261 /*
262 * Must hold local alloc i_mutex and osb->osb_lock to change
263 * local_alloc_bits. Reads can be done under either lock.
264 */
255 unsigned int local_alloc_bits; 265 unsigned int local_alloc_bits;
256 enum ocfs2_local_alloc_state local_alloc_state; 266 unsigned int local_alloc_default_bits;
267
268 enum ocfs2_local_alloc_state local_alloc_state; /* protected
269 * by osb_lock */
270
257 struct buffer_head *local_alloc_bh; 271 struct buffer_head *local_alloc_bh;
272
258 u64 la_last_gd; 273 u64 la_last_gd;
259 274
260 /* Next two fields are for local node slot recovery during 275 /* Next two fields are for local node slot recovery during