generic_file_write change in 2.4.0-ac8

From: Chris Mason (mason@suse.com)
Date: Fri Jan 12 2001 - 15:26:32 EST


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 majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 15 2001 - 21:00:35 EST