On Fri, Sep 04, 2020 at 12:05:37PM -0400, Jeff Layton wrote: > +static const char *ceph_encrypted_get_link(struct dentry *dentry, struct inode *inode, > + struct delayed_call *done) > +{ > + struct ceph_inode_info *ci = ceph_inode(inode); > + > + if (inode->i_link) > + return inode->i_link; Checking ->i_link here is unnecessary since the VFS already does it before calling inode_operations::get_link(). It's also wrong since it's missing READ_ONCE() to handle ->i_link being set concurrently. - Eric