[RFC][PATCH 0/3] ext3 percpu counter fixes to suppport for ext3unsigned long type free blocks counter

From: Mingming Cao
Date: Mon Apr 10 2006 - 13:59:37 EST


Here are the proposed patches to allow the ext3 free block accounting
works with more than 8TB storage.

[PATCH 1] - Tries to fix the per cpu counter to handle the "overflow"
when dealing with unsigned long counters.

[PATCH 2] - Currently percpu_counter_read_positive() always return 1 if
the counter(singed type) is negative. This leads the ext3 always get
free blocks as 1 if there are more than 2**31 free blocks, thus prevent
non-root users to write(file creation) to the filesystem. This patch
fixed this by using percpu_counter_read() instead.

[PATCH 3] - Changes the places in ext3 when updating the free blocks
counter to use percpu_counter_mod_ll()(added in patch 1) to prevent
overflow.

patches against 2.6.16-mm2. Tested on a freshly created 10TB ext3,
filled the first 8TB storage with 6000 parallel dd (direct IO) first,
then tested the rest 2TB with overnight fsx.

-
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/