diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ocfs2/refcounttree.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c index 5b64468de0b0..8ae65c9c020c 100644 --- a/fs/ocfs2/refcounttree.c +++ b/fs/ocfs2/refcounttree.c | |||
@@ -2957,8 +2957,12 @@ static int ocfs2_duplicate_clusters_by_page(handle_t *handle, | |||
2957 | 2957 | ||
2958 | page = grab_cache_page(mapping, page_index); | 2958 | page = grab_cache_page(mapping, page_index); |
2959 | 2959 | ||
2960 | /* This page can't be dirtied before we CoW it out. */ | 2960 | /* |
2961 | BUG_ON(PageDirty(page)); | 2961 | * In case PAGE_CACHE_SIZE <= CLUSTER_SIZE, This page |
2962 | * can't be dirtied before we CoW it out. | ||
2963 | */ | ||
2964 | if (PAGE_CACHE_SIZE <= OCFS2_SB(sb)->s_clustersize) | ||
2965 | BUG_ON(PageDirty(page)); | ||
2962 | 2966 | ||
2963 | if (!PageUptodate(page)) { | 2967 | if (!PageUptodate(page)) { |
2964 | ret = block_read_full_page(page, ocfs2_get_block); | 2968 | ret = block_read_full_page(page, ocfs2_get_block); |