[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87le7xbp68.fsf@vps.thesusis.net>
Date: Tue, 06 Feb 2024 10:14:23 -0500
From: Phillip Susi <phill@...susis.net>
To: linux-ext4@...r.kernel.org
Subject: Re: sync causing a flush with no data
Phillip Susi <phill@...susis.net> writes:
> It looks like ext4_sync_fs() calls jbd2_trans_will_send_data_barrier(),
> which returns 0, causing a call to blkdev_issue_flush(). Shouldn't this
> return a 1 if the transaction is empty?
Tracing a little more, it appears that
jbd2_trans_will_send_data_barrier() is returning 0 because the
transaction is already committed. How can this be? If a transaction
has been committed, shouldn't a new one be opened? If not, and the
transaction indeed has already been committed, then why is that a reason
for the fs to issue another barrier? If it has already been committed,
then the barrier should already have been issued shouldn't it?
Powered by blists - more mailing lists