e0ed7404719a9ddd2ba427a80db5365c8bad18c0 |
|
20-Mar-2014 |
JP Abgrall <jpa@google.com> |
Switch back to 1.42.9 now that there is a fix Revert "Revert changes that moved from 1.41.14 to 1.42.9" This reverts commit 65f0aab98b20b5994a726ab90d355248bcddfffd.
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
65f0aab98b20b5994a726ab90d355248bcddfffd |
|
06-Mar-2014 |
JP Abgrall <jpa@google.com> |
Revert changes that moved from 1.41.14 to 1.42.9 Revert "e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H" commit e80e74c41d85ff93f3d212ba6512340f48054a93. Revert "Merge remote-tracking branch 'linaro/linaro-1.42.9' into aosp_master" This reverts commit e97b2b6fc82f840e84dfc631b87f21be44ff2421, reversing changes made to 7e2fb9d09c245eba70ee008b78007315e9c0f1df. Revert "Prepare for upstream 1.42.9" This reverts commit 7e2fb9d09c245eba70ee008b78007315e9c0f1df. Bug: 13340735 Change-Id: If48b153a95ef5f69f7cdccb00e23524abff3c5a8 Signed-off-by: JP Abgrall <jpa@google.com>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
e48bf256e99e4923c6193ff78000af18c700d93d |
|
20-May-2013 |
Theodore Ts'o <tytso@mit.edu> |
libext2fs: fix gcc -Wall warnings Primarily signed vs unsigned and const warnings. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
e3507739e4185bdb2394928eb6479e48f4e690a8 |
|
01-Jan-2013 |
Theodore Ts'o <tytso@mit.edu> |
Fix gcc -Wall nits This fixes the last set of gcc -Wall complaints. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
1d6fd6d0c3766a8165e69284c75812574a29c804 |
|
29-Nov-2012 |
Andreas Dilger <adilger@dilger.ca> |
misc: cleanup unused variables on MacOS Clean up unused variables found by GCC on MacOS. Signed-off-by: Andreas Dilger <adilger@dilger.ca> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
b65ccfc7a4e36d152c8ab8af57da783eca965a4c |
|
25-Nov-2012 |
Theodore Ts'o <tytso@mit.edu> |
libext2fs: optimize rb_get_bmap_range() for mostly allocated bmaps This optimizies the CPU utilization of the rb_get_bmap_range() function when most of the bitmap is allocated. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Lukas Czerner <lczerner@redhat.com>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
c3f9641eaf959b4222aa145477e6f0f8811244d8 |
|
25-Nov-2012 |
Theodore Ts'o <tytso@mit.edu> |
libext2fs: optimize rb_get_bmap_range() This simplifies the rb_get_bmap_range() function and speeds it up for the case where most of the bitmap is zero. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Lukas Czerner <lczerner@redhat.com>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
fc8ea52033fffccfd8aeece9babf77c61c38aed9 |
|
24-Nov-2012 |
Theodore Ts'o <tytso@mit.edu> |
libext2fs: optimize rb_set_bmap_range() This speeds up reading bitmaps from disk for very large (and full) disks by significant amounts (i.e., up to two CPU minutes for a 4T file system). Addresses-Google-Bug: #7534813 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Lukas Czerner <lczerner@redhat.com>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
fb129bba73868a41df74fec87773abd0c6c6cd4a |
|
06-Oct-2012 |
Theodore Ts'o <tytso@mit.edu> |
libext2fs: further optimize rb_test_bit Profiling shows that rb_test_bit() is now calling ext2fs_rb_next() a lot, and this function is now the hot spot when running e2freefrag. If we cache the results of ext2fs_rb_next(), we can eliminate those extra calls, which further speeds up both e2freefrag and e2fsck by reducing the amount of CPU time spent in userspace. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
0bcba36f3f90488d2ef7502bd3c4f4920f2c4251 |
|
06-Oct-2012 |
Theodore Ts'o <tytso@mit.edu> |
libext2fs: remove pointless indirection in rbtree bitmaps The code was previously allocating a single 4 or 8 byte pointer for the rcursor and wcursor fields in the ext2fs_rb_private structure; this added two extra memory allocations (which could fail), and extra indirections, for no good reason. Removing the extra indirection also makes the code more readable, so it's all upside and no downside. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Eric Sandeen <sandeen@redhat.com>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
547a59a821df1cffcd0ca2c763be9ef319cb980b |
|
05-Oct-2012 |
Theodore Ts'o <tytso@mit.edu> |
libext2fs: optimize rb_test_bit Optimize testing for a bit in an rbtree-based bitmap for the case where the calling application is scanning through the bitmap sequentially. Previously, we did this for a set of bits which were inside an allocated extent, but we did not optimize the case where there was a large number of bits after an allocated extents which were not in use. 1111111111111110000000000000000000 ^ optimized ^not optimized In my tests of a roughly half-filled file system, the run time of e2freefrag was halved, and the cpu time spent in userspace was during e2fsck's pass 5 was reduced by a factor of 30%. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Lukas Czerner <lczerner@redhat.com>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
918eeb32e9bd1d053bafc9d3c70ef420c21eeda9 |
|
28-May-2012 |
Eric Sandeen <sandeen@redhat.com> |
libext2fs: fix rbtree backend for extent lengths greater than 2^32 For a completely full filesystem with more than 2^32 blocks, the rbtree bitmap backend can assemble an extent of used blocks which is longer than 2^32. If it does, it will overflow ->count, and corrupt the rbtree for the bitmaps. Discovered by completely filling a 32T filesystem using fallocate, and then observing debugfs, dumpe2fs, and e2fsck all behaving badly. (Note that filling with only 31 x 1T files did not show the problem, because freespace was fragmented enough that there was no sufficiently long range of used blocks.) Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
e64e6761aa22f31123a91206a5686526f7b9c6c0 |
|
05-Apr-2012 |
Theodore Ts'o <tytso@mit.edu> |
Fix gcc -Wall nitpicks Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
9288e3be665bb8d5657d7f710687a50fad859acf |
|
16-Dec-2011 |
Lukas Czerner <lczerner@redhat.com> |
libext2fs: add bitmap statistics This feature is especially useful for better understanding how e2fsprogs tools (mainly e2fsck) treats bitmaps and what bitmap backend can be most suitable for particular bitmap. Backend itself (if implemented) can provide statistics of its own as well. [ Changed to provide basic statistics when enabled with the E2FSPROGS_BITMAPS_STATS environment variable -- tytso] Signed-off-by: Lukas Czerner <lczerner@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|
c1359d91958cadfbc0987921ee5b4db717852e90 |
|
18-Dec-2011 |
Lukas Czerner <lczerner@redhat.com> |
libext2fs: add a bitmap implementation using rbtree's For a long time we had a bitarray backend for storing filesystem metadata bitmaps, however today this approach might hit its limits with todays huge data storage devices, because of its memory utilization. Bitarrays stores bitmaps as ..well, as bitmaps. But this is in most cases highly unefficient because we need to allocate memory even for the big parts of bitmaps we will never use, resulting in high memory utilization especially for huge filesystem, when bitmaps might occupy gigabytes of space. This commit adds another backend to store bitmaps. It is based on rbtrees and it stores just used extents of bitmaps. It means that it can be more memory efficient in most cases. I have done some limited benchmarking and it shows that rbtree backend consumes approx 65% less memory that bitarray on 312GB filesystem aged with Impression (default config). This number may grow significantly with the filesystem size, but also it may be a lot lower (even negative) if the inodes are very fragmented (need more benchmarking). This commit itself does not enable the use of rbtree backend. [ Simplified the code by avoiding unneeded memory allocation and deallocation of del_ext. In addition, fixed a bug discovered by the tst_bitmaps tests: rb_unamrk_bmap() must return true if the bit was previously set in bitmap, and zero otherwise -- tytso ] Signed-off-by: Lukas Czerner <lczerner@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
/external/e2fsprogs/lib/ext2fs/blkmap64_rb.c
|