aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/delegation.c
AgeCommit message (Expand)AuthorFilesLines
2025-07-22NFS: use a hash table for delegation lookupChristoph Hellwig1-1/+27
2025-07-22NFS: track active delegations per-serverChristoph Hellwig1-16/+19
2025-07-22NFS: move the delegation_watermark module parameterChristoph Hellwig1-2/+1
2025-07-22NFS: cleanup nfs_inode_reclaim_delegationChristoph Hellwig1-24/+24
2025-07-14nfs: new tracepoint in nfs_delegation_need_returnJeff Layton1-0/+2
2025-07-14nfs: add a tracepoint to nfs_inode_detach_delegation_lockedJeff Layton1-0/+2
2025-05-28NFSv4: Allow FREE_STATEID to clean up delegationsBenjamin Coddington1-7/+18
2025-03-28NFSv4: Check for delegation validity in nfs_start_delegation_return_locked()Trond Myklebust1-1/+2
2025-03-17NFSv4: Avoid unnecessary scans of filesystems for delayed delegationsTrond Myklebust1-6/+12
2025-03-17NFSv4: Avoid unnecessary scans of filesystems for expired delegationsTrond Myklebust1-0/+7
2025-03-17NFSv4: Avoid unnecessary scans of filesystems for returning delegationsTrond Myklebust1-0/+5
2025-03-17NFSv4: Don't trigger uneccessary scans for return-on-close delegationsTrond Myklebust1-15/+18
2025-02-19NFSv4: Fix a deadlock when recovering state on a sillyrenamed fileTrond Myklebust1-0/+37
2024-10-09NFS: remove revoked delegation from server's delegation listDai Ngo1-0/+5
2024-08-22NFS: Avoid unnecessary rescanning of the per-server delegation listTrond Myklebust1-10/+5
2024-07-08NFSv4: Delegreturn must set m/atime when they are delegatedTrond Myklebust1-4/+5
2024-07-08NFSv4: Add support for delegated atime and mtime attributesTrond Myklebust1-5/+27
2024-07-08NFSv4: Add a flags argument to the 'have_delegation' callbackTrond Myklebust1-13/+13
2024-03-16Merge tag 'nfs-for-6.9-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-4/+0
2024-03-09NFSv4: nfs4_do_open() is incorrectly triggering state recoveryTrond Myklebust1-4/+0
2024-02-05nfs: adapt to breakup of struct file_lockJeff Layton1-1/+1
2024-02-05nfs: convert to using new filelock helpersJeff Layton1-1/+1
2023-11-01NFSv4: fairly test all delegations on a SEQ4_ revocationBenjamin Coddington1-1/+6
2022-11-30nfs: use locks_inode_context helperJeff Layton1-1/+1
2022-10-27NFSv4: Fix a potential state reclaim deadlockTrond Myklebust1-19/+17
2022-02-25NFSv4: Charge NFSv4 open state trackers to kmemcgTrond Myklebust1-1/+1
2021-10-20NFSv4: Fixes for nfs4_inode_return_delegation()Trond Myklebust1-4/+6
2021-06-13NFSv4: Add lease breakpoints in case of a delegation recall or returnTrond Myklebust1-6/+17
2021-06-13NFSv4: Fix delegation return in cases where we have to retryTrond Myklebust1-15/+56
2021-04-14NFS: Don't store NFS_INO_REVAL_FORCEDTrond Myklebust1-5/+16
2021-04-05NFS: Fix up incorrect documentationTrond Myklebust1-4/+4
2021-01-10NFS: nfs_delegation_find_inode_server must first reference the superblockTrond Myklebust1-5/+7
2020-04-03NFS: Beware when dereferencing the delegation credTrond Myklebust1-1/+8
2020-03-16NFSv4: Clean up nfs_delegation_reap_expired()Trond Myklebust1-43/+40
2020-03-16NFSv4: Clean up nfs_delegation_reap_unclaimed()Trond Myklebust1-39/+37
2020-03-16NFSv4: Clean up nfs_client_return_marked_delegations()Trond Myklebust1-69/+60
2020-03-16NFSv4: nfs_update_inplace_delegation() should update delegation credTrond Myklebust1-1/+19
2020-02-13NFSv4: Ensure the delegation cred is pinned when we call delegreturnTrond Myklebust1-3/+8
2020-02-13NFSv4: Ensure the delegation is pinned in nfs_do_return_delegation()Trond Myklebust1-7/+26
2020-02-12NFSv4: Fix revalidation of dentries with delegationsTrond Myklebust1-0/+6
2020-02-03NFSv4: Limit the total number of cached delegationsTrond Myklebust1-1/+7
2020-02-03NFSv4: Add accounting for the number of active delegations heldTrond Myklebust1-12/+24
2020-02-03NFSv4: Try to return the delegation immediately when marked for return on closeTrond Myklebust1-0/+33
2020-02-03NFS: Clear NFS_DELEGATION_RETURN_IF_CLOSED when the delegation is returnedTrond Myklebust1-1/+3
2020-02-03NFSv4: nfs_inode_evict_delegation() should set NFS_DELEGATION_RETURNINGTrond Myklebust1-0/+1
2019-11-03NFSv4: Handle NFS4ERR_OLD_STATEID in delegreturnTrond Myklebust1-0/+1
2019-11-03NFSv4: Fix races between open and delegreturnTrond Myklebust1-35/+29
2019-11-03NFS: nfs_inode_find_state_and_recover() fix stateid matchingTrond Myklebust1-1/+2
2019-11-03NFSv4: Fix nfs4_inode_make_writeable()Trond Myklebust1-4/+12
2019-11-03NFSv4: Don't reclaim delegations that have been returned or revokedTrond Myklebust1-1/+1
2019-11-03NFSv4: Ignore requests to return the delegation if it was revokedTrond Myklebust1-3/+4
2019-11-03NFSv4: Revoke the delegation on success in nfs4_delegreturn_done()Trond Myklebust1-0/+36
2019-11-03NFSv4: Update the stateid seqid in nfs_revoke_delegation()Trond Myklebust1-2/+13
2019-11-03NFSv4: Clear the NFS_DELEGATION_REVOKED flag in nfs_update_inplace_delegation()Trond Myklebust1-0/+1
2019-11-03NFSv4: Hold the delegation spinlock when updating the seqidTrond Myklebust1-0/+2
2019-11-03NFSv4: Don't remove the delegation from the super_list more than onceTrond Myklebust1-0/+4
2019-11-03NFS: Rename nfs_inode_return_delegation_noreclaim()Trond Myklebust1-4/+7
2019-11-03NFSv4: fail nfs4_refresh_delegation_stateid() when the delegation was revokedTrond Myklebust1-1/+2
2019-11-03NFSv4: Delegation recalls should not find revoked delegationsTrond Myklebust1-1/+2
2019-11-01NFS: Fix an RCU lock leak in nfs4_refresh_delegation_stateid()Trond Myklebust1-1/+1
2019-11-01NFSv4: Don't allow a cached open with a revoked delegationTrond Myklebust1-0/+10
2019-08-04NFSv4.1: Only reap expired delegationsTrond Myklebust1-6/+17
2019-08-04NFSv4: Fix delegation state recoveryTrond Myklebust1-1/+1
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-05-09NFSv4: don't mark all open state for recovery when handling recallable state ...Scott Mayhew1-0/+12
2019-02-21NFS: Fix a soft lockup in the delegation recovery codeTrond Myklebust1-8/+12
2019-02-20NFS: Fix up documentation warningsTrond Myklebust1-1/+1
2018-12-19NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'.NeilBrown1-15/+13
2018-11-13NFSv4: Fix an Oops during delegation callbacksTrond Myklebust1-2/+9
2018-10-05NFSv4.x: fix lock recovery during delegation recallOlga Kornievskaia1-3/+3
2018-09-30NFS: Convert lookups of the open context to RCUTrond Myklebust1-5/+6
2018-06-14NFS: Fix an rcu deadlock in nfs_delegation_find_inode()Anna Schumaker1-1/+3
2018-06-08NFSv4: Return NFS4ERR_DELAY when a delegation recall fails due to igrab()Trond Myklebust1-7/+9
2018-06-04NFSv4: Ensure the inode is clean when we set a delegationTrond Myklebust1-0/+4
2018-05-31NFS: Avoid quadratic search when freeing delegations.NeilBrown1-4/+53
2018-05-31NFS: use cond_resched() when restarting walk of delegation list.NeilBrown1-0/+3
2018-05-31NFS: slight optimization for walking list for delegationsNeilBrown1-3/+3
2018-04-10NFSv4: Fix the nfs_inode_set_delegation() argumentsTrond Myklebust1-13/+22
2018-04-10NFSv4: Don't return the delegation when not needed by NFSv4.x (x>0)Trond Myklebust1-0/+17
2018-01-29nfs: convert to new i_version APIJeff Layton1-1/+2
2017-11-17NFSv4: Retry CLOSE and DELEGRETURN on NFS4ERR_OLD_STATEID.Trond Myklebust1-0/+27
2017-08-15NFS: Use an atomic_long_t to count the number of requestsTrond Myklebust1-1/+1
2016-12-01NFSv4: Optimise away forced revalidation when we know the attributes are OKTrond Myklebust1-4/+0
2016-09-27NFS: Always call nfs_inode_find_state_and_recover() when revoking a delegationTrond Myklebust1-4/+8
2016-09-27NFSv4: Fix a race in nfs_inode_reclaim_delegation()Trond Myklebust1-7/+5
2016-09-27NFSv4: nfs_inode_find_state_and_recover() should check all stateidsTrond Myklebust1-0/+19
2016-09-27NFSv4: Ensure we don't re-test revoked and freed stateidsTrond Myklebust1-0/+3
2016-09-27NFSv4.1: Deal with server reboots during delegation expiration recoveryTrond Myklebust1-0/+26
2016-09-27NFSv4.1: Test delegation stateids when server declares "some state revoked"Trond Myklebust1-1/+96
2016-09-27NFSv4.x: Allow callers of nfs_remove_bad_delegation() to specify a stateidTrond Myklebust1-7/+23
2016-09-27NFSv4: nfs4_copy_delegation_stateid() must fail if the delegation is invalidTrond Myklebust1-4/+13
2016-09-27NFSv4: Don't report revoked delegations as valid in nfs_have_delegation()Trond Myklebust1-0/+1
2016-05-17NFSv4: Use the right stateid for delegations in setattr, read and writeTrond Myklebust1-3/+6
2015-10-08NFSv4: Don't use synchronous delegation recall in exception handlingTrond Myklebust1-4/+2
2015-09-20NFSv4: Recovery of recalled read delegations is brokenTrond Myklebust1-3/+5
2015-09-07NFSv4: Respect the server imposed limit on how many changes we may cacheTrond Myklebust1-0/+25
2015-09-07NFSv4: Express delegation limit in units of pagesTrond Myklebust1-2/+2
2015-04-23Merge branch 'bugfixes'Trond Myklebust1-1/+1
2015-03-27NFSv4: Return delegations synchronously in evict_inodeTrond Myklebust1-1/+1
2015-03-12NFSv4: Append delegations to the per-client list instead of prependingTrond Myklebust1-1/+1
2015-03-02NFSv4: Ensure we skip delegations that are already being returnedTrond Myklebust1-0/+6
2015-03-02NFSv4: Pin the superblock while we're returning the delegationTrond Myklebust1-4/+16
2015-03-02NFSv4: Ensure we honour NFS_DELEGATION_RETURNING in nfs_inode_set_delegation()Trond Myklebust1-1/+4
2015-03-02NFSv4: Ensure that we don't reap a delegation that is being returnedTrond Myklebust1-5/+7
2015-03-01NFSv4: Don't call put_rpccred() under the rcu_read_lock()Trond Myklebust1-1/+1
2015-02-18Merge branch 'cleanups'Trond Myklebust1-9/+14
2015-02-13NFSv4: Kill unused nfs_inode->delegation_state fieldTrond Myklebust1-4/+0
2015-02-11Merge tag 'nfs-for-3.20-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-3/+17
2015-01-24NFSv4: Deal with atomic upgrades of an existing delegationTrond Myklebust1-3/+17
2015-01-16locks: add a dedicated spinlock to protect i_flctx listsJeff Layton1-4/+4
2015-01-16locks: convert posix locks to file_lock_contextJeff Layton1-19/+9
2015-01-16locks: move flock locks to file_lock_contextJeff Layton1-2/+17
2014-11-12NFS: Don't try to reclaim delegation open state if recovery failedTrond Myklebust1-0/+2
2014-11-12NFSv4: Fix races between nfs_remove_bad_delegation() and delegation returnTrond Myklebust1-2/+21
2014-07-12nfs4: add nfs4_check_delegationPeng Tao1-9/+25
2014-03-02NFS: Fix a delegation callback raceTrond Myklebust1-4/+7
2013-08-22NFSv4: Add tracepoints for debugging delegationsTrond Myklebust1-0/+3
2013-06-29locks: protect most of the file_lock handling with i_lockJeff Layton1-5/+5
2013-04-10nfs: remove unnecessary check for NULL inode->i_flock from nfs_delegation_cla...Jeff Layton1-3/+1
2013-04-05NFSv4: Fix CB_RECALL_ANY to only return delegations that are not in useTrond Myklebust1-7/+7
2013-04-05NFSv4: Clean up nfs_expire_all_delegationsTrond Myklebust1-16/+27
2013-04-05NFSv4: Fix nfs_server_return_all_delegationsTrond Myklebust1-7/+17
2013-04-05NFSv4: Be less aggressive about returning delegations for open filesTrond Myklebust1-3/+27
2013-04-05NFSv4: Clean up delegation recall error handlingTrond Myklebust1-3/+3
2013-02-11NFSv4: Ensure delegation recall and byte range lock removal don't conflictTrond Myklebust1-1/+6
2013-02-11NFSv4.1: Don't lose locks when a server reboots during delegation returnTrond Myklebust1-43/+104
2012-06-29NFS: Create a return_delegation rpc opBryan Schumaker1-1/+1
2012-06-29NFS: Create a have_delegation rpc_opBryan Schumaker1-1/+1
2012-06-29NFS: Use nfs4_destroy_server() to clean up NFS v4Bryan Schumaker1-2/+1
2012-05-08NFSv4: nfs_client_return_marked_delegations can't flush dataTrond Myklebust1-3/+7
2012-05-08NFS: nfs_inode_return_delegation() should always flush dirty dataTrond Myklebust1-1/+5
2012-03-11NFS: Fix a number of sparse warningsTrond Myklebust1-1/+4
2012-03-10NFSv4.0: Re-establish the callback channel on NFS4ERR_CB_PATHDOWNTrond Myklebust1-17/+0
2012-03-08NFS: Don't copy read delegation stateids in setattrTrond Myklebust1-6/+10
2012-03-07NFSv4.1 handle DS stateid errorsAndy Adamson1-0/+1
2012-03-06NFSv4: Add helpers for basic copying of stateidsTrond Myklebust1-8/+6
2012-03-06NFSv4: Further clean-ups of delegation stateid validationTrond Myklebust1-1/+1
2012-03-06NFSv4.1: Fix matching of the stateids when returning a delegationTrond Myklebust1-1/+1
2012-03-06NFS: Properly handle the case where the delegation is revokedTrond Myklebust1-0/+11
2011-10-18NFS: Use the inode->i_version to cache NFSv4 change attribute informationTrond Myklebust1-1/+1
2011-07-25NFSv4: Don't use the delegation->inode in nfs_mark_return_delegation()Trond Myklebust1-8/+8
2011-05-27nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu()Lai Jiangshan1-13/+1
2011-01-28NFS: Fix an NFS client lockdep issueTrond Myklebust1-2/+4
2011-01-06NFS: Move cl_delegations to the nfs_server structChuck Lever1-90/+247
2011-01-06NFS: Introduce nfs_detach_delegations()Chuck Lever1-21/+20
2010-11-17BKL: remove extraneous #include <smp_lock.h>Arnd Bergmann1-1/+0
2010-10-05fs/locks.c: prepare for BKL removalArnd Bergmann1-5/+5
2010-08-03NFS: Clean up the callers of nfs_wb_all()Trond Myklebust1-9/+1
2010-06-22NFSv41: Fix nfs_async_inode_return_delegation() uglinessTrond Myklebust1-4/+2
2010-05-14NFSv4: Don't use GFP_KERNEL allocations in state recoveryTrond Myklebust1-1/+1
2010-05-01NFS: Fix RCU issues in the NFSv4 delegation codeDavid Howells1-21/+23
2010-05-01NFSv4: Fix the locking in nfs_inode_reclaim_delegation()Trond Myklebust1-14/+28
2010-03-30include cleanup: Update gfp.h and slab.h includes to prepare for breaking imp...Tejun Heo1-0/+1
2009-12-05nfs41: v2 fix cb_recall bugAlexandros Batsakis1-3/+6
2009-12-05nfs41: V2 initial support for CB_RECALL_ANYAlexandros Batsakis1-1/+1
2009-12-05nfs4: V2 return/expire delegations depending on their typeAlexandros Batsakis1-4/+18
2009-12-05nfs4: minor delegation cleaningAlexandros Batsakis1-4/+2
2009-12-03NFSv4: Fix a potential state manager deadlock when returning delegationsTrond Myklebust1-14/+28
2009-07-12headers: smp_lock.h reduxAlexey Dobriyan1-0/+1
2009-06-17NFS: Ensure we always hold the BKL when dereferencing inode->i_flockTrond Myklebust1-2/+14
2009-06-17NFSv4: Move error handling out of the delegation generic codeTrond Myklebust1-15/+3
2008-12-23NFSv4: Convert delegation->type field to fmode_tTrond Myklebust1-1/+1
2008-12-23NFSv4: Return unreferenced delegations more promptlyTrond Myklebust1-0/+42
2008-12-23NFSv4: Clean up the asynchronous delegation returnTrond Myklebust1-54/+19
2008-12-23NFSv4: Clean up nfs_expire_all_delegations()Trond Myklebust1-26/+5
2008-12-23NFSv4: Rename the state reclaimer threadTrond Myklebust1-1/+1
2008-12-23NFSv4: Clean up NFS4ERR_CB_PATH_DOWN error management...Trond Myklebust1-6/+8
2008-12-23NFSv4: Clean up the support for returning multiple delegationsTrond Myklebust1-52/+45
2008-12-23NFSv4: Remove nfs_client->cl_semTrond Myklebust1-5/+0
2008-12-23NFS: Use atomic bitops when changing struct nfs_delegation->flagsTrond Myklebust1-3/+3
2008-12-23NFSv4: Fix up the dereferencing of delegation->inodeTrond Myklebust1-8/+31
2008-12-23NFSv4: Fix up another delegation related raceTrond Myklebust1-1/+6
2008-05-16nfs: replace remaining __FUNCTION__ occurrencesHarvey Harrison1-2/+2
2008-02-20nfs: fix sparse warningsHarvey Harrison1-1/+1
2008-01-30NFSv4: Deal more correctly with duplicate delegationsTrond Myklebust1-38/+51
2008-01-30NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inodeTrond Myklebust1-4/+25
2008-01-30NFS: eliminate NIPQUAD(clp->cl_addr.sin_addr)Chuck Lever1-4/+6
2007-10-19NFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.cTrond Myklebust1-1/+2
2007-10-11NFSv4: Fix a typo in nfs_inode_reclaim_delegationTrond Myklebust1-1/+3
2007-10-09NFS: Replace file->private_data with calls to nfs_file_open_context()Trond Myklebust1-1/+1
2007-08-07NFSv4: Don't call put_rpccred() from an rcu callbackTrond Myklebust1-6/+15
2007-07-10NFSv4: Defer inode revalidation when setting up a delegationTrond Myklebust1-4/+6
2007-07-10NFSv4: Use RCU to protect delegationsTrond Myklebust1-51/+63
2007-07-10NFSv4: Support recalling delegations by stateid part 2Trond Myklebust1-1/+1
2007-07-10NFSv4: Support recalling delegations by stateidTrond Myklebust1-30/+50
2007-07-10NFSv4: Cleanup: pass the nfs_open_context to open recovery codeTrond Myklebust1-1/+1
2007-07-10NFS: Replace vfsmount and dentry in nfs_open_context with struct pathTrond Myklebust1-1/+1
2007-05-14NFS: Fix some 'sparse' warnings...Trond Myklebust1-1/+1
2006-09-27[PATCH] fs: Removing useless castsPanagiotis Issaris1-6/+1
2006-09-22NFS: Generalise the nfs_client structureDavid Howells1-4/+5
2006-09-22NFS: Rename nfs_server::nfs4_stateDavid Howells1-6/+6
2006-09-22NFS: Rename struct nfs4_client to struct nfs_clientDavid Howells1-12/+12
2006-06-30Remove obsolete #include <linux/config.h>Jörn Engel1-1/+0
2006-03-20NFSv4: Send the delegation stateid for SETATTR callsTrond Myklebust1-0/+19
2006-01-06NFSv4: Fix an Oops in nfs_do_expire_all_delegationsTrond Myklebust1-4/+2
2006-01-06NFSv4: Ensure DELEGRETURN returns attributesTrond Myklebust1-2/+0
2006-01-06NFSv4: Ensure change attribute returned by GETATTR callback conforms to specTrond Myklebust1-0/+1
2006-01-06NFSv4: Send RENEW requests to the server only when we're holding stateTrond Myklebust1-0/+46
2005-11-07[PATCH] kfree cleanup: fsJesper Juhl1-2/+1
2005-11-04NFSv4: Recover locks too when returning a delegationTrond Myklebust1-2/+36