Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mds: issue new caps when sending reply to client #14743

Merged
merged 1 commit into from May 11, 2017

Conversation

Projects
None yet
3 participants
@ukernel
Copy link
Member

ukernel commented Apr 24, 2017

After Locker::issue_new_caps() adds new Capability data struct,
do not issue caps immediately. Let CInode::encode_inodestate()
do the job instead. This can avoid various races that early reply
is not allowed, caps that haven't been sent to client gets revoked.

Fixes: http://tracker.ceph.com/issues/19635
Signed-off-by: "Yan, Zheng" zyan@redhat.com

mds: issue new caps when sending reply to client
After Locker::issue_new_caps() adds new Capability data struct,
do not issue caps immediately. Let CInode::encode_inodestate()
do the job instead. This can avoid various races that early reply
is not allowed, caps that haven't been sent to client gets revoked.

Fixes: http://tracker.ceph.com/issues/19635
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
@jcsp

This comment has been minimized.

Copy link
Contributor

jcsp commented Apr 24, 2017

Are there cases where we will have a new capability for a client, but that client does not have an outstanding request? Like if the client is not doing a metadata operation, just requesting e.g. buffered write capability?

@ukernel

This comment has been minimized.

Copy link
Member Author

ukernel commented Apr 25, 2017

No. capability for buffered write is handled by open request

@batrick

This comment has been minimized.

@jcsp

jcsp approved these changes May 11, 2017

@jcsp jcsp merged commit 745902a into ceph:master May 11, 2017

3 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodifed Submodules submodules for project are unmodified
Details
default Build finished.
Details

@ukernel ukernel deleted the ukernel:wip-19635 branch May 11, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.