aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/glock.c
AgeCommit message (Expand)AuthorFilesLines
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-50/+69
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
2020-08-03gfs2: Fix refcount leak in gfs2_glock_pokeAndreas Gruenbacher1-1/+3
2020-08-03gfs2: Add some flags missing from glock outputBob Peterson1-0/+6
2020-06-30gfs2: Don't sleep during glock hash walkAndreas Gruenbacher1-1/+4
2020-06-05Merge branch 'gfs2-iopen' into for-nextAndreas Gruenbacher1-11/+165
2020-06-05gfs2: Smarter iopen glock waitingAndreas Gruenbacher1-2/+32
2020-06-05gfs2: Wake up when setting GLF_DEMOTEAndreas Gruenbacher1-4/+14
2020-06-05gfs2: Check inode generation number in delete_work_funcAndreas Gruenbacher1-1/+3
2020-06-05gfs2: Minor gfs2_lookup_by_inum cleanupAndreas Gruenbacher1-1/+1
2020-06-05gfs2: Give up the iopen glock on contentionAndreas Gruenbacher1-0/+51
2020-06-05gfs2: Turn gl_delete into a delayed workAndreas Gruenbacher1-2/+45
2020-06-05gfs2: Keep track of deleted inode generations in LVBsAndreas Gruenbacher1-0/+19
2020-06-05gfs2: Allow ASPACE glocks to also have an lvbBob Peterson1-4/+3
2020-06-05gfs2: introduce new gfs2_glock_assert_withdrawBob Peterson1-3/+4
2020-06-05gfs2: print mapping->nrpages in glock dump for address space glocksBob Peterson1-9/+16
2020-05-08Revert "gfs2: Don't demote a glock until its revokes are written"Bob Peterson1-3/+0
2020-05-08gfs2: If go_sync returns error, withdraw but skip invalidateBob Peterson1-1/+2
2020-05-08gfs2: Fix error exit in do_xmoteBob Peterson1-1/+1
2020-03-27gfs2: Switch to list_{first,last}_entryAndreas Gruenbacher1-5/+5
2020-02-27gfs2: Do proper error checking for go_sync family of glops functionsBob Peterson1-2/+14
2020-02-27gfs2: Don't demote a glock until its revokes are writtenBob Peterson1-0/+3
2020-02-27gfs2: Check for log write errors before telling dlm to unlockBob Peterson1-3/+28
2020-02-27gfs2: fix infinite loop when checking ail item count before go_invalBob Peterson1-2/+15
2020-02-27gfs2: Force withdraw to replay journals and wait for it to finishBob Peterson1-3/+20
2020-02-20gfs2: Allow some glocks to be used during withdrawBob Peterson1-4/+29
2020-02-10gfs2: Rework how rgrp buffer_heads are managedBob Peterson1-8/+0
2020-01-20gfs2: Remove GFS2_MIN_LVB_SIZE defineAndreas Gruenbacher1-1/+1
2019-11-15gfs2: Close timing window with GLF_INVALIDATE_IN_PROGRESSBob Peterson1-1/+8
2019-11-14gfs2: Introduce function gfs2_withdrawnBob Peterson1-4/+3
2019-09-04gfs2: Use async glocks for renameBob Peterson1-2/+92
2019-09-04gfs2: create function gfs2_glock_update_hold_timeAndreas Gruenbacher1-6/+13
2019-09-03gfs2: Fix possible fs name overflowsBob Peterson1-1/+1
2019-06-27gfs2: dump fsid when dumping glock problemsBob Peterson1-13/+21
2019-06-27gfs2: Rename SDF_SHUTDOWN to SDF_WITHDRAWNBob Peterson1-3/+3
2019-06-27gfs2: Use IS_ERR_OR_NULLKefeng Wang1-1/+1
2019-06-08Merge tag 'spdx-5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gre...Linus Torvalds1-4/+1
2019-06-06Revert "gfs2: Replace gl_revokes with a GLF flag"Bob Peterson1-2/+2
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 398Thomas Gleixner1-4/+1
2019-05-07gfs2: Replace gl_revokes with a GLF flagBob Peterson1-2/+2
2019-05-07gfs2: Fix occasional glock use-after-freeAndreas Gruenbacher1-0/+1
2019-05-07gfs2: Fix lru_count going negativeRoss Lagerwall1-9/+13
2019-03-08gfs2: Fix missed wakeups in find_insert_glockAndreas Gruenbacher1-1/+1
2019-01-23gfs: no need to check return value of debugfs_create functionsGreg Kroah-Hartman1-56/+14
2018-12-12gfs2: Dump nrpages for inodes and their glocksBob Peterson1-1/+1
2018-10-05gfs2: Use fs_* functions instead of pr_* function where we canBob Peterson1-8/+9
2018-06-12treewide: kmalloc() -> kmalloc_array()Kees Cook1-1/+2
2018-04-12gfs2: Stop using rhashtable_walk_peekAndreas Gruenbacher1-19/+28
2018-02-01gfs2: Glock dump performance regression fixAndreas Gruenbacher1-22/+43
2017-12-11rhashtable: Change rhashtable_walk_start to return voidTom Herbert1-5/+2
2017-09-25gfs2: Fix debugfs glocks dumpAndreas Gruenbacher1-9/+5
2017-08-30gfs2: constify rhashtable_paramsArvind Yadav1-1/+1
2017-08-25GFS2: Fix up some sparse warningsBob Peterson1-3/+6
2017-08-10gfs2: Clean up waiting on glocksAndreas Gruenbacher1-20/+7
2017-08-10gfs2: gfs2_evict_inode: Put glocks asynchronouslyAndreas Gruenbacher1-1/+9
2017-08-10gfs2: gfs2_glock_get: Wait on freeing glocksAndreas Gruenbacher1-22/+104
2017-08-09GFS2: Don't waste time locking lru_lock for non-lru glocksBob Peterson1-0/+3
2017-07-07gfs2: Fix glock rhashtable rcu bugAndreas Gruenbacher1-2/+9
2017-07-05gfs2: Clean up glock work enqueuingAndreas Gruenbacher1-50/+74
2017-05-05GFS2: Allow glocks to be unlocked after withdrawBob Peterson1-2/+4
2017-04-03gfs2: Switch to rhashtable_lookup_get_insert_fastAndreas Gruenbacher1-24/+21
2017-03-16gfs2: Don't pack struct lm_locknameAndreas Gruenbacher1-1/+1
2017-03-16gfs2: Deduplicate gfs2_{glocks,glstats}_openAndreas Gruenbacher1-17/+9
2017-03-16gfs2: Replace rhashtable_walk_init with rhashtable_walk_enterAndreas Gruenbacher1-1/+1
2017-03-16GFS2: Prevent BUG from occurring when normal Withdraws occurBob Peterson1-0/+2
2017-02-23Merge tag 'gfs2-4.11.addendum' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-0/+5
2017-02-23gfs2: Add missing rcu locking for glock lookupAndrew Price1-0/+5
2017-02-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-nextLinus Torvalds1-11/+17
2017-02-21Merge tag 'gfs2-4.11.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-5/+7
2017-02-17gfs2: Use rhashtable walk interface in glock_hash_walkHerbert Xu1-11/+17
2016-12-25ktime: Cleanup ktime_set() usageThomas Gleixner1-1/+1
2016-12-24Replace <asm/uaccess.h> with <linux/uaccess.h> globallyLinus Torvalds1-1/+1
2016-12-15GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_nextDan Carpenter1-5/+7
2016-09-21gfs2: fix to detect failure of register_shrinkerChao Yu1-1/+7
2016-08-02GFS2: use BIT() macroFabian Frederick1-1/+1
2016-06-27gfs2: Lock holder cleanupAndreas Gruenbacher1-1/+1
2016-06-27gfs2: Get rid of gfs2_ilookupAndreas Gruenbacher1-9/+2
2016-06-27gfs2: Fix gfs2_lookup_by_inum lock inversionAndreas Gruenbacher1-2/+2
2016-05-20Merge tag 'gfs2-4.7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/g...Linus Torvalds1-2/+9
2016-04-12GFS2: fs/gfs2/glock.c: Deinline do_error, save 1856 bytesDenys Vlasenko1-1/+1
2016-04-05rhashtable: accept GFP flags in rhashtable_walk_initBob Copeland1-2/+2
2016-03-24GFS2: ignore unlock failures after withdrawBenjamin Marzinski1-1/+8
2016-03-15GFS2: Don't filter out I_FREEING inodes anymoreBob Peterson1-1/+1
2016-03-15GFS2: Prevent delete work from occurring on glocks used for createBob Peterson1-0/+7
2016-01-14GFS2: Check if iopen is held when deleting inodeBob Peterson1-0/+1
2015-12-14GFS2: Reintroduce a timeout in function gfs2_gl_hash_clearBob Peterson1-1/+3
2015-12-14GFS2: Reduce size of incore inodeBob Peterson1-5/+5
2015-11-16GFS2: Use rht_for_each_entry_rcu in glock_hash_walkAndrew Price1-2/+2
2015-10-29gfs2: Remove gl_spin defineAndreas Gruenbacher1-42/+42
2015-09-03gfs2: A minor "sbstats" cleanupAndreas Gruenbacher1-7/+6
2015-09-03gfs2: Make statistics unsigned, suitable for use with do_div()Ben Hutchings1-11/+11
2015-09-03GFS2: Use resizable hash table for glocksBob Peterson1-164/+100
2015-09-03GFS2: Move glock superblock pointer to field gl_nameBob Peterson1-17/+15
2015-09-03gfs2: Simplify the seq file code for "sbstats"Andreas Gruenbacher1-20/+11
2015-06-18GFS2: Don't add all glocks to the lruBob Peterson1-1/+2
2015-03-30gfs2: incorrect check for debugfs returnsChengyu Song1-19/+28
2015-02-12Merge branch 'for-3.20/bdi' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+0
2015-01-20fs: remove mapping->backing_dev_infoChristoph Hellwig1-1/+0
2015-01-09GFS2: Eliminate __gfs2_glock_remove_from_lruBob Peterson1-10/+3
2014-11-18GFS2: Deletion of unnecessary checks before two function callsMarkus Elfring1-2/+1
2014-10-08GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0)Fabian Frederick1-2/+2
2014-07-28Merge branch 'sched/urgent' into sched/core, to merge fixes before applying n...Ingo Molnar1-5/+9
2014-07-18GFS2: Allow flocks to use normal glock dq rather than dq_waitBob Peterson1-3/+1
2014-07-18GFS2: Use GFP_NOFS when allocating glocksSteven Whitehouse1-2/+2
2014-07-18GFS2: Fix race in glock lru glock disposalSteven Whitehouse1-3/+7
2014-07-18GFS2: Only wait for demote when last holder is dequeuedBob Peterson1-1/+3