]> git.baikalelectronics.ru Git - kernel.git/commit
ceph: cap tracking for async directory operations
authorJeff Layton <jlayton@kernel.org>
Tue, 18 Feb 2020 19:12:45 +0000 (14:12 -0500)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 30 Mar 2020 10:42:41 +0000 (12:42 +0200)
commita62aab9bd2c19dff1c7fb8cbfc47267f4f15db35
tree048d1659867836f385f2df12ee1cb57ca6819f9e
parentc42445806c6a4fcf9f659cff43e1b9f5988de036
ceph: cap tracking for async directory operations

Track and correctly handle directory caps for asynchronous operations.
Add aliases for Frc caps that we now designate at Dcu caps (when dealing
with directories).

Unlike file caps, we don't reclaim these when the session goes away, and
instead preemptively release them. In-flight async dirops are instead
handled during reconnect phase. The client needs to re-do a synchronous
operation in order to re-get directory caps.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c
fs/ceph/mds_client.c
fs/ceph/mds_client.h
include/linux/ceph/ceph_fs.h