aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-08 22:44:16 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-08 22:44:16 -0400
commit845a2fdcbd5bc5b9f652201ee95c825827a1d521 (patch)
treec7dec1efdb7900c4e10331fbab2add44ade5e1bc
parent81d84a94be8085475c3585596e52b06ccbedd922 (diff)
parenteeb47d1234af1a9267836f680a8e114b2e88d0dc (diff)
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Fix invalid assertion during write on 64k pages ocfs2: Fix masklog breakage
-rw-r--r--fs/ocfs2/aops.c20
-rw-r--r--fs/ocfs2/cluster/masklog.c3
2 files changed, 11 insertions, 12 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
index 0023b31e48a8..a480b09c79b9 100644
--- a/fs/ocfs2/aops.c
+++ b/fs/ocfs2/aops.c
@@ -798,6 +798,11 @@ int ocfs2_map_and_write_splice_data(struct inode *inode,
798 } 798 }
799 to = from + bytes; 799 to = from + bytes;
800 800
801 BUG_ON(from > PAGE_CACHE_SIZE);
802 BUG_ON(to > PAGE_CACHE_SIZE);
803 BUG_ON(from < cluster_start);
804 BUG_ON(to > cluster_end);
805
801 if (wc->w_this_page_new) 806 if (wc->w_this_page_new)
802 ret = ocfs2_map_page_blocks(wc->w_this_page, p_blkno, inode, 807 ret = ocfs2_map_page_blocks(wc->w_this_page, p_blkno, inode,
803 cluster_start, cluster_end, 1); 808 cluster_start, cluster_end, 1);
@@ -809,11 +814,6 @@ int ocfs2_map_and_write_splice_data(struct inode *inode,
809 goto out; 814 goto out;
810 } 815 }
811 816
812 BUG_ON(from > PAGE_CACHE_SIZE);
813 BUG_ON(to > PAGE_CACHE_SIZE);
814 BUG_ON(from > osb->s_clustersize);
815 BUG_ON(to > osb->s_clustersize);
816
817 src = buf->ops->map(sp->s_pipe, buf, 1); 817 src = buf->ops->map(sp->s_pipe, buf, 1);
818 dst = kmap_atomic(wc->w_this_page, KM_USER1); 818 dst = kmap_atomic(wc->w_this_page, KM_USER1);
819 memcpy(dst + from, src + src_from, bytes); 819 memcpy(dst + from, src + src_from, bytes);
@@ -890,6 +890,11 @@ int ocfs2_map_and_write_user_data(struct inode *inode,
890 890
891 to = from + bytes; 891 to = from + bytes;
892 892
893 BUG_ON(from > PAGE_CACHE_SIZE);
894 BUG_ON(to > PAGE_CACHE_SIZE);
895 BUG_ON(from < cluster_start);
896 BUG_ON(to > cluster_end);
897
893 if (wc->w_this_page_new) 898 if (wc->w_this_page_new)
894 ret = ocfs2_map_page_blocks(wc->w_this_page, p_blkno, inode, 899 ret = ocfs2_map_page_blocks(wc->w_this_page, p_blkno, inode,
895 cluster_start, cluster_end, 1); 900 cluster_start, cluster_end, 1);
@@ -901,11 +906,6 @@ int ocfs2_map_and_write_user_data(struct inode *inode,
901 goto out; 906 goto out;
902 } 907 }
903 908
904 BUG_ON(from > PAGE_CACHE_SIZE);
905 BUG_ON(to > PAGE_CACHE_SIZE);
906 BUG_ON(from > osb->s_clustersize);
907 BUG_ON(to > osb->s_clustersize);
908
909 dst = kmap(wc->w_this_page); 909 dst = kmap(wc->w_this_page);
910 memcpy(dst + from, bp->b_src_buf + src_from, bytes); 910 memcpy(dst + from, bp->b_src_buf + src_from, bytes);
911 kunmap(wc->w_this_page); 911 kunmap(wc->w_this_page);
diff --git a/fs/ocfs2/cluster/masklog.c b/fs/ocfs2/cluster/masklog.c
index a93620ce4aca..2b205f5d5790 100644
--- a/fs/ocfs2/cluster/masklog.c
+++ b/fs/ocfs2/cluster/masklog.c
@@ -144,8 +144,7 @@ static struct kobj_type mlog_ktype = {
144}; 144};
145 145
146static struct kset mlog_kset = { 146static struct kset mlog_kset = {
147 .kobj = {.name = "logmask"}, 147 .kobj = {.name = "logmask", .ktype = &mlog_ktype},
148 .ktype = &mlog_ktype
149}; 148};
150 149
151int mlog_sys_init(struct kset *o2cb_subsys) 150int mlog_sys_init(struct kset *o2cb_subsys)