Messages in this thread | | | Subject | Re: [PATCH 1/2] Updated locking documentation for transaction_t | From | Alexander Lochmann <> | Date | Thu, 11 Feb 2021 10:53:51 +0100 |
| |
On 11.02.21 10:30, Jan Kara wrote: >> */ >> unsigned long t_log_start; >> >> - /* Number of buffers on the t_buffers list [j_list_lock] */ >> + /* Number of buffers on the t_buffers list [j_list_lock, no lock for quick racy checks] */ >> int t_nr_buffers; > > So this case is actually somewhat different now that I audited the uses. > There are two types of users - commit code (fs/jbd2/commit.c) and others. > Other users properly use j_list_lock to access t_nr_buffers. Commit code > does not use any locks because committing transaction is fully in > ownership of the jbd2 thread and all other users need to check & wait for > commit to be finished before doing anything with the transaction's buffers. Mhm I see. What about '[..., no locks needed for jbd2 thread]'?
How do the others wait for the commit to be finished?
- Alex
-- Technische Universität Dortmund Alexander Lochmann PGP key: 0xBC3EF6FD Otto-Hahn-Str. 16 phone: +49.231.7556141 D-44227 Dortmund fax: +49.231.7556116 http://ess.cs.tu-dortmund.de/Staff/al
[unhandled content-type:application/pgp-signature]
| |