aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/glock.c
AgeCommit message (Expand)AuthorFilesLines
2026-03-26gfs2: Don't zero i_private_dataJan Kara1-1/+0
2026-02-21treewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook1-2/+1
2026-01-26gfs2: Introduce glock_{type,number,sbd} helpersAndreas Gruenbacher1-41/+41
2026-01-26gfs2: gfs2_glock_hold cleanupAndreas Gruenbacher1-2/+2
2026-01-26gfs2: Do not cancel internal demote requestsAndreas Gruenbacher1-13/+33
2026-01-26gfs2: run_queue cleanupAndreas Gruenbacher1-13/+7
2026-01-26gfs2: Retries missing in gfs2_{rename,exchange}Andreas Gruenbacher1-9/+27
2026-01-26gfs2: glock cancelation flag fixAndreas Gruenbacher1-0/+2
2025-12-03Merge tag 'gfs2-for-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/gf...Linus Torvalds1-153/+74
2025-11-26gfs2: Clean up properly during a withdrawAndreas Gruenbacher1-37/+48
2025-11-26gfs2: Rename gfs2_{gl_dq_holders => withdraw_glocks}Andreas Gruenbacher1-3/+3
2025-11-26Revert "gfs2: fix infinite loop when checking ail item count before go_inval"Andreas Gruenbacher1-16/+1
2025-11-26Revert "gfs2: Allow some glocks to be used during withdraw"Andreas Gruenbacher1-32/+5
2025-11-26Revert "gfs2: Check for log write errors before telling dlm to unlock"Andreas Gruenbacher1-16/+0
2025-11-26Revert "gfs2: fix a deadlock on withdraw-during-mount"Andreas Gruenbacher1-35/+18
2025-11-26Revert "gfs2: Force withdraw to replay journals and wait for it to finish" (5/6)Andreas Gruenbacher1-3/+2
2025-11-26Revert "gfs2: Force withdraw to replay journals and wait for it to finish" (2/6)Andreas Gruenbacher1-2/+0
2025-11-26Revert "gfs2: Force withdraw to replay journals and wait for it to finish" (1/6)Andreas Gruenbacher1-22/+1
2025-11-26gfs2: Rename LM_FLAG_{NOEXP -> RECOVER}Andreas Gruenbacher1-6/+6
2025-11-26gfs2: Withdraw immediately on log write errorsAndreas Gruenbacher1-2/+2
2025-11-26gfs2: Rename gfs2_{withdrawing_or_ => }withdrawnAndreas Gruenbacher1-4/+4
2025-11-26gfs2: Get rid of delayed withdrawsAndreas Gruenbacher1-1/+1
2025-11-26gfs2: Minor cosmetic remote delete cleanupsAndreas Gruenbacher1-3/+9
2025-11-26gfs2: Prevent recursive memory reclaimAndreas Gruenbacher1-1/+4
2025-11-25fs: rework I_NEW handling to operate without fencesMateusz Guzik1-1/+1
2025-10-31gfs2: document ip in __gfs2_holder_init kernel-doc commentSukrut Heroorkar1-1/+1
2025-09-12gfs2: Add proper lockspace lockingAndreas Gruenbacher1-3/+2
2025-09-12gfs2: Minor run_queue fixesAndreas Gruenbacher1-1/+8
2025-09-12gfs2: run_queue cleanupAndreas Gruenbacher1-16/+19
2025-09-12gfs2: Simplify do_promoteAndreas Gruenbacher1-11/+6
2025-09-12gfs2: Get rid of GLF_INVALIDATE_IN_PROGRESSAndreas Gruenbacher1-15/+1
2025-09-12gfs2: Fix GLF_INVALIDATE_IN_PROGRESS flag clearing in do_xmoteAndreas Gruenbacher1-2/+0
2025-09-12gfs2: Remove duplicate check in do_xmoteAndreas Gruenbacher1-14/+13
2025-09-12gfs2: Fix LM_FLAG_TRY* logic in add_to_queueAndreas Gruenbacher1-23/+24
2025-09-12gfs2: Remove DLM_LKF_ALTCW / DLM_LKF_ALTPR codeAndreas Gruenbacher1-3/+1
2025-09-12gfs2: Further sanitize lock_dlm.cAndreas Gruenbacher1-6/+0
2025-09-12gfs2: Do not use atomic operations unnecessarilyAndreas Gruenbacher1-3/+3
2025-09-12gfs2: Partially revert "gfs2: do_xmote fixes"Andreas Gruenbacher1-1/+2
2025-09-12gfs2: Simplify refcounting in do_xmoteAndreas Gruenbacher1-1/+3
2025-09-12gfs2: do_xmote cleanupAndreas Gruenbacher1-5/+7
2025-09-12gfs2: Remove space before newlineColin Ian King1-1/+1
2025-07-15gfs2: a minor finish_xmote cleanupAndreas Gruenbacher1-2/+1
2025-07-15gfs2: simplify finish_xmoteAndreas Gruenbacher1-8/+0
2025-07-15gfs2: sanitize the gdlm_ast -> finish_xmote interfaceAndreas Gruenbacher1-11/+18
2025-07-09gfs2: Minor do_xmote cancelation fixAndreas Gruenbacher1-1/+2
2025-04-21gfs2: replace sd_aspace with sd_inodeAndreas Gruenbacher1-2/+1
2025-03-27Merge tag 'gfs2-for-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/gf...Linus Torvalds1-58/+66
2025-03-10gfs2: remove redundant warningsAndreas Gruenbacher1-10/+2
2025-03-10gfs2: Prevent inode creation race (2)Andreas Gruenbacher1-19/+21
2025-03-10gfs2: Fix additional unlikely request cancelation raceAndreas Gruenbacher1-2/+11
2025-03-10gfs2: Fix request cancelation bugAndreas Gruenbacher1-7/+13
2025-03-10gfs2: Check for empty queue in run_queueAndreas Gruenbacher1-3/+8
2025-03-10gfs2: Remove more dead code in add_to_queueAndreas Gruenbacher1-12/+1
2025-03-10gfs2: Replace GIF_DEFER_DELETE with GLF_DEFER_DELETEAndreas Gruenbacher1-2/+4
2025-03-10gfs2: glock holder GL_NOPID fixAndreas Gruenbacher1-3/+1
2025-03-10gfs2: Add GLF_PENDING_REPLY flagAndreas Gruenbacher1-0/+5
2025-02-07lockref: remove count argument of lockref_initAndreas Gruenbacher1-1/+1
2025-02-07gfs2: use lockref_init for gl_lockrefAndreas Gruenbacher1-1/+1
2024-11-26Merge tag 'gfs2-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/gf...Linus Torvalds1-66/+41
2024-11-19gfs2: Prevent inode creation raceAndreas Gruenbacher1-0/+7
2024-11-05gfs2: Randomize GLF_VERIFY_DELETE work delayAndreas Gruenbacher1-1/+2
2024-11-05gfs2: Use mod_delayed_work in gfs2_queue_try_to_evictAndreas Gruenbacher1-2/+1
2024-11-05gfs2: Update to the evict / remote delete documentationAndreas Gruenbacher1-23/+8
2024-11-05gfs2: Call gfs2_queue_verify_delete from gfs2_evict_inodeAndreas Gruenbacher1-11/+2
2024-11-05gfs2: Clean up delete work processingAndreas Gruenbacher1-7/+7
2024-11-05gfs2: Minor delete_work_func cleanupAndreas Gruenbacher1-2/+3
2024-11-05gfs2: Rename GIF_{DEFERRED -> DEFER}_DELETEAndreas Gruenbacher1-2/+2
2024-11-05gfs2: Faster gfs2_upgrade_iopen_glock wakeupsAndreas Gruenbacher1-16/+7
2024-10-07get rid of ...lookup...fdget_rcu() familyAl Viro1-10/+2
2024-09-25gfs2: Fix unlinked inode cleanupAndreas Gruenbacher1-1/+1
2024-09-25gfs2: Allow immediate GLF_VERIFY_DELETE workAndreas Gruenbacher1-5/+6
2024-09-24gfs2: Initialize gl_no_formal_ino earlierAndreas Gruenbacher1-1/+0
2024-09-24gfs2: Rename GLF_VERIFY_EVICT to GLF_VERIFY_DELETEAndreas Gruenbacher1-7/+7
2024-08-20gfs2: fix double destroy_workqueue errorJulian Sun1-0/+1
2024-08-20gfs2: Minor gfs2_glock_cb cleanupAndreas Gruenbacher1-3/+5
2024-07-09gfs2: Clean up glock demote logicAndreas Gruenbacher1-6/+6
2024-05-29gfs2: Get rid of demote_ok checksAndreas Gruenbacher1-22/+1
2024-05-29Revert "GFS2: Don't add all glocks to the lru"Andreas Gruenbacher1-7/+0
2024-05-29gfs2: Revise glock reference counting modelAndreas Gruenbacher1-26/+30
2024-05-29gfs2: Switch to a per-filesystem glock workqueueAndreas Gruenbacher1-13/+7
2024-05-29gfs2: Report when glocks cannot be freed for a long timeAndreas Gruenbacher1-3/+15
2024-05-29gfs2: gfs2_glock_get cleanupAndreas Gruenbacher1-20/+13
2024-05-29gfs2: Invert the GLF_INITIAL flagAndreas Gruenbacher1-2/+4
2024-05-29gfs2: Remove outdated comment in glock_work_funcAndreas Gruenbacher1-5/+1
2024-05-28gfs2: Rename handle_callback to request_demoteAndreas Gruenbacher1-10/+10
2024-05-28gfs2: Rename GLF_FROZEN to GLF_HAVE_FROZEN_REPLYAndreas Gruenbacher1-4/+4
2024-05-28gfs2: Rename GLF_REPLY_PENDING to GLF_HAVE_REPLYAndreas Gruenbacher1-7/+7
2024-05-28gfs2: Rename GLF_FREEING to GLF_UNLOCKEDAndreas Gruenbacher1-1/+1
2024-05-28gfs2: Remove useless return statement in run_queueAndreas Gruenbacher1-1/+0
2024-05-28gfs2: Remove unnecessary function prototypeAndreas Gruenbacher1-1/+0
2024-05-21Merge tag 'pull-bd_inode-1' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+1
2024-05-03gfs2: more obvious initializations of mapping->hostAl Viro1-1/+1
2024-04-24gfs2: Remove and replace gfs2_glock_queue_workAndreas Gruenbacher1-20/+15
2024-04-24gfs2: do_xmote fixesAndreas Gruenbacher1-19/+25
2024-04-24gfs2: finish_xmote cleanupAndreas Gruenbacher1-8/+13
2024-04-24gfs2: Fix potential glock use-after-free on unmountAndreas Gruenbacher1-3/+32
2024-04-24gfs2: Remove ill-placed consistency checkAndreas Gruenbacher1-1/+0
2024-04-24gfs2: Fix lru_count accountingAndreas Gruenbacher1-14/+13
2024-04-09gfs2: Fix "Make glock lru list scanning safer"Andreas Gruenbacher1-11/+13
2024-04-09Revert "gfs2: fix glock shrinker ref issues"Andreas Gruenbacher1-3/+1
2024-04-09gfs2: Fix "ignore unlock failures after withdraw"Andreas Gruenbacher1-1/+3
2024-04-09gfs2: Get rid of unnecessary test_and_set_bitAndreas Gruenbacher1-1/+2
2024-04-09gfs2: Don't set GLF_LOCK in gfs2_dispose_glock_lruAndreas Gruenbacher1-2/+1
2024-04-09gfs2: Replace gfs2_glock_queue_put with gfs2_glock_put_asyncAndreas Gruenbacher1-10/+17
2024-01-10Merge tag 'gfs2-v6.7-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-5/+42
2023-12-20gfs2: Rename gfs2_withdrawn to gfs2_withdrawing_or_withdrawnAndreas Gruenbacher1-4/+4
2023-12-20gfs2: Mark withdraws as unlikelyAndreas Gruenbacher1-2/+2
2023-12-18gfs2: Add GL_NOBLOCK flagAndreas Gruenbacher1-1/+38
2023-11-21fs: Rename mapping private membersMatthew Wilcox (Oracle)1-1/+1
2023-11-07Merge tag 'gfs2-v6.6-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-1/+0
2023-11-06gfs2: remove dead code in add_to_queueSu Hui1-1/+0
2023-11-02Merge tag 'mm-stable-2023-11-01-14-33' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-9/+10
2023-10-30Merge tag 'vfs-6.7.misc' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfsLinus Torvalds1-4/+7
2023-10-19file: convert to SLAB_TYPESAFE_BY_RCUChristian Brauner1-4/+7
2023-10-04gfs2: dynamically allocate the gfs2-glock shrinkerQi Zheng1-9/+10
2023-09-18gfs2: fix glock shrinker ref issuesBob Peterson1-1/+3
2023-09-05gfs2: Rename SDF_DEACTIVATING to SDF_KILLAndreas Gruenbacher1-2/+2
2023-09-05gfs2: Rename sd_{ glock => kill }_waitAndreas Gruenbacher1-3/+3
2023-09-05gfs2: conversion deadlock do_promote bypassBob Peterson1-0/+2
2023-09-05gfs2: Remove LM_FLAG_PRIORITY flagAndreas Gruenbacher1-17/+6
2023-09-05gfs2: do_promote cleanupAndreas Gruenbacher1-6/+6
2023-06-15gfs2: Rename remaining "transaction" glock referencesAndreas Gruenbacher1-2/+2
2023-01-31gfs2: Cease delete work during unmountBob Peterson1-0/+3
2023-01-31gfs2: Split the two kinds of glock "delete" workAndreas Gruenbacher1-18/+39
2023-01-31gfs2: Move delete workqueue into super blockAndreas Gruenbacher1-14/+7
2023-01-31gfs2: Get rid of GLF_PENDING_DELETE flagAndreas Gruenbacher1-23/+3
2023-01-31gfs2: Make glock lru list scanning saferAndreas Gruenbacher1-5/+9
2023-01-31gfs2: Clean up gfs2_scan_glock_lruAndreas Gruenbacher1-9/+4
2023-01-27gfs2: gl_object races fixAndreas Gruenbacher1-2/+2
2022-12-15gfs2: Remove support for glock holder auto-demotion (2)Andreas Gruenbacher1-19/+20
2022-12-15gfs2: Remove support for glock holder auto-demotionAndreas Gruenbacher1-158/+36
2022-12-10gfs2: Minor gfs2_try_evict cleanupAndreas Gruenbacher1-7/+5
2022-12-06gfs2: Partially revert gfs2_inode_lookup changeAndreas Gruenbacher1-0/+2
2022-12-06gfs2: Uninline and improve glock_{set,clear}_objectAndreas Gruenbacher1-0/+42
2022-12-06gfs2: Avoid dequeuing GL_ASYNC glock holders twiceAndreas Gruenbacher1-0/+8
2022-12-06gfs2: Make gfs2_glock_hold return its glock argumentAndreas Gruenbacher1-3/+3
2022-10-09gfs2: Merge branch 'for-next.nopid' into for-nextAndreas Gruenbacher1-10/+203
2022-08-25gfs2: Clear flags when withdraw prevents xmoteBob Peterson1-2/+20
2022-08-25gfs2: Dequeue waiters when withdrawnBob Peterson1-0/+14
2022-08-25gfs2: Use TRY lock in gfs2_inode_lookup for UNLINKED inodesBob Peterson1-3/+5
2022-08-06Merge tag 'gfs2-v5.19-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-123/+77
2022-08-05Merge part of branch 'for-next.instantiate' into for-nextAndreas Gruenbacher1-115/+72
2022-07-03mm: shrinkers: provide shrinkers with namesRoman Gushchin1-1/+1
2022-06-29gfs2: List traversal in do_promote is safeAndreas Gruenbacher1-2/+2
2022-06-29gfs2: do_promote glock holder stealing fixBob Peterson1-7/+12
2022-06-29gfs2: Use better variable nameAndreas Gruenbacher1-8/+8
2022-06-29gfs2: Make go_instantiate take a glockAndreas Gruenbacher1-1/+1
2022-06-29gfs2: Add new go_held glock operationAndreas Gruenbacher1-2/+8
2022-06-29gfs2: Revert 'Fix "truncate in progress" hang'Andreas Gruenbacher1-36/+5
2022-06-29gfs2: Instantiate glocks ouside of glock state engineAndreas Gruenbacher1-33/+33
2022-06-29gfs2: Fix up gfs2_glock_async_waitAndreas Gruenbacher1-38/+15
2022-06-29gfs2: Add GL_NOPID flag for process-independent glock holdersAndreas Gruenbacher1-10/+31
2022-06-29gfs2: Add flocks to glockfd debugfs fileAndreas Gruenbacher1-0/+23
2022-06-29gfs2: Add glockfd debugfs fileAndreas Gruenbacher1-0/+149
2022-06-28gfs2: Minor gfs2_glock_nq_m cleanupAndreas Gruenbacher1-5/+1
2022-06-09gfs2: Rewrap overlong comment in do_promoteBob Peterson1-3/+4
2022-05-24gfs2: Use container_of() for gfs2_glock(aspace)Kees Cook1-16/+19
2022-02-15gfs2: Initialize gh_error in gfs2_glock_nqAndreas Gruenbacher1-1/+1
2022-02-15gfs2: Make use of list_is_firstAndreas Gruenbacher1-1/+1
2022-02-15gfs2: cancel timed-out glock requestsAndreas Gruenbacher1-0/+10
2022-02-11Revert "gfs2: check context in gfs2_glock_put"Andreas Gruenbacher1-3/+0
2021-12-04gfs2: Fix gfs2_instantiate descriptionAndreas Gruenbacher1-1/+1
2021-12-04gfs2: Fix __gfs2_holder_init function name in kernel-doc commentAndreas Gruenbacher1-1/+1
2021-12-02gfs2: Fix remote demote of weak glock holdersAndreas Gruenbacher1-3/+7
2021-11-08gfs2: Fix "Introduce flag for glock holder auto-demotion"Andreas Gruenbacher1-2/+2
2021-11-05gfs2: Fix atomic bug in gfs2_instantiateAndreas Gruenbacher1-6/+2
2021-10-25gfs2: check context in gfs2_glock_putAlexander Aring1-0/+3
2021-10-25gfs2: Fix glock_hash_walk bugsAndreas Gruenbacher1-10/+12
2021-10-25gfs2: Cancel remote delete work asynchronouslyAndreas Gruenbacher1-1/+1
2021-10-25gfs2: fix GL_SKIP node_scope problemsBob Peterson1-4/+38
2021-10-25gfs2: split glock instantiation off from do_promoteBob Peterson1-3/+17
2021-10-25gfs2: further simplify do_promoteBob Peterson1-20/+23
2021-10-25gfs2: re-factor function do_promoteBob Peterson1-36/+35
2021-10-25gfs2: Remove 'first' trace_gfs2_promote argumentAndreas Gruenbacher1-2/+2
2021-10-25gfs2: change go_lock to go_instantiateBob Peterson1-2/+2
2021-10-25gfs2: Save ip from gfs2_glock_nq_initAndreas Gruenbacher1-4/+4
2021-10-25gfs2: move GL_SKIP check from glops to do_promoteBob Peterson1-12/+14
2021-10-25gfs2: Add GL_SKIP holder flag to dump_holderBob Peterson1-0/+2
2021-10-20gfs2: Introduce flag for glock holder auto-demotionBob Peterson1-36/+179
2021-10-20gfs2: Clean up function may_grantAndreas Gruenbacher1-49/+68
2021-08-20gfs2: Remove redundant check from gfs2_glock_dqBob Peterson1-6/+5
2021-08-20gfs2: Eliminate vestigial HIF_FIRSTBob Peterson1-2/+0
2021-06-28gfs2: Use list_move_tail instead of list_del/list_add_tailBaokun Li1-2/+1
2021-05-31gfs2: Fix use-after-free in gfs2_glock_shrink_scanHillf Danton1-1/+1
2021-05-20gfs2: fix a deadlock on withdraw-during-mountBob Peterson1-3/+21
2021-05-20gfs2: fix scheduling while atomic bug in glocksBob Peterson1-0/+2
2021-05-05mm: introduce and use mapping_empty()Matthew Wilcox (Oracle)1-2/+1
2021-04-29Merge tag 'gfs2-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/gf...Linus Torvalds1-5/+7
2021-04-09gfs2: Fix a number of kernel-doc warningsLee Jones1-4/+6
2021-04-08treewide: Change list_sort to use const pointersSami Tolvanen1-1/+2
2021-04-03gfs2: Eliminate gh parameter from go_xmote_bh funcBob Peterson1-1/+1
2021-02-17gfs2: Allow node-wide exclusive glock sharingBob Peterson1-3/+19
2020-12-01Revert "GFS2: Prevent delete work from occurring on glocks used for create"Andreas Gruenbacher1-8/+0
2020-11-24gfs2: set lockdep subclass for iopen glocksAlexander Aring1-0/+1
2020-11-03gfs2: Wake up when sd_glock_disposal becomes zeroAlexander Aring1-1/+2
2020-10-20gfs2: Only access gl_delete for iopen glocksBob Peterson1-4/+7
2020-10-20gfs2: Fix comments to glock_hash_walkBob Peterson1-2/+1
2020-10-15gfs2: eliminate GLF_QUEUED flag in favor of list_empty(gl_holders)Bob Peterson1-8/+3
2020-10-14gfs2: call truncate_inode_pages_final for address space glocksBob Peterson1-1/+6
2020-10-14gfs2: convert to use DEFINE_SEQ_ATTRIBUTE macroLiu Shixin1-18/+2