On Fri, 2006-04-21 at 17:56 -0700, Ravikiran G Thirumalai wrote: > 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? Suggestion accepted.:-) Mingming - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html