[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1803ac43-d6fc-4de8-78a0-7fc807f9c036@tu-dortmund.de>
Date: Thu, 11 Feb 2021 10:53:51 +0100
From: Alexander Lochmann <alexander.lochmann@...dortmund.de>
To: Jan Kara <jack@...e.cz>
Cc: Horst Schirmeier <horst.schirmeier@...dortmund.de>,
"Theodore Ts'o" <tytso@....edu>, Jan Kara <jack@...e.com>,
linux-ext4@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] Updated locking documentation for transaction_t
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
Download attachment "OpenPGP_signature" of type "application/pgp-signature" (841 bytes)
Powered by blists - more mailing lists