On 03/08/2011 12:55 PM, Tristan Ye wrote: > Hi Tao, > > Most of codes looks pretty neat to me, few comments inlined below: > > Tao Ma wrote: >> From: Tao Ma <[email protected]> >> >> Add ocfs2_trim_fs to support trimming freed clusters in the >> volume. A range will be given and all the freed clusters greater >> than minlen will be discarded to the block layer. >> >> Signed-off-by: Tao Ma <[email protected]> >> --- >> fs/ocfs2/alloc.c | 154 >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> fs/ocfs2/alloc.h | 1 + >> 2 files changed, 155 insertions(+), 0 deletions(-) >> >> diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c >> index b27a0d8..6e1b3b5 100644 >> --- a/fs/ocfs2/alloc.c >> +++ b/fs/ocfs2/alloc.c <snip> >> +static int ocfs2_trim_group(struct super_block *sb, >> + struct ocfs2_group_desc *gd, >> + int start, int max, int minbits) >> +{ >> + int ret = 0, count = 0, next; >> + void *bitmap = gd->bg_bitmap; >> + >> + while (start < max) { >> + start = ocfs2_find_next_zero_bit(bitmap, max, start); >> + if (start >= max) >> + break; > > /* What if the 'start' stands within a hole */ > > if (ocfs2_test_bit(...)) { > start = ocfs2_find_next_zero_bit(...); > if ((start == -1) || (start >= max)) > break; > } I just noticed that I forget to response to this. what do you define a hole? It is within the global bitmap, so it is either freed or allocated. I don't get your meaning of 'hole'. ocfs2_find_next_zero_bit will do as we expected.
Regards, Tao _______________________________________________ Ocfs2-devel mailing list [email protected] http://oss.oracle.com/mailman/listinfo/ocfs2-devel
