X-Git-Url: http://git.tuebingen.mpg.de/?p=osl.git;a=blobdiff_plain;f=osl.c;h=3f55ed4c24fc3217e6f4925b1b0e6b8d82de550a;hp=50f63983bb26cc0b0511b497ba7203df64da659c;hb=7d53d2f571da94ec9caf85fb456118ebee85fcf9;hpb=e2359e0a52bcb16ff760c114b089b96049b368c8 diff --git a/osl.c b/osl.c index 50f6398..3f55ed4 100644 --- a/osl.c +++ b/osl.c @@ -181,7 +181,7 @@ static int disk_storage_name_of_row(const struct osl_table *t, *name = disk_storage_name_of_object(t, &obj); if (*name) return 1; - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; } static void column_name_hash(const char *col_name, HASH_TYPE *hash) @@ -250,7 +250,7 @@ int init_table_structure(const struct osl_table_description *desc, { const struct osl_column_description *cd; struct osl_table *t = calloc(1, sizeof(*t)); - int i, ret = -ERRNO_TO_ERROR(ENOMEM), have_disk_storage_name_column = 0; + int i, ret = -E_OSL_NOMEM, have_disk_storage_name_column = 0; if (!t) return ret; @@ -265,7 +265,7 @@ int init_table_structure(const struct osl_table_description *desc, ret = -E_OSL_NO_COLUMNS; if (!desc->num_columns) goto err; - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; t->columns = calloc(desc->num_columns, sizeof(struct osl_column)); if (!t->columns) goto err; @@ -368,7 +368,7 @@ int read_table_desc(struct osl_object *map, struct osl_table_description *desc) desc->column_descriptions = calloc(desc->num_columns, sizeof(struct osl_column_description)); if (!desc->column_descriptions) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; offset = IDX_COLUMN_DESCRIPTIONS; FOR_EACH_COLUMN(i, desc, cd) { char *null_byte; @@ -388,7 +388,7 @@ int read_table_desc(struct osl_object *map, struct osl_table_description *desc) ret = -E_OSL_INDEX_CORRUPTION; if (!null_byte) goto err; - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; cd->name = strdup(buf + offset + IDX_CD_NAME); if (!cd->name) goto err; @@ -431,7 +431,7 @@ static int compare_table_descriptions(struct osl_table *t) struct osl_column_description *cd; unsigned diff = t->desc->num_columns - desc.num_columns; INFO_LOG("extending table by %u volatile columns\n", diff); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; desc.column_descriptions = realloc(desc.column_descriptions, t->desc->num_columns * sizeof(struct osl_column_description)); if (!desc.column_descriptions) @@ -486,7 +486,7 @@ static int create_table_index(struct osl_table *t) t->desc->name); buf = calloc(1, size); if (!buf) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; sprintf(buf + IDX_PARA_MAGIC, "%s", PARA_MAGIC); write_u8(buf + IDX_TABLE_FLAGS, t->desc->flags); write_u8(buf + IDX_DIRTY_FLAG, 0); @@ -513,7 +513,7 @@ static int create_table_index(struct osl_table *t) if (filename) ret = write_file(filename, buf, size); else - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; free(buf); free(filename); return ret; @@ -538,14 +538,14 @@ __export int osl_create_table(const struct osl_table_description *desc) goto out; table_dir = make_message("%s/%s", desc->dir, desc->name); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; if (!table_dir) goto out; ret = osl_mkdir(table_dir, 0777); if (ret < 0) goto out; } - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; filename = column_filename(t, i); if (!filename) goto out; @@ -649,7 +649,7 @@ static int map_column(struct osl_table *t, unsigned col_num) int ret; if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = osl_stat(filename, &statbuf); if (ret < 0) { free(filename); @@ -690,7 +690,7 @@ int map_table(struct osl_table *t, enum map_table_flags flags) return -E_OSL_ALREADY_MAPPED; filename = index_filename(t->desc); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; INFO_LOG("mapping table '%s' (index: %s)\n", t->desc->name, filename); ret = mmap_full_file(filename, flags & MAP_TBL_FL_MAP_RDONLY? O_RDONLY : O_RDWR, &t->index_map.data, &t->index_map.size, NULL); @@ -864,7 +864,7 @@ static int add_row_to_rbtrees(struct osl_table *t, uint32_t row_num, const struct osl_column_description *cd; if (!row) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; row->num = row_num; row->volatile_objects = volatile_objs; FOR_EACH_RBTREE_COLUMN(i, t, cd) { @@ -1066,17 +1066,17 @@ __export int osl_open_table(const struct osl_table_description *table_desc, struct stat statbuf; char *dirname = column_filename(t, i); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; if (!dirname) goto err; /* check if directory exists */ ret = stat(dirname, &statbuf); free(dirname); if (ret < 0) { - ret = -ERRNO_TO_ERROR(errno); + ret = -E_OSL_STAT; goto err; } - ret = -ERRNO_TO_ERROR(ENOTDIR); + ret = -E_OSL_NOTDIR; if (!S_ISDIR(statbuf.st_mode)) goto err; } @@ -1108,7 +1108,7 @@ static int create_disk_storage_object_dir(const struct osl_table *t, return 1; dirname = disk_storage_dirname(t, col_num, ds_name); if (!dirname) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = osl_mkdir(dirname, 0777); free(dirname); if (ret < 0 && !is_errno(-ret, EEXIST)) @@ -1127,7 +1127,7 @@ static int write_disk_storage_file(const struct osl_table *t, unsigned col_num, return ret; filename = disk_storage_path(t, col_num, ds_name); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = write_file(filename, obj->data, obj->size); free(filename); return ret; @@ -1140,7 +1140,7 @@ static int append_map_file(const struct osl_table *t, unsigned col_num, int ret; if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = append_file(filename, obj->data, obj->size, new_size); free(filename); return ret; @@ -1155,7 +1155,7 @@ static int append_row_index(const struct osl_table *t, char *row_index) return 1; filename = index_filename(t->desc); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = append_file(filename, row_index, t->row_index_size, NULL); free(filename); return ret; @@ -1168,7 +1168,7 @@ static int truncate_mapped_file(const struct osl_table *t, unsigned col_num, char *filename = column_filename(t, col_num); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = truncate_file(filename, size); free(filename); return ret; @@ -1181,17 +1181,17 @@ static int delete_disk_storage_file(const struct osl_table *t, unsigned col_num, int ret, err; if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = unlink(filename); err = errno; free(filename); if (ret < 0) - return -ERRNO_TO_ERROR(err); + return -E_OSL_UNLINK; if (!(t->desc->flags & OSL_LARGE_TABLE)) return 1; dirname = disk_storage_dirname(t, col_num, ds_name); if (!dirname) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; rmdir(dirname); free(dirname); return 1; @@ -1211,18 +1211,18 @@ __export int osl_add_and_get_row(struct osl_table *t, struct osl_object *objects return -E_OSL_BAD_TABLE; rb_parents = malloc(t->num_rbtrees * sizeof(struct rn_node*)); if (!rb_parents) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; rb_links = malloc(t->num_rbtrees * sizeof(struct rn_node**)); if (!rb_links) { free(rb_parents); - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; } if (t->num_mapped_columns) { new_row_index = malloc(t->row_index_size); if (!new_row_index) { free(rb_links); free(rb_parents); - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; } } /* pass 1: sanity checks */ @@ -1258,7 +1258,7 @@ __export int osl_add_and_get_row(struct osl_table *t, struct osl_object *objects if (t->num_disk_storage_columns) { ds_name = disk_storage_name_of_object(t, &objects[t->disk_storage_name_column]); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; if (!ds_name) goto out; } @@ -1301,7 +1301,7 @@ __export int osl_add_and_get_row(struct osl_table *t, struct osl_object *objects } /* pass 3: add entry to rbtrees */ if (t->num_volatile_columns) { - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; volatile_objs = calloc(t->num_volatile_columns, sizeof(struct osl_object)); if (!volatile_objs) @@ -1505,7 +1505,7 @@ static int rename_disk_storage_objects(struct osl_table *t, return 1; /* object did not change */ old_ds_name = disk_storage_name_of_object(t, old_obj); new_ds_name = disk_storage_name_of_object(t, new_obj); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; if (!old_ds_name || ! new_ds_name) goto out; @@ -1517,7 +1517,7 @@ static int rename_disk_storage_objects(struct osl_table *t, old_filename = disk_storage_path(t, i, old_ds_name); new_filename = disk_storage_path(t, i, new_ds_name); if (!old_filename || !new_filename) - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; else ret = osl_rename(old_filename, new_filename); free(old_filename); @@ -1633,7 +1633,7 @@ __export int osl_open_disk_object(const struct osl_table *t, const struct osl_ro filename = disk_storage_path(t, col_num, ds_name); free(ds_name); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; DEBUG_LOG("filename: %s\n", filename); ret = mmap_full_file(filename, O_RDONLY, &obj->data, &obj->size, NULL); free(filename);