diff options
author | Paul Dagnelie <[email protected]> | 2018-10-09 14:05:13 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2018-10-09 14:05:13 -0700 |
commit | 0391690583a8c5129477cbdac476130abe4af776 (patch) | |
tree | 7e38f5c23407d26f7f19b86f04e0cea7049d5b26 /include | |
parent | 5e8ff25644dfed600b4bdfb201ea6db003b4ad2c (diff) |
Refactor dmu_recv into its own file
This change moves the bottom half of dmu_send.c (where the receive
logic is kept) into a new file, dmu_recv.c, and does similarly
for receive-related changes in header files.
Reviewed by: Matthew Ahrens <[email protected]>
Reviewed by: Brian Behlendorf <[email protected]>
Signed-off-by: Paul Dagnelie <[email protected]>
Closes #7982
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/Makefile.am | 1 | ||||
-rw-r--r-- | include/sys/dmu_recv.h | 68 | ||||
-rw-r--r-- | include/sys/dmu_send.h | 31 | ||||
-rw-r--r-- | include/sys/dsl_bookmark.h | 1 |
4 files changed, 70 insertions, 31 deletions
diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am index 644ddaab3..8bf376998 100644 --- a/include/sys/Makefile.am +++ b/include/sys/Makefile.am @@ -20,6 +20,7 @@ COMMON_H = \ $(top_srcdir)/include/sys/dmu.h \ $(top_srcdir)/include/sys/dmu_impl.h \ $(top_srcdir)/include/sys/dmu_objset.h \ + $(top_srcdir)/include/sys/dmu_recv.h \ $(top_srcdir)/include/sys/dmu_send.h \ $(top_srcdir)/include/sys/dmu_traverse.h \ $(top_srcdir)/include/sys/dmu_tx.h \ diff --git a/include/sys/dmu_recv.h b/include/sys/dmu_recv.h new file mode 100644 index 000000000..4a0d47711 --- /dev/null +++ b/include/sys/dmu_recv.h @@ -0,0 +1,68 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2018 by Delphix. All rights reserved. + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2013, Joyent, Inc. All rights reserved. + */ + +#ifndef _DMU_RECV_H +#define _DMU_RECV_H + +#include <sys/inttypes.h> +#include <sys/dsl_bookmark.h> +#include <sys/dsl_dataset.h> +#include <sys/spa.h> + +extern const char *recv_clone_name; + +typedef struct dmu_recv_cookie { + struct dsl_dataset *drc_ds; + struct dmu_replay_record *drc_drr_begin; + struct drr_begin *drc_drrb; + const char *drc_tofs; + const char *drc_tosnap; + boolean_t drc_newfs; + boolean_t drc_byteswap; + boolean_t drc_force; + boolean_t drc_resumable; + boolean_t drc_raw; + boolean_t drc_clone; + struct avl_tree *drc_guid_to_ds_map; + nvlist_t *drc_keynvl; + zio_cksum_t drc_cksum; + uint64_t drc_newsnapobj; + void *drc_owner; + cred_t *drc_cred; +} dmu_recv_cookie_t; + +int dmu_recv_begin(char *tofs, char *tosnap, + struct dmu_replay_record *drr_begin, boolean_t force, boolean_t resumable, + nvlist_t *localprops, nvlist_t *hidden_args, char *origin, + dmu_recv_cookie_t *drc); +int dmu_recv_stream(dmu_recv_cookie_t *drc, struct vnode *vp, offset_t *voffp, + int cleanup_fd, uint64_t *action_handlep); +int dmu_recv_end(dmu_recv_cookie_t *drc, void *owner); +boolean_t dmu_objset_is_receiving(objset_t *os); + +#endif /* _DMU_RECV_H */ diff --git a/include/sys/dmu_send.h b/include/sys/dmu_send.h index 396710470..2e4d54b4f 100644 --- a/include/sys/dmu_send.h +++ b/include/sys/dmu_send.h @@ -39,8 +39,6 @@ struct drr_begin; struct avl_tree; struct dmu_replay_record; -extern const char *recv_clone_name; - int dmu_send(const char *tosnap, const char *fromsnap, boolean_t embedok, boolean_t large_block_ok, boolean_t compressok, boolean_t rawok, int outfd, uint64_t resumeobj, uint64_t resumeoff, struct vnode *vp, offset_t *off); @@ -52,33 +50,4 @@ int dmu_send_obj(const char *pool, uint64_t tosnap, uint64_t fromsnap, boolean_t embedok, boolean_t large_block_ok, boolean_t compressok, boolean_t rawok, int outfd, struct vnode *vp, offset_t *off); -typedef struct dmu_recv_cookie { - struct dsl_dataset *drc_ds; - struct dmu_replay_record *drc_drr_begin; - struct drr_begin *drc_drrb; - const char *drc_tofs; - const char *drc_tosnap; - boolean_t drc_newfs; - boolean_t drc_byteswap; - boolean_t drc_force; - boolean_t drc_resumable; - boolean_t drc_raw; - boolean_t drc_clone; - struct avl_tree *drc_guid_to_ds_map; - nvlist_t *drc_keynvl; - zio_cksum_t drc_cksum; - uint64_t drc_newsnapobj; - void *drc_owner; - cred_t *drc_cred; -} dmu_recv_cookie_t; - -int dmu_recv_begin(char *tofs, char *tosnap, - struct dmu_replay_record *drr_begin, boolean_t force, boolean_t resumable, - nvlist_t *localprops, nvlist_t *hidden_args, char *origin, - dmu_recv_cookie_t *drc); -int dmu_recv_stream(dmu_recv_cookie_t *drc, struct vnode *vp, offset_t *voffp, - int cleanup_fd, uint64_t *action_handlep); -int dmu_recv_end(dmu_recv_cookie_t *drc, void *owner); -boolean_t dmu_objset_is_receiving(objset_t *os); - #endif /* _DMU_SEND_H */ diff --git a/include/sys/dsl_bookmark.h b/include/sys/dsl_bookmark.h index 3591986d7..e477bb231 100644 --- a/include/sys/dsl_bookmark.h +++ b/include/sys/dsl_bookmark.h @@ -20,6 +20,7 @@ #define _SYS_DSL_BOOKMARK_H #include <sys/zfs_context.h> +#include <sys/dsl_dataset.h> #ifdef __cplusplus extern "C" { |