diff options
author | JP Abgrall <jpa@google.com> | 2014-03-19 19:08:39 -0700 |
---|---|---|
committer | JP Abgrall <jpa@google.com> | 2014-03-19 19:08:39 -0700 |
commit | e0ed7404719a9ddd2ba427a80db5365c8bad18c0 (patch) | |
tree | 115ce4b0113994aa23ea22ae0c3ba7587b2eaeb3 /lib/ext2fs/io_manager.c | |
parent | 893d0a0f84a0a9dc7cc37507f974f6a695af465f (diff) | |
download | android_external_e2fsprogs-e0ed7404719a9ddd2ba427a80db5365c8bad18c0.tar.gz android_external_e2fsprogs-e0ed7404719a9ddd2ba427a80db5365c8bad18c0.tar.bz2 android_external_e2fsprogs-e0ed7404719a9ddd2ba427a80db5365c8bad18c0.zip |
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.
Diffstat (limited to 'lib/ext2fs/io_manager.c')
-rw-r--r-- | lib/ext2fs/io_manager.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/ext2fs/io_manager.c b/lib/ext2fs/io_manager.c index 6d0e2343..116f2aea 100644 --- a/lib/ext2fs/io_manager.c +++ b/lib/ext2fs/io_manager.c @@ -99,3 +99,31 @@ errcode_t io_channel_write_blk64(io_channel channel, unsigned long long block, return (channel->manager->write_blk)(channel, (unsigned long) block, count, data); } + +errcode_t io_channel_discard(io_channel channel, unsigned long long block, + unsigned long long count) +{ + EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL); + + if (channel->manager->discard) + return (channel->manager->discard)(channel, block, count); + + return EXT2_ET_UNIMPLEMENTED; +} + +errcode_t io_channel_alloc_buf(io_channel io, int count, void *ptr) +{ + size_t size; + + if (count == 0) + size = io->block_size; + else if (count > 0) + size = io->block_size * count; + else + size = -count; + + if (io->align) + return ext2fs_get_memalign(size, io->align, ptr); + else + return ext2fs_get_mem(size, ptr); +} |