jbd,jbd2: fix oops in jbd2_journal_put_journal_head()
[firefly-linux-kernel-4.4.55.git] / include / linux / journal-head.h
index c18b46f8aeebbfb4a85f8b750dad108c0124eaf6..98cd41bb39c8667953c10030ef32f2945765f7e8 100644 (file)
@@ -30,6 +30,10 @@ struct journal_head {
 
        /*
         * Journalling list for this buffer [jbd_lock_bh_state()]
+        * NOTE: We *cannot* combine this with b_modified into a bitfield
+        * as gcc would then (which the C standard allows but which is
+        * very unuseful) make 64-bit accesses to the bitfield and clobber
+        * b_jcount if its update races with bitfield modification.
         */
        unsigned b_jlist;
 
@@ -40,13 +44,6 @@ struct journal_head {
         */
        unsigned b_modified;
 
-       /*
-        * This feild tracks the last transaction id in which this buffer
-        * has been cowed
-        * [jbd_lock_bh_state()]
-        */
-       tid_t b_cow_tid;
-
        /*
         * Copy of the buffer data frozen for writing to the log.
         * [jbd_lock_bh_state()]