[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