Fix deadlock caused by race between xfs_iunpin marking an inode
dirty, and the same inode being reallocated and reused by create.
The unlock_new_inode and mark_inode_dirty manage to corrupt the
i_state flags and end up leaving I_LOCK|I_NEW set.
Date: Thu Jun 12 19:46:25 PDT 2003
Workarea: jen.americas.sgi.com:/src/lord/xfs-linux.2.4
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: 2.4.x-xfs:slinx:151120a
linux/fs/xfs/xfs_inode.c - 1.377
- do not call mark_inode_dirty in xfs_iunpin when I_NEW is set,
it is in the process of going into a transaction which will
also mark it dirty.
|