Make image_copyout_zeroes() an interface function.
This commit is contained in:
parent
7b25d1d63b
commit
ddaceed224
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=286215
@ -517,14 +517,14 @@ image_copyout_memory(int fd, size_t size, void *ptr)
|
||||
return (0);
|
||||
}
|
||||
|
||||
static int
|
||||
image_copyout_zeroes(int fd, size_t size)
|
||||
int
|
||||
image_copyout_zeroes(int fd, size_t count)
|
||||
{
|
||||
static uint8_t *zeroes = NULL;
|
||||
size_t sz;
|
||||
int error;
|
||||
|
||||
if (lseek(fd, (off_t)size, SEEK_CUR) != -1)
|
||||
if (lseek(fd, (off_t)count, SEEK_CUR) != -1)
|
||||
return (0);
|
||||
|
||||
/*
|
||||
@ -537,12 +537,12 @@ image_copyout_zeroes(int fd, size_t size)
|
||||
return (ENOMEM);
|
||||
}
|
||||
|
||||
while (size > 0) {
|
||||
sz = (size > secsz) ? secsz : size;
|
||||
while (count > 0) {
|
||||
sz = (count > secsz) ? secsz : count;
|
||||
error = image_copyout_memory(fd, sz, zeroes);
|
||||
if (error)
|
||||
return (error);
|
||||
size -= sz;
|
||||
count -= sz;
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ int image_copyin(lba_t blk, int fd, uint64_t *sizep);
|
||||
int image_copyout(int fd);
|
||||
int image_copyout_done(int fd);
|
||||
int image_copyout_region(int fd, lba_t blk, lba_t size);
|
||||
int image_copyout_zeroes(int fd, size_t count);
|
||||
int image_data(lba_t blk, lba_t size);
|
||||
lba_t image_get_size(void);
|
||||
int image_init(void);
|
||||
|
Loading…
Reference in New Issue
Block a user