[pull] master from ceph:master#1524
Merged
pull[bot] merged 15 commits intousefulalgorithm:masterfrom May 19, 2020
Merged
Conversation
Otherwise inodes' xattr maps may reference a large shared buffer (from omap fetch or journal read). If mds trims and loads inode repeatly, each inode can reference different large buffer in the worst case. Fixes: https://tracker.ceph.com/issues/45090 Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
This patch adds check to catch blacklisted error from filer. On catching this error, mds will respawn. Fixes: https://tracker.ceph.com/issues/43598 Signed-off-by: Varsha Rao <varao@redhat.com>
Signed-off-by: Varsha Rao <varao@redhat.com>
Client::init sets this, but if we later call ll_register_callbacks again with a new set of function pointers that has umask_cb set to nullptr, it'll override the value in the cmount. Only reset umask_cb if the one in args is not nullptr. Signed-off-by: Jeff Layton <jlayton@redhat.com>
C doesn't have the string type, and doesn't understand references. Change client_dentry_callback_t to take separate pointer and length arguments. Signed-off-by: Jeff Layton <jlayton@redhat.com>
...so we can use it to include other definitions and types that need to be shared with in-tree code that doesn't want to include libcephfs.h. Signed-off-by: Jeff Layton <jlayton@redhat.com>
Put them in a common interface header file. This also allows us to eliminate the duplicate definition of ceph_deleg_cb_t in Delegation.h. Signed-off-by: Jeff Layton <jlayton@redhat.com>
Allow applications based on libcephfs to register callbacks, like we do for ceph-fuse. Signed-off-by: Jeff Layton <jlayton@redhat.com>
trim_caps() walks the list of caps on the session, and releases non-auth caps, and attempts to trim dentries until the cache size is under the max_caps value requested by MDS. This is fine for FUSE, but doesn't really match the use-case of nfs-ganesha. Ganesha typically looks up inodes by inode number, not by dentry. It's quite possible that after a restart, we may have a ton of outstanding inodes with no dentries associated with them. Ganesha holds a reference to each inode, so libcephfs can't release them, and we don't have a way to request that ganesha do so. Add a new ino_release_callback and finisher. The intent is to allow libcephfs to "upcall" to the application and request that it release references to a specific inode. Signed-off-by: Jeff Layton <jlayton@redhat.com>
Create a bunch of files and get their inode numbers. Remount, look them all up by inode number and hold references. Stop looking up inodes as soon as we get a callback from libcephfs. If we got the callback, return success. Fail otherwise. Since this has the same cluster setup as the other client_trim_caps testcase, we can piggyback onto that task. Signed-off-by: Jeff Layton <jlayton@redhat.com>
Fixes: https://tracker.ceph.com/issues/45552 Signed-off-by: Xiubo Li <xiubli@redhat.com>
* refs/pull/34596/head: test: add a new program for testing ino_release_cb client: add a new inode release request callback client: expose ceph_ll_register_callbacks via libcephfs client: move callback typedefs and arg struct into ceph_ll_client.h client: rename ceph_statx.h to ceph_ll_client.h client: make client_dentry_callback_t more friendly for C client: only override umask_cb with non-NULL values Reviewed-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Zheng Yan <zyan@redhat.com> Reviewed-by: Greg Farnum <gfarnum@redhat.com>
* refs/pull/34144/head: Filer: Add error handler in _do_purge_range() mds: Handle blacklisted error in purge queue Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Zheng Yan <zyan@redhat.com>
* refs/pull/34571/head: mds: don't shallow copy when decoding xattr map Reviewed-by: Greg Farnum <gfarnum@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/35062/head: qa/tasks/cephfs/fuse_mount.py: retry when the admin socket is not ready Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Rishabh Dave <ridave@redhat.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]. Want to support this open source service? Please star it : )