static void add_gc_inode(struct inode *inode, struct list_head *ilist) { struct inode_entry *new_ie; if (inode == find_gc_inode(inode->i_ino, ilist)) { iput(inode); return; } new_ie = f2fs_kmem_cache_alloc(winode_slab, GFP_NOFS); new_ie->inode = inode; list_add_tail(&new_ie->list, ilist); }
static void add_gc_inode(struct inode *inode, struct list_head *ilist) { struct inode_entry *new_ie; if (inode == find_gc_inode(inode->i_ino, ilist)) { iput(inode); return; } repeat: new_ie = kmem_cache_alloc(winode_slab, GFP_NOFS); if (!new_ie) { cond_resched(); goto repeat; } new_ie->inode = inode; list_add_tail(&new_ie->list, ilist); }