| History log of /src/external/cddl/osnet/dist/uts/common/fs/zfs/sys |
| Revision | Date | Author | Comments |
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file blkptr.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file bpobj.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file bptree.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file bqueue.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.3 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.2 | 28-Mar-2014 |
ozaki-r | branches: 1.2.24; Complete migrating to snprintf_blkptr
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.6; 1.1.1.2.12; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.12.1 | 19-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.1.2.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.24.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.3 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.2 | 27-Mar-2014 |
christos | branches: 1.2.24; kill sprintf
|
| 1.1 | 27-Feb-2010 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.2 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1 | 27-Feb-2010 |
haad | branches: 1.1.1.1.6; 1.1.1.1.12; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1.12.1 | 19-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.1.1.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.24.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.4 | 14-Oct-2019 |
hannken | Change dmu_diff() back to use a "file" instead of a "vnode". Command "zfs diff" calls it with a pipe, not a plain file.
Fixes PR kern/54541: kernel panic using "zfs diff"
|
| 1.3 | 28-May-2018 |
chs | branches: 1.3.2; 1.3.4; merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.2 | 10-Jan-2017 |
christos | branches: 1.2.12; fix a few warnings.
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.28; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.28.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.2.12.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.3.4.1 | 15-Oct-2019 |
martin | Pull up following revision(s) (requested by hannken in ticket #308):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c: revision 1.21 external/cddl/osnet/dist/uts/common/fs/zfs/dmu_diff.c: revision 1.3 external/cddl/osnet/dist/uts/common/fs/zfs/dmu_diff.c: revision 1.4 external/cddl/osnet/dist/uts/common/fs/zfs/sys/dmu.h: revision 1.4
Change dmu_diff() back to use a "file" instead of a "vnode".
Command "zfs diff" calls it with a pipe, not a plain file.
Fixes PR kern/54541: kernel panic using "zfs diff"
-
Add missing "#ifdef _KERNEL" to fix the build of userland zfs libraries.
|
| 1.3.2.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file dmu_send.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file dsl_bookmark.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.3 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.2 | 19-Feb-2016 |
joerg | branches: 1.2.14; dmu_objset_rename is an alias for dsl_dataset_rename, but differs in constness of the first argument. Newer clang checks for this and prohibits it, so just be consistent by constifying the latter.
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.2.14.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file dsl_deadlist.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file dsl_destroy.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file dsl_scan.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.2 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1 | 07-Aug-2009 |
haad | branches: 1.1.1.1.44; Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.1.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file dsl_userhold.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file multilist.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file range_tree.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.2 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.2 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1 | 07-Aug-2009 |
haad | branches: 1.1.1.1.44; Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.1.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.2 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1 | 07-Aug-2009 |
haad | branches: 1.1.1.1.44; Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.1.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file sa.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file sa_impl.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.5 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.4 | 10-Jan-2017 |
christos | branches: 1.4.12; fix a few warnings.
|
| 1.3 | 28-Mar-2014 |
ozaki-r | branches: 1.3.8; Complete migrating to snprintf_blkptr
|
| 1.2 | 28-Mar-2014 |
ozaki-r | Fix migrating to snprintf_blkptr
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.6; 1.1.1.2.12; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.12.1 | 19-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.1.2.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.3.8.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.4.12.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.3 | 15-Nov-2018 |
riastradh | Be consistent about _KERNEL vs _HARDKERNEL in zfs.
As it happens, on x86 both _HARDKERNEL and _KERNEL get defined; see the conditional in sys/rump/Makefile.rump that _refrains_ from defining _RUMPKERNEL on x86.
So the only version of this code that has been tested is the one with all of it included. But on, e.g., aarch64, we do not get _HARDKERNEL here, and the code fails to build because some things use the field struct spa::spa_deadman_cycid under _KERNEL when it is declared only under _HARDKERNEL.
If there's a reason _not_ to use this in rump -- and it's not obvious to me why -- then all access to the field needs to agree to use _HARDKERNEL.
|
| 1.2 | 28-May-2018 |
chs | branches: 1.2.2; merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.2 | 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.2.2.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file space_reftree.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file trim_map.h was added on branch pgoyette-compat on 2018-06-25 07:25:21 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.2 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1 | 07-Aug-2009 |
haad | branches: 1.1.1.1.44; Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.1.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.4 | 11-Jun-2019 |
hannken | Try to retrieve the per-disk maximum transfer size and use it instead of MAXPHYS. Eagerly waiting for the merge of tls-maxphys.
Addresses PR port-xen/54273: "zpool create pool xbd2" panics DOMU kernel
|
| 1.3 | 28-May-2018 |
chs | branches: 1.3.2; merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.2 | 10-Aug-2009 |
haad | branches: 1.2.44; Add some NetBSD fixes which I have forgot to commit during first round. With these patches I can build solaris and zfs module again.
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.2 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.3.2.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.2 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file vdev_raidz.h was added on branch pgoyette-compat on 2018-06-25 07:25:22 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file zfeature.h was added on branch pgoyette-compat on 2018-06-25 07:25:22 +0000
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.4 | 28-Dec-2021 |
riastradh | zfs: Expose hostid to zfs, as in gethostid/sethostid(3).
If set to nonzero, the hostid is recorded in the metadata of a zpool, and checked by `zpool import' when the pool has not been explicitly exported. After reboot, zpool import will not need `-f' to reimport the pool.
Setting the hostid must be done explicitly through sysctl (or the sethostid(3) library call) on all ports except acorn32, amiga, mvme68k, newsmips, sparc, sparc64, sun2, and sun3. So for most users this change will have no immediate effect. But you can obviate the need for `zpool import -f' by adding `kern.hostid=123456789' to /etc/sysctl.conf and importing the pool one last time with `-f'.
|
| 1.3 | 16-Feb-2021 |
hannken | Use the right uid / gid for nobody:nobody like FreeBSD does.
Prevents null pointer dereferences when ZFS replaces this illegal (according to IS_EPHEMERAL()) id with another illegal id in operation zfs_fuid_create_cred() and finally zfs_log_create() dereferences fuidp being NULL.
Adresses PR misc/55042 (Panic when creating a directory on a NFS served ZFS)
|
| 1.2 | 22-Jun-2019 |
hannken | branches: 1.2.2; Sync with upstream r315983.
FreeBSD splits "zfs_context.h" into: "lib/libzpool/common/sys/zfs_context.h" for user space "uts/common/fs/zfs/sys/zfs_context.h" for kernel space
Do the same here, move and sync "sys/sys/zfs_context.h" to "dist/lib/libzpool/common/sys/zfs_context.h" and "dist/uts/common/fs/zfs/sys/zfs_context.h".
Change "Makefile.zfs" to search includes from "dist/lib" before "dist/uts" so we get the right include file.
Adapt "usr.sbin/fstyp/Makefile" to get the right include file.
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | branches: 1.1.1.3.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.3.2.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.2.2.1 | 22-Mar-2021 |
martin | Pull up following revision(s) (requested by hannken in ticket #1235):
external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_context.h: revision 1.3
Use the right uid / gid for nobody:nobody like FreeBSD does.
Prevents null pointer dereferences when ZFS replaces this illegal (according to IS_EPHEMERAL()) id with another illegal id in operation zfs_fuid_create_cred() and finally zfs_log_create() dereferences fuidp being NULL.
Adresses PR misc/55042 (Panic when creating a directory on a NFS served ZFS)
|
| 1.3 | 18-Mar-2019 |
hannken | Make ZFS exportable by NFS, implement zfsctl_vptofh(), zfs_netbsd_vptofh() and zfs_netbsd_fhtovp().
Undo changes to now completely unused zfs_fhtovp().
|
| 1.2 | 05-Feb-2019 |
hannken | Prepare the implementation of the ZFS control directory ".zfs".
- Move the stub routines from zfs_stub.c to zfs_ctldir.c and remove now empty file zfs_stub.c
- Add stub routines for zfsctl_loadvnode() to initialize control nodes and zfsctl_snapshot() to retrieve ".zfs/snapshot".
- Add an initial vnode operations vector for control nodes.
- Implement lookup into ".zfs" and lookup ".." from ".zfs/snapshot/<snap>".
- Change nodeid of mounted snapshots to the snapshot object id.
- Respect "-u" flag to "zfs rename <snapshot> ...".
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | branches: 1.1.1.3.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.3.2.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.2 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1 | 07-Aug-2009 |
haad | branches: 1.1.1.1.44; Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.1.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.4 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.3 | 27-Feb-2010 |
haad | branches: 1.3.44; Merge NetBSD local changes to new zfs version 22 sources.
|
| 1.2 | 07-Aug-2009 |
haad | Add NetBSD specific changes to OpenSolaris code. These changes were made by Andrew Doran and me. Thank you Andrew for your great help.
Oked by core@ and ad@.
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.3.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.2 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file zfs_onexit.h was added on branch pgoyette-compat on 2018-06-25 07:25:22 +0000
|
| 1.4 | 20-Feb-2026 |
yamt | zfs: add zfs_range_lock_try
i plan to use this to fix pgdaemon deadlock issue. (PR/60004) (thus i didn't bother to implement RL_READER.)
note: recent openzfs has a similar function. (zfs_rangelock_tryenter) this commit ought to be reverted when/if we switch to it.
https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=60004
|
| 1.3 | 28-May-2018 |
chs | branches: 1.3.16; merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.2 | 15-Oct-2012 |
riastradh | branches: 1.2.28; Do reference counting for zfs range lock waiters.
Avoid cv_broadcast(&cv); cv_destroy(&cv); which works in Solaris only by abuse of the condvar abstraction.
There are parts of this code that should be factored into smaller subroutines, mainly range lock allocation and initialization, but that would make it harder to merge newer versions of zfs, so for now I've just expanded those parts further in-line.
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.2 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1 | 07-Aug-2009 |
haad | branches: 1.1.1.1.6; 1.1.1.1.12; Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.1.12.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
| 1.1.1.1.6.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.2.28.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.3.16.1 | 03-Apr-2026 |
martin | Pull up following revision(s) (requested by yamt in ticket #244):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.31 external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c: revision 1.9 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c: revision 1.35 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.32 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c: revision 1.36 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.33 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.82 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.34 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.83 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.35 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.84 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.85 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.86 external/cddl/osnet/sys/sys/vnode.h: revision 1.22 external/cddl/osnet/sys/kern/vfs.c: revision 1.10 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.87 external/cddl/osnet/sys/sys/vnode.h: revision 1.23 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.88 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_znode.h: revision 1.10 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.89 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_znode.h: revision 1.11 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c: revision 1.27 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_rlock.h: revision 1.4 external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c: revision 1.15 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.90 external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c: revision 1.16 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.91 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.92 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.93 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.94 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.95 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.96 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.97 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_vfsops.h: revision 1.2 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.98 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.99 sys/kern/vfs_mount.c: revision 1.111 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_rlock.c: revision 1.7 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_rlock.c: revision 1.8 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_log.c: revision 1.2
zfs: add zfs_range_lock_try
i plan to use this to fix pgdaemon deadlock issue. (PR/60004) (thus i didn't bother to implement RL_READER.) note: recent openzfs has a similar function. (zfs_rangelock_tryenter) this commit ought to be reverted when/if we switch to it. PR 60004
zfs_netbsd_putpages: do not make the pagedaemon block on the range lock blocking here can end up with a deadlock because ordinary vnops can wait for memory holding the range lock. fixes PR/60004
solaris vfs_optionisset: treat 0 as unspecified this allows users to leave it default. before this change, when a user runs "zfs mount -a", it was processed as "mount them read-write, overriding readonly property". i don't think it's what the user usually intends. looking at the illumos code, it seems that mount options there are basically tri-state. that is, "ro", "rw", and unspecified. as NetBSD only has a single bit, MNT_RDONLY or !MNT_RDONLY, this commit maps !MNT_RDONLY to unspecified, which i believe more often matches the user's intention. it also seems like what illumos does for the legacy MS_RDONLY bit if i read their code correctly. that is, if MS_RDONLY is set, it sets MNTOPT_RO. on the other hand, a lack of MS_RDONLY doesn't imply MNTOPT_RW. references: "Temporary Mount Point Properties" section of zfs(8) PR/60024
zfs: fix a deadlock in read() while zfs on netbsd is a non-UBC filesystem, we have a logic to try mimicking UBC-like consistency between mmap and read/write, which some "broken" applications might rely on. however, the logic is not safe as indicated by the XXXNETBSD comment. it isn't safe because touching user pages can involve page faults, which may need to block on other (or even same) pages with an undefined locking order. this commit fixes it by using an intermediate buffer to avoid touching user pages while keeping a file page busy. although this probably can be optimized by checking VV_MAPPED, i'm not in a mood to complicate this already-complicated code further. because zfs doesn't use UBC, if a file has uvm pages, it almost certainly has VV_MAPPED anyway.
tested with https://github.com/yamt/garbage/blob/master/c/ubc/ubctest.c an alternative fix would be to drop these UBC-compat logic altogether. while it surely simplifies the code, it might break some applications which don't use msync properly. i suspect such applications are not so rare, because UBC is ubiquitous among modern operating systems these days.
zfs: fix data loss with some combinations of mmap and write in write(), make a mmap page clean only when we are overwriting the whole page. otherwise, modifications made via mmap which are outside the overwritten region will be lost. tested with https://github.com/yamt/garbage/blob/master/c/ubc/ubctest.c
zfs: reject read() on directory right now, netbsd in general allows read() on directory for the compatibility with historical applications. (i have not seen such an application by myself though. is anyone around here still keeping such ancient binaries? i'm curious if such a binary still works on today's UFS.)
this commit makes zfs reject such an attempt because zfs is not prepared to produce the historical UFS dirent structure.
zfs: fix case insensitive / utf-8 normalized file names zfs has a few options for file name comparison. when they are enabled, disable netbsd's name cache, which only supports exact-byte-matching, to avoid inconsistent behaviors. cf. "casesensitivity" and "normalization" in zfs(8)
zfs: purge name cache on teardown this fixes name cache inconsistencies on certain events. eg. rollback ``` zfs create $FS echo a > /$FS/a.txt echo b > /$FS/b.txt echo c > /$FS/c.txt zfs snap $FS@2 rm /$FS/b.txt cat /$FS/a.txt cat /$FS/b.txt || : # create negative cache entry cat /$FS/c.txt zfs rollback $FS@2 cat /$FS/a.txt cat /$FS/b.txt # hit the negative cache entry because of the bug cat /$FS/c.txt ``` zfs zvol.c: #ifdef out zvol_log_truncate the functions is currently not used by netbsd. disable compilation of it to make it easier to port patches. zfs: remove unused whiteout logic zfs: fix zfs_range_lock_try the change "zfs: add zfs_range_lock_try" was incomplete. i've observed the following deadlock: ``` db{0}> tr /a ffff96777f74f400 trace: pid 0 lid 125 at 0xffffce80c3203b50 sleepq_block() at netbsd:sleepq_block+0xf4 cv_wait() at netbsd:cv_wait+0xca pool_grow() at netbsd:pool_grow+0x47b pool_get() at netbsd:pool_get+0xae pool_cache_get_slow() at netbsd:pool_cache_get_slow+0x136 pool_cache_get_paddr() at netbsd:pool_cache_get_paddr+0x27d kmem_intr_alloc() at netbsd:kmem_intr_alloc+0x13c kmem_alloc() at netbsd:kmem_alloc+0x2a zfs_range_lock_impl() at zfs:zfs_range_lock_impl+0x30 zfs_netbsd_putpages() at zfs:zfs_netbsd_putpages+0x1c0 VOP_PUTPAGES() at netbsd:VOP_PUTPAGES+0x43 uvm_pageout() at netbsd:uvm_pageout+0x257 db{0}> ``` this commit fixes it by using KM_NOSLEEP when non-blocking operation is requested.
zfs: reject all mount op flags for now - our logic in zfs_vfsops.c is inconsistent. sometimes it checks uap->flags, sometimes vfsp->vfs_flag. (aka mnt_flag) - our userland tools (zfs, mount_zfs) currently don't seem to have a way to pass these flags anyway. (zmount in libzfs always passes 0 to both of mount(2) 'flags' argument and 'uap->flags'. although it stores something in uap->mflag and uap->optptr, nothing uses them. it doesn't even set MS_OPTIONSTR. we don't implement MS_OPTIONSTR anyway.) this commit simply rejects them for safety. as these operations have never been implemented in NetBSD, it shouldn't have any impact to users. maybe someday we should fix these, but i guess it involves some ABI changes, which i'm not in a mood to do right now. related to PR/60026
zfs_vnops.c: fix whitespace no functional changes are intended.
zfs_netbsd_gop_markupdate: actually update file timestamp the implementation before this commit was basically no-op. some notes: * this is (ab)used in zfs_netbsd_write for fifo/spec vnodes. i feel it's a bit excessive to update the timestamp on every writes to /dev/null. unfortunately, zfs doesn't have nodevmtime option. well, i suspect netbsd is the only os with the traditional devmtime behavior these days. we may want to implement delayed mtime update as ffs does. * this is used by zfs_netbsd_putpages via genfs_putpages. but it's redundant because zfs_putapage updates the timestamp as well. * this is not used by zfs_netbsd_getpages. zfs doesn't use genfs_getpages. zfs_netbsd_getpages doesn't have the corresponding logic either. maybe it's ok for most of applications as far as mtime will be updated sooner or later.
zfs: remove mysterious comments on read/write ops for spec/fifo
zfs: fix file vdev make solaris compat vn_openat to honor the root vnode specified by the caller. it's currently only used for vdev_file.c. this commit fixes "no such pool or dataset" error on zpool create with files: ``` uma% dd if=/dev/zero of=/tmp/hoge count=100 100+0 records in 100+0 records out 51200 bytes transferred in 0.001 secs (51200000 bytes/sec) uma% sudo zpool create f /tmp/hoge cannot create 'f': no such pool or dataset uma% ``` cf. "file" in "Virtual Devices (vdevs)" in zpool(8). zpool_find_import_impl: fix block/character device confusion this commit fixes zpool import failure in some cases. the current logic sometimes (eg. "zpool import -d" with a directory which is not "/dev") ends up with picking character devices and pass them to ZFS_IOC_POOL_TRYIMPORT/ZFS_IOC_POOL_IMPORT ioctl. such attempts would fail, marking the corrosponding vdevs UNAVAIL. this commit fixes it by skipping character devices. also, this commit makes the label checking logic prefer to use character devices when available because it seems like the intention of the upstream logic. also, this commit fixes import of file-backed vdevs.
zfs: fix case insensitive / utf-8 normalized file names (cont.) this was intented to be a part of an earlier commit. ("zfs: fix case insensitive / utf-8 normalized file names") for some reasons, it seems i unintentionally dropped this hunk when porting the commit from git to cvs. dounmount/vfs_insmntque: allow vcache_get during VFS_UNMOUNT we currently have assertions to prevent file systems from populating its vnode cache during VFS_UNMOUNT. this commit relaxes the assertions a bit to allow vcache_get during VFS_UNMOUNT. although VFS_UNMOUNT should still eventually drain the vnode cache for the mount, this commit allows it to populate its vnode cache temporarily. this is for zfs, which sometimes need to access znode when committing the log. (zfs_get_data) a forthcoming zfs change will depend on this change. PR/59885 discussed on tech-kern.
zfs: fix "slow rm" issue * stop commiting zil in zfs_netbsd_reclaim and other operations in vnode reclaim path. * retire zfs_zget_cleaner/VN_RELE_CLEANER. instead, just use normal zfs_zget and vrele_async. note that these two changes depend on each other: * zfs_zget_cleaner relies on zil_commit in zfs_netbsd_reclaim to ensure that the znode referenced by TX_WRITE itx is always in-core. * otoh, zfs_zget_clear makes zil_commit in the vnode reclaim path possible. that is, zfs_netbsd_reclaim (VOP_RECLAIM) is called with the vnode in VS_RECLAIMING state, which would make vcache_vget block. if the vnode being reclaimed happened to have TX_WRITE itx on the zil, it deadlocks. an alternative would be to make the upper layer (vfs_vnode.c) retain unlinked vnodes for a while. (a bit longer than the 5 sec txg commit interval should be enough.) eg. by making zfs_netbsd_inactive report a_recycle = 0. but i guess it's better to remove zfs_zget_cleaner/VN_RELE_CLEANER to to keep the code less diverged from the upstream zfs.
also, this commit makes zfs_umount retry vflush a bit. it's necessary because, for some reasons, during unmount, zil_close commits the log, which can load some referenced vnodes back to the cache. i don't understand why zil_close needs to commit the log when we are syncing txg for unmount anyway. although it might be possible to avoid the zil commit at all, probably this change is less invasive than that. this logic is partly from J. Hannken-Illjes. PR/59885 discussed on tech-kern. https://mail-index.netbsd.org/tech-kern/2026/02/20/msg030817.html
zfs: flush mmap pages on fsync it seems the logic to flush page cache in fsync has been removed during the initial port to netbsd. at that point it was probably ok because we simply didn't support mmap. since then, mmap support has been added. but the fsync logic has not been restored. it means that mmap-modified pages are left dirty basically forever, unless the application explicitly performs msync on them or page daemon tries to reclaim them on system memory shortage. it's bad especially for a file system like zfs because writing data to zfs involves complex locking and memory allocations, and thus not safe in the context of the page daemon.
this commit fixes (well, at least improves the situation a bit) by putting back the page flushing logic. ideally netbsd needs to have some throttling mechanism on page-dirtying activities. i suppose such a mechanism can be implemented in a mostly filesystem-independent manner. (it was one of my motivations of yamt-pagecache branch.) zfs: don't commit the zil for FSYNC_LAZY FSYNC_LAZY is meant for periodic syncer activity. unlike fsync() system call, it doesn't give any promises about data integrity to users.
zfs_putapage: don't try to write to zfs in the page daemon context basically zfs is not prepared to be called safely for page daemon. for now, if we found the page dirty, (thus we need to push it into zfs) just punt with ENOMEM. hopefully the page daemon will find some other pages to reclaim. if the system is already full of dirty pages backed by zfs, i suppose there is no good way to recover. for a longer term, we probably need some dirty-page throttling mechanism to avoid the situation in the first place.
zfs: fix "slow rm" issue (cont.) commit a change which was lost during a porting from my local git repo to cvs. fortunately, it was harmless to miss this change though. zfs: fix deadlock with GOP_MARKUPDATE because genfs_putpages calls GOP_MARKUPDATE with v_interlock held, it isn't safe to wait for txg or other i/o. this is a regression caused by a recent change. ("zfs_netbsd_gop_markupdate: actually update file timestamp") this commit fixes it by simply dropping GOP_MARKUPDATE for zfs. as mentioned in the commit message of the change in question, it's redundant for putpages as we update the timestamps in GOP_WRITE as well. for spec/fifo, call the timestamp update logic directly, not via GOP_MARKUPDATE. the problem was pointed out by J. Hannken-Illjes. he also tested this patch.
zfs: put back deferred atime update to VOP_INACTIVE we currently push atime updates in VOP_RECLAIM and VFS_SYNC. VFS_SYNC iterates all cached vnodes for that: /* * On NetBSD, we need to push out atime updates. Solaris does * this during VOP_INACTIVE, but that does not work well with the * BSD VFS, so we do it in batch here. */ it isn't ideal for systems with large vnode cache. i'm not sure why it "does not work well with the BSD VFS" either. maybe historical reasons which don't hold anymore? this commit put the atime pushing logic to VOP_INACTIVE, where it's done in solaris and freebsd. it seems working well as far as i tested. note: deferring it further to VOP_RECLAIM as we do for ffs has its advantages. however, i prefer to keep the divergance from the upstream smaller for now. i also have vague concerns on the interactions with zfs features like snapshots. may revisit later. discussed on tech-kern. https://mail-index.netbsd.org/tech-kern/2026/03/17/msg030895.html
zfs: use 32-bit st_dev for stat(2) while dev_t is 64-bit on NetBSD since the merge of christos-time_t branch in 2009, we only use the lower 32-bit of it, at least for the purpose of specifying a device in the kernel. however, dev_t is also used as a file system id. eg. st_dev reported by stat(2). as zfs has no device to naturally represent its file system, currently it reports 56-bit guid of the file system for the purpose.
unfortunately, some user applications still consider it as a good old device id and assumes operations like makedev(major(dev),minor(dev)) preserves the value. it doesn't hold for NetBSD's implementation of makedev and friends, which only honors the lower 32-bit of the dev_t. this commit makes zfs report fsid with the high 32-bit zeros to avoid the issues in such applications. namely, this fixes an issue with rsync, reported by HIROSE yuuji on a japanese ML [1] in 2024. you can find his reproduce recipe below. i was able to reproduce the issue with rsync-3.4.1 from pkgsrc. maybe we can "fix" our, at least userland-visible version of, makedev and friends to provide full 64-bit round-trip as some of other platforms do. (eg. glibc, freebsd)
although it might be an improvement and can benefit other things like nfs v3, it isn't an alternative to this fix because it doesn't fix existing application binaries built with the current version of the macros.
note: this commit also changes statvfs f_fsid. as f_fsid is a long, before this change, we were truncating the value only on 32-bit ports. note: this commit doesn't change the "netbsd-extended" fsid (f_fsidx), which is used for nfs file handles.
note: this commit would cause a flag day for applications which somehow save st_dev of files. are there such applications?
note: this commit would increase the chance of fsid conflicts. currently zfs ensures its fsids unique within zfs, but not with other netbsd file systems. with this commit, there can be conflict even within zfs. (mentioned in PR/60135) ``` rm -rf src rm -rf dest mkdir -p src/a/b/c mkdir -p src/1/2/3 mkdir dest rsync -avx --delete src dest rm -r src/1 rsync -avx --delete src dest test -d dest/src/1 && echo "this directory should have been removed" ``` [1] http://www.re.soum.co.jp/~jun/welcome.html#netbsd related to PR/60135
zfs: port a fix for data corruption issue from illumos see https://www.illumos.org/issues/17734
note: i didn't bother to patch illumos/freebsd code in our tree. the original commit message: commit f6559a18843abdfa5849b9e74f239f9bd15796d3 Author: Andy Fiddaman <illumos%fiddaman.net@localhost> Date: Mon Nov 10 22:52:05 2025 +0000 17734 ZFS fsync can trigger ZIL transaction reordering and data corruption Portions contributed by: Alexander Motin <mav%FreeBSD.org@localhost> Reviewed by: Ryan Zezeski <ryan%zinascii.com@localhost> Reviewed by: Toomas Soome <tsoome%me.com@localhost> Approved by: Dan McDonald <danmcd%edgecast.io@localhost>
a review request on tech-kern: https://mail-index.netbsd.org/tech-kern/2026/03/04/msg030862.html
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file zfs_sa.h was added on branch pgoyette-compat on 2018-06-25 07:25:22 +0000
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file zfs_stat.h was added on branch pgoyette-compat on 2018-06-25 07:25:22 +0000
|
| 1.2 | 27-Mar-2026 |
yamt | zfs: port a fix for data corruption issue from illumos
see https://www.illumos.org/issues/17734 for the details.
note: i didn't bother to patch illumos/freebsd code in our tree.
the original commit message:
> commit f6559a18843abdfa5849b9e74f239f9bd15796d3 > Author: Andy Fiddaman <illumos@fiddaman.net> > Date: Mon Nov 10 22:52:05 2025 +0000 > > 17734 ZFS fsync can trigger ZIL transaction reordering and data corruption > Portions contributed by: Alexander Motin <mav@FreeBSD.org> > Reviewed by: Ryan Zezeski <ryan@zinascii.com> > Reviewed by: Toomas Soome <tsoome@me.com> > Approved by: Dan McDonald <danmcd@edgecast.io>
a review request on tech-kern: https://mail-index.netbsd.org/tech-kern/2026/03/04/msg030862.html
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | branches: 1.1.1.3.16; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.3.16.1 | 03-Apr-2026 |
martin | Pull up following revision(s) (requested by yamt in ticket #244):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.31 external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c: revision 1.9 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c: revision 1.35 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.32 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c: revision 1.36 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.33 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.82 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.34 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.83 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.35 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.84 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.85 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.86 external/cddl/osnet/sys/sys/vnode.h: revision 1.22 external/cddl/osnet/sys/kern/vfs.c: revision 1.10 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.87 external/cddl/osnet/sys/sys/vnode.h: revision 1.23 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.88 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_znode.h: revision 1.10 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.89 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_znode.h: revision 1.11 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c: revision 1.27 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_rlock.h: revision 1.4 external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c: revision 1.15 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.90 external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c: revision 1.16 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.91 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.92 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.93 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.94 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.95 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.96 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.97 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_vfsops.h: revision 1.2 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.98 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.99 sys/kern/vfs_mount.c: revision 1.111 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_rlock.c: revision 1.7 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_rlock.c: revision 1.8 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_log.c: revision 1.2
zfs: add zfs_range_lock_try
i plan to use this to fix pgdaemon deadlock issue. (PR/60004) (thus i didn't bother to implement RL_READER.) note: recent openzfs has a similar function. (zfs_rangelock_tryenter) this commit ought to be reverted when/if we switch to it. PR 60004
zfs_netbsd_putpages: do not make the pagedaemon block on the range lock blocking here can end up with a deadlock because ordinary vnops can wait for memory holding the range lock. fixes PR/60004
solaris vfs_optionisset: treat 0 as unspecified this allows users to leave it default. before this change, when a user runs "zfs mount -a", it was processed as "mount them read-write, overriding readonly property". i don't think it's what the user usually intends. looking at the illumos code, it seems that mount options there are basically tri-state. that is, "ro", "rw", and unspecified. as NetBSD only has a single bit, MNT_RDONLY or !MNT_RDONLY, this commit maps !MNT_RDONLY to unspecified, which i believe more often matches the user's intention. it also seems like what illumos does for the legacy MS_RDONLY bit if i read their code correctly. that is, if MS_RDONLY is set, it sets MNTOPT_RO. on the other hand, a lack of MS_RDONLY doesn't imply MNTOPT_RW. references: "Temporary Mount Point Properties" section of zfs(8) PR/60024
zfs: fix a deadlock in read() while zfs on netbsd is a non-UBC filesystem, we have a logic to try mimicking UBC-like consistency between mmap and read/write, which some "broken" applications might rely on. however, the logic is not safe as indicated by the XXXNETBSD comment. it isn't safe because touching user pages can involve page faults, which may need to block on other (or even same) pages with an undefined locking order. this commit fixes it by using an intermediate buffer to avoid touching user pages while keeping a file page busy. although this probably can be optimized by checking VV_MAPPED, i'm not in a mood to complicate this already-complicated code further. because zfs doesn't use UBC, if a file has uvm pages, it almost certainly has VV_MAPPED anyway.
tested with https://github.com/yamt/garbage/blob/master/c/ubc/ubctest.c an alternative fix would be to drop these UBC-compat logic altogether. while it surely simplifies the code, it might break some applications which don't use msync properly. i suspect such applications are not so rare, because UBC is ubiquitous among modern operating systems these days.
zfs: fix data loss with some combinations of mmap and write in write(), make a mmap page clean only when we are overwriting the whole page. otherwise, modifications made via mmap which are outside the overwritten region will be lost. tested with https://github.com/yamt/garbage/blob/master/c/ubc/ubctest.c
zfs: reject read() on directory right now, netbsd in general allows read() on directory for the compatibility with historical applications. (i have not seen such an application by myself though. is anyone around here still keeping such ancient binaries? i'm curious if such a binary still works on today's UFS.)
this commit makes zfs reject such an attempt because zfs is not prepared to produce the historical UFS dirent structure.
zfs: fix case insensitive / utf-8 normalized file names zfs has a few options for file name comparison. when they are enabled, disable netbsd's name cache, which only supports exact-byte-matching, to avoid inconsistent behaviors. cf. "casesensitivity" and "normalization" in zfs(8)
zfs: purge name cache on teardown this fixes name cache inconsistencies on certain events. eg. rollback ``` zfs create $FS echo a > /$FS/a.txt echo b > /$FS/b.txt echo c > /$FS/c.txt zfs snap $FS@2 rm /$FS/b.txt cat /$FS/a.txt cat /$FS/b.txt || : # create negative cache entry cat /$FS/c.txt zfs rollback $FS@2 cat /$FS/a.txt cat /$FS/b.txt # hit the negative cache entry because of the bug cat /$FS/c.txt ``` zfs zvol.c: #ifdef out zvol_log_truncate the functions is currently not used by netbsd. disable compilation of it to make it easier to port patches. zfs: remove unused whiteout logic zfs: fix zfs_range_lock_try the change "zfs: add zfs_range_lock_try" was incomplete. i've observed the following deadlock: ``` db{0}> tr /a ffff96777f74f400 trace: pid 0 lid 125 at 0xffffce80c3203b50 sleepq_block() at netbsd:sleepq_block+0xf4 cv_wait() at netbsd:cv_wait+0xca pool_grow() at netbsd:pool_grow+0x47b pool_get() at netbsd:pool_get+0xae pool_cache_get_slow() at netbsd:pool_cache_get_slow+0x136 pool_cache_get_paddr() at netbsd:pool_cache_get_paddr+0x27d kmem_intr_alloc() at netbsd:kmem_intr_alloc+0x13c kmem_alloc() at netbsd:kmem_alloc+0x2a zfs_range_lock_impl() at zfs:zfs_range_lock_impl+0x30 zfs_netbsd_putpages() at zfs:zfs_netbsd_putpages+0x1c0 VOP_PUTPAGES() at netbsd:VOP_PUTPAGES+0x43 uvm_pageout() at netbsd:uvm_pageout+0x257 db{0}> ``` this commit fixes it by using KM_NOSLEEP when non-blocking operation is requested.
zfs: reject all mount op flags for now - our logic in zfs_vfsops.c is inconsistent. sometimes it checks uap->flags, sometimes vfsp->vfs_flag. (aka mnt_flag) - our userland tools (zfs, mount_zfs) currently don't seem to have a way to pass these flags anyway. (zmount in libzfs always passes 0 to both of mount(2) 'flags' argument and 'uap->flags'. although it stores something in uap->mflag and uap->optptr, nothing uses them. it doesn't even set MS_OPTIONSTR. we don't implement MS_OPTIONSTR anyway.) this commit simply rejects them for safety. as these operations have never been implemented in NetBSD, it shouldn't have any impact to users. maybe someday we should fix these, but i guess it involves some ABI changes, which i'm not in a mood to do right now. related to PR/60026
zfs_vnops.c: fix whitespace no functional changes are intended.
zfs_netbsd_gop_markupdate: actually update file timestamp the implementation before this commit was basically no-op. some notes: * this is (ab)used in zfs_netbsd_write for fifo/spec vnodes. i feel it's a bit excessive to update the timestamp on every writes to /dev/null. unfortunately, zfs doesn't have nodevmtime option. well, i suspect netbsd is the only os with the traditional devmtime behavior these days. we may want to implement delayed mtime update as ffs does. * this is used by zfs_netbsd_putpages via genfs_putpages. but it's redundant because zfs_putapage updates the timestamp as well. * this is not used by zfs_netbsd_getpages. zfs doesn't use genfs_getpages. zfs_netbsd_getpages doesn't have the corresponding logic either. maybe it's ok for most of applications as far as mtime will be updated sooner or later.
zfs: remove mysterious comments on read/write ops for spec/fifo
zfs: fix file vdev make solaris compat vn_openat to honor the root vnode specified by the caller. it's currently only used for vdev_file.c. this commit fixes "no such pool or dataset" error on zpool create with files: ``` uma% dd if=/dev/zero of=/tmp/hoge count=100 100+0 records in 100+0 records out 51200 bytes transferred in 0.001 secs (51200000 bytes/sec) uma% sudo zpool create f /tmp/hoge cannot create 'f': no such pool or dataset uma% ``` cf. "file" in "Virtual Devices (vdevs)" in zpool(8). zpool_find_import_impl: fix block/character device confusion this commit fixes zpool import failure in some cases. the current logic sometimes (eg. "zpool import -d" with a directory which is not "/dev") ends up with picking character devices and pass them to ZFS_IOC_POOL_TRYIMPORT/ZFS_IOC_POOL_IMPORT ioctl. such attempts would fail, marking the corrosponding vdevs UNAVAIL. this commit fixes it by skipping character devices. also, this commit makes the label checking logic prefer to use character devices when available because it seems like the intention of the upstream logic. also, this commit fixes import of file-backed vdevs.
zfs: fix case insensitive / utf-8 normalized file names (cont.) this was intented to be a part of an earlier commit. ("zfs: fix case insensitive / utf-8 normalized file names") for some reasons, it seems i unintentionally dropped this hunk when porting the commit from git to cvs. dounmount/vfs_insmntque: allow vcache_get during VFS_UNMOUNT we currently have assertions to prevent file systems from populating its vnode cache during VFS_UNMOUNT. this commit relaxes the assertions a bit to allow vcache_get during VFS_UNMOUNT. although VFS_UNMOUNT should still eventually drain the vnode cache for the mount, this commit allows it to populate its vnode cache temporarily. this is for zfs, which sometimes need to access znode when committing the log. (zfs_get_data) a forthcoming zfs change will depend on this change. PR/59885 discussed on tech-kern.
zfs: fix "slow rm" issue * stop commiting zil in zfs_netbsd_reclaim and other operations in vnode reclaim path. * retire zfs_zget_cleaner/VN_RELE_CLEANER. instead, just use normal zfs_zget and vrele_async. note that these two changes depend on each other: * zfs_zget_cleaner relies on zil_commit in zfs_netbsd_reclaim to ensure that the znode referenced by TX_WRITE itx is always in-core. * otoh, zfs_zget_clear makes zil_commit in the vnode reclaim path possible. that is, zfs_netbsd_reclaim (VOP_RECLAIM) is called with the vnode in VS_RECLAIMING state, which would make vcache_vget block. if the vnode being reclaimed happened to have TX_WRITE itx on the zil, it deadlocks. an alternative would be to make the upper layer (vfs_vnode.c) retain unlinked vnodes for a while. (a bit longer than the 5 sec txg commit interval should be enough.) eg. by making zfs_netbsd_inactive report a_recycle = 0. but i guess it's better to remove zfs_zget_cleaner/VN_RELE_CLEANER to to keep the code less diverged from the upstream zfs.
also, this commit makes zfs_umount retry vflush a bit. it's necessary because, for some reasons, during unmount, zil_close commits the log, which can load some referenced vnodes back to the cache. i don't understand why zil_close needs to commit the log when we are syncing txg for unmount anyway. although it might be possible to avoid the zil commit at all, probably this change is less invasive than that. this logic is partly from J. Hannken-Illjes. PR/59885 discussed on tech-kern. https://mail-index.netbsd.org/tech-kern/2026/02/20/msg030817.html
zfs: flush mmap pages on fsync it seems the logic to flush page cache in fsync has been removed during the initial port to netbsd. at that point it was probably ok because we simply didn't support mmap. since then, mmap support has been added. but the fsync logic has not been restored. it means that mmap-modified pages are left dirty basically forever, unless the application explicitly performs msync on them or page daemon tries to reclaim them on system memory shortage. it's bad especially for a file system like zfs because writing data to zfs involves complex locking and memory allocations, and thus not safe in the context of the page daemon.
this commit fixes (well, at least improves the situation a bit) by putting back the page flushing logic. ideally netbsd needs to have some throttling mechanism on page-dirtying activities. i suppose such a mechanism can be implemented in a mostly filesystem-independent manner. (it was one of my motivations of yamt-pagecache branch.) zfs: don't commit the zil for FSYNC_LAZY FSYNC_LAZY is meant for periodic syncer activity. unlike fsync() system call, it doesn't give any promises about data integrity to users.
zfs_putapage: don't try to write to zfs in the page daemon context basically zfs is not prepared to be called safely for page daemon. for now, if we found the page dirty, (thus we need to push it into zfs) just punt with ENOMEM. hopefully the page daemon will find some other pages to reclaim. if the system is already full of dirty pages backed by zfs, i suppose there is no good way to recover. for a longer term, we probably need some dirty-page throttling mechanism to avoid the situation in the first place.
zfs: fix "slow rm" issue (cont.) commit a change which was lost during a porting from my local git repo to cvs. fortunately, it was harmless to miss this change though. zfs: fix deadlock with GOP_MARKUPDATE because genfs_putpages calls GOP_MARKUPDATE with v_interlock held, it isn't safe to wait for txg or other i/o. this is a regression caused by a recent change. ("zfs_netbsd_gop_markupdate: actually update file timestamp") this commit fixes it by simply dropping GOP_MARKUPDATE for zfs. as mentioned in the commit message of the change in question, it's redundant for putpages as we update the timestamps in GOP_WRITE as well. for spec/fifo, call the timestamp update logic directly, not via GOP_MARKUPDATE. the problem was pointed out by J. Hannken-Illjes. he also tested this patch.
zfs: put back deferred atime update to VOP_INACTIVE we currently push atime updates in VOP_RECLAIM and VFS_SYNC. VFS_SYNC iterates all cached vnodes for that: /* * On NetBSD, we need to push out atime updates. Solaris does * this during VOP_INACTIVE, but that does not work well with the * BSD VFS, so we do it in batch here. */ it isn't ideal for systems with large vnode cache. i'm not sure why it "does not work well with the BSD VFS" either. maybe historical reasons which don't hold anymore? this commit put the atime pushing logic to VOP_INACTIVE, where it's done in solaris and freebsd. it seems working well as far as i tested. note: deferring it further to VOP_RECLAIM as we do for ffs has its advantages. however, i prefer to keep the divergance from the upstream smaller for now. i also have vague concerns on the interactions with zfs features like snapshots. may revisit later. discussed on tech-kern. https://mail-index.netbsd.org/tech-kern/2026/03/17/msg030895.html
zfs: use 32-bit st_dev for stat(2) while dev_t is 64-bit on NetBSD since the merge of christos-time_t branch in 2009, we only use the lower 32-bit of it, at least for the purpose of specifying a device in the kernel. however, dev_t is also used as a file system id. eg. st_dev reported by stat(2). as zfs has no device to naturally represent its file system, currently it reports 56-bit guid of the file system for the purpose.
unfortunately, some user applications still consider it as a good old device id and assumes operations like makedev(major(dev),minor(dev)) preserves the value. it doesn't hold for NetBSD's implementation of makedev and friends, which only honors the lower 32-bit of the dev_t. this commit makes zfs report fsid with the high 32-bit zeros to avoid the issues in such applications. namely, this fixes an issue with rsync, reported by HIROSE yuuji on a japanese ML [1] in 2024. you can find his reproduce recipe below. i was able to reproduce the issue with rsync-3.4.1 from pkgsrc. maybe we can "fix" our, at least userland-visible version of, makedev and friends to provide full 64-bit round-trip as some of other platforms do. (eg. glibc, freebsd)
although it might be an improvement and can benefit other things like nfs v3, it isn't an alternative to this fix because it doesn't fix existing application binaries built with the current version of the macros.
note: this commit also changes statvfs f_fsid. as f_fsid is a long, before this change, we were truncating the value only on 32-bit ports. note: this commit doesn't change the "netbsd-extended" fsid (f_fsidx), which is used for nfs file handles.
note: this commit would cause a flag day for applications which somehow save st_dev of files. are there such applications?
note: this commit would increase the chance of fsid conflicts. currently zfs ensures its fsids unique within zfs, but not with other netbsd file systems. with this commit, there can be conflict even within zfs. (mentioned in PR/60135) ``` rm -rf src rm -rf dest mkdir -p src/a/b/c mkdir -p src/1/2/3 mkdir dest rsync -avx --delete src dest rm -r src/1 rsync -avx --delete src dest test -d dest/src/1 && echo "this directory should have been removed" ``` [1] http://www.re.soum.co.jp/~jun/welcome.html#netbsd related to PR/60135
zfs: port a fix for data corruption issue from illumos see https://www.illumos.org/issues/17734
note: i didn't bother to patch illumos/freebsd code in our tree. the original commit message: commit f6559a18843abdfa5849b9e74f239f9bd15796d3 Author: Andy Fiddaman <illumos%fiddaman.net@localhost> Date: Mon Nov 10 22:52:05 2025 +0000 17734 ZFS fsync can trigger ZIL transaction reordering and data corruption Portions contributed by: Alexander Motin <mav%FreeBSD.org@localhost> Reviewed by: Ryan Zezeski <ryan%zinascii.com@localhost> Reviewed by: Toomas Soome <tsoome%me.com@localhost> Approved by: Dan McDonald <danmcd%edgecast.io@localhost>
a review request on tech-kern: https://mail-index.netbsd.org/tech-kern/2026/03/04/msg030862.html
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.11 | 27-Mar-2026 |
yamt | zfs: port a fix for data corruption issue from illumos
see https://www.illumos.org/issues/17734 for the details.
note: i didn't bother to patch illumos/freebsd code in our tree.
the original commit message:
> commit f6559a18843abdfa5849b9e74f239f9bd15796d3 > Author: Andy Fiddaman <illumos@fiddaman.net> > Date: Mon Nov 10 22:52:05 2025 +0000 > > 17734 ZFS fsync can trigger ZIL transaction reordering and data corruption > Portions contributed by: Alexander Motin <mav@FreeBSD.org> > Reviewed by: Ryan Zezeski <ryan@zinascii.com> > Reviewed by: Toomas Soome <tsoome@me.com> > Approved by: Dan McDonald <danmcd@edgecast.io>
a review request on tech-kern: https://mail-index.netbsd.org/tech-kern/2026/03/04/msg030862.html
|
| 1.10 | 22-Mar-2026 |
yamt | zfs: fix "slow rm" issue
* stop commiting zil in zfs_netbsd_reclaim and other operations in vnode reclaim path.
* retire zfs_zget_cleaner/VN_RELE_CLEANER. instead, just use normal zfs_zget and vrele_async.
note that these two changes depend on each other:
* zfs_zget_cleaner relies on zil_commit in zfs_netbsd_reclaim to ensure that the znode referenced by TX_WRITE itx is always in-core.
* otoh, zfs_zget_clear makes zil_commit in the vnode reclaim path possible. that is, zfs_netbsd_reclaim (VOP_RECLAIM) is called with the vnode in VS_RECLAIMING state, which would make vcache_vget block. if the vnode being reclaimed happened to have TX_WRITE itx on the zil, it deadlocks.
an alternative would be to make the upper layer (vfs_vnode.c) retain unlinked vnodes for a while. (a bit longer than the 5 sec txg commit interval should be enough.) eg. by making zfs_netbsd_inactive report a_recycle = 0. but i guess it's better to remove zfs_zget_cleaner/VN_RELE_CLEANER to to keep the code less diverged from the upstream zfs.
also, this commit makes zfs_umount retry vflush a bit. it's necessary because, for some reasons, during unmount, zil_close commits the log, which can load some referenced vnodes back to the cache. i don't understand why zil_close needs to commit the log when we are syncing txg for unmount anyway. although it might be possible to avoid the zil commit at all, probably this change is less invasive than that. this logic is partly from J. Hannken-Illjes.
PR/59885 https://gnats.netbsd.org/59885 discussed on tech-kern. https://mail-index.netbsd.org/tech-kern/2026/02/20/msg030817.html
|
| 1.9 | 01-Jan-2019 |
hannken | branches: 1.9.14; Cannot hold zfs object across call to vcache_get() as it might deadlock with another reclaim.
Add vfs operation zfs_newvnode() to create a new zfs node and hold the zfs object in zfs_loadvnode() and zfs_newvnode() only.
|
| 1.8 | 28-May-2018 |
chs | branches: 1.8.2; merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.7 | 09-Apr-2015 |
riastradh | branches: 1.7.14; Advisory locking for zfs.
|
| 1.6 | 05-Dec-2014 |
hannken | Change zfs to vcache. - zfs_loadvnode() is based on zfs_zget() plus zfs_znode_alloc().
|
| 1.5 | 15-Oct-2012 |
riastradh | Do reference counting for zfs dirlock waiters.
Solaris relies on cv_broadcast(&cv); cv_destroy(&cv) working, but that hoses our cv_wait, which needs to continue using cv after it is woken. Solaris's idiom is an abuse of the condvar abstraction, but we can get the same effect with reference counting.
|
| 1.4 | 27-Feb-2010 |
haad | branches: 1.4.6; 1.4.12; Merge NetBSD local changes to new zfs version 22 sources.
|
| 1.3 | 10-Aug-2009 |
haad | Add some NetBSD fixes which I have forgot to commit during first round. With these patches I can build solaris and zfs module again.
|
| 1.2 | 07-Aug-2009 |
haad | Add NetBSD specific changes to OpenSolaris code. These changes were made by Andrew Doran and me. Thank you Andrew for your great help.
Oked by core@ and ad@.
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.4.12.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
| 1.4.6.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.7.14.2 | 18-Jan-2019 |
pgoyette | Synch with HEAD
|
| 1.7.14.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.8.2.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.9.14.1 | 03-Apr-2026 |
martin | Pull up following revision(s) (requested by yamt in ticket #244):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.31 external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c: revision 1.9 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c: revision 1.35 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.32 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c: revision 1.36 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.33 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.82 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.34 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.83 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c: revision 1.35 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.84 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.85 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.86 external/cddl/osnet/sys/sys/vnode.h: revision 1.22 external/cddl/osnet/sys/kern/vfs.c: revision 1.10 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.87 external/cddl/osnet/sys/sys/vnode.h: revision 1.23 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.88 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_znode.h: revision 1.10 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.89 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_znode.h: revision 1.11 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c: revision 1.27 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_rlock.h: revision 1.4 external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c: revision 1.15 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.90 external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c: revision 1.16 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.91 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.92 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.93 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.94 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.95 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.96 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.97 external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_vfsops.h: revision 1.2 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.98 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.99 sys/kern/vfs_mount.c: revision 1.111 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_rlock.c: revision 1.7 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_rlock.c: revision 1.8 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_log.c: revision 1.2
zfs: add zfs_range_lock_try
i plan to use this to fix pgdaemon deadlock issue. (PR/60004) (thus i didn't bother to implement RL_READER.) note: recent openzfs has a similar function. (zfs_rangelock_tryenter) this commit ought to be reverted when/if we switch to it. PR 60004
zfs_netbsd_putpages: do not make the pagedaemon block on the range lock blocking here can end up with a deadlock because ordinary vnops can wait for memory holding the range lock. fixes PR/60004
solaris vfs_optionisset: treat 0 as unspecified this allows users to leave it default. before this change, when a user runs "zfs mount -a", it was processed as "mount them read-write, overriding readonly property". i don't think it's what the user usually intends. looking at the illumos code, it seems that mount options there are basically tri-state. that is, "ro", "rw", and unspecified. as NetBSD only has a single bit, MNT_RDONLY or !MNT_RDONLY, this commit maps !MNT_RDONLY to unspecified, which i believe more often matches the user's intention. it also seems like what illumos does for the legacy MS_RDONLY bit if i read their code correctly. that is, if MS_RDONLY is set, it sets MNTOPT_RO. on the other hand, a lack of MS_RDONLY doesn't imply MNTOPT_RW. references: "Temporary Mount Point Properties" section of zfs(8) PR/60024
zfs: fix a deadlock in read() while zfs on netbsd is a non-UBC filesystem, we have a logic to try mimicking UBC-like consistency between mmap and read/write, which some "broken" applications might rely on. however, the logic is not safe as indicated by the XXXNETBSD comment. it isn't safe because touching user pages can involve page faults, which may need to block on other (or even same) pages with an undefined locking order. this commit fixes it by using an intermediate buffer to avoid touching user pages while keeping a file page busy. although this probably can be optimized by checking VV_MAPPED, i'm not in a mood to complicate this already-complicated code further. because zfs doesn't use UBC, if a file has uvm pages, it almost certainly has VV_MAPPED anyway.
tested with https://github.com/yamt/garbage/blob/master/c/ubc/ubctest.c an alternative fix would be to drop these UBC-compat logic altogether. while it surely simplifies the code, it might break some applications which don't use msync properly. i suspect such applications are not so rare, because UBC is ubiquitous among modern operating systems these days.
zfs: fix data loss with some combinations of mmap and write in write(), make a mmap page clean only when we are overwriting the whole page. otherwise, modifications made via mmap which are outside the overwritten region will be lost. tested with https://github.com/yamt/garbage/blob/master/c/ubc/ubctest.c
zfs: reject read() on directory right now, netbsd in general allows read() on directory for the compatibility with historical applications. (i have not seen such an application by myself though. is anyone around here still keeping such ancient binaries? i'm curious if such a binary still works on today's UFS.)
this commit makes zfs reject such an attempt because zfs is not prepared to produce the historical UFS dirent structure.
zfs: fix case insensitive / utf-8 normalized file names zfs has a few options for file name comparison. when they are enabled, disable netbsd's name cache, which only supports exact-byte-matching, to avoid inconsistent behaviors. cf. "casesensitivity" and "normalization" in zfs(8)
zfs: purge name cache on teardown this fixes name cache inconsistencies on certain events. eg. rollback ``` zfs create $FS echo a > /$FS/a.txt echo b > /$FS/b.txt echo c > /$FS/c.txt zfs snap $FS@2 rm /$FS/b.txt cat /$FS/a.txt cat /$FS/b.txt || : # create negative cache entry cat /$FS/c.txt zfs rollback $FS@2 cat /$FS/a.txt cat /$FS/b.txt # hit the negative cache entry because of the bug cat /$FS/c.txt ``` zfs zvol.c: #ifdef out zvol_log_truncate the functions is currently not used by netbsd. disable compilation of it to make it easier to port patches. zfs: remove unused whiteout logic zfs: fix zfs_range_lock_try the change "zfs: add zfs_range_lock_try" was incomplete. i've observed the following deadlock: ``` db{0}> tr /a ffff96777f74f400 trace: pid 0 lid 125 at 0xffffce80c3203b50 sleepq_block() at netbsd:sleepq_block+0xf4 cv_wait() at netbsd:cv_wait+0xca pool_grow() at netbsd:pool_grow+0x47b pool_get() at netbsd:pool_get+0xae pool_cache_get_slow() at netbsd:pool_cache_get_slow+0x136 pool_cache_get_paddr() at netbsd:pool_cache_get_paddr+0x27d kmem_intr_alloc() at netbsd:kmem_intr_alloc+0x13c kmem_alloc() at netbsd:kmem_alloc+0x2a zfs_range_lock_impl() at zfs:zfs_range_lock_impl+0x30 zfs_netbsd_putpages() at zfs:zfs_netbsd_putpages+0x1c0 VOP_PUTPAGES() at netbsd:VOP_PUTPAGES+0x43 uvm_pageout() at netbsd:uvm_pageout+0x257 db{0}> ``` this commit fixes it by using KM_NOSLEEP when non-blocking operation is requested.
zfs: reject all mount op flags for now - our logic in zfs_vfsops.c is inconsistent. sometimes it checks uap->flags, sometimes vfsp->vfs_flag. (aka mnt_flag) - our userland tools (zfs, mount_zfs) currently don't seem to have a way to pass these flags anyway. (zmount in libzfs always passes 0 to both of mount(2) 'flags' argument and 'uap->flags'. although it stores something in uap->mflag and uap->optptr, nothing uses them. it doesn't even set MS_OPTIONSTR. we don't implement MS_OPTIONSTR anyway.) this commit simply rejects them for safety. as these operations have never been implemented in NetBSD, it shouldn't have any impact to users. maybe someday we should fix these, but i guess it involves some ABI changes, which i'm not in a mood to do right now. related to PR/60026
zfs_vnops.c: fix whitespace no functional changes are intended.
zfs_netbsd_gop_markupdate: actually update file timestamp the implementation before this commit was basically no-op. some notes: * this is (ab)used in zfs_netbsd_write for fifo/spec vnodes. i feel it's a bit excessive to update the timestamp on every writes to /dev/null. unfortunately, zfs doesn't have nodevmtime option. well, i suspect netbsd is the only os with the traditional devmtime behavior these days. we may want to implement delayed mtime update as ffs does. * this is used by zfs_netbsd_putpages via genfs_putpages. but it's redundant because zfs_putapage updates the timestamp as well. * this is not used by zfs_netbsd_getpages. zfs doesn't use genfs_getpages. zfs_netbsd_getpages doesn't have the corresponding logic either. maybe it's ok for most of applications as far as mtime will be updated sooner or later.
zfs: remove mysterious comments on read/write ops for spec/fifo
zfs: fix file vdev make solaris compat vn_openat to honor the root vnode specified by the caller. it's currently only used for vdev_file.c. this commit fixes "no such pool or dataset" error on zpool create with files: ``` uma% dd if=/dev/zero of=/tmp/hoge count=100 100+0 records in 100+0 records out 51200 bytes transferred in 0.001 secs (51200000 bytes/sec) uma% sudo zpool create f /tmp/hoge cannot create 'f': no such pool or dataset uma% ``` cf. "file" in "Virtual Devices (vdevs)" in zpool(8). zpool_find_import_impl: fix block/character device confusion this commit fixes zpool import failure in some cases. the current logic sometimes (eg. "zpool import -d" with a directory which is not "/dev") ends up with picking character devices and pass them to ZFS_IOC_POOL_TRYIMPORT/ZFS_IOC_POOL_IMPORT ioctl. such attempts would fail, marking the corrosponding vdevs UNAVAIL. this commit fixes it by skipping character devices. also, this commit makes the label checking logic prefer to use character devices when available because it seems like the intention of the upstream logic. also, this commit fixes import of file-backed vdevs.
zfs: fix case insensitive / utf-8 normalized file names (cont.) this was intented to be a part of an earlier commit. ("zfs: fix case insensitive / utf-8 normalized file names") for some reasons, it seems i unintentionally dropped this hunk when porting the commit from git to cvs. dounmount/vfs_insmntque: allow vcache_get during VFS_UNMOUNT we currently have assertions to prevent file systems from populating its vnode cache during VFS_UNMOUNT. this commit relaxes the assertions a bit to allow vcache_get during VFS_UNMOUNT. although VFS_UNMOUNT should still eventually drain the vnode cache for the mount, this commit allows it to populate its vnode cache temporarily. this is for zfs, which sometimes need to access znode when committing the log. (zfs_get_data) a forthcoming zfs change will depend on this change. PR/59885 discussed on tech-kern.
zfs: fix "slow rm" issue * stop commiting zil in zfs_netbsd_reclaim and other operations in vnode reclaim path. * retire zfs_zget_cleaner/VN_RELE_CLEANER. instead, just use normal zfs_zget and vrele_async. note that these two changes depend on each other: * zfs_zget_cleaner relies on zil_commit in zfs_netbsd_reclaim to ensure that the znode referenced by TX_WRITE itx is always in-core. * otoh, zfs_zget_clear makes zil_commit in the vnode reclaim path possible. that is, zfs_netbsd_reclaim (VOP_RECLAIM) is called with the vnode in VS_RECLAIMING state, which would make vcache_vget block. if the vnode being reclaimed happened to have TX_WRITE itx on the zil, it deadlocks. an alternative would be to make the upper layer (vfs_vnode.c) retain unlinked vnodes for a while. (a bit longer than the 5 sec txg commit interval should be enough.) eg. by making zfs_netbsd_inactive report a_recycle = 0. but i guess it's better to remove zfs_zget_cleaner/VN_RELE_CLEANER to to keep the code less diverged from the upstream zfs.
also, this commit makes zfs_umount retry vflush a bit. it's necessary because, for some reasons, during unmount, zil_close commits the log, which can load some referenced vnodes back to the cache. i don't understand why zil_close needs to commit the log when we are syncing txg for unmount anyway. although it might be possible to avoid the zil commit at all, probably this change is less invasive than that. this logic is partly from J. Hannken-Illjes. PR/59885 discussed on tech-kern. https://mail-index.netbsd.org/tech-kern/2026/02/20/msg030817.html
zfs: flush mmap pages on fsync it seems the logic to flush page cache in fsync has been removed during the initial port to netbsd. at that point it was probably ok because we simply didn't support mmap. since then, mmap support has been added. but the fsync logic has not been restored. it means that mmap-modified pages are left dirty basically forever, unless the application explicitly performs msync on them or page daemon tries to reclaim them on system memory shortage. it's bad especially for a file system like zfs because writing data to zfs involves complex locking and memory allocations, and thus not safe in the context of the page daemon.
this commit fixes (well, at least improves the situation a bit) by putting back the page flushing logic. ideally netbsd needs to have some throttling mechanism on page-dirtying activities. i suppose such a mechanism can be implemented in a mostly filesystem-independent manner. (it was one of my motivations of yamt-pagecache branch.) zfs: don't commit the zil for FSYNC_LAZY FSYNC_LAZY is meant for periodic syncer activity. unlike fsync() system call, it doesn't give any promises about data integrity to users.
zfs_putapage: don't try to write to zfs in the page daemon context basically zfs is not prepared to be called safely for page daemon. for now, if we found the page dirty, (thus we need to push it into zfs) just punt with ENOMEM. hopefully the page daemon will find some other pages to reclaim. if the system is already full of dirty pages backed by zfs, i suppose there is no good way to recover. for a longer term, we probably need some dirty-page throttling mechanism to avoid the situation in the first place.
zfs: fix "slow rm" issue (cont.) commit a change which was lost during a porting from my local git repo to cvs. fortunately, it was harmless to miss this change though. zfs: fix deadlock with GOP_MARKUPDATE because genfs_putpages calls GOP_MARKUPDATE with v_interlock held, it isn't safe to wait for txg or other i/o. this is a regression caused by a recent change. ("zfs_netbsd_gop_markupdate: actually update file timestamp") this commit fixes it by simply dropping GOP_MARKUPDATE for zfs. as mentioned in the commit message of the change in question, it's redundant for putpages as we update the timestamps in GOP_WRITE as well. for spec/fifo, call the timestamp update logic directly, not via GOP_MARKUPDATE. the problem was pointed out by J. Hannken-Illjes. he also tested this patch.
zfs: put back deferred atime update to VOP_INACTIVE we currently push atime updates in VOP_RECLAIM and VFS_SYNC. VFS_SYNC iterates all cached vnodes for that: /* * On NetBSD, we need to push out atime updates. Solaris does * this during VOP_INACTIVE, but that does not work well with the * BSD VFS, so we do it in batch here. */ it isn't ideal for systems with large vnode cache. i'm not sure why it "does not work well with the BSD VFS" either. maybe historical reasons which don't hold anymore? this commit put the atime pushing logic to VOP_INACTIVE, where it's done in solaris and freebsd. it seems working well as far as i tested. note: deferring it further to VOP_RECLAIM as we do for ffs has its advantages. however, i prefer to keep the divergance from the upstream smaller for now. i also have vague concerns on the interactions with zfs features like snapshots. may revisit later. discussed on tech-kern. https://mail-index.netbsd.org/tech-kern/2026/03/17/msg030895.html
zfs: use 32-bit st_dev for stat(2) while dev_t is 64-bit on NetBSD since the merge of christos-time_t branch in 2009, we only use the lower 32-bit of it, at least for the purpose of specifying a device in the kernel. however, dev_t is also used as a file system id. eg. st_dev reported by stat(2). as zfs has no device to naturally represent its file system, currently it reports 56-bit guid of the file system for the purpose.
unfortunately, some user applications still consider it as a good old device id and assumes operations like makedev(major(dev),minor(dev)) preserves the value. it doesn't hold for NetBSD's implementation of makedev and friends, which only honors the lower 32-bit of the dev_t. this commit makes zfs report fsid with the high 32-bit zeros to avoid the issues in such applications. namely, this fixes an issue with rsync, reported by HIROSE yuuji on a japanese ML [1] in 2024. you can find his reproduce recipe below. i was able to reproduce the issue with rsync-3.4.1 from pkgsrc. maybe we can "fix" our, at least userland-visible version of, makedev and friends to provide full 64-bit round-trip as some of other platforms do. (eg. glibc, freebsd)
although it might be an improvement and can benefit other things like nfs v3, it isn't an alternative to this fix because it doesn't fix existing application binaries built with the current version of the macros.
note: this commit also changes statvfs f_fsid. as f_fsid is a long, before this change, we were truncating the value only on 32-bit ports. note: this commit doesn't change the "netbsd-extended" fsid (f_fsidx), which is used for nfs file handles.
note: this commit would cause a flag day for applications which somehow save st_dev of files. are there such applications?
note: this commit would increase the chance of fsid conflicts. currently zfs ensures its fsids unique within zfs, but not with other netbsd file systems. with this commit, there can be conflict even within zfs. (mentioned in PR/60135) ``` rm -rf src rm -rf dest mkdir -p src/a/b/c mkdir -p src/1/2/3 mkdir dest rsync -avx --delete src dest rm -r src/1 rsync -avx --delete src dest test -d dest/src/1 && echo "this directory should have been removed" ``` [1] http://www.re.soum.co.jp/~jun/welcome.html#netbsd related to PR/60135
zfs: port a fix for data corruption issue from illumos see https://www.illumos.org/issues/17734
note: i didn't bother to patch illumos/freebsd code in our tree. the original commit message: commit f6559a18843abdfa5849b9e74f239f9bd15796d3 Author: Andy Fiddaman <illumos%fiddaman.net@localhost> Date: Mon Nov 10 22:52:05 2025 +0000 17734 ZFS fsync can trigger ZIL transaction reordering and data corruption Portions contributed by: Alexander Motin <mav%FreeBSD.org@localhost> Reviewed by: Ryan Zezeski <ryan%zinascii.com@localhost> Reviewed by: Toomas Soome <tsoome%me.com@localhost> Approved by: Dan McDonald <danmcd%edgecast.io@localhost>
a review request on tech-kern: https://mail-index.netbsd.org/tech-kern/2026/03/04/msg030862.html
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.2 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.2 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.2 | 28-May-2018 |
chs | merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | branches: 1.1.1.2.44; Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.1.1.2.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file zio_priority.h was added on branch pgoyette-compat on 2018-06-25 07:25:22 +0000
|
| 1.1 | 28-May-2018 |
chs | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 28-May-2018 |
chs | branches: 1.1.1.1.2; import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.1.2.2 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.1.2.1 | 28-May-2018 |
pgoyette | file zrlock.h was added on branch pgoyette-compat on 2018-06-25 07:25:22 +0000
|
| 1.5 | 22-May-2019 |
hannken | Enable the zvol minor management to create and remove device nodes.
|
| 1.4 | 28-May-2018 |
chs | branches: 1.4.2; merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
| 1.3 | 27-Feb-2010 |
haad | branches: 1.3.44; Merge NetBSD local changes to new zfs version 22 sources.
|
| 1.2 | 10-Aug-2009 |
haad | Add some NetBSD fixes which I have forgot to commit during first round. With these patches I can build solaris and zfs module again.
|
| 1.1 | 07-Aug-2009 |
haad | branches: 1.1.1; Initial revision
|
| 1.1.1.3 | 28-May-2018 |
chs | import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
|
| 1.1.1.2 | 27-Feb-2010 |
haad | Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
|
| 1.1.1.1 | 07-Aug-2009 |
haad | Import Opensolaris source code used with zfs port. Zfs code si from date 200811.
|
| 1.3.44.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.4.2.1 | 10-Jun-2019 |
christos | Sync with HEAD
|