Hi guys,

This code for generic_file_write calls vmtruncate without i_sem held.  Is
that intentional?  It should cause problems for reiserfs at least...

-chris

diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux-2.4.0/mm/filemap.c linux.ac/mm/filemap.c
--- linux-2.4.0/mm/filemap.c    Wed Jan  3 02:59:45 2001
+++ linux.ac/mm/filemap.c       Thu Jan 11 17:26:55 2001
@@ -2578,6 +2625,13 @@
        ClearPageUptodate(page);
        kunmap(page);
        goto unlock;
+sync_failure:
+       UnlockPage(page);
+       deactivate_page(page);
+       page_cache_release(page);
+       if (pos + bytes > inode->i_size)
+               vmtruncate(inode, inode->i_size);
+       goto done;
 }

 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to