ceph_ll_get() updates the reference to the corresponding inode.
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
return last;
}
+void Client::ll_get(Inode *in)
+{
+ std::scoped_lock lock(client_lock);
+ _ll_get(in);
+}
+
bool Client::ll_forget(Inode *in, uint64_t count)
{
std::scoped_lock lock(client_lock);
int ll_lookupx(Inode *parent, const char *name, Inode **out,
struct ceph_statx *stx, unsigned want, unsigned flags,
const UserPerm& perms);
+ void ll_get(Inode *in);
bool ll_forget(Inode *in, uint64_t count);
bool ll_put(Inode *in);
int ll_get_snap_ref(snapid_t snap);
int ceph_ll_lookup(struct ceph_mount_info *cmount, Inode *parent,
const char *name, Inode **out, struct ceph_statx *stx,
unsigned want, unsigned flags, const UserPerm *perms);
+void ceph_ll_get(struct ceph_mount_info *cmount, struct Inode *in);
int ceph_ll_put(struct ceph_mount_info *cmount, struct Inode *in);
int ceph_ll_forget(struct ceph_mount_info *cmount, struct Inode *in,
int count);
flags, *perms);
}
+extern "C" void ceph_ll_get(class ceph_mount_info *cmount, Inode *in)
+{
+ cmount->get_client()->ll_get(in);
+}
+
extern "C" int ceph_ll_put(class ceph_mount_info *cmount, Inode *in)
{
return (cmount->get_client()->ll_put(in));