History log of /system/extras/ext4_utils/allocate.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bec598e982301bf2714d37b14e312c9845c7cc0c 12-Aug-2014 Doug Zongker <dougz@google.com> add option to make_ext4fs to record blocks for each file

Add the -B option to make_ext4fs, which causes it to record the block
ranges used for each (regular) file in the image. We can use this
information to construct more efficient block-based incremental OTAs.

Bug: 16984795
Change-Id: I2a5325bb89948f63c76e93fdfa84c51f9b050104
/system/extras/ext4_utils/allocate.c
eb3915a5eb76c687fd74773f3896a939d0bf5211 21-Jan-2014 Colin Cross <ccross@android.com> make_ext4fs: fix block allocation to be best-fit

The block allocation algorithm was failing to allocate parts of large
files out of partially filled block groups. Update the allocation
algorithm to be a simpler best fit loop - if the remaining length to
allocate is larger than any single contiguous region, allocate the
largest single contiguous region and continue allocating, otherwise
allocate the smallest contiguous that can hold the length.

Change-Id: Idcc60df91ed0a266d3128ea46e86408a581d3f40
/system/extras/ext4_utils/allocate.c
782879ab61fe825835a9c6a701f91aa7d305acef 23-Jan-2014 Colin Cross <ccross@android.com> ext4_utils: move sparse file pointer out of fs_info

Move the sparse file pointer out of the fs_info struct in
preparation for exporting fs_info without sparse file support.

Change-Id: I5a72147fe4fb24296e615cb82dbba91c6dc6f7f0
/system/extras/ext4_utils/allocate.c
7900c773815d062deb266f744f95aa76b3573fa3 23-Jan-2014 Colin Cross <ccross@android.com> ext4_utils: refactor kernel headers

Move the kernel header includes into a single include file that
can deal with getting the kernel int types correct on all
platforms.

Change-Id: Ied3dc6a0f5cbb3ceb686aa3de72f16e10a36462a
/system/extras/ext4_utils/allocate.c
17de65420dbc114001896d243fbb27cc3ba6bf61 16-Aug-2013 Ken Sumrall <ksumrall@android.com> Avoid underflow on an unsigned int when computering bg overrun

A computation for when a block group overruns the end of an image
was consistently storing a negative number in an unsigned var,
and then checking for >0, which is always true for negative numbers.
So first check if the number will be positive before computing it.

Change-Id: Ic8cff8f9ab9f4ea8c5a4dc42143c2430fa87ba12
/system/extras/ext4_utils/allocate.c
4df62f342dbbe2f5cca831ce789dc0426d32ec03 07-Feb-2013 Nick Kralevich <nnk@google.com> ext4_utils: add filesystem capabilities support.

Add support for specifying filesystem capabilities when
creating a new filesystem.

The combination of SELinux extended attributes plus
filesystem capability extended attributes is too big
to fit inside one inode entry. Because of this, I added
support to ext4_utils to create an xattr block and link
the inode to that block. We continue to try to fit
everything inside the inode if possible, but fall over to
creating a block if the extended attribute is too big.

Change-Id: I40ebb63975b15ecd8c565486e171b4d50cd4dfaa
/system/extras/ext4_utils/allocate.c
56497f28bd20001dd5f931208e8d948cf2f81b2f 04-Feb-2013 Colin Cross <ccross@android.com> ext4_utils: mark uninitialized inode tables in block groups

Block groups that have no used inodes have their inode table left
uninitialized, unless -t is specified, in which case they are
explicitly zeroed. When they are uninitialized, writing a sparse
ext4 image over existing data can cause e2fsck to confuse the
uninitialized data for lost inodes.

Set the EXT4_BG_INODE_UNINIT flags on block groups that have no
used inodes. This flag requires the block group checksum feature
to be enabled, so also enable the checksum feature in the superblock
and compute the checksum for the block group.

Since zeroing the inode tables is now useless, remove the code for
it and deprecate the -t command line option.

Change-Id: I4927c1d866d051547cf0dadc8c8703ded0163925
/system/extras/ext4_utils/allocate.c
f0ee37ffded79afdb03e15ae3a69969d2b7e6079 25-Apr-2012 Colin Cross <ccross@android.com> libsparse: make API sane

Replaces the libsparse API with a sane one based on an opaque
pointer.

Change-Id: I93bc9cf9a6b912a993ef554dbe6ffe2f0f723383
/system/extras/ext4_utils/allocate.c
dc5abeee1e6fc4827ee0d5ece12aaed2dd56f4c7 24-Apr-2012 Colin Cross <ccross@android.com> Refactor sparse file support into libsparse

Minimal refactoring of output_file.c into libsparse in preparation
for completely separating libsparse from ext4_utils.

Moves output_file.c, backed_block.c, and parts of ext4_utils.c
into libsparse. The only changes to the remanining files in
ext4_utils are using the new sparse.h header, and moving the
wipe call out of output_file.c and into make_ext4fs.c.

Change-Id: I1f66f6c3e05230a350023c5b4ea4422f16a73c4b
/system/extras/ext4_utils/allocate.c
107a9f161babc20daf915311146b0e864d3b4157 30-Jun-2011 Ken Sumrall <ksumrall@android.com> Bug fixes to make_ext4fs

Fix definition of uuid struct.
Properly set the block_group number in each backup copy of the superblock.
Adjust the info.total_inodes field after rounding up the inodes per block group.
Add the option -t to initialize all the inode tables. If also specified with
the -s option, use the CHUNK_TYPE_FILL sparse records to initialize them.

Change-Id: Idd8bcee1b9bde3e82ad8da89ef974fbc12d7a6c6
/system/extras/ext4_utils/allocate.c
33f96c66e9a1f2e266a75e5e84c091dffa6ef118 23-Dec-2010 Colin Cross <ccross@android.com> ext4_utils: Add support for >2G input files

Change-Id: I6af69d676610099d3912e90fcab3cbdc27ace4e2
/system/extras/ext4_utils/allocate.c
22742ce739a046a079b2e1b03342a25472dfa352 23-Dec-2010 Colin Cross <ccross@android.com> ext4_utils: Move bg_desc_reserved_blocks from aux_info to info

Change-Id: Ic635afbb8819a00ca23ba2f93413fe707e2eec87
/system/extras/ext4_utils/allocate.c
881cca2f88ddcce86483b3ba95546b5641de8c0e 21-Jun-2010 Colin Cross <ccross@android.com> Split out libext4_utils

Change-Id: I12aa52b75607379add2669fddba4cd7dc2bb527f
/system/extras/ext4_utils/allocate.c
8aef66d2125af8de7672a12895276802fcc1948f 21-Jun-2010 Colin Cross <ccross@android.com> Fix whitespace

Change-Id: I37da6c38cd33ae22a0578ed8e91650e35972bf6a
/system/extras/ext4_utils/allocate.c
a1a175aef60677ed877bcb52db553705a8e8c20f 18-Jun-2010 Colin Cross <ccross@android.com> Fix zero-length files

Change-Id: I35812aa7a992d30ec84da57ddb1dccba7b1adf60
/system/extras/ext4_utils/allocate.c
ec0a2e83dc66d67addeb90e83144187691852a3e 11-Jun-2010 Colin Cross <ccross@android.com> Initial commit of ext4_utils

Change-Id: I911d5b7fd7170ec81d544850717d8e69976e272b
/system/extras/ext4_utils/allocate.c