diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2020-11-25 23:37:18 +0100 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2020-11-26 19:58:25 +0100 |
commit | 82e938bd5382b322ce81e6cb8fd030987f2da022 (patch) | |
tree | 0b7c0ecd37bea6b11dd540489ece33bd05b95284 /include/clocksource | |
parent | gfs2: Don't freeze the file system during unmount (diff) | |
download | linux-82e938bd5382b322ce81e6cb8fd030987f2da022.tar.xz linux-82e938bd5382b322ce81e6cb8fd030987f2da022.zip |
gfs2: Upgrade shared glocks for atime updates
Commit 20f829999c38 ("gfs2: Rework read and page fault locking") lifted
the glock lock taking from the low-level ->readpage and ->readahead
address space operations to the higher-level ->read_iter file and
->fault vm operations. The glocks are still taken in LM_ST_SHARED mode
only. On filesystems mounted without the noatime option, ->read_iter
sometimes needs to update the atime as well, though. Right now, this
leads to a failed locking mode assertion in gfs2_dirty_inode.
Fix that by introducing a new update_time inode operation. There, if
the glock is held non-exclusively, upgrade it to an exclusive lock.
Reported-by: Alexander Aring <aahringo@redhat.com>
Fixes: 20f829999c38 ("gfs2: Rework read and page fault locking")
Cc: stable@vger.kernel.org # v5.8+
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'include/clocksource')
0 files changed, 0 insertions, 0 deletions