Re: [PATCH 9/9] f2fs: fix the bitmap consistency of dirty segments

From: Namjae Jeon
Date: Tue Apr 02 2013 - 21:14:46 EST


2013/4/1, Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>:
> Like below, there are 8 segment bitmaps for SSR victim candidates.
>
> enum dirty_type {
> DIRTY_HOT_DATA, /* dirty segments assigned as hot data logs */
> DIRTY_WARM_DATA, /* dirty segments assigned as warm data logs */
> DIRTY_COLD_DATA, /* dirty segments assigned as cold data logs */
> DIRTY_HOT_NODE, /* dirty segments assigned as hot node logs */
> DIRTY_WARM_NODE, /* dirty segments assigned as warm node logs */
> DIRTY_COLD_NODE, /* dirty segments assigned as cold node logs */
> DIRTY, /* to count # of dirty segments */
> PRE, /* to count # of entirely obsolete segments */
> NR_DIRTY_TYPE
> };
>
> The upper 6 bitmaps indicates segments dirtied by active log areas
> respectively.
> And, the DIRTY bitmap integrates all the 6 bitmaps.
>
> For example,
> o DIRTY_HOT_DATA : 1010000
> o DIRTY_WARM_DATA: 0100000
> o DIRTY_COLD_DATA: 0001000
> o DIRTY_HOT_NODE : 0000010
> o DIRTY_WARM_NODE: 0000001
> o DIRTY_COLD_NODE: 0000000
> In this case,
> o DIRTY : 1111011,
>
> which means that we should guarantee the consistency between DIRTY and
> other
> bitmaps concreately.
>
> However, the SSR mode selects victims freely from any log types, which can
> set
> multiple bits across the various bitmap types.
>
> So, this patch eliminates this inconsistency.
>
> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>
Looks good to me~
Reviewed-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/