Lines Matching refs:zpool

21 struct zpool {  struct
156 struct zpool *zpool_create_pool(const char *type, const char *name, gfp_t gfp, in zpool_create_pool()
160 struct zpool *zpool; in zpool_create_pool() local
176 zpool = kmalloc(sizeof(*zpool), gfp); in zpool_create_pool()
177 if (!zpool) { in zpool_create_pool()
183 zpool->driver = driver; in zpool_create_pool()
184 zpool->pool = driver->create(name, gfp, ops, zpool); in zpool_create_pool()
185 zpool->ops = ops; in zpool_create_pool()
186 zpool->evictable = driver->shrink && ops && ops->evict; in zpool_create_pool()
187 zpool->can_sleep_mapped = driver->sleep_mapped; in zpool_create_pool()
189 if (!zpool->pool) { in zpool_create_pool()
192 kfree(zpool); in zpool_create_pool()
199 list_add(&zpool->list, &pools_head); in zpool_create_pool()
202 return zpool; in zpool_create_pool()
216 void zpool_destroy_pool(struct zpool *zpool) in zpool_destroy_pool() argument
218 pr_debug("destroying pool type %s\n", zpool->driver->type); in zpool_destroy_pool()
221 list_del(&zpool->list); in zpool_destroy_pool()
223 zpool->driver->destroy(zpool->pool); in zpool_destroy_pool()
224 zpool_put_driver(zpool->driver); in zpool_destroy_pool()
225 kfree(zpool); in zpool_destroy_pool()
238 const char *zpool_get_type(struct zpool *zpool) in zpool_get_type() argument
240 return zpool->driver->type; in zpool_get_type()
254 bool zpool_malloc_support_movable(struct zpool *zpool) in zpool_malloc_support_movable() argument
256 return zpool->driver->malloc_support_movable; in zpool_malloc_support_movable()
275 int zpool_malloc(struct zpool *zpool, size_t size, gfp_t gfp, in zpool_malloc() argument
278 return zpool->driver->malloc(zpool->pool, size, gfp, handle); in zpool_malloc()
295 void zpool_free(struct zpool *zpool, unsigned long handle) in zpool_free() argument
297 zpool->driver->free(zpool->pool, handle); in zpool_free()
317 int zpool_shrink(struct zpool *zpool, unsigned int pages, in zpool_shrink() argument
320 return zpool->driver->shrink ? in zpool_shrink()
321 zpool->driver->shrink(zpool->pool, pages, reclaimed) : -EINVAL; in zpool_shrink()
346 void *zpool_map_handle(struct zpool *zpool, unsigned long handle, in zpool_map_handle() argument
349 return zpool->driver->map(zpool->pool, handle, mapmode); in zpool_map_handle()
362 void zpool_unmap_handle(struct zpool *zpool, unsigned long handle) in zpool_unmap_handle() argument
364 zpool->driver->unmap(zpool->pool, handle); in zpool_unmap_handle()
375 u64 zpool_get_total_size(struct zpool *zpool) in zpool_get_total_size() argument
377 return zpool->driver->total_size(zpool->pool); in zpool_get_total_size()
393 bool zpool_evictable(struct zpool *zpool) in zpool_evictable() argument
395 return zpool->evictable; in zpool_evictable()
404 bool zpool_can_sleep_mapped(struct zpool *zpool) in zpool_can_sleep_mapped() argument
406 return zpool->can_sleep_mapped; in zpool_can_sleep_mapped()