[lkml]   [2006]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC][PATCH 0/2]Extend ext3 filesystem limit from 8TB to 16TB
    On Wed, 2006-03-29 at 17:54 -0800, Andrew Morton wrote:
    > Mingming Cao <> wrote:
    > >
    > > The things need to be done to complete this work is the issue with
    > > current percpu counter, which could not handle u32 type count well.
    > I'm surprised there's much of a problem here. It is a 32-bit value, so it
    > should mainly be a matter of treating the return value from
    > percpu_counter_read() as unsigned long.
    > However a stickier problem is when dealing with a filesystem which has,
    > say, 0xffff_ff00 blocks. Because percpu counters are approximate, and a
    > counter which really has a value of 0xffff_feee might return 0x00000123.
    > What do we do then?

    Hmm... I think we had this issue already even with today's 2**31 ext3.
    Since ext2/3 always use percpu_counter_read_positive() to get the total
    number of free blocks, so if the real free blocks is 0x0fff_feee, and
    the approximate value from the percpu counter is 0xf000_0123, the
    percpu_counter_read_positive() will return back 0x0000123.

    > Of course the simple option is to nuke the percpu counters in ext3 and use
    > atomic_long_t (which is signed, so appropriate treat-it-as-unsigned code
    > would be needed). I doubt if the percpu counters in ext3 are gaining us
    > much.

    Sounds like the simple solution so far.


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-04-01 00:44    [W:0.064 / U:1.500 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site