mirror of
https://github.com/opnsense/src.git
synced 2026-04-04 00:45:17 -04:00
Notable upstream pull request merges:
#11710 Allow zfs to send replication streams with missing snapshots
#11751 Avoid taking global lock to destroy zfsdev state
#11786 Ratelimit deadman zevents as with delay zevents
#11803 ZFS traverse_visitbp optimization to limit prefetch
#11813 Allow pool names that look like Solaris disk names
#11822 Atomically check and set dropped zevent count
#11822 Don't scale zfs_zevent_len_max by CPU count
#11833 Refactor zfsdev state init/destroy to share common code
#11837 zfs get -p only outputs 3 columns if "clones" property is empty
#11843 libzutil: zfs_isnumber(): return false if input empty
#11849 Use dsl_scan_setup_check() to setup a scrub
#11861 Improvements to the 'compatibility' property
#11862 cmd/zfs receive: allow dry-run (-n) to check property args
#11864 receive: don't fail inheriting (-x) properties on wrong dataset type
#11877 Combine zio caches if possible
#11881 FreeBSD: use vnlru_free_vfsops if available
#11883 FreeBSD: add support for lockless symlink lookup
#11884 FreeBSD: add missing seqc write begin/end around zfs_acl_chown_setattr
#11896 Fix crash in zio_done error reporting
#11905 zfs-send(8): Restore sorting of flags
#11926 FreeBSD: damage control racing .. lookups in face of mkdir/rmdir
#11930 vdev_mirror: don't scrub/resilver devices that can't be read
#11938 Fix AVX512BW Fletcher code on AVX512-but-not-BW machines
#11955 zfs get: don't lookup mount options when using "-s local"
#11956 libzfs: add keylocation=https://, backed by fetch(3) or libcurl
#11959 vdev_id: variable not getting expanded under map_slot()
#11966 Scale worker threads and taskqs with number of CPUs
#11994 Clean up use of zfs_log_create in zfs_dir
#11997 FreeBSD: Don't force xattr mount option
#11997 FreeBSD: Implement xattr=sa
#11997 FreeBSD: Use SET_ERROR to trace xattr name errors
#11998 Simplify/fix dnode_move() for dn_zfetch
#12003 FreeBSD: Initialize/destroy zp->z_lock
#12010 Fix dRAID self-healing short columns
#12033 Revert "Fix raw sends on encrypted datasets when copying back snapshots"
#12040 Reinstate the old zpool read label logic as a fallback
#12046 Improve scrub maxinflight_bytes math
#12049 FreeBSD: avoid memory allocation in arc_prune_async
#12052 FreeBSD: incorporate changes to the VFS_QUOTACTL(9) KPI
#12061 Fix dRAID sequential resilver silent damage handling
#12072 Let zfs diff be more permissive
#12077 FreeBSD: Retry OCF ENOMEM errors.
#12088 Propagate vdev state due to invalid label corruption
#12091 libzfs: On FreeBSD, use MNT_NOWAIT with getfsstat
#12097 FreeBSD: Update dataset_kstats for zvols in dev mode
#12104 FreeBSD boot code reminder after zpool upgrade
#12114 Introduce write-mostly sums
Obtained from: OpenZFS
OpenZFS commit: 75b4cbf625
65 lines
2 KiB
C
65 lines
2 KiB
C
/*
|
|
* 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) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
|
|
* Copyright (c) 2011 Gunnar Beutner
|
|
* Copyright (c) 2019, 2020 by Delphix. All rights reserved.
|
|
*/
|
|
#ifndef _LIBSPL_LIBSHARE_IMPL_H
|
|
#define _LIBSPL_LIBSHARE_IMPL_H
|
|
|
|
typedef struct sa_share_fsinfo {
|
|
char *shareopts;
|
|
} sa_share_fsinfo_t;
|
|
|
|
typedef struct sa_share_impl {
|
|
char *sa_mountpoint;
|
|
char *sa_zfsname;
|
|
|
|
sa_share_fsinfo_t *sa_fsinfo; /* per-fstype information */
|
|
} *sa_share_impl_t;
|
|
|
|
#define FSINFO(impl_share, fstype) \
|
|
(&(impl_share->sa_fsinfo[fstype->fsinfo_index]))
|
|
|
|
typedef struct sa_share_ops {
|
|
int (*enable_share)(sa_share_impl_t share);
|
|
int (*disable_share)(sa_share_impl_t share);
|
|
boolean_t (*is_shared)(sa_share_impl_t share);
|
|
int (*validate_shareopts)(const char *shareopts);
|
|
int (*update_shareopts)(sa_share_impl_t impl_share,
|
|
const char *shareopts);
|
|
void (*clear_shareopts)(sa_share_impl_t impl_share);
|
|
int (*commit_shares)(void);
|
|
} sa_share_ops_t;
|
|
|
|
typedef struct sa_fstype {
|
|
struct sa_fstype *next;
|
|
|
|
const char *name;
|
|
const sa_share_ops_t *ops;
|
|
int fsinfo_index;
|
|
} sa_fstype_t;
|
|
|
|
sa_fstype_t *register_fstype(const char *name, const sa_share_ops_t *ops);
|
|
|
|
#endif /* _LIBSPL_LIBSHARE_IMPL_H */
|