rpmdb/falloc.c - The entire file space is thus divided into blocks with a 'struct fablock' at the header of each.
#include 'system.h'
#include 'rpmio_internal.h'
#include 'rpmmessages.h'
#include 'rpmerr.h'
#include 'falloc.h'
#include 'debug.h'
struct faFileHeader
struct faFooter
struct faHeader
ssize_t Pread (FD_t fd, void *buf, size_t count, _libio_off_t offset)
pread(2) clone.
ssize_t Pwrite (FD_t fd, const void *buf, size_t count, _libio_off_t offset)
pwrite(2) clone.
FD_t fadOpen (const char *path, int flags, mode_t perms)
unsigned int fadAlloc (FD_t fd, unsigned int size)
void fadFree (FD_t fd, unsigned int offset)
int fadSanity (FD_t fd, int offset, const struct faHeader *fh, int printit)
int fadFirstOffset (FD_t fd)
int fadNextOffset (FD_t fd, unsigned int lastoff)
FDIO_s fadio_s
FDIO_t fadio = &fadio_s
The entire file space is thus divided into blocks with a 'struct fablock' at the header of each.
The size fields doubly link this block list.
There is an additional free list weaved through the block list, which keeps new allocations fast.
Much of this was inspired by Knuth vol 1.
Definition at line 421 of file falloc.c.
References RPMMESS_DEBUG, and rpmMessage.
Referenced by fadNextOffset().
pread(2) clone.
Definition at line 58 of file falloc.c.
References _libio_off_t, Fread(), Fseek(), and SEEK_SET.
Referenced by fadAlloc(), fadFree(), fadNextOffset(), and fadOpen().
pwrite(2) clone.
Definition at line 73 of file falloc.c.
References _libio_off_t, Fseek(), Fwrite(), and SEEK_SET.
Referenced by fadAlloc(), and fadFree().
Definition at line 51 of file falloc.c.
Initial value:
{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fadOpen, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
Definition at line 46 of file falloc.c.
Generated automatically by Doxygen for rpm from the source code.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |