diff options
author | Tao Ma <tao.ma@oracle.com> | 2009-08-18 11:30:55 +0800 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2009-09-22 20:09:36 -0700 |
commit | 6ae23c5555176c5b23480c9c578ff27437085ba5 (patch) | |
tree | 4afb1c33e850fa751c6136d65a041f70fe146fe8 /fs/ocfs2/alloc.c | |
parent | 6f70fa519976a379d72781d927cf8e5f5b05ec86 (diff) | |
download | op-kernel-dev-6ae23c5555176c5b23480c9c578ff27437085ba5.zip op-kernel-dev-6ae23c5555176c5b23480c9c578ff27437085ba5.tar.gz |
ocfs2: CoW refcount tree improvement.
During CoW, if the old extent record is refcounted, we allocate
som new clusters and do CoW. Actually we can have some improvement
here. If the old extent has refcount=1, that means now it is only
used by this file. So we don't need to allocate new clusters, just
remove the refcounted flag and it is OK. We also have to remove
it from the refcount tree while not deleting it.
Signed-off-by: Tao Ma <tao.ma@oracle.com>
Diffstat (limited to 'fs/ocfs2/alloc.c')
-rw-r--r-- | fs/ocfs2/alloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c index b8fc95d..7c879fc 100644 --- a/fs/ocfs2/alloc.c +++ b/fs/ocfs2/alloc.c @@ -6974,7 +6974,7 @@ static int ocfs2_do_truncate(struct ocfs2_super *osb, ocfs2_blocks_to_clusters(osb->sb, delete_blk), clusters_to_del, meta_ac, - &tc->tc_dealloc); + &tc->tc_dealloc, 1); else status = ocfs2_truncate_log_append(osb, handle, delete_blk, |