[Ocfs2-devel] [Patch] fix bug 123 - dead lock when truncate
Ling, Xiaofeng
xiaofeng.ling at intel.com
Sun Aug 22 22:07:33 CDT 2004
In the call stack
ocfs_setattr ->
ocfs2_zero_extend->ocfs_get_block->ocfs_lookup_file_allocation
There are two down_write(&OCFS_I(inode)->ip_io_sem)
file.c +1549
alloc.c +4179
------------------------------------------------------------------------
------------------------------------------
Index: file.c
===================================================================
--- file.c (revision 1370)
+++ file.c (working copy)
@@ -1471,7 +1471,9 @@
OCFS_I(inode)->ip_mmu_private = inode->i_size;
}
up (&(OCFS_I(inode)->ip_sem));
+ up_write(&OCFS_I(inode)->ip_io_sem);
status = ocfs2_zero_extend(inode);
+ down_write(&OCFS_I(inode)->ip_io_sem);
if (status < 0) {
LOG_ERROR_STATUS(status);
goto bail;
-------------------
Intel China Software Lab.
iNet: 8-752-1243
8621-52574545-1243(O)
xfling at users.sourceforge.net
Opinions are my own and don't represent those of my employer
More information about the Ocfs2-devel
mailing list