diff options
Diffstat (limited to 'include/linux')
| -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. |
