aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/caps.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-11ceph: switch to use cap_delay_lock for the unlink delay listXiubo Li1-2/+2
2024-03-18ceph: break the check delayed cap loop every 5sXiubo Li1-0/+8
2024-02-13ceph: add ceph_cap_unlink_work to fire check_caps() immediatelyXiubo Li1-1/+16
2024-02-13ceph: always queue a writeback when revoking the Fb capsXiubo Li1-24/+24
2024-02-07ceph: always check dir caps asynchronouslyXiubo Li1-6/+0
2024-02-07ceph: prevent use-after-free in encode_cap_msg()Rishabh Dave1-1/+2
2024-01-15ceph: fix deadlock or deadcode of misusing dget()Xiubo Li1-6/+3
2023-11-10Merge tag 'ceph-for-6.7-rc1' of https://github.com/ceph/ceph-clientLinus Torvalds1-325/+438
2023-11-03ceph: print cluster fsid and client global_id in all debug logsXiubo Li1-300/+410
2023-11-03ceph: rename _to_client() to _to_fs_client()Xiubo Li1-20/+20
2023-11-03ceph: pass the mdsc to several helpersXiubo Li1-6/+9
2023-10-18ceph: convert to new timestamp accessorsJeff Layton1-2/+2
2023-09-06Merge tag 'ceph-for-6.6-rc1' of https://github.com/ceph/ceph-clientLinus Torvalds1-29/+206
2023-08-24ceph: fix updating i_truncate_pagecache_size for fscryptXiubo Li1-2/+2
2023-08-24ceph: drop messages from MDS when unmountingXiubo Li1-1/+5
2023-08-24ceph: add truncate size handling support for fscryptXiubo Li1-5/+13
2023-08-24ceph: handle fscrypt fields in cap messages from MDSJeff Layton1-2/+83
2023-08-24ceph: size handling in MClientRequest, cap updates and inode tracesJeff Layton1-18/+26
2023-08-24ceph: encode encrypted name in ceph_mdsc_build_path and dentry releaseJeff Layton1-4/+28
2023-08-22ceph: fscrypt_auth handling for cephJeff Layton1-13/+65
2023-07-13ceph: convert to ctime accessor functionsJeff Layton1-1/+1
2023-06-30ceph: don't let check_caps skip sending responses for revoke msgsXiubo Li1-0/+9
2023-06-30ceph: issue a cap release immediately if no cap existsXiubo Li1-11/+29
2023-06-30ceph: trigger to flush the buffer when making snapshotXiubo Li1-0/+6
2023-06-08ceph: fix use-after-free bug for inodes when flushing capsnapsXiubo Li1-0/+6
2023-04-30ceph: fix potential use-after-free bug when trimming capsXiubo Li1-1/+1
2023-02-20Merge tag 'locks-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayt...Linus Torvalds1-0/+1
2023-02-02ceph: blocklist the kclient when receiving corrupted snap traceXiubo Li1-3/+13
2023-01-11filelock: move file locking definitions to separate header fileJeff Layton1-0/+1
2023-01-02ceph: switch to vfs_inode_has_locks() to fix file lock bugXiubo Li1-1/+1
2022-12-12ceph: try to check caps immediately after async creating finishesXiubo Li1-0/+2
2022-12-12ceph: remove useless session parameter for check_caps()Xiubo Li1-14/+9
2022-11-14ceph: fix NULL pointer dereference for req->r_sessionXiubo Li1-36/+12
2022-10-04ceph: Use kcalloc for allocating multiple elementsKenneth Lee1-1/+1
2022-10-04ceph: no need to wait for transition RDCACHE|RD -> RDXiubo Li1-2/+6
2022-10-04ceph: wake up the waiters if any new caps comesXiubo Li1-0/+4
2022-08-03ceph: flush the dirty caps immediatelly when quota is approachingXiubo Li1-2/+3
2022-08-03ceph: don't get the inline data for new creating filesXiubo Li1-1/+1
2022-08-03ceph: make change_auth_cap_ses a global symbolXiubo Li1-2/+2
2022-08-03ceph: don't leak snap_rwsem in handle_cap_grantJeff Layton1-14/+13
2022-06-29ceph: wait on async create before checking caps for syncfsJeff Layton1-0/+1
2022-06-09netfs: Fix gcc-12 warning by embedding vfs inode in netfs_i_contextDavid Howells1-52/+52
2022-05-25ceph: try to queue a writeback if revoking failsXiubo Li1-4/+24
2022-05-25ceph: rename unsafe_request_wait()Xiubo Li1-4/+4
2022-05-25ceph: replace usage of found with dedicated list iterator variableJakob Koschel1-17/+15
2022-05-25ceph: use dedicated list iterator variableJakob Koschel1-3/+4
2022-04-25ceph: fix possible NULL pointer dereference for req->r_sessionXiubo Li1-0/+4
2022-04-25ceph: get snap_rwsem read lock in handle_cap_export for ceph_add_capNiels Dossche1-0/+3
2022-03-21ceph: assign the ci only when the inode isn't NULLXiubo Li1-1/+1
2022-03-01ceph: wait for async create reply before sending any cap messagesJeff Layton1-0/+14
2022-01-26ceph: put the requests/sessions when it fails to alloc memoryXiubo Li1-18/+37
2022-01-20Merge tag 'ceph-for-5.17-rc1' of git://github.com/ceph/ceph-clientLinus Torvalds1-2/+1
2022-01-13ceph: remove redundant Lsx caps checkXiubo Li1-2/+1
2022-01-12Merge tag 'fscache-rewrite-20220111' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-1/+2
2022-01-11ceph: conversion to new fscache APIJeff Layton1-1/+2
2021-12-01ceph: fix duplicate increment of opened_inodes metricHu Weiwen1-8/+8
2021-11-08ceph: shut down access to inode when async create failsJeff Layton1-6/+6
2021-11-08ceph: refactor remove_session_caps_cbJeff Layton1-0/+116
2021-11-08ceph: don't use -ESTALE as special return code in try_get_cap_refsJeff Layton1-8/+8
2021-11-08ceph: print inode numbers instead of pointer valuesJeff Layton1-4/+5
2021-10-19ceph: fix handling of "meta" errorsJeff Layton1-9/+3
2021-09-21ceph: fix off by one bugs in unsafe_request_wait()Dan Carpenter1-2/+2
2021-09-03ceph: fix dereference of null pointer cfColin Ian King1-0/+3
2021-09-02ceph: lockdep annotations for try_nonblocking_invalidateJeff Layton1-0/+2
2021-09-02ceph: don't WARN if we're forcibly removing the session capsXiubo Li1-9/+30
2021-09-02ceph: remove the capsnaps when removing capsXiubo Li1-17/+51
2021-09-02ceph: print more information when we can't find snaprealmJeff Layton1-6/+5
2021-09-02ceph: add ceph_change_snap_realm() helperJeff Layton1-33/+3
2021-09-02ceph: flush the mdlog before waiting on unsafe reqsXiubo Li1-0/+76
2021-09-02ceph: make iterate_sessions a global symbolXiubo Li1-25/+1
2021-09-02ceph: fix memory leak on decode error in ceph_handle_capsJeff Layton1-2/+3
2021-08-25ceph: correctly handle releasing an embedded cap flushXiubo Li1-8/+13
2021-08-04ceph: reduce contention in ceph_check_delayed_caps()Luis Henriques1-1/+16
2021-06-29ceph: eliminate ceph_async_iput()Jeff Layton1-6/+3
2021-06-29ceph: don't take s_mutex in ceph_flush_snapsJeff Layton1-10/+3
2021-06-29ceph: don't take s_mutex in try_flush_capsJeff Layton1-14/+2
2021-06-29ceph: don't take s_mutex or snap_rwsem in ceph_check_capsJeff Layton1-61/+11
2021-06-29ceph: eliminate session->s_gen_ttl_lockJeff Layton1-9/+6
2021-05-06Merge tag 'ceph-for-5.13-rc1' of git://github.com/ceph/ceph-clientLinus Torvalds1-18/+9
2021-04-27ceph: fix up some bare fetches of i_sizeJeff Layton1-3/+3
2021-04-27ceph: drop pinned_page parameter from ceph_get_capsJeff Layton1-6/+5
2021-04-27ceph: fix fscache invalidationJeff Layton1-0/+1
2021-04-27ceph: rip out old fscache readpage handlingJeff Layton1-9/+0
2021-03-08ceph: don't allow type or device number to change on non-I_NEW inodesJeff Layton1-1/+7
2021-02-16ceph: defer flushing the capsnap if the Fb is usedXiubo Li1-13/+20
2021-02-16ceph: allow queueing cap/snap handling after putting cap referencesJeff Layton1-4/+25
2021-02-16ceph: fix flush_snap logic after putting capsJeff Layton1-4/+6
2020-12-14ceph: fix race in concurrent __ceph_remove_cap invocationsLuis Henriques1-2/+9
2020-12-14ceph: fix up some warnings on W=1 buildsJeff Layton1-7/+4
2020-12-14ceph: add new RECOVER mount_state when recovering sessionJeff Layton1-1/+1
2020-12-14ceph: don't WARN when removing caps due to blocklistingJeff Layton1-1/+2
2020-11-04ceph: check session state after bumping session->s_seqJeff Layton1-1/+1
2020-10-12ceph: comment cleanups and clarificationsJeff Layton1-0/+16
2020-10-12ceph: break up send_cap_msgJeff Layton1-32/+28
2020-10-12ceph: drop separate mdsc argument from __send_capJeff Layton1-6/+5
2020-10-12ceph: metrics for opened files, pinned caps and opened inodesXiubo Li1-2/+36
2020-10-12ceph: add ceph_sb_to_mdsc helper support to parse the mdscXiubo Li1-2/+1
2020-08-24ceph: fix inode number handling on arches with 32-bit ino_tJeff Layton1-7/+7
2020-08-03ceph: clean up and optimize ceph_check_delayed_caps()Jeff Layton1-6/+4
2020-08-03ceph: add global total_caps to count the mdsc's total caps numberXiubo Li1-0/+2
2020-06-01ceph: skip checking caps when session reconnecting and releasing reqsXiubo Li1-2/+13
2020-06-01ceph: ceph_kick_flushing_caps needs the s_mutexJeff Layton1-0/+2
2020-06-01ceph: request expedited service on session's last cap flushJeff Layton1-2/+6
2020-06-01ceph: convert mdsc->cap_dirty to a per-session listJeff Layton1-13/+65
2020-06-01ceph: reset i_requested_max_size if file write is not wantedYan, Zheng1-10/+19
2020-06-01ceph: fix potential race in ceph_check_capsJeff Layton1-1/+13
2020-06-01ceph: don't take i_ceph_lock in handle_cap_importJeff Layton1-3/+2
2020-06-01ceph: don't release i_ceph_lock in handle_cap_truncJeff Layton1-8/+10
2020-06-01ceph: add comments for handle_cap_flush_ack logicJeff Layton1-1/+13
2020-06-01ceph: split up __finish_cap_flushJeff Layton1-31/+29
2020-06-01ceph: reorganize __send_cap for less spinlock abuseJeff Layton1-79/+86
2020-06-01ceph: add caps perf metric for each superblockXiubo Li1-0/+19
2020-05-27ceph: flush release queue when handling caps for unknown inodeJeff Layton1-1/+1
2020-05-04ceph: fix double unlock in handle_cap_export()Wu Bo1-0/+1
2020-05-04ceph: fix special error code in ceph_try_get_caps()Wu Bo1-1/+1
2020-03-30ceph: wait for async creating inode before requesting new max sizeYan, Zheng1-0/+5
2020-03-30ceph: don't skip updating wanted caps when cap is staleYan, Zheng1-2/+6
2020-03-30ceph: request new max size only when there is auth capYan, Zheng1-1/+1
2020-03-30ceph: cleanup return error of try_get_cap_refs()Yan, Zheng1-11/+15
2020-03-30ceph: check all mds' caps after page writebackYan, Zheng1-1/+1
2020-03-30ceph: update i_requested_max_size only when sending cap msg to auth mdsYan, Zheng1-1/+2
2020-03-30ceph: simplify calling of ceph_get_fmode()Yan, Zheng1-23/+3
2020-03-30ceph: remove delay check logic from ceph_check_caps()Yan, Zheng1-111/+37
2020-03-30ceph: consider inode's last read/write when calculating wanted capsYan, Zheng1-54/+129
2020-03-30ceph: always renew caps if mds_wanted is insufficientYan, Zheng1-21/+15
2020-03-30ceph: cache layout in parent dir on first sync createJeff Layton1-3/+10
2020-03-30ceph: don't take refs to want mask unless we have all bitsYan, Zheng1-1/+4
2020-03-30ceph: cap tracking for async directory operationsJeff Layton1-8/+19
2020-03-30ceph: make __take_cap_refs non-staticJeff Layton1-6/+6
2020-03-30ceph: add infrastructure for waiting for async create to completeJeff Layton1-1/+12
2020-03-30ceph: more caps.c lockdep assertionsJeff Layton1-0/+3
2020-03-30ceph: clean up kick_flushing_inode_caps()Jeff Layton1-12/+9
2020-03-30ceph: check inode type for CEPH_CAP_FILE_{CACHE,RD,REXTEND,LAZYIO}Yan, Zheng1-12/+32
2020-03-30ceph: add refcounting for Fx capsJeff Layton1-0/+7
2020-01-27ceph: only touch the caps which have the subset mask requestedXiubo Li1-1/+2
2019-12-09ceph: switch to global cap helperXiubo Li1-14/+10
2019-12-09ceph: show tasks waiting on caps in debugfs caps fileJeff Layton1-0/+17
2019-10-29ceph: fix use-after-free in __ceph_remove_cap()Luis Henriques1-5/+5
2019-09-16ceph: remove incorrect comment above __send_capJeff Layton1-4/+0
2019-09-16ceph: remove CEPH_I_NOFLUSHJeff Layton1-10/+0
2019-09-16ceph: remove unneeded test in try_flush_capsJeff Layton1-1/+1
2019-09-16ceph: have __mark_caps_flushing return flush_tidJeff Layton1-10/+10
2019-09-16ceph: fix comments over ceph_add_capJeff Layton1-1/+3
2019-09-16ceph: fetch cap_gen under spinlock in ceph_add_capJeff Layton1-2/+7
2019-09-16ceph: remove ceph_get_cap_mds and __ceph_get_cap_mdsJeff Layton1-31/+0
2019-09-16ceph: invalidate all write mode filp after reconnectYan, Zheng1-0/+13
2019-09-16ceph: return -EIO if read/write against filp that lost file locksYan, Zheng1-6/+22
2019-09-16ceph: pass filp to ceph_get_caps()Yan, Zheng1-15/+17
2019-09-16ceph: track and report error of async metadata operationYan, Zheng1-7/+17
2019-08-22ceph: fix buffer free while holding i_ceph_lock in __ceph_build_xattrs_blob()Luis Henriques1-1/+4
2019-07-08ceph: more precise CEPH_CLIENT_CAPS_PENDING_CAPSNAPYan, Zheng1-11/+30
2019-07-08ceph: kick flushing and flush snaps before sending normal cap messageYan, Zheng1-4/+14
2019-07-08ceph: clear CEPH_I_KICK_FLUSH flag inside __kick_flushing_caps()Yan, Zheng1-9/+4
2019-07-08ceph: handle change_attr in cap messagesJeff Layton1-9/+10
2019-07-08ceph: handle btime in cap messagesJeff Layton1-6/+12
2019-07-08ceph: add selinux supportYan, Zheng1-0/+1
2019-07-08ceph: hold i_ceph_lock when removing caps for freeing inodeYan, Zheng1-4/+6
2019-06-05ceph: fix error handling in ceph_get_caps()Yan, Zheng1-11/+11
2019-06-05ceph: avoid iput_final() while holding mutex or in dispatch threadYan, Zheng1-4/+8
2019-05-07ceph: print inode number in __caps_issued_mask debugging messagesJeff Layton1-6/+6
2019-05-07ceph: simplify arguments and return semantics of try_get_cap_refsJeff Layton1-46/+30
2019-05-07ceph: fix comment over ceph_drop_caps_for_unlinkJeff Layton1-1/+1
2019-05-07ceph: remove superfluous inode_lock in ceph_fsyncJeff Layton1-3/+0
2019-03-05ceph: add mount option to limit caps countYan, Zheng1-7/+26
2019-03-05ceph: touch existing cap when handling replyYan, Zheng1-0/+4
2019-03-05ceph: send cap releases more aggressivelyYan, Zheng1-17/+12
2019-03-05ceph: split large reconnect into multiple messagesYan, Zheng1-0/+6
2019-01-21ceph: clear inode pointer when snap realm gets dropped by its inodeYan, Zheng1-0/+2
2018-12-26ceph: update wanted caps after resuming stale sessionYan, Zheng1-17/+23
2018-12-26ceph: skip updating 'wanted' caps if caps are already issuedYan, Zheng1-10/+17
2018-12-26ceph: don't request excl caps when mount is readonlyYan, Zheng1-2/+5
2018-12-26ceph: don't update importing cap's mseq when handing cap exportYan, Zheng1-1/+0
2018-10-22ceph: add non-blocking parameter to ceph_try_get_caps()Luis Henriques1-3/+4
2018-10-22ceph: set timeout conditionally in __cap_delay_requeueXuehan Xu1-6/+8
2018-10-22ceph: reset cap hold timeout only for requeued inodeChengguang Xu1-1/+1
2018-08-13ceph: refactor error handling code in ceph_reserve_caps()Chengguang Xu1-33/+13
2018-08-13ceph: refactor ceph_unreserve_caps()Chengguang Xu1-30/+36
2018-08-02ceph: use timespec64 for inode timestampArnd Bergmann1-13/+13
2018-06-15Merge tag 'vfs-timespec64' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds1-3/+3
2018-06-05vfs: change inode times to use struct timespec64Deepa Dinamani1-3/+3
2018-06-04ceph: fix wrong check for the case of updating link countYan, Zheng1-2/+2
2018-06-04ceph: handle the new nfiles/nsubdirs fields in cap messageYan, Zheng1-5/+34
2018-06-04ceph: define argument structure for handle_cap_grantYan, Zheng1-54/+61
2018-06-04ceph: always get rstat from auth mdsYan, Zheng1-0/+2
2018-04-02ceph: quota: cache inode pointer in ceph_snap_realmLuis Henriques1-1/+3
2018-04-02ceph: optimizing cap reservationChengguang Xu1-29/+59
2018-04-02ceph: release unreserved caps if having enough available capsChengguang Xu1-1/+15
2018-04-02ceph: optimizing cap allocationChengguang Xu1-0/+16
2018-04-02ceph: adding protection for showing cap reservation infoChengguang Xu1-0/+4
2018-02-26ceph: flush dirty caps of unlinked inode ASAPZhi Zhang1-0/+26
2018-01-30ceph: improving efficiency of syncfsChengguang Xu1-1/+1
2018-01-29ceph: try to allocate enough memory for reserved capsZhi Zhang1-8/+53
2018-01-29ceph: fix race of queuing delayed capsYan, Zheng1-17/+16
2018-01-29ceph: delete unreachable code in ceph_check_caps()Yan, Zheng1-12/+3
2018-01-29ceph: limit rate of cap import/export error messagesYan, Zheng1-7/+15
2018-01-29ceph: fix incorrect snaprealm when adding capsYan, Zheng1-1/+13
2018-01-29ceph: use atomic_t for ceph_inode_info::i_shared_genYan, Zheng1-1/+1
2018-01-29ceph: voluntarily drop Ax cap for requests that create new inodeYan, Zheng1-6/+15
2017-11-13ceph: remove unused and redundant variable droppingColin Ian King1-2/+1
2017-11-13ceph: fix bool initialization/comparisonThomas Meyer1-3/+3