diff options
Diffstat (limited to 'fs/ocfs2/ocfs2.h')
-rw-r--r-- | fs/ocfs2/ocfs2.h | 23 |
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 | ||
172 | enum ocfs2_local_alloc_state | 172 | enum 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 | ||
179 | enum ocfs2_mount_options | 183 | enum 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 |