[GIT PULL] gfs2 fixes

From: Andreas Gruenbacher
Date: Tue Sep 05 2023 - 13:19:07 EST


Hi Linus,

please consider pulling the following gfs2 fixes (*) into the current merge window.

(*) Technically, this updates the address of the shared gfs2 and dlm mailing list
so this affects dlm as well; I've coordinated this change with David Teigland.

Thanks,
Andreas

The following changes since commit 02aee814d37c563e24b73bcd0f9cb608fbd403d4:

Merge tag 'gfs2-v6.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 (2023-08-08 09:27:08 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git tags/gfs2-v6.5-rc5-fixes

for you to fetch changes up to 2938fd750e8b73a6dac4d9339fb6f7f1cd624a2d:

MAINTAINERS: Update dlm mailing list (2023-09-05 17:43:07 +0200)

----------------------------------------------------------------
gfs2 fixes

- Fix a glock state (non-)transition bug when a dlm request times out
and is canceled, and we have locking requests that can now be granted
immediately.

- Various fixes and cleanups in how the logd and quotad daemons are
woken up and terminated.

- Fix several bugs in the quota data reference counting and shrinking.
Free quota data objects synchronously in put_super() instead of
letting call_rcu() run wild.

- Make sure not to deallocate quota data during a withdraw; rather, defer
quota data deallocation to put_super(). Withdraws can happen in
contexts in which callers on the stack are holding quota data references.

- Many minor quota fixes and cleanups by Bob.

- Update the the mailing list address for gfs2 and dlm. (It's the same
list for both and we are moving it to gfs2@xxxxxxxxxxxxxxx.)

- Various other minor cleanups.

----------------------------------------------------------------
Andreas Gruenbacher (24):
gfs2: Use mapping->gfp_mask for metadata inodes
gfs: Don't use GFP_NOFS in gfs2_unstuff_dinode
gfs2: do_promote cleanup
gfs2: Remove LM_FLAG_PRIORITY flag
gfs2: Switch to wait_event in gfs2_logd
gfs2: low-memory forced flush fixes
gfs2: Fix logd wakeup on I/O error
gfs2: journal flush threshold fixes and cleanup
gfs2: Rename sd_{ glock => kill }_wait
gfs2: Rename SDF_DEACTIVATING to SDF_KILL
gfs2: Fix wrong quota shrinker return value
gfs2: Use gfs2_qd_dispose in gfs2_quota_cleanup
gfs2: Factor out duplicate quota data disposal code
gfs2: No more quota complaints after withdraw
gfs2: Fix initial quota data refcount
gfs2: Free quota data objects synchronously
gfs2: Stop using gfs2_make_fs_ro for withdraw
gfs2: Fix asynchronous thread destruction
gfs2: Switch to wait_event in gfs2_quotad
gfs2: Sanitize kthread stopping
gfs2: Fix withdraw race
gfs2: Rename "gfs_recovery" workqueue to "gfs2_recovery"
gfs2: Rename "freeze_workqueue" to "gfs2_freeze"
gfs2: Add device name to gfs2_logd and gfs2_quotad

Andrew Price (2):
MAINTAINERS: Update gfs2 mailing list
MAINTAINERS: Update dlm mailing list

Bob Peterson (24):
gfs2: conversion deadlock do_promote bypass
gfs2: Use qd_sbd more consequently
gfs2: Introduce new quota=quiet mount option
gfs2: remove dead code for quota writes
gfs2: Pass sdp to gfs2_adjust_quota
gfs2: pass sdp in to gfs2_write_disk_quota
gfs2: pass sdp to gfs2_write_buf_to_page
gfs2: remove unneeded variable done
gfs2: remove unneeded pg_oflow variable
gfs2: Simplify function need_sync
gfs2: Don't try to sync non-changes
gfs2: improvements to sysfs status
gfs2: move qdsb_put and reduce redundancy
gfs2: Small gfs2_quota_lock cleanup
gfs2: Remove useless err set
gfs2: Set qd_sync_gen in do_sync
gfs2: use constant for array size
gfs2: Remove quota allocation info from quota file
gfs2: introduce qd_bh_get_or_undo
gfs2: Simplify qd2offset
gfs2: simplify slot_get
gfs2: Remove useless assignment
gfs2: check for no eligible quota changes
gfs2: change qd_slot_count to qd_slot_ref

Minjie Du (1):
gfs2: increase usage of folio_next_index() helper

Documentation/filesystems/gfs2-glocks.rst | 3 +-
MAINTAINERS | 4 +-
fs/gfs2/aops.c | 7 +-
fs/gfs2/bmap.c | 2 +-
fs/gfs2/glock.c | 47 ++--
fs/gfs2/glock.h | 9 -
fs/gfs2/glops.c | 2 +-
fs/gfs2/incore.h | 7 +-
fs/gfs2/inode.c | 14 +-
fs/gfs2/lock_dlm.c | 5 -
fs/gfs2/log.c | 69 +++---
fs/gfs2/lops.c | 7 +-
fs/gfs2/main.c | 10 +-
fs/gfs2/ops_fstype.c | 42 ++--
fs/gfs2/quota.c | 368 ++++++++++++++++--------------
fs/gfs2/recovery.c | 4 +-
fs/gfs2/recovery.h | 2 +-
fs/gfs2/super.c | 28 +--
fs/gfs2/super.h | 1 +
fs/gfs2/sys.c | 12 +-
fs/gfs2/util.c | 34 +--
21 files changed, 347 insertions(+), 330 deletions(-)