- 23 9月, 2009 10 次提交
-
-
由 Tao Ma 提交于
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: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
This patch try CoW support for a refcounted record. the whole process will be: 1. Calculate how many clusters we need to CoW and where we start. Extents that are not completely encompassed by the write will be broken on 1MB boundaries. 2. Do CoW for the clusters with the help of page cache. 3. Change the b-tree structure with the new allocated clusters. Signed-off-by: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
Add 'Decrement refcount for delete' in to the normal truncate process. So for a refcounted extent record, call refcount rec decrementation instead of cluster free. Signed-off-by: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
Add function ocfs2_mark_extent_refcounted which can mark an extent refcounted. Signed-off-by: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
Given a physical cpos and length, decrement the refcount in the tree. If the refcount for any portion of the extent goes to zero, that portion is queued for freeing. Signed-off-by: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
Given a physical cpos and length, increment the refcount in the tree. If the extent has not been seen before, a refcount record is created for it. Refcount records may be merged or split by this operation. Signed-off-by: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
Add basic refcount tree root operation. Signed-off-by: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
Implement locking around struct ocfs2_refcount_tree. This protects all read/write operations on refcount trees. ocfs2_refcount_tree has its own lock and its own caching_info, protecting buffers among multiple nodes. User must call ocfs2_lock_refcount_tree before his operation on the tree and unlock it after that. ocfs2_refcount_trees are referenced by the block number of the refcount tree root block, So we create an rb-tree on the ocfs2_super to look them up. Signed-off-by: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
refcount tree should use its own caching info so that when we downconvert the refcount tree lock, we can drop all the cached buffer head. Signed-off-by: NTao Ma <tao.ma@oracle.com>
-
由 Tao Ma 提交于
Signed-off-by: NTao Ma <tao.ma@oracle.com>
-