]>
git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - libxfs/kmem.c
3 #include "libxfs_priv.h"
6 * Simple memory interface
10 kmem_zone_init(int size
, char *name
)
12 kmem_zone_t
*ptr
= malloc(sizeof(kmem_zone_t
));
15 fprintf(stderr
, _("%s: zone init failed (%s, %d bytes): %s\n"),
16 progname
, name
, (int)sizeof(kmem_zone_t
),
20 ptr
->zone_unitsize
= size
;
21 ptr
->zone_name
= name
;
27 kmem_zone_alloc(kmem_zone_t
*zone
, int flags
)
29 void *ptr
= malloc(zone
->zone_unitsize
);
32 fprintf(stderr
, _("%s: zone alloc failed (%s, %d bytes): %s\n"),
33 progname
, zone
->zone_name
, zone
->zone_unitsize
,
41 kmem_zone_zalloc(kmem_zone_t
*zone
, int flags
)
43 void *ptr
= kmem_zone_alloc(zone
, flags
);
45 memset(ptr
, 0, zone
->zone_unitsize
);
51 kmem_alloc(size_t size
, int flags
)
53 void *ptr
= malloc(size
);
56 fprintf(stderr
, _("%s: malloc failed (%d bytes): %s\n"),
57 progname
, (int)size
, strerror(errno
));
64 kmem_zalloc(size_t size
, int flags
)
66 void *ptr
= kmem_alloc(size
, flags
);
73 kmem_realloc(void *ptr
, size_t new_size
, int flags
)
75 ptr
= realloc(ptr
, new_size
);
77 fprintf(stderr
, _("%s: realloc failed (%d bytes): %s\n"),
78 progname
, (int)new_size
, strerror(errno
));