[Cluster-devel] [PATCH] GFS2: Use shorter form of zero_user_page() in code.
Robert P. J. Day
rpjday at mindspring.com
Tue Jul 10 13:05:20 UTC 2007
Signed-off-by: Robert P. J. Day <rpjday at mindspring.com>
---
AFAICT, the following should be entirely equivalent, but shorter,
based on the zero_user_page macro defined in highmem.h.
fs/gfs2/bmap.c | 6 ++----
fs/gfs2/ops_address.c | 6 ++----
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
index c53a5d2..8fd90b3 100644
--- a/fs/gfs2/bmap.c
+++ b/fs/gfs2/bmap.c
@@ -14,6 +14,7 @@
#include <linux/gfs2_ondisk.h>
#include <linux/crc32.h>
#include <linux/lm_interface.h>
+#include <linux/highmem.h>
#include "gfs2.h"
#include "incore.h"
@@ -933,10 +934,7 @@ static int gfs2_block_truncate_page(struct address_space *mapping)
if (sdp->sd_args.ar_data == GFS2_DATA_ORDERED || gfs2_is_jdata(ip))
gfs2_trans_add_bh(ip->i_gl, bh, 0);
- kaddr = kmap_atomic(page, KM_USER0);
- memset(kaddr + offset, 0, length);
- flush_dcache_page(page);
- kunmap_atomic(kaddr, KM_USER0);
+ zero_user_page(page, offset, length, KM_USER0);
unlock:
unlock_page(page);
diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c
index 30c1562..d90ce06 100644
--- a/fs/gfs2/ops_address.c
+++ b/fs/gfs2/ops_address.c
@@ -19,6 +19,7 @@
#include <linux/writeback.h>
#include <linux/gfs2_ondisk.h>
#include <linux/lm_interface.h>
+#include <linux/highmem.h>
#include "gfs2.h"
#include "incore.h"
@@ -203,10 +204,7 @@ static int stuffed_readpage(struct gfs2_inode *ip, struct page *page)
* so we need to supply one here. It doesn't happen often.
*/
if (unlikely(page->index)) {
- kaddr = kmap_atomic(page, KM_USER0);
- memset(kaddr, 0, PAGE_CACHE_SIZE);
- kunmap_atomic(kaddr, KM_USER0);
- flush_dcache_page(page);
+ zero_user_page(page, 0, PAGE_CACHE_SIZE, KM_USER0);
SetPageUptodate(page);
return 0;
}
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://fsdev.net/wiki/index.php?title=Main_Page
========================================================================
More information about the Cluster-devel
mailing list