On Sun, Jun 2, 2019 at 9:21 AM Yan, Zheng <zyan@xxxxxxxxxx> wrote: > > On 6/2/19 10:43 AM, Al Viro wrote: > > On Sun, Jun 02, 2019 at 10:25:46AM +0800, Yan, Zheng wrote: > >> remove_session_caps() relies on __wait_on_freeing_inode(), to wait for > >> freezing inode to remove its caps. But VFS wakes freeing inode waiters > >> before calling destroy_inode(). > > > > *blink* > > > > Which tree is that against? > > > >> -static void ceph_i_callback(struct rcu_head *head) > >> -{ > >> - struct inode *inode = container_of(head, struct inode, i_rcu); > >> - struct ceph_inode_info *ci = ceph_inode(inode); > >> - > >> - kfree(ci->i_symlink); > >> - kmem_cache_free(ceph_inode_cachep, ci); > >> -} > > > > ... is gone from mainline, and AFAICS not reintroduced in ceph tree. > > What am I missing here? > > > > Sorry, I should send it ceph-devel list Hi Zheng, I have rebased testing on top of 5.2-rc6 and dropped this patch. It conflicts with Al's cfa6d41263ca ("ceph: use ->free_inode()") in mainline and I don't see a new version. Please take a look. Thanks, Ilya