Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f12bd11 authored by Yan, Zheng's avatar Yan, Zheng Committed by Sage Weil
Browse files

ceph: drop unconnected inodes



Positve dentry and corresponding inode are always accompanied in MDS reply.
So no need to keep inode in the cache after dropping all its aliases.

Signed-off-by: default avatarYan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: default avatarSage Weil <sage@inktank.com>
parent 56f91aad
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -436,6 +436,16 @@ void ceph_destroy_inode(struct inode *inode)
	call_rcu(&inode->i_rcu, ceph_i_callback);
}

int ceph_drop_inode(struct inode *inode)
{
	/*
	 * Positve dentry and corresponding inode are always accompanied
	 * in MDS reply. So no need to keep inode in the cache after
	 * dropping all its aliases.
	 */
	return 1;
}

/*
 * Helpers to fill in size, ctime, mtime, and atime.  We have to be
 * careful because either the client or MDS may have more up to date
+1 −0
Original line number Diff line number Diff line
@@ -686,6 +686,7 @@ static const struct super_operations ceph_super_ops = {
	.alloc_inode	= ceph_alloc_inode,
	.destroy_inode	= ceph_destroy_inode,
	.write_inode    = ceph_write_inode,
	.drop_inode	= ceph_drop_inode,
	.sync_fs        = ceph_sync_fs,
	.put_super	= ceph_put_super,
	.show_options   = ceph_show_options,
+1 −0
Original line number Diff line number Diff line
@@ -691,6 +691,7 @@ extern const struct inode_operations ceph_file_iops;

extern struct inode *ceph_alloc_inode(struct super_block *sb);
extern void ceph_destroy_inode(struct inode *inode);
extern int ceph_drop_inode(struct inode *inode);

extern struct inode *ceph_get_inode(struct super_block *sb,
				    struct ceph_vino vino);