Merge tag 'io_uring-5.15-2021-09-11' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / fs / ceph / inode.c
index 1bd2cc0..2df1e12 100644 (file)
@@ -581,16 +581,9 @@ void ceph_evict_inode(struct inode *inode)
         */
        if (ci->i_snap_realm) {
                if (ceph_snap(inode) == CEPH_NOSNAP) {
-                       struct ceph_snap_realm *realm = ci->i_snap_realm;
                        dout(" dropping residual ref to snap realm %p\n",
-                            realm);
-                       spin_lock(&realm->inodes_with_caps_lock);
-                       list_del_init(&ci->i_snap_realm_item);
-                       ci->i_snap_realm = NULL;
-                       if (realm->ino == ci->i_vino.ino)
-                               realm->inode = NULL;
-                       spin_unlock(&realm->inodes_with_caps_lock);
-                       ceph_put_snap_realm(mdsc, realm);
+                            ci->i_snap_realm);
+                       ceph_change_snap_realm(inode, NULL);
                } else {
                        ceph_put_snapid_map(mdsc, ci->i_snapid_map);
                        ci->i_snap_realm = NULL;