diff options
Diffstat (limited to 'include/linux/journal-head.h')
-rw-r--r-- | include/linux/journal-head.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/journal-head.h b/include/linux/journal-head.h index 13a3da25ff07..98cd41bb39c8 100644 --- a/include/linux/journal-head.h +++ b/include/linux/journal-head.h | |||
@@ -30,15 +30,19 @@ struct journal_head { | |||
30 | 30 | ||
31 | /* | 31 | /* |
32 | * Journalling list for this buffer [jbd_lock_bh_state()] | 32 | * Journalling list for this buffer [jbd_lock_bh_state()] |
33 | * NOTE: We *cannot* combine this with b_modified into a bitfield | ||
34 | * as gcc would then (which the C standard allows but which is | ||
35 | * very unuseful) make 64-bit accesses to the bitfield and clobber | ||
36 | * b_jcount if its update races with bitfield modification. | ||
33 | */ | 37 | */ |
34 | unsigned b_jlist:4; | 38 | unsigned b_jlist; |
35 | 39 | ||
36 | /* | 40 | /* |
37 | * This flag signals the buffer has been modified by | 41 | * This flag signals the buffer has been modified by |
38 | * the currently running transaction | 42 | * the currently running transaction |
39 | * [jbd_lock_bh_state()] | 43 | * [jbd_lock_bh_state()] |
40 | */ | 44 | */ |
41 | unsigned b_modified:1; | 45 | unsigned b_modified; |
42 | 46 | ||
43 | /* | 47 | /* |
44 | * Copy of the buffer data frozen for writing to the log. | 48 | * Copy of the buffer data frozen for writing to the log. |