Messages in this thread | | | Subject | [RFC][PATCH 0/3] ext3 percpu counter fixes to suppport for ext3 unsigned long type free blocks counter | From | Mingming Cao <> | Date | Mon, 10 Apr 2006 10:58:49 -0700 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |