145 void* pg_vfs_init(ServerConfiguration *cfg, pool_handle_t *pool, WSConfigNode *config) { |
145 void* pg_vfs_init(ServerConfiguration *cfg, pool_handle_t *pool, WSConfigNode *config) { |
146 return pg_init_repo(pool, config); |
146 return pg_init_repo(pool, config); |
147 } |
147 } |
148 |
148 |
149 VFS* pg_vfs_create(Session *sn, Request *rq, pblock *pb, void *initData) { |
149 VFS* pg_vfs_create(Session *sn, Request *rq, pblock *pb, void *initData) { |
150 // resourcepool is required |
150 PgRepository *repo = initData; |
151 char *resource_pool = pblock_findval("resourcepool", pb); |
151 |
152 if(!resource_pool) { |
152 char *resource_pool; |
153 log_ereport(LOG_MISCONFIG, "pg_vfs_create: missing resourcepool parameter"); |
153 if(repo) { |
154 return NULL; |
154 resource_pool = repo->resourcepool.ptr; |
|
155 } else { |
|
156 // resourcepool is required |
|
157 resource_pool = pblock_findval("resourcepool", pb); |
|
158 if(!resource_pool) { |
|
159 log_ereport(LOG_MISCONFIG, "pg_vfs_create: missing resourcepool parameter"); |
|
160 return NULL; |
|
161 } |
155 } |
162 } |
156 |
163 |
157 // get the resource first (most likely to fail due to misconfig) |
164 // get the resource first (most likely to fail due to misconfig) |
158 ResourceData *resdata = resourcepool_lookup(sn, rq, resource_pool, 0); |
165 ResourceData *resdata = resourcepool_lookup(sn, rq, resource_pool, 0); |
159 if(!resdata) { |
166 if(!resdata) { |