Changeset View
Changeset View
Standalone View
Standalone View
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zvol.h
Show All 15 Lines | |||||
* fields enclosed by brackets "[]" replaced with your own identifying | * fields enclosed by brackets "[]" replaced with your own identifying | ||||
* information: Portions Copyright [yyyy] [name of copyright owner] | * information: Portions Copyright [yyyy] [name of copyright owner] | ||||
* | * | ||||
* CDDL HEADER END | * CDDL HEADER END | ||||
*/ | */ | ||||
/* | /* | ||||
* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. | * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. | ||||
* Copyright (c) 2016 Actifio, Inc. All rights reserved. | |||||
*/ | */ | ||||
#ifndef _SYS_ZVOL_H | #ifndef _SYS_ZVOL_H | ||||
#define _SYS_ZVOL_H | #define _SYS_ZVOL_H | ||||
#include <sys/zfs_context.h> | #include <sys/zfs_context.h> | ||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
extern "C" { | extern "C" { | ||||
#endif | #endif | ||||
#define ZVOL_OBJ 1ULL | #define ZVOL_OBJ 1ULL | ||||
#define ZVOL_ZAP_OBJ 2ULL | #define ZVOL_ZAP_OBJ 2ULL | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
extern int zvol_check_volsize(uint64_t volsize, uint64_t blocksize); | extern int zvol_check_volsize(uint64_t volsize, uint64_t blocksize); | ||||
extern int zvol_check_volblocksize(uint64_t volblocksize); | extern int zvol_check_volblocksize(uint64_t volblocksize); | ||||
extern int zvol_get_stats(objset_t *os, nvlist_t *nv); | extern int zvol_get_stats(objset_t *os, nvlist_t *nv); | ||||
extern void zvol_create_cb(objset_t *os, void *arg, cred_t *cr, dmu_tx_t *tx); | extern void zvol_create_cb(objset_t *os, void *arg, cred_t *cr, dmu_tx_t *tx); | ||||
extern int zvol_create_minor(const char *); | |||||
extern int zvol_remove_minor(const char *); | |||||
extern void zvol_remove_minors(const char *); | |||||
extern int zvol_set_volsize(const char *, uint64_t); | extern int zvol_set_volsize(const char *, uint64_t); | ||||
#ifdef illumos | #ifdef illumos | ||||
extern int zvol_open(dev_t *devp, int flag, int otyp, cred_t *cr); | extern int zvol_open(dev_t *devp, int flag, int otyp, cred_t *cr); | ||||
extern int zvol_dump(dev_t dev, caddr_t addr, daddr_t offset, int nblocks); | extern int zvol_dump(dev_t dev, caddr_t addr, daddr_t offset, int nblocks); | ||||
extern int zvol_close(dev_t dev, int flag, int otyp, cred_t *cr); | extern int zvol_close(dev_t dev, int flag, int otyp, cred_t *cr); | ||||
extern int zvol_strategy(buf_t *bp); | extern int zvol_strategy(buf_t *bp); | ||||
extern int zvol_read(dev_t dev, uio_t *uiop, cred_t *cr); | extern int zvol_read(dev_t dev, uio_t *uiop, cred_t *cr); | ||||
Show All 13 Lines | extern int zvol_get_volume_params(minor_t minor, uint64_t *blksize, | ||||
void **rl_hdl, void **bonus_hdl); | void **rl_hdl, void **bonus_hdl); | ||||
extern uint64_t zvol_get_volume_size(void *minor_hdl); | extern uint64_t zvol_get_volume_size(void *minor_hdl); | ||||
extern int zvol_get_volume_wce(void *minor_hdl); | extern int zvol_get_volume_wce(void *minor_hdl); | ||||
extern void zvol_log_write_minor(void *minor_hdl, dmu_tx_t *tx, offset_t off, | extern void zvol_log_write_minor(void *minor_hdl, dmu_tx_t *tx, offset_t off, | ||||
ssize_t resid, boolean_t sync); | ssize_t resid, boolean_t sync); | ||||
#endif /* illumos */ | #endif /* illumos */ | ||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) | #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) | ||||
extern int zvol_create_minors(const char *name); | extern void zvol_create_minors(spa_t *spa, const char *name); | ||||
extern void zvol_rename_minors(const char *oldname, const char *newname); | extern void zvol_remove_minors(spa_t *spa, const char *name); | ||||
extern void zvol_rename_minors(spa_t *spa, const char *oldname, | |||||
const char *newname); | |||||
#endif | #endif | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
} | } | ||||
#endif | #endif | ||||
#endif /* _SYS_ZVOL_H */ | #endif /* _SYS_ZVOL_H */ |