lkml.org 
[lkml]   [2008]   [Oct]   [16]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[RFC PATCH 20/21] Call padding callback on flush.
FromTom Zanussi <>
DateThu, 16 Oct 2008 01:06:55 -0500
---
 kernel/relay_pagewriter.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/kernel/relay_pagewriter.c b/kernel/relay_pagewriter.c
index 9bc1461..c3369f5 100644
--- a/kernel/relay_pagewriter.c
+++ b/kernel/relay_pagewriter.c
@@ -137,10 +137,18 @@ void pagewriter_flush(struct pagewriter *pagewriter)
 		return;
 
 	mutex_lock(&pagewriters_mutex);
-	for_each_possible_cpu(i)
-		if (pagewriter->buf[i])
-			pagewriter->cb->switch_page(pagewriter->buf[i], 0,
-						    NULL);
+	for_each_possible_cpu(i) {
+		struct pagewriter_buf *buf = pagewriter->buf[i];
+		if (buf) {
+			if (buf->pagewriter->flags & PAGEWRITER_PAD_WRITES) {
+				void *padding = buf->data + buf->offset;
+				size_t padlen = PAGE_SIZE - buf->offset;
+				pagewriter->cb->write_padding(buf, padlen,
+							      padding);
+			}
+			pagewriter->cb->switch_page(buf, 0, NULL);
+		}
+	}
 	relay_flush(pagewriter->rchan);
 	mutex_unlock(&pagewriters_mutex);
 }
-- 
1.5.3.5




\
 
 \ /
  Last update: 2008-10-16 08:23    [from the cache]
©2003-2008