mirror of https://github.com/vitalif/e2fsprogs
ext2fs: add ext2fs_get_memalign() function
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>bitmap-optimize
parent
792cce3092
commit
023a1df091
|
@ -176,6 +176,7 @@ libext2fs.so.2 e2fslibs #MINVER#
|
|||
ext2fs_get_inode_bitmap_start@Base 1.37
|
||||
ext2fs_get_library_version@Base 1.37
|
||||
ext2fs_get_mem@Base 1.37
|
||||
ext2fs_get_memalign@Base 1.41.13
|
||||
ext2fs_get_next_inode@Base 1.37
|
||||
ext2fs_get_next_inode_full@Base 1.37
|
||||
ext2fs_get_num_dirs@Base 1.37
|
||||
|
|
|
@ -52,6 +52,7 @@ extern "C" {
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
#if EXT2_FLAT_INCLUDES
|
||||
#include "e2_types.h"
|
||||
|
@ -1147,7 +1148,8 @@ extern errcode_t ext2fs_write_bb_FILE(ext2_badblocks_list bb_list,
|
|||
|
||||
/* inline functions */
|
||||
extern errcode_t ext2fs_get_mem(unsigned long size, void *ptr);
|
||||
extern errcode_t ext2fs_get_array(unsigned long count, unsigned long size, void *ptr);
|
||||
extern errcode_t ext2fs_get_memalign(unsigned long size,
|
||||
unsigned long align, void *ptr);
|
||||
extern errcode_t ext2fs_free_mem(void *ptr);
|
||||
extern errcode_t ext2fs_resize_mem(unsigned long old_size,
|
||||
unsigned long size, void *ptr);
|
||||
|
@ -1202,6 +1204,21 @@ _INLINE_ errcode_t ext2fs_get_mem(unsigned long size, void *ptr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
_INLINE_ errcode_t ext2fs_get_memalign(unsigned long size,
|
||||
unsigned long align, void *ptr)
|
||||
{
|
||||
errcode_t retval;
|
||||
|
||||
if (align == 0)
|
||||
align = 8;
|
||||
if (retval = posix_memalign((void **) ptr, align, size)) {
|
||||
if (retval == ENOMEM)
|
||||
return EXT2_ET_NO_MEMORY;
|
||||
return retval;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
_INLINE_ errcode_t ext2fs_get_array(unsigned long count, unsigned long size, void *ptr)
|
||||
{
|
||||
if (count && (-1UL)/count<size)
|
||||
|
|
Loading…
Reference in New Issue