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.