Messages in this thread | | | Date | Fri, 21 Apr 2006 15:09:43 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 1/2] ext3 percpu counter fixes to suppport for more than 2**31 ext3 free blocks counter |
| |
Mingming Cao <cmm@us.ibm.com> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |