Mercurial > illumos > illumos-gate
annotate usr/src/uts/common/fs/zfs/sys/zvol.h @ 13967:92bec6d87f59
3557 dumpvp_size is not updated correctly when a dump zvol's size is changed
3558 setting the volsize on a dump device does not return back ENOSPC
3559 setting a volsize larger than the space available sometimes succeeds
3560 dumpadm should be able to remove a dump device
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Approved by: Albert Lee <trisk@nexenta.com>
author | George Wilson <george.wilson@delphix.com> |
---|---|
date | Wed, 20 Feb 2013 22:50:16 -0800 |
parents | 0ed71edeac88 |
children |
rev | line source |
---|---|
2676 | 1 /* |
2 * CDDL HEADER START | |
3 * | |
4 * The contents of this file are subject to the terms of the | |
5 * Common Development and Distribution License (the "License"). | |
6 * You may not use this file except in compliance with the License. | |
7 * | |
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
9 * or http://www.opensolaris.org/os/licensing. | |
10 * See the License for the specific language governing permissions | |
11 * and limitations under the License. | |
12 * | |
13 * When distributing Covered Code, include this CDDL HEADER in each | |
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
15 * If applicable, add the following below this CDDL HEADER, with the | |
16 * fields enclosed by brackets "[]" replaced with your own identifying | |
17 * information: Portions Copyright [yyyy] [name of copyright owner] | |
18 * | |
19 * CDDL HEADER END | |
20 */ | |
21 | |
22 /* | |
12314
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
23 * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. |
2676 | 24 */ |
25 | |
26 #ifndef _SYS_ZVOL_H | |
27 #define _SYS_ZVOL_H | |
28 | |
29 #include <sys/zfs_context.h> | |
30 | |
31 #ifdef __cplusplus | |
32 extern "C" { | |
33 #endif | |
34 | |
6423 | 35 #define ZVOL_OBJ 1ULL |
36 #define ZVOL_ZAP_OBJ 2ULL | |
37 | |
2676 | 38 #ifdef _KERNEL |
39 extern int zvol_check_volsize(uint64_t volsize, uint64_t blocksize); | |
40 extern int zvol_check_volblocksize(uint64_t volblocksize); | |
2885 | 41 extern int zvol_get_stats(objset_t *os, nvlist_t *nv); |
4543 | 42 extern void zvol_create_cb(objset_t *os, void *arg, cred_t *cr, dmu_tx_t *tx); |
10588
dc03f981ea18
6438937 if 'zfs destroy' fails, it can leave a zvol device link missing
Eric Taylor <Eric.Taylor@Sun.COM>
parents:
6423
diff
changeset
|
43 extern int zvol_create_minor(const char *); |
2676 | 44 extern int zvol_remove_minor(const char *); |
10588
dc03f981ea18
6438937 if 'zfs destroy' fails, it can leave a zvol device link missing
Eric Taylor <Eric.Taylor@Sun.COM>
parents:
6423
diff
changeset
|
45 extern void zvol_remove_minors(const char *); |
13967
92bec6d87f59
3557 dumpvp_size is not updated correctly when a dump zvol's size is changed
George Wilson <george.wilson@delphix.com>
parents:
12314
diff
changeset
|
46 extern int zvol_set_volsize(const char *, uint64_t); |
2676 | 47 |
48 extern int zvol_open(dev_t *devp, int flag, int otyp, cred_t *cr); | |
6423 | 49 extern int zvol_dump(dev_t dev, caddr_t addr, daddr_t offset, int nblocks); |
2676 | 50 extern int zvol_close(dev_t dev, int flag, int otyp, cred_t *cr); |
51 extern int zvol_strategy(buf_t *bp); | |
52 extern int zvol_read(dev_t dev, uio_t *uiop, cred_t *cr); | |
53 extern int zvol_write(dev_t dev, uio_t *uiop, cred_t *cr); | |
54 extern int zvol_aread(dev_t dev, struct aio_req *aio, cred_t *cr); | |
55 extern int zvol_awrite(dev_t dev, struct aio_req *aio, cred_t *cr); | |
56 extern int zvol_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cr, | |
57 int *rvalp); | |
58 extern int zvol_busy(void); | |
59 extern void zvol_init(void); | |
60 extern void zvol_fini(void); | |
12314
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
61 |
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
62 extern int zvol_get_volume_params(minor_t minor, uint64_t *blksize, |
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
63 uint64_t *max_xfer_len, void **minor_hdl, void **objset_hdl, void **zil_hdl, |
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
64 void **rl_hdl, void **bonus_hdl); |
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
65 extern uint64_t zvol_get_volume_size(void *minor_hdl); |
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
66 extern int zvol_get_volume_wce(void *minor_hdl); |
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
67 extern void zvol_log_write_minor(void *minor_hdl, dmu_tx_t *tx, offset_t off, |
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
68 ssize_t resid, boolean_t sync); |
0ed71edeac88
6909809 COMSTAR should avoid extra data copy to zvol-based backing store
James Moore <James.Moore@Sun.COM>
parents:
10588
diff
changeset
|
69 |
2676 | 70 #endif |
71 | |
72 #ifdef __cplusplus | |
73 } | |
74 #endif | |
75 | |
76 #endif /* _SYS_ZVOL_H */ |