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

From: Andrew Morton
Date: Fri Apr 21 2006 - 18:07:26 EST


Mingming Cao <cmm@xxxxxxxxxx> 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.

I think it would be saner to explicitly specify the size of the field.
That means using s32 and s64 throughout this code.

That'll actually save space on 64-bit machines, where we're presently doing
alloc_percpu(long) when all we need is alloc_percpu(s32).

We'd need to review all users of this interface to make sure that they
handle the changed sizes appropriately, too.
-
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/