[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

recursive lock-enter-deadlock



A short question (I don't have a recent 2.4.x at hand, currently):

Is this recursive lock-enter-deadlock (2.4.0) fixed in newer kernels?

Regards,
        Ralf





void truncate_inode_pages(struct address_space * mapping, loff_t lstart) 
{
        unsigned long start = (lstart + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
        unsigned partial = lstart & (PAGE_CACHE_SIZE - 1);

repeat:
        spin_lock(&pagecache_lock);
        if (truncate_list_pages(&mapping->clean_pages, start, &partial))
                goto repeat;
        if (truncate_list_pages(&mapping->dirty_pages, start, &partial))
                goto repeat;
        if (truncate_list_pages(&mapping->locked_pages, start, &partial))
                goto repeat;
        spin_unlock(&pagecache_lock);
}

 -----------------------------------------------------------------
|  Ralf Oehler
|  GDI - Gesellschaft fuer Digitale Informationstechnik mbH
|
|  E-Mail:      R.Oehler@GDImbH.com
|  Tel.:        +49 6182-9271-23 
|  Fax.:        +49 6182-25035           
|  Mail:        GDI, Bensbruchstraße 11, D-63533 Mainhausen
|  HTTP:        www.GDImbH.com
 -----------------------------------------------------------------

time is a funny concept

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/