diff for duplicates of <1289848574-sup-2632@think> diff --git a/a/1.txt b/N1/1.txt index 231e496..ccf1fe9 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,7 +1,6 @@ Excerpts from Christoph Hellwig's message of 2010-11-15 14:12:04 -0500: > On Mon, Nov 15, 2010 at 07:46:57PM +0100, Andrea Arcangeli wrote: -> > I've been reading the writeout() in mm/migrate.c and I wonder if mayb= -e +> > I've been reading the writeout() in mm/migrate.c and I wonder if maybe > > that should have been WB_SYNC_ALL or if we miss a > > wait_on_page_writeback in after ->writepage() returns? Can you have a > > look there? We check the PG_writeback bit when the page is not dirty @@ -9,22 +8,22 @@ e > > writeout() we don't return to wait on PG_writeback. We make sure to > > hold the page lock after ->writepage returns but that doesn't mean > > PG_writeback isn't still set. ->=20 +> > I didn't even notice that, but the WB_SYNC_NONE does indeed seem > buggy to me. If we set the sync_mode to WB_SYNC_NONE filesystem > can and frequently do trylock operations and might just skip to > write it out completely. ->=20 +> > So we defintively do need to change writeout to do a WB_SYNC_ALL > writeback. In addition to that we'll also need the > wait_on_page_writeback call to make sure we actually wait for I/O > to finish. ->=20 +> > Also what protects us from updating the page while we write it out? > PG_writeback on many filesystems doesn't protect writes from modifying > the in-flight buffer, and just locking the page after ->writepage > is racy without a check that nothing changed. ->=20 +> Oh, I should have thought of that. Btrfs (and most of the time xfs?) will wait on PageWriteback internally, but for the ext crowd we're in @@ -37,4 +36,4 @@ 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/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ -Don't email: <a href=3Dmailto:"dont@kvack.org"> email@kvack.org </a> +Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N1/content_digest index da502f0..803a8d4 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -21,8 +21,7 @@ "b\0" "Excerpts from Christoph Hellwig's message of 2010-11-15 14:12:04 -0500:\n" "> On Mon, Nov 15, 2010 at 07:46:57PM +0100, Andrea Arcangeli wrote:\n" - "> > I've been reading the writeout() in mm/migrate.c and I wonder if mayb=\n" - "e\n" + "> > I've been reading the writeout() in mm/migrate.c and I wonder if maybe\n" "> > that should have been WB_SYNC_ALL or if we miss a\n" "> > wait_on_page_writeback in after ->writepage() returns? Can you have a\n" "> > look there? We check the PG_writeback bit when the page is not dirty\n" @@ -30,22 +29,22 @@ "> > writeout() we don't return to wait on PG_writeback. We make sure to\n" "> > hold the page lock after ->writepage returns but that doesn't mean\n" "> > PG_writeback isn't still set.\n" - ">=20\n" + "> \n" "> I didn't even notice that, but the WB_SYNC_NONE does indeed seem\n" "> buggy to me. If we set the sync_mode to WB_SYNC_NONE filesystem\n" "> can and frequently do trylock operations and might just skip to\n" "> write it out completely.\n" - ">=20\n" + "> \n" "> So we defintively do need to change writeout to do a WB_SYNC_ALL\n" "> writeback. In addition to that we'll also need the\n" "> wait_on_page_writeback call to make sure we actually wait for I/O\n" "> to finish.\n" - ">=20\n" + "> \n" "> Also what protects us from updating the page while we write it out?\n" "> PG_writeback on many filesystems doesn't protect writes from modifying\n" "> the in-flight buffer, and just locking the page after ->writepage\n" "> is racy without a check that nothing changed.\n" - ">=20\n" + "> \n" "\n" "Oh, I should have thought of that. Btrfs (and most of the time xfs?)\n" "will wait on PageWriteback internally, but for the ext crowd we're in\n" @@ -58,6 +57,6 @@ "the body to majordomo@kvack.org. For more info on Linux MM,\n" "see: http://www.linux-mm.org/ .\n" "Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/\n" - "Don't email: <a href=3Dmailto:\"dont@kvack.org\"> email@kvack.org </a>" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -a918cb0e3ec36095f8c92f847c2369a1e0368fdbfa0f8c06c48794afe65897e2 +d871697ec99cce0fef046450861d4923864d64a901e48badc1ae30cdcbcb95bc
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.