diff options
| author | Joseph Qi <[email protected]> | 2015-09-04 15:43:37 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2015-09-04 16:54:41 -0700 |
| commit | 512f62acbdf1ee81ce4882c85835f5420a1c304c (patch) | |
| tree | 0c34ad3fd96408a4c572634a939cb2769f129bd2 /tools/perf/scripts/python/net_dropmonitor.py | |
| parent | 81cf09edc793688cbf53c3082802571e2018f3ac (diff) | |
ocfs2: fix race between dio and recover orphan
During direct io the inode will be added to orphan first and then
deleted from orphan. There is a race window that the orphan entry will
be deleted twice and thus trigger the BUG when validating
OCFS2_DIO_ORPHANED_FL in ocfs2_del_inode_from_orphan.
ocfs2_direct_IO_write
...
ocfs2_add_inode_to_orphan
>>>>>>>> race window.
1) another node may rm the file and then down, this node
take care of orphan recovery and clear flag
OCFS2_DIO_ORPHANED_FL.
2) since rw lock is unlocked, it may race with another
orphan recovery and append dio.
ocfs2_del_inode_from_orphan
So take inode mutex lock when recovering orphans and make rw unlock at the
end of aio write in case of append dio.
Signed-off-by: Joseph Qi <[email protected]>
Reported-by: Yiwen Jiang <[email protected]>
Cc: Weiwei Wang <[email protected]>
Cc: Mark Fasheh <[email protected]>
Cc: Joel Becker <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/net_dropmonitor.py')
0 files changed, 0 insertions, 0 deletions