Convert libfrog functions to return negative error codes like libxfs
does.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
bmap = calloc(1, sizeof(struct bitmap));
if (!bmap)
bmap = calloc(1, sizeof(struct bitmap));
if (!bmap)
bmap->bt_tree = malloc(sizeof(struct avl64tree_desc));
if (!bmap->bt_tree) {
bmap->bt_tree = malloc(sizeof(struct avl64tree_desc));
if (!bmap->bt_tree) {
- ret = pthread_mutex_init(&bmap->bt_lock, NULL);
+ ret = -pthread_mutex_init(&bmap->bt_lock, NULL);
ext = bitmap_node_init(start, length);
if (!ext)
ext = bitmap_node_init(start, length);
if (!ext)
node = avl64_insert(bmap->bt_tree, &ext->btn_node);
if (node == NULL) {
free(ext);
node = avl64_insert(bmap->bt_tree, &ext->btn_node);
if (node == NULL) {
free(ext);
#if 0 /* Unused, provided for completeness. */
/* Clear a region of bits. */
#if 0 /* Unused, provided for completeness. */
/* Clear a region of bits. */
bitmap_clear(
struct bitmap *bmap,
uint64_t start,
bitmap_clear(
struct bitmap *bmap,
uint64_t start,
/* Nothing, we're done. */
if (firstn == NULL && lastn == NULL) {
pthread_mutex_unlock(&bmap->bt_lock);
/* Nothing, we're done. */
if (firstn == NULL && lastn == NULL) {
pthread_mutex_unlock(&bmap->bt_lock);
}
assert(firstn != NULL && lastn != NULL);
}
assert(firstn != NULL && lastn != NULL);
new_start;
ext = bitmap_node_init(new_start, new_length);
new_start;
ext = bitmap_node_init(new_start, new_length);
- if (!ext)
- return false;
+ if (!ext) {
+ ret = -errno;
+ goto out;
+ }
node = avl64_insert(bmap->bt_tree, &ext->btn_node);
if (node == NULL) {
node = avl64_insert(bmap->bt_tree, &ext->btn_node);
if (node == NULL) {
- errno = EEXIST;
- return false;
+ ret = -EEXIST;
+ goto out;
pthread_mutex_unlock(&bmap->bt_lock);
pthread_mutex_unlock(&bmap->bt_lock);
error = init_slab_cursor(ag_rmap->ar_raw_rmaps, rmap_compare, &rm_cur);
if (error)
goto err;
error = init_slab_cursor(ag_rmap->ar_raw_rmaps, rmap_compare, &rm_cur);
if (error)
goto err;
- error = bitmap_alloc(&own_ag_bitmap);
+ error = -bitmap_alloc(&own_ag_bitmap);
if (error)
goto err_slab;
while ((rm_rec = pop_slab_cursor(rm_cur)) != NULL) {
if (rm_rec->rm_owner != XFS_RMAP_OWN_AG)
continue;
if (error)
goto err_slab;
while ((rm_rec = pop_slab_cursor(rm_cur)) != NULL) {
if (rm_rec->rm_owner != XFS_RMAP_OWN_AG)
continue;
- error = bitmap_set(own_ag_bitmap, rm_rec->rm_startblock,
+ error = -bitmap_set(own_ag_bitmap, rm_rec->rm_startblock,
rm_rec->rm_blockcount);
if (error) {
/*
rm_rec->rm_blockcount);
if (error) {
/*
- return bitmap_iterate_range(bmp, bmap->bm_physical, bmap->bm_length,
+ return -bitmap_iterate_range(bmp, bmap->bm_physical, bmap->bm_length,
(keys + 1)->fmr_owner = ULLONG_MAX;
(keys + 1)->fmr_offset = ULLONG_MAX;
(keys + 1)->fmr_flags = UINT_MAX;
(keys + 1)->fmr_owner = ULLONG_MAX;
(keys + 1)->fmr_offset = ULLONG_MAX;
(keys + 1)->fmr_flags = UINT_MAX;
- return scrub_iterate_fsmap(dioerr->ctx, keys, report_ioerr_fsmap,
+ return -scrub_iterate_fsmap(dioerr->ctx, keys, report_ioerr_fsmap,
tree = bitmap_for_disk(ctx, disk, vs);
if (!tree)
return 0;
tree = bitmap_for_disk(ctx, disk, vs);
if (!tree)
return 0;
- return bitmap_iterate(tree, report_ioerr, &dioerr);
+ return -bitmap_iterate(tree, report_ioerr, &dioerr);
}
/* Given bad extent lists for the data & rtdev, find bad files. */
}
/* Given bad extent lists for the data & rtdev, find bad files. */
- ret = bitmap_set(tree, start, length);
+ ret = -bitmap_set(tree, start, length);
if (ret)
str_liberror(ctx, ret, _("setting bad block bitmap"));
}
if (ret)
str_liberror(ctx, ret, _("setting bad block bitmap"));
}
struct media_verify_state vs = { NULL };
int ret, ret2, ret3;
struct media_verify_state vs = { NULL };
int ret, ret2, ret3;
- ret = bitmap_alloc(&vs.d_bad);
+ ret = -bitmap_alloc(&vs.d_bad);
if (ret) {
str_liberror(ctx, ret, _("creating datadev badblock bitmap"));
return ret;
}
if (ret) {
str_liberror(ctx, ret, _("creating datadev badblock bitmap"));
return ret;
}
- ret = bitmap_alloc(&vs.r_bad);
+ ret = -bitmap_alloc(&vs.r_bad);
if (ret) {
str_liberror(ctx, ret, _("creating realtime badblock bitmap"));
goto out_dbad;
if (ret) {
str_liberror(ctx, ret, _("creating realtime badblock bitmap"));
goto out_dbad;