usr/src/uts/common/fs/zfs/sys/zvol.h
changeset 6423 437422a29d3a
parent 4787 602d3f97842c
child 10588 dc03f981ea18
equal deleted inserted replaced
6422:d51a10d738ba 6423:437422a29d3a
    18  *
    18  *
    19  * CDDL HEADER END
    19  * CDDL HEADER END
    20  */
    20  */
    21 
    21 
    22 /*
    22 /*
    23  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
    23  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
    24  * Use is subject to license terms.
    24  * Use is subject to license terms.
    25  */
    25  */
    26 
    26 
    27 #ifndef	_SYS_ZVOL_H
    27 #ifndef	_SYS_ZVOL_H
    28 #define	_SYS_ZVOL_H
    28 #define	_SYS_ZVOL_H
    33 
    33 
    34 #ifdef	__cplusplus
    34 #ifdef	__cplusplus
    35 extern "C" {
    35 extern "C" {
    36 #endif
    36 #endif
    37 
    37 
       
    38 #define	ZVOL_OBJ		1ULL
       
    39 #define	ZVOL_ZAP_OBJ		2ULL
       
    40 
    38 #ifdef _KERNEL
    41 #ifdef _KERNEL
    39 extern int zvol_check_volsize(uint64_t volsize, uint64_t blocksize);
    42 extern int zvol_check_volsize(uint64_t volsize, uint64_t blocksize);
    40 extern int zvol_check_volblocksize(uint64_t volblocksize);
    43 extern int zvol_check_volblocksize(uint64_t volblocksize);
    41 extern int zvol_get_stats(objset_t *os, nvlist_t *nv);
    44 extern int zvol_get_stats(objset_t *os, nvlist_t *nv);
    42 extern void zvol_create_cb(objset_t *os, void *arg, cred_t *cr, dmu_tx_t *tx);
    45 extern void zvol_create_cb(objset_t *os, void *arg, cred_t *cr, dmu_tx_t *tx);
    44 extern int zvol_remove_minor(const char *);
    47 extern int zvol_remove_minor(const char *);
    45 extern int zvol_set_volsize(const char *, major_t, uint64_t);
    48 extern int zvol_set_volsize(const char *, major_t, uint64_t);
    46 extern int zvol_set_volblocksize(const char *, uint64_t);
    49 extern int zvol_set_volblocksize(const char *, uint64_t);
    47 
    50 
    48 extern int zvol_open(dev_t *devp, int flag, int otyp, cred_t *cr);
    51 extern int zvol_open(dev_t *devp, int flag, int otyp, cred_t *cr);
       
    52 extern int zvol_dump(dev_t dev, caddr_t addr, daddr_t offset, int nblocks);
    49 extern int zvol_close(dev_t dev, int flag, int otyp, cred_t *cr);
    53 extern int zvol_close(dev_t dev, int flag, int otyp, cred_t *cr);
    50 extern int zvol_strategy(buf_t *bp);
    54 extern int zvol_strategy(buf_t *bp);
    51 extern int zvol_read(dev_t dev, uio_t *uiop, cred_t *cr);
    55 extern int zvol_read(dev_t dev, uio_t *uiop, cred_t *cr);
    52 extern int zvol_write(dev_t dev, uio_t *uiop, cred_t *cr);
    56 extern int zvol_write(dev_t dev, uio_t *uiop, cred_t *cr);
    53 extern int zvol_aread(dev_t dev, struct aio_req *aio, cred_t *cr);
    57 extern int zvol_aread(dev_t dev, struct aio_req *aio, cred_t *cr);