diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-08 19:44:16 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-08 19:44:16 -0700 |
commit | 845a2fdcbd5bc5b9f652201ee95c825827a1d521 (patch) | |
tree | c7dec1efdb7900c4e10331fbab2add44ade5e1bc | |
parent | 81d84a94be8085475c3585596e52b06ccbedd922 (diff) | |
parent | eeb47d1234af1a9267836f680a8e114b2e88d0dc (diff) | |
download | op-kernel-dev-845a2fdcbd5bc5b9f652201ee95c825827a1d521.zip op-kernel-dev-845a2fdcbd5bc5b9f652201ee95c825827a1d521.tar.gz |
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.c | 20 | ||||
-rw-r--r-- | fs/ocfs2/cluster/masklog.c | 3 |
2 files changed, 11 insertions, 12 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index 0023b31..a480b09 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, } to = from + bytes; + BUG_ON(from > PAGE_CACHE_SIZE); + BUG_ON(to > PAGE_CACHE_SIZE); + BUG_ON(from < cluster_start); + BUG_ON(to > cluster_end); + if (wc->w_this_page_new) ret = ocfs2_map_page_blocks(wc->w_this_page, p_blkno, inode, cluster_start, cluster_end, 1); @@ -809,11 +814,6 @@ int ocfs2_map_and_write_splice_data(struct inode *inode, goto out; } - BUG_ON(from > PAGE_CACHE_SIZE); - BUG_ON(to > PAGE_CACHE_SIZE); - BUG_ON(from > osb->s_clustersize); - BUG_ON(to > osb->s_clustersize); - src = buf->ops->map(sp->s_pipe, buf, 1); dst = kmap_atomic(wc->w_this_page, KM_USER1); memcpy(dst + from, src + src_from, bytes); @@ -890,6 +890,11 @@ int ocfs2_map_and_write_user_data(struct inode *inode, to = from + bytes; + BUG_ON(from > PAGE_CACHE_SIZE); + BUG_ON(to > PAGE_CACHE_SIZE); + BUG_ON(from < cluster_start); + BUG_ON(to > cluster_end); + if (wc->w_this_page_new) ret = ocfs2_map_page_blocks(wc->w_this_page, p_blkno, inode, cluster_start, cluster_end, 1); @@ -901,11 +906,6 @@ int ocfs2_map_and_write_user_data(struct inode *inode, goto out; } - BUG_ON(from > PAGE_CACHE_SIZE); - BUG_ON(to > PAGE_CACHE_SIZE); - BUG_ON(from > osb->s_clustersize); - BUG_ON(to > osb->s_clustersize); - dst = kmap(wc->w_this_page); memcpy(dst + from, bp->b_src_buf + src_from, bytes); kunmap(wc->w_this_page); diff --git a/fs/ocfs2/cluster/masklog.c b/fs/ocfs2/cluster/masklog.c index a93620c..2b205f5 100644 --- a/fs/ocfs2/cluster/masklog.c +++ b/fs/ocfs2/cluster/masklog.c @@ -144,8 +144,7 @@ static struct kobj_type mlog_ktype = { }; static struct kset mlog_kset = { - .kobj = {.name = "logmask"}, - .ktype = &mlog_ktype + .kobj = {.name = "logmask", .ktype = &mlog_ktype}, }; int mlog_sys_init(struct kset *o2cb_subsys) |