Re: [PATCH 1/2] ext3 percpu counter fixes to suppport for more than 2**31 ext3 free blocks counter

From: Ravikiran G Thirumalai
Date: Fri Apr 21 2006 - 20:55:40 EST


On Fri, Apr 21, 2006 at 07:59:06AM -0700, Mingming Cao wrote:
> The following patches are to fix the percpu counter issue support more
> than 2**31 blocks for ext3, i.e. allow the ext3 free block accounting
> works with more than 8TB storage.
>
> [PATCH 1] - Generic perpcu longlong type counter support: global counter
> type changed from long to long long. The local counter is still remains
> 32 bit (long type), so we could avoid doing 64 bit update in most cases.
> Fixed the percpu_counter_read_positive() to handle the 0 value counter
> correctly;Add support to initialize the global counter to a value that
> are greater than 2**32.
>
> [PATCH 2] - ext3 part of the changes: make use of the new support to
> initialize the free blocks counter, instead of using percpu_counter_mod
> () indirectly.
>
> Patches against 2.6.17-rc1-mm2. Tested on a freshly created 10TB ext3.
>
> Here is Patch 1.
>
> Signed-Off-By: Mingming Cao <cmm@xxxxxxxxxx>
>
> ...
> +static inline void
> +percpu_counter_ll_init(struct percpu_counter *fbc, long long amount)
> +{
> + spin_lock_init(&fbc->lock);
> + fbc->count = amount;
> + fbc->counters = alloc_percpu(long);
> +}
> +

Do we need another interface for this? Why not change percpu_counter_init
and users to use 'amount' as an additional argument instead?

Thanks,
Kiran
-
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/