summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/cluster
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2007-10-10 16:25:42 +0200
committerMark Fasheh <mark.fasheh@oracle.com>2007-11-07 00:35:35 +0100
commitbc7e97cbdd4bef162e5772c74ee2cc4487a2d997 (patch)
treecf35117281896022e70a4fd5655ccc2f0f8bfcf3 /fs/ocfs2/cluster
parentocfs2: fix write() performance regression (diff)
downloadlinux-bc7e97cbdd4bef162e5772c74ee2cc4487a2d997.tar.xz
linux-bc7e97cbdd4bef162e5772c74ee2cc4487a2d997.zip
[PATCH] Fix possibly too long write in o2hb_setup_one_bio()
We should subtract start of our IO from PAGE_CACHE_SIZE to get the right length of the write we want to perform. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/cluster')
-rw-r--r--fs/ocfs2/cluster/heartbeat.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ocfs2/cluster/heartbeat.c b/fs/ocfs2/cluster/heartbeat.c
index 9cc7c0418b70..f02ccb34604d 100644
--- a/fs/ocfs2/cluster/heartbeat.c
+++ b/fs/ocfs2/cluster/heartbeat.c
@@ -267,7 +267,7 @@ static struct bio *o2hb_setup_one_bio(struct o2hb_region *reg,
current_page = cs / spp;
page = reg->hr_slot_data[current_page];
- vec_len = min(PAGE_CACHE_SIZE,
+ vec_len = min(PAGE_CACHE_SIZE - vec_start,
(max_slots-cs) * (PAGE_CACHE_SIZE/spp) );
mlog(ML_HB_BIO, "page %d, vec_len = %u, vec_start = %u\n",