uint32_t id;
int ret;
- if (!(lbad->flags & BLOB_LS_FLAG_LONG))
- return para_printf(&lbad->pb, "%s\n", name);
+ if (!(lbad->flags & BLOB_LS_FLAG_LONG)) {
+ para_printf(&lbad->pb, "%s\n", name);
+ return 0;
+ }
ret = osl(osl_get_object(table, row, BLOBCOL_ID, &obj));
if (ret < 0) {
para_printf(&lbad->pb, "%s: %s\n", name, para_strerror(-ret));
return ret;
}
id = *(uint32_t *)obj.data;
- return para_printf(&lbad->pb, "%u\t%s\n", id, name);
+ para_printf(&lbad->pb, "%u\t%s\n", id, name);
+ return 1;
}
static void com_lsblob_callback(struct osl_table *table,
static void com_rmblob_callback(struct osl_table *table, int fd,
const struct osl_object *query)
{
- int ret, ret2 = 0;
+ int ret;
struct rmblob_data rmbd = {
.pb = {
.max_size = shm_get_shmmax(),
.action = remove_blob
};
ret = for_each_matching_row(&pmd);
- if (ret < 0) {
- ret2 = para_printf(&rmbd.pb, "%s\n", para_strerror(-ret));
- if (ret2 < 0)
- goto out;
- }
+ if (ret < 0)
+ para_printf(&rmbd.pb, "%s\n", para_strerror(-ret));
if (pmd.num_matches == 0)
- ret2 = para_printf(&rmbd.pb, "no matches, nothing removed\n");
+ para_printf(&rmbd.pb, "no matches, nothing removed\n");
else {
- ret2 = para_printf(&rmbd.pb, "removed %d blobs\n", pmd.num_matches);
+ para_printf(&rmbd.pb, "removed %d blobs\n", pmd.num_matches);
afs_event(BLOB_RENAME, NULL, table);
}
-out:
- if (ret2 >= 0 && rmbd.pb.offset)
+ if (rmbd.pb.offset)
pass_buffer_as_shm(fd, SBD_OUTPUT, rmbd.pb.buf, rmbd.pb.offset);
free(rmbd.pb.buf);
}