Rework the code layout a bit.  No logic change.


---

 25-akpm/fs/mpage.c |   47 +++++++++++++++++++++++------------------------
 1 files changed, 23 insertions(+), 24 deletions(-)

diff -puN fs/mpage.c~mpage-cleanup fs/mpage.c
--- 25/fs/mpage.c~mpage-cleanup	2004-04-03 03:00:17.428582008 -0800
+++ 25-akpm/fs/mpage.c	2004-04-03 03:00:17.432581400 -0800
@@ -650,32 +650,31 @@ retry:
 			if (wbc->sync_mode != WB_SYNC_NONE)
 				wait_on_page_writeback(page);
 
-			if (page->mapping == mapping && !PageWriteback(page) &&
-						clear_page_dirty_for_io(page)) {
-				if (writepage) {
-					ret = (*writepage)(page, wbc);
-					if (ret) {
-						if (ret == -ENOSPC)
-							set_bit(AS_ENOSPC,
-							  &mapping->flags);
-						else
-							set_bit(AS_EIO,
-							  &mapping->flags);
-					}
-				} else {
-					bio = mpage_writepage(bio, page,
-						get_block, &last_block_in_bio,
-						&ret, wbc);
-				}
-				if (ret || (--(wbc->nr_to_write) <= 0))
-					done = 1;
-				if (wbc->nonblocking &&
-						bdi_write_congested(bdi)) {
-					wbc->encountered_congestion = 1;
-					done = 1;
+			if (page->mapping != mapping || PageWriteback(page) ||
+					!clear_page_dirty_for_io(page)) {
+				unlock_page(page);
+				continue;
+			}
+
+			if (writepage) {
+				ret = (*writepage)(page, wbc);
+				if (ret) {
+					if (ret == -ENOSPC)
+						set_bit(AS_ENOSPC,
+							&mapping->flags);
+					else
+						set_bit(AS_EIO,
+							&mapping->flags);
 				}
 			} else {
-				unlock_page(page);
+				bio = mpage_writepage(bio, page, get_block,
+						&last_block_in_bio, &ret, wbc);
+			}
+			if (ret || (--(wbc->nr_to_write) <= 0))
+				done = 1;
+			if (wbc->nonblocking && bdi_write_congested(bdi)) {
+				wbc->encountered_congestion = 1;
+				done = 1;
 			}
 		}
 		pagevec_release(&pvec);

_