ocfs2: temporarily remove extent map caching
The code in extent_map.c is not prepared to deal with a subtree being rotated between lookups. This can happen when filling holes in sparse files. Instead of a lengthy patch to update the code (which would likely lose the benefit of caching subtree roots), we remove most of the algorithms and implement a simple path based lookup. A less ambitious extent caching scheme will be added in a later patch. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
This commit is contained in:
@@ -1003,9 +1003,6 @@ void ocfs2_clear_inode(struct inode *inode)
|
||||
"Clear inode of %llu, inode has io markers\n",
|
||||
(unsigned long long)oi->ip_blkno);
|
||||
|
||||
ocfs2_extent_map_drop(inode, 0);
|
||||
ocfs2_extent_map_init(inode);
|
||||
|
||||
status = ocfs2_drop_inode_locks(inode);
|
||||
if (status < 0)
|
||||
mlog_errno(status);
|
||||
@@ -1102,8 +1099,7 @@ struct buffer_head *ocfs2_bread(struct inode *inode,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
tmperr = ocfs2_extent_map_get_blocks(inode, block, 1,
|
||||
&p_blkno, NULL);
|
||||
tmperr = ocfs2_extent_map_get_blocks(inode, block, &p_blkno, NULL);
|
||||
if (tmperr < 0) {
|
||||
mlog_errno(tmperr);
|
||||
goto fail;
|
||||
|
Reference in New Issue
Block a user