From 0a50679ce9eb8ded7bf20685e9d32724ded9cb8d Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Mon, 4 Aug 2014 13:30:20 -0700 Subject: Add zfs_iput_async() interface Handle all iputs in zfs_purgedir() and zfs_inode_destroy() asynchronously to prevent deadlocks. When the iputs are allowed to run synchronously in the destroy call path deadlocks between xattr directory inodes and their parent file inodes are possible. Signed-off-by: Brian Behlendorf Signed-off-by: Richard Yao Closes #457 --- include/sys/zfs_vnops.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/sys/zfs_vnops.h b/include/sys/zfs_vnops.h index c9fecf8ba..c331035c5 100644 --- a/include/sys/zfs_vnops.h +++ b/include/sys/zfs_vnops.h @@ -79,6 +79,7 @@ extern int zfs_putpage(struct inode *ip, struct page *pp, extern int zfs_dirty_inode(struct inode *ip, int flags); extern int zfs_map(struct inode *ip, offset_t off, caddr_t *addrp, size_t len, unsigned long vm_flags); +extern void zfs_iput_async(struct inode *ip); #ifdef __cplusplus } -- cgit v1.2.3