Call padding callback on flush.
RFC PATCH 20/21 Call padding callback on flush.
--- kernel/relay_pagewriter.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-)
kernel/relay_pagewriter.c +12 -4
@@ -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); }
Signature · 1 line
1.5.3.5