Skip to content
Snippets Groups Projects
  • Tao Ma's avatar
    0a1ea437
    ocfs2: Only bug out when page size is larger than cluster size. · 0a1ea437
    Tao Ma authored
    
    In CoW, we have to make sure that the page is already written
    out to the disk. So we have a BUG_ON(PageDirty(page)).
    
    In ppc platform we have pagesize=64K, so if the cs=4K, if the
    file have fragmented clusters, we will map the page many times.
    See this file as an example.
    Tree Depth: 0   Count: 19   Next Free Rec: 14
    	## Offset        Clusters       Block#          Flags
    	0  0             4              2164864         0x2 Refcounted
    	1  4             2              9302792         0x2 Refcounted
    ...
    
    We have to replace the extent recs one by one, so the page with index 0
    will be mapped and dirtied twice.
    
    I'd like to leave the BUG_ON there while adding a check so that in
    case we meet with an error in other platforms, we can find it easily.
    
    Signed-off-by: default avatarTao Ma <tao.ma@oracle.com>
    Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
    0a1ea437
    History
    ocfs2: Only bug out when page size is larger than cluster size.
    Tao Ma authored
    
    In CoW, we have to make sure that the page is already written
    out to the disk. So we have a BUG_ON(PageDirty(page)).
    
    In ppc platform we have pagesize=64K, so if the cs=4K, if the
    file have fragmented clusters, we will map the page many times.
    See this file as an example.
    Tree Depth: 0   Count: 19   Next Free Rec: 14
    	## Offset        Clusters       Block#          Flags
    	0  0             4              2164864         0x2 Refcounted
    	1  4             2              9302792         0x2 Refcounted
    ...
    
    We have to replace the extent recs one by one, so the page with index 0
    will be mapped and dirtied twice.
    
    I'd like to leave the BUG_ON there while adding a check so that in
    case we meet with an error in other platforms, we can find it easily.
    
    Signed-off-by: default avatarTao Ma <tao.ma@oracle.com>
    Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>