forked from openzfs/zfs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Illumos 5960 zfs recv should prefetch indirect blocks
Illumos 5925 zfs receive -o origin= Reviewed by: Prakash Surya <[email protected]> Reviewed by: Matthew Ahrens <[email protected]> depends on openzfs#3574 Illumos 5745 zfs set allows only one dataset property to be set at a time depends on openzfs#3611 Illumos 5746 more checksumming in zfs send diverged code base from Illumos: [lib/libzfs/libzfs_sendrecv.c] b8864a2 Fix gcc cast warnings 325f023 Add linux kernel device support 5c3f61e Increase Linux pipe buffer size on 'zfs receive' [module/zfs/zfs_vnops.c] 3558fd7 Prototype/structure update for Linux c12e3a5 Restructure zfs_readdir() to fix regressions [module/zfs/zvol.c] function @zvol_map_block(spa_t *spa, zilog_t *zilog, const blkptr_t *bp, is non-existent in ZoL [module/zfs/dmu.c] in function dmu_prefetch(objset_t *os, uint64_t object, uint64_t offset, uint64_t len) int i is initialized before the following code block (c90 vs. c99) [module/zfs/Makefile.in + lib/libzpool/Makefile.am] 47a4a6f Support parallel build trees (VPATH builds) [module/zfs/dbuf.c] fc5bb51 Fix stack dbuf_hold_impl() 9b67f60 Illumos 4757, 4913 {4757 ZFS embedded-data block pointers ("zero block compression") , 4913 zfs release should not be subject to space checks} {reference} 34229a2 Reduce stack usage for recursive traverse_visitbp() [module/zfs/dmu_send.c] b58986e Use large stacks when available 241b541 Illumos 5959 - clean up per-dataset feature count code {reference} 77aef6f Use vmem_alloc() for nvlists 00b4602 Add linux kernel memory support [module/zfs/dmu_send.c, C90 warnings - previous commits, code thus less clear to read] Illumos 5746 more checksumming in zfs send [module/zfs/dbuf.c, ISO C90 - mixed declarations and code] arc_flags_t aflags = uint64_t nextblkid = dpa->dpa_zb.zb_blkid >> dmu_buf_impl_t *db = dbuf_find(dn->dn_objset, dn->dn_object, zio_t *pio = zio_root(dmu_objset_spa(dn->dn_objset), NULL, NULL, blkptr_t *bp = ((blkptr_t *)abuf->b_data) + dbuf_prefetch_arg_t *dpa = kmem_zalloc(sizeof (*dpa), KM_SLEEP); dsl_dataset_t *ds = dn->dn_objset->os_dsl_dataset; [module/zfs/dmu_send.c, ISO C90 - mixed declarations and code] dnode_phys_t *blk = abuf->b_data; uint64_t dnobj = zb->zb_blkid * (blksz >> DNODE_SHIFT); FIXME: man/man8/zfs.8 FIXME: different manpage format, currently I don't "get it" yet Ported-by: kernelOfTruth [email protected]
- Loading branch information
1 parent
d8695e9
commit 5105594
Showing
38 changed files
with
5,317 additions
and
372 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
/* | ||
* CDDL HEADER START | ||
* | ||
* This file and its contents are supplied under the terms of the | ||
* Common Development and Distribution License ("CDDL"), version 1.0. | ||
* You may only use this file in accordance with the terms of version | ||
* 1.0 of the CDDL. | ||
* | ||
* A full copy of the text of the CDDL should have accompanied this | ||
* source. A copy of the CDDL is also available via the Internet at | ||
* http://www.illumos.org/license/CDDL. | ||
* | ||
* CDDL HEADER END | ||
*/ | ||
/* | ||
* Copyright (c) 2014 by Delphix. All rights reserved. | ||
*/ | ||
|
||
#ifndef _BQUEUE_H | ||
#define _BQUEUE_H | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
#include <sys/zfs_context.h> | ||
|
||
typedef struct bqueue { | ||
list_t bq_list; | ||
kmutex_t bq_lock; | ||
kcondvar_t bq_add_cv; | ||
kcondvar_t bq_pop_cv; | ||
uint64_t bq_size; | ||
uint64_t bq_maxsize; | ||
size_t bq_node_offset; | ||
} bqueue_t; | ||
|
||
typedef struct bqueue_node { | ||
list_node_t bqn_node; | ||
uint64_t bqn_size; | ||
} bqueue_node_t; | ||
|
||
|
||
int bqueue_init(bqueue_t *, uint64_t, size_t); | ||
void bqueue_destroy(bqueue_t *); | ||
void bqueue_enqueue(bqueue_t *, void *, uint64_t); | ||
void *bqueue_dequeue(bqueue_t *); | ||
boolean_t bqueue_empty(bqueue_t *); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* _BQUEUE_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
/* | ||
* CDDL HEADER START | ||
* | ||
* This file and its contents are supplied under the terms of the | ||
* Common Development and Distribution License ("CDDL"), version 1.0. | ||
* You may only use this file in accordance with the terms of version | ||
* 1.0 of the CDDL. | ||
* | ||
* A full copy of the text of the CDDL should have accompanied this | ||
* source. A copy of the CDDL is also available via the Internet at | ||
* http://www.illumos.org/license/CDDL. | ||
* | ||
* CDDL HEADER END | ||
*/ | ||
/* | ||
* Copyright (c) 2014 by Delphix. All rights reserved. | ||
*/ | ||
#ifndef _ZIO_PRIORITY_H | ||
#define _ZIO_PRIORITY_H | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
typedef enum zio_priority { | ||
ZIO_PRIORITY_SYNC_READ, | ||
ZIO_PRIORITY_SYNC_WRITE, /* ZIL */ | ||
ZIO_PRIORITY_ASYNC_READ, /* prefetch */ | ||
ZIO_PRIORITY_ASYNC_WRITE, /* spa_sync() */ | ||
ZIO_PRIORITY_SCRUB, /* asynchronous scrub/resilver reads */ | ||
ZIO_PRIORITY_NUM_QUEUEABLE, | ||
|
||
ZIO_PRIORITY_NOW /* non-queued i/os (e.g. free) */ | ||
} zio_priority_t; | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* _ZIO_PRIORITY_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.