X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=svm%2Fsvmdb.c;h=c0680bc327988fdeac8e36c45c38b13e88702c4d;hb=8c4072696d2805fc8d9d2f76d8955f710d192bdd;hp=b22d2fab1bb8d888f19ea9a3870450c4dbce9b63;hpb=8a7fb0cf6844ed09173fd58224f7753a1b504cf4;p=vpp.git diff --git a/svm/svmdb.c b/svm/svmdb.c index b22d2fab1bb..c0680bc3279 100644 --- a/svm/svmdb.c +++ b/svm/svmdb.c @@ -66,8 +66,8 @@ region_unlock (svm_region_t * rp) pthread_mutex_unlock (&rp->mutex); } -static svmdb_client_t * -svmdb_map_internal (char *root_path, uword size) +svmdb_client_t * +svmdb_map (svmdb_map_args_t * dba) { svmdb_client_t *client = 0; svm_map_region_args_t *a = 0; @@ -78,12 +78,14 @@ svmdb_map_internal (char *root_path, uword size) vec_validate (client, 0); vec_validate (a, 0); - svm_region_init_chroot (root_path); + svm_region_init_chroot_uid_gid (dba->root_path, dba->uid, dba->gid); - a->root_path = root_path; + a->root_path = dba->root_path; a->name = "/db"; - a->size = size ? size : SVMDB_DEFAULT_SIZE; + a->size = dba->size ? dba->size : SVMDB_DEFAULT_SIZE; a->flags = SVM_FLAGS_MHEAP; + a->uid = dba->uid; + a->gid = dba->gid; db_rp = client->db_rp = svm_region_find_or_create (a); @@ -127,30 +129,6 @@ svmdb_map_internal (char *root_path, uword size) return (client); } -svmdb_client_t * -svmdb_map (void) -{ - return svmdb_map_internal (0, 0); -} - -svmdb_client_t * -svmdb_map_size (uword size) -{ - return svmdb_map_internal (0, size); -} - -svmdb_client_t * -svmdb_map_chroot (char *root_path) -{ - return svmdb_map_internal (root_path, 0); -} - -svmdb_client_t * -svmdb_map_chroot_size (char *root_path, uword size) -{ - return svmdb_map_internal (root_path, size); -} - void svmdb_unmap (svmdb_client_t * client) {