2024-02-02 20:41:00

by Phillip Susi

[permalink] [raw]
Subject: sync causing a flush with no data

I have noticed that when entering suspend-to-ram, the kernel syncs the
filesystem, and ext4 issues a flush even though nothing has been
written, causing a disk that has been suspended with runtime pm to wake
up for no reason.

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?