All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <4B88BC95.9080406@jaysonking.com>

diff --git a/a/1.txt b/N1/1.txt
index 1b28c8b..bc23888 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -173,3 +173,20 @@ diff -urNp linux-2.6.27.orig/fs/ext4/inode.c linux-2.6.27/fs/ext4/inode.c
  				goto out_writepages;
  			}
  		}
+-
+ 		to_write -= wbc->nr_to_write;
+-		ret = mpage_da_writepages(mapping, wbc,
+-					  ext4_da_get_block_write);
++
++		mpd.get_block = ext4_da_get_block_write;
++		ret = mpage_da_writepages(mapping, wbc, &mpd);
++
+ 		ext4_journal_stop(handle);
++
++		if (mpd.retval == -ENOSPC)
++			jbd2_journal_force_commit_nested(sbi->s_journal);
++
++		/* reset the retry count */
+ 		if (ret == MPAGE_DA_EXTENT_TAIL) {
+ 			/*
+ 			 * got one extent now try with
diff --git a/a/content_digest b/N1/content_digest
index b6fecc9..72cdb5d 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -187,6 +187,23 @@
  "@@ -2502,11 +2529,17 @@ restart_loop:\n"
  " \t\t\t\tgoto out_writepages;\n"
  " \t\t\t}\n"
- " \t\t}"
+ " \t\t}\n"
+ "-\n"
+ " \t\tto_write -= wbc->nr_to_write;\n"
+ "-\t\tret = mpage_da_writepages(mapping, wbc,\n"
+ "-\t\t\t\t\t  ext4_da_get_block_write);\n"
+ "+\n"
+ "+\t\tmpd.get_block = ext4_da_get_block_write;\n"
+ "+\t\tret = mpage_da_writepages(mapping, wbc, &mpd);\n"
+ "+\n"
+ " \t\text4_journal_stop(handle);\n"
+ "+\n"
+ "+\t\tif (mpd.retval == -ENOSPC)\n"
+ "+\t\t\tjbd2_journal_force_commit_nested(sbi->s_journal);\n"
+ "+\n"
+ "+\t\t/* reset the retry count */\n"
+ " \t\tif (ret == MPAGE_DA_EXTENT_TAIL) {\n"
+ " \t\t\t/*\n"
+ " \t\t\t * got one extent now try with"
 
-a5f3705aaf44c93fc3a06402a459d4a7bc1cf0e7de9730c6ef761640e1411062
+a72e457fc18999e88d92a0c142a31a061e4de539ee9884952b127f84e22e4bf3

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.