CVS log for src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
Up to [cvs.NetBSD.org] / src / external / cddl / osnet / dist / uts / common / fs / zfs
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.80.2.1: download - view: text, markup, annotated - select for diffs
Sun Mar 5 14:32:41 2023 UTC (21 months ago) by martin
Branches: netbsd-10
CVS tags: netbsd-10-0-RELEASE,
netbsd-10-0-RC6,
netbsd-10-0-RC5,
netbsd-10-0-RC4,
netbsd-10-0-RC3,
netbsd-10-0-RC2,
netbsd-10-0-RC1
Diff to: previous 1.80: preferred, colored; next MAIN 1.81: preferred, colored
Changes since revision 1.80: +31 -17
lines
Pull up following revision(s) (requested by hannken in ticket #110):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.81
Adapt zfs_netbsd_access() to ACL support. As ZFS itself only
handles VREAD, VWRITE, VEXEC and VAPPEND we use kauth_authorize_vnode()
to handle VADMIN.
From FreeBSD.
Revision 1.81: download - view: text, markup, annotated - select for diffs
Fri Mar 3 10:01:31 2023 UTC (21 months ago) by hannken
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630,
perseant-exfatfs-base,
perseant-exfatfs,
HEAD
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +31 -17
lines
Adapt zfs_netbsd_access() to ACL support. As ZFS itself only
handles VREAD, VWRITE, VEXEC and VAPPEND we use kauth_authorize_vnode()
to handle VADMIN.
From FreeBSD.
Revision 1.80: download - view: text, markup, annotated - select for diffs
Mon Oct 3 16:04:19 2022 UTC (2 years, 2 months ago) by kardel
Branches: MAIN
CVS tags: netbsd-10-base
Branch point for: netbsd-10
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +1 -1
lines
Revert. Spotted by hannken@ - fix needs to be in zfs_ctldir.c it is missing
VOP_PATHCONF.
Revision 1.79: download - view: text, markup, annotated - select for diffs
Tue Sep 27 10:33:21 2022 UTC (2 years, 2 months ago) by kardel
Branches: MAIN
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +1 -1
lines
for unsupported names return EINVAL as per TOG
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fpathconf.html
discussed with christos@
Revision 1.50.2.11: download - view: text, markup, annotated - select for diffs
Fri Sep 23 10:05:13 2022 UTC (2 years, 2 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-4-RELEASE
Diff to: previous 1.50.2.10: preferred, colored; branchpoint 1.50: preferred, colored; next MAIN 1.51: preferred, colored
Changes since revision 1.50.2.10: +1 -0
lines
Apply patch, requested by dholland in ticket #1532:
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c (apply patch)
Fix mounting of wapbl volumes when the block device node is on a zfs volume.
Fixed differently as part of a bigger change in -current in rev 1.73.
Revision 1.78: download - view: text, markup, annotated - select for diffs
Sun Mar 27 16:26:26 2022 UTC (2 years, 8 months ago) by christos
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +10 -1
lines
add a kauth vnode check for adding links
Revision 1.77: download - view: text, markup, annotated - select for diffs
Wed Dec 22 14:04:10 2021 UTC (2 years, 11 months ago) by simonb
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +10 -0
lines
In zfs_setattr() don't recheck the auth policy for a "nodump" flags
change. zfs_netbsd_setattr() has already checked if this request is
authorised, and our secpolicy_xvattr() doesn't check kauth chflags.
XXX: Fix this propery when we migrate to openzfs.
riastradh@: Seems reasonable.
Revision 1.76: download - view: text, markup, annotated - select for diffs
Wed Oct 20 03:08:19 2021 UTC (3 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +9 -27
lines
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than
forcing each individual file system to deal with it (except VOP_RENAME(),
because VOP_RENAME() is a mess and we currently have 2 different ways
of handling it; at least it's reasonably well-centralized in the "new"
way).
- Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ,
compatible with the same events in FreeBSD.
- Track which kevent notifications clients are interested in receiving
to avoid doing work for events no one cares about (avoiding, e.g.
taking locks and traversing the klist to send a NOTE_WRITE when
someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers,
to be invoked before and after vop_pre() and vop_post(), respectively.
Basic idea from FreeBSD, but implemented differently.
- Add support in vnode_if.sh for specifying CONTEXT fields in the
vop_*_args structures. These context fields are used to convey information
between the file system VOP function and the VOP wrapper, but do not
occupy an argument slot in the VOP_*() call itself. These context fields
are initialized and subsequently interpreted by PRE- and POST-op handlers.
- Version VOP_REMOVE(), uses the a context field for the file system to report
back the resulting link count of the target vnode. Return this in tmpfs,
udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
Revision 1.75: download - view: text, markup, annotated - select for diffs
Mon Sep 6 08:37:43 2021 UTC (3 years, 2 months ago) by simonb
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +2 -1
lines
Clamp zfs nlinks at UINT32_MAX (nlink_t max) instead of (much) smaller
16-bit LINK_MAX until we bump LINK_MAX. Fixes fts(3) problems with
"rm -rf" on zfs directories with > 32766 subdirectories.
Thanks mlelstv@ and mrg@ for helping debug this.
Revision 1.74: download - view: text, markup, annotated - select for diffs
Sun Jul 18 23:57:13 2021 UTC (3 years, 4 months ago) by dholland
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +15 -22
lines
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define
foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides
obfuscation, and have gotten cutpasted all over everywhere.
Revision 1.73: download - view: text, markup, annotated - select for diffs
Sun Jul 18 23:56:12 2021 UTC (3 years, 4 months ago) by dholland
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +4 -44
lines
Use macros for the canned parts of device and fifo vnode op tables.
Add GENFS_SPECOP_ENTRIES and GENFS_FIFOOP_ENTRIES macros that contain
the portion of the vnode ops table declaration that is
(conservatively) the same in every fs. Use these in every fs that
supports devices and/or fifos with separate ops tables.
Note that ptyfs works differently (it has one type of vnode with
open-coded dispatch to the specfs code, which I haven't changed in
this commit) and rump/librump/rumpvfs/rumpfs.c has an indirect dynamic
dispatch that already does more or less the same thing, which I also
haven't changed.
Also note that this anticipates a few bits in the next changeset here
and there, and adds missing but unreachable calls in some cases (e.g.
most fses weren't defining whiteout on devices and fifos, but it isn't
reachable there), and it changes parsepath on devices and fifos to
genfs_badop from genfs_parsepath (but it's not reachable there
either).
It appears that devices in kernfs were missing kqfilter, so it's
possible that if you try to use kqueue on /kern/rootdev that it'll
explode.
And finally note that the ops declaration tables aren't
order-dependent. (Other than vop_default_desc has to come first.)
Otherwise this wouldn't work.
Revision 1.50.2.10: download - view: text, markup, annotated - select for diffs
Tue Jul 6 04:22:34 2021 UTC (3 years, 5 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-3-RELEASE
Diff to: previous 1.50.2.9: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.9: +9 -9
lines
Pull up following revision(s) - all via patch -
(requested by riastradh in ticket #1317):
sys/uvm/uvm_page.c: revision 1.248
sys/uvm/uvm_anon.c: revision 1.80
sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.40
sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.41
sys/rump/librump/rumpkern/vm.c: revision 1.191
sys/uvm/uvm_pager.c: revision 1.130
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.71
tests/rump/rumpkern/t_vm.c: revision 1.5
tests/rump/rumpkern/t_vm.c: revision 1.6
sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.39
Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to
uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to
handle this flag separately. Split out the pages part of uvm_aio_aiodone()
into uvm_aio_aiodone_pages() in rump just like in the real kernel.
In ZFS functions that can fail to copy data between the ARC and VM pages,
use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can
handle these "I/O" errors. Fixes PR 55702.
fix an incorrect assertion in the previous commit.
Handle PG_PAGEOUT in uvm_anon_release() too.
Commit the ZFS file that I forgot in this previous commit:
Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to
uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to
handle this flag separately. Split out the pages part of uvm_aio_aiodone()
into uvm_aio_aiodone_pages() in rump just like in the real kernel.
In ZFS functions that can fail to copy data between the ARC and VM pages,
use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can
handle these "I/O" errors. Fixes PR 55702.
update the rump copy of uvm_page_unbusy() to match the real version,
in particular handle PG_PAGEOUT. fixes a few atf tests.
the busypage test is buggy, expect it to fail.
make rump's uvm_aio_aiodone_pages() look more like the kernel version.
fixes some more rumpy assertions.
for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip()
because atf apparently has no way to expect a test program to crash.
fixes PR 55945.
Revision 1.72: download - view: text, markup, annotated - select for diffs
Fri Jul 2 17:14:36 2021 UTC (3 years, 5 months ago) by dholland
Branches: MAIN
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +1 -0
lines
Add VOP_PARSEPATH to zfs's vnode table. "oops"
zfs not being under src/sys strikes again :-(
Revision 1.71: download - view: text, markup, annotated - select for diffs
Sun Nov 15 00:54:13 2020 UTC (4 years ago) by chs
Branches: MAIN
CVS tags: cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +4 -16
lines
Commit the ZFS file that I forgot in this previous commit:
Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to
uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to
handle this flag separately. Split out the pages part of uvm_aio_aiodone()
into uvm_aio_aiodone_pages() in rump just like in the real kernel.
In ZFS functions that can fail to copy data between the ARC and VM pages,
use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can
handle these "I/O" errors. Fixes PR 55702.
Revision 1.70: download - view: text, markup, annotated - select for diffs
Thu Aug 27 09:57:33 2020 UTC (4 years, 3 months ago) by hannken
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +9 -2
lines
Enable NCLOOKUP for ZFS.
Revision 1.69: download - view: text, markup, annotated - select for diffs
Thu May 21 20:43:23 2020 UTC (4 years, 6 months ago) by ad
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +8 -9
lines
Fix bugs in previous.
Revision 1.68: download - view: text, markup, annotated - select for diffs
Wed May 20 20:47:18 2020 UTC (4 years, 6 months ago) by ad
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +51 -23
lines
zfs_netbsd_getpages:
- implement the PGO_LOCKED case
- handle npages > 1 for PGO_SYNCIO
Revision 1.67: download - view: text, markup, annotated - select for diffs
Sat May 16 18:31:46 2020 UTC (4 years, 6 months ago) by christos
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +11 -9
lines
Add ACL support for FFS. From FreeBSD.
Revision 1.50.2.9: download - view: text, markup, annotated - select for diffs
Wed May 13 12:41:43 2020 UTC (4 years, 6 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE
Diff to: previous 1.50.2.8: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.8: +21 -1
lines
Pull up following revision(s) (requested by chs in ticket #903):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.66
fix the handling in putpage of the page containing EOF.
Revision 1.66: download - view: text, markup, annotated - select for diffs
Wed May 13 05:52:54 2020 UTC (4 years, 6 months ago) by chs
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +21 -1
lines
fix the handling in putpage of the page containing EOF.
Revision 1.50.2.8: download - view: text, markup, annotated - select for diffs
Sat May 9 08:20:34 2020 UTC (4 years, 6 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.50.2.7: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.7: +8 -3
lines
Pull up following revision(s) (requested by hannken in ticket #897):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c: revision 1.33
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.65
Revert Rev. 1.63 and add a comment why we have to zil_commit() here:
Operation zfs_znode.c::zfs_zget_cleaner() depends on this
zil_commit() as a barrier to guarantee the znode cannot
get freed before its log entries are resolved.
Operation zfs_zget_cleaner() cannot fail, comment and add assertions.
Revision 1.65: download - view: text, markup, annotated - select for diffs
Thu May 7 09:12:03 2020 UTC (4 years, 6 months ago) by hannken
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +8 -3
lines
Revert Rev. 1.63 and add a comment why we have to zil_commit() here:
Operation zfs_znode.c::zfs_zget_cleaner() depends on this
zil_commit() as a barrier to guarantee the znode cannot
get freed before its log entries are resolved.
Revision 1.27.2.2: download - view: text, markup, annotated - select for diffs
Mon Apr 13 07:56:38 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.27.2.1: preferred, colored; branchpoint 1.27: preferred, colored; next MAIN 1.28: preferred, colored
Changes since revision 1.27.2.1: +154 -51
lines
Mostly merge changes from HEAD upto 20200411
Revision 1.64: download - view: text, markup, annotated - select for diffs
Sat Mar 14 20:45:23 2020 UTC (4 years, 8 months ago) by ad
Branches: MAIN
CVS tags: phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +3 -13
lines
Make uvm_pagemarkdirty() responsible for putting vnodes onto the syncer
work list. Proposed on tech-kern@.
Revision 1.50.2.7: download - view: text, markup, annotated - select for diffs
Mon Mar 9 09:52:00 2020 UTC (4 years, 8 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.50.2.6: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.6: +3 -3
lines
Pull up following revision(s) (requested by riastradh in ticket #769):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.63
Avoid unnecessary zil_commit on rm.
1. Issue zil_commit only if we're actually updating something --
there's no need to commit if we're unlinking the file or if
there's no atime update being applied.
2. Issue zil_commit only if the zfs has sync=always set -- for
sync=standard there's no need for us to commit anything here since
no application asked for an explicit sync.
Speeds up untarring base.tgz on top of itself by a factor of about
2x, and speeds up rm by a factor of about 10x, on my system with an
SSD SLOG over SATA. Histogram of unlink, rmdir, and rename timing
shows dramatic reduction in latency for most samples.
(To be fair, this was not an improvement over zfs; issuing the
unnecessary zil_commit was a self-inflicted performance wound.)
Revision 1.63: download - view: text, markup, annotated - select for diffs
Sun Mar 8 19:59:45 2020 UTC (4 years, 8 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +3 -3
lines
Avoid unnecessary zil_commit on rm.
1. Issue zil_commit only if we're actually updating something --
there's no need to commit if we're unlinking the file or if
there's no atime update being applied.
2. Issue zil_commit only if the zfs has sync=always set -- for
sync=standard there's no need for us to commit anything here since
no application asked for an explicit sync.
Speeds up untarring base.tgz on top of itself by a factor of about
2x, and speeds up rm by a factor of about 10x, on my system with an
SSD SLOG over SATA. Histogram of unlink, rmdir, and rename timing
shows dramatic reduction in latency for most samples.
(To be fair, this was not an improvement over zfs; issuing the
unnecessary zil_commit was a self-inflicted performance wound.)
Revision 1.50.2.6: download - view: text, markup, annotated - select for diffs
Tue Feb 25 20:03:12 2020 UTC (4 years, 9 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.50.2.5: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.5: +16 -1
lines
Pull up following revision(s) (requested by riastradh in ticket #725):
etc/rc.d/mountall: revision 1.12
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.59
external/cddl/osnet/sys/kern/misc.c: revision 1.8
external/cddl/osnet/dist/uts/common/fs/zfs/spa_history.c: revision 1.5
external/cddl/osnet/dist/uts/common/fs/zfs/spa_history.c: revision 1.6
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.60
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.61
Define VOP_STRATEGY on zfs device nodes too.
Fixes eternal hangs in attempts to do I/O on device nodes on zfs.
XXX pullup
Teach zfs spec nodes to VOP_BWRITE too.
Fixes hang on writing to, e.g., ffs mounted on a device node that
lives on zfs.
XXX pullup
Teach device nodes on zfs to handle fsync by calling spec_fsync too.
If zfs=YES, unconditioally do zfs mount/unmount -a.
If you set zfs=YES, presumably you positively want the automatic rc.d
actions, so if there's no /sbin/zfs or if zfs can't find pools with
/etc/zfs/zpool.cache, presumably you would like feedback about that
in rc.log.
Report the OS name and release appropriately for NetBSD.
We are not OpenSolaris or uts!
Mark previous #ifdef __NetBSD__, per request from hannken.
Revision 1.62: download - view: text, markup, annotated - select for diffs
Sun Feb 23 15:46:38 2020 UTC (4 years, 9 months ago) by ad
Branches: MAIN
CVS tags: is-mlppp-base,
is-mlppp
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +27 -25
lines
UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock.
- Break v_interlock and vmobjlock apart. v_interlock remains a mutex.
- Do partial PV list locking in the x86 pmap. Others to follow later.
Revision 1.61: download - view: text, markup, annotated - select for diffs
Sun Feb 23 06:15:27 2020 UTC (4 years, 9 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +14 -1
lines
Teach device nodes on zfs to handle fsync by calling spec_fsync too.
Revision 1.60: download - view: text, markup, annotated - select for diffs
Sun Feb 23 05:50:25 2020 UTC (4 years, 9 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +1 -0
lines
Teach zfs spec nodes to VOP_BWRITE too.
Fixes hang on writing to, e.g., ffs mounted on a device node that
lives on zfs.
XXX pullup
Revision 1.59: download - view: text, markup, annotated - select for diffs
Wed Feb 19 05:52:52 2020 UTC (4 years, 9 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +1 -0
lines
Define VOP_STRATEGY on zfs device nodes too.
Fixes eternal hangs in attempts to do I/O on device nodes on zfs.
XXX pullup
Revision 1.50.2.5: download - view: text, markup, annotated - select for diffs
Sun Feb 16 12:20:02 2020 UTC (4 years, 9 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.50.2.4: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.4: +3 -0
lines
Pull up following revision(s) (requested by riastradh in ticket #710):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.58
Teach zfs to revoke vnodes the usual way.
XXX pullup
Revision 1.50.2.4: download - view: text, markup, annotated - select for diffs
Sun Feb 16 12:18:27 2020 UTC (4 years, 9 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.50.2.3: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.3: +3 -0
lines
Pull up following revision(s) (requested by hannken in ticket #709):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.57
zfs_netbsd_setattr: ignore size changes on device nodes.
Revision 1.58: download - view: text, markup, annotated - select for diffs
Sat Feb 15 19:03:15 2020 UTC (4 years, 9 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +3 -0
lines
Teach zfs to revoke vnodes the usual way.
XXX pullup
Revision 1.57: download - view: text, markup, annotated - select for diffs
Thu Feb 13 16:53:32 2020 UTC (4 years, 9 months ago) by hannken
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +3 -0
lines
zfs_netbsd_setattr: ignore size changes on device nodes.
Revision 1.56: download - view: text, markup, annotated - select for diffs
Sat Jan 18 15:21:32 2020 UTC (4 years, 10 months ago) by ad
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +25 -2
lines
Track page dirtyness for ZFS (yamt-pagecache). I had forgotten that it had
its own cache. Thanks to hannken@ for the repro.
Revision 1.55: download - view: text, markup, annotated - select for diffs
Wed Jan 15 17:55:43 2020 UTC (4 years, 10 months ago) by ad
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +6 -4
lines
Merge from yamt-pagecache (after much testing):
- Reduce unnecessary page scan in putpages esp. when an object has a ton of
pages cached but only a few of them are dirty.
- Reduce the number of pmap operations by tracking page dirtiness more
precisely in uvm layer.
Revision 1.54: download - view: text, markup, annotated - select for diffs
Fri Dec 13 20:10:21 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +0 -2
lines
Break the global uvm_pageqlock into a per-page identity lock and a private
lock for use of the pagedaemon policy code. Discussed on tech-kern.
PR kern/54209: NetBSD 8 large memory performance extremely low
PR kern/54210: NetBSD-8 processes presumably not exiting
PR kern/54727: writing a large file causes unreasonable system behaviour
Revision 1.50.2.3: download - view: text, markup, annotated - select for diffs
Sun Oct 6 11:18:01 2019 UTC (5 years, 2 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1
Diff to: previous 1.50.2.2: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.2: +8 -4
lines
Pull up following revision(s) (requested by brad in ticket #289):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.53
For ZFS on NetBSD there are a number of functions called
zfs_netbsd_{create,mknod,link,etc..} that call functions called
zfs_{create,mknod,link,etc..}. These later functions may return a
error code along with a *vpp that is NULL. This situation was not
handled by the zfs_netbsd_* functions and would result in a panic in a
number of cases. The simplest to trigger it was filling up a dataset
or pool resulting in a over quota condition. An attempt to create
another file, or directory at that point would panic.
Revision 1.53: download - view: text, markup, annotated - select for diffs
Fri Oct 4 23:06:19 2019 UTC (5 years, 2 months ago) by brad
Branches: MAIN
CVS tags: phil-wifi-20191119
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +8 -4
lines
For ZFS on NetBSD there are a number of functions called
zfs_netbsd_{create,mknod,link,etc..} that call functions called
zfs_{create,mknod,link,etc..}. These later functions may return a
error code along with a *vpp that is NULL. This situation was not
handled by the zfs_netbsd_* functions and would result in a panic in a
number of cases. The simplest to trigger it was filling up a dataset
or pool resulting in a over quota condition. An attempt to create
another file, or directory at that point would panic.
Revision 1.50.2.2: download - view: text, markup, annotated - select for diffs
Mon Aug 26 14:05:25 2019 UTC (5 years, 3 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.50.2.1: preferred, colored; branchpoint 1.50: preferred, colored
Changes since revision 1.50.2.1: +49 -3
lines
Pull up following revision(s) (requested by hannken in ticket #114):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.52
Implement kqueue support.
Revision 1.50.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 26 14:03:33 2019 UTC (5 years, 3 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +3 -0
lines
Pull up following revision(s) (requested by hannken in ticket #113):
external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.51
Implement poll support.
Revision 1.52: download - view: text, markup, annotated - select for diffs
Sat Aug 24 12:59:05 2019 UTC (5 years, 3 months ago) by hannken
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +49 -3
lines
Implement kqueue support.
Revision 1.51: download - view: text, markup, annotated - select for diffs
Sat Aug 24 12:58:24 2019 UTC (5 years, 3 months ago) by hannken
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +3 -0
lines
Implement poll support.
Revision 1.50: download - view: text, markup, annotated - select for diffs
Mon Jun 17 08:08:21 2019 UTC (5 years, 5 months ago) by hannken
Branches: MAIN
CVS tags: netbsd-9-base
Branch point for: netbsd-9
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +14 -0
lines
Add fstrans_start()/fstrans_done() and bounds check to zfs_netbsd_getpages().
Revision 1.49: download - view: text, markup, annotated - select for diffs
Mon Jun 17 08:07:56 2019 UTC (5 years, 5 months ago) by hannken
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +1 -1
lines
Skip atime update on dead "z_sa_hdl == NULL" znodes.
Revision 1.27.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 10 21:52:02 2019 UTC (5 years, 5 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +395 -93
lines
Sync with HEAD
Revision 1.48: download - view: text, markup, annotated - select for diffs
Mon Apr 15 12:59:38 2019 UTC (5 years, 7 months ago) by hannken
Branches: MAIN
CVS tags: phil-wifi-20190609
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +148 -2
lines
Add support for fifos, character and block devices.
Revision 1.47: download - view: text, markup, annotated - select for diffs
Mon Mar 18 09:20:58 2019 UTC (5 years, 8 months ago) by hannken
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +1 -1
lines
Set "mnt_stat.f_fsid" and "mnt_stat.f_fsidx" from the objset guid
like FreeBSD and Illumos do.
Use "f_fsid" for "va_fsid" and cheat NFSD to export snapshots under
".zfs" by setting these snaphots "f_fsidx" to the parents "f_fsidx".
Revision 1.46: download - view: text, markup, annotated - select for diffs
Mon Mar 18 09:20:15 2019 UTC (5 years, 8 months ago) by hannken
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +3 -0
lines
As zfs_netbsd_getpages() ignores "a_count" and processes exactly one page
return an error if "a_count != 1".
Revision 1.45: download - view: text, markup, annotated - select for diffs
Mon Mar 18 09:19:39 2019 UTC (5 years, 8 months ago) by hannken
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +2 -1
lines
Change zfs_readdir() to use malloc() instead of kmem_alloc() to
allocate cookies. Required by protocol, caller uses free().
Revision 1.44: download - view: text, markup, annotated - select for diffs
Tue Feb 5 09:54:36 2019 UTC (5 years, 10 months ago) by hannken
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +38 -6
lines
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> ...".
Revision 1.43: download - view: text, markup, annotated - select for diffs
Tue Feb 5 09:50:18 2019 UTC (5 years, 10 months ago) by hannken
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +2 -1
lines
zfs_netbsd_reclaim(): validate "z_log" before zil_commit().
Revision 1.26.8.4: download - view: text, markup, annotated - select for diffs
Fri Jan 18 08:48:44 2019 UTC (5 years, 10 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.26.8.3: preferred, colored; branchpoint 1.26: preferred, colored; next MAIN 1.27: preferred, colored
Changes since revision 1.26.8.3: +39 -18
lines
Synch with HEAD
Revision 1.42: download - view: text, markup, annotated - select for diffs
Sat Jan 5 09:20:29 2019 UTC (5 years, 11 months ago) by hannken
Branches: MAIN
CVS tags: pgoyette-compat-20190127,
pgoyette-compat-20190118
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +13 -0
lines
Even though zfs_netbsd_putpages() cannot use ZFS_ENTER() it has
to respect the teardown lock.
Enter z_teardown_lock as reader and ZFS_EXIT().
Instead of ZFS_VERIFY_ZP() return without writing and without
error from zfs_putapage() if "z_sa_hdl == NULL".
Revision 1.41: download - view: text, markup, annotated - select for diffs
Tue Jan 1 10:09:26 2019 UTC (5 years, 11 months ago) by hannken
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +24 -13
lines
Cannot use ZFS_ENTER() / ZFS_EXIT() as zfs_netbsd_putpages() is used
during vnode reclaim.
Add missing protection with fstrans.
Revision 1.40: download - view: text, markup, annotated - select for diffs
Tue Jan 1 10:08:42 2019 UTC (5 years, 11 months ago) by hannken
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +2 -5
lines
As already noted in XXX comment do a zil_commit() on reclaim.
Revision 1.26.8.3: download - view: text, markup, annotated - select for diffs
Wed Dec 26 14:01:17 2018 UTC (5 years, 11 months ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.26.8.2: preferred, colored; branchpoint 1.26: preferred, colored
Changes since revision 1.26.8.2: +162 -65
lines
Sync with HEAD, resolve a few conflicts
Revision 1.39: download - view: text, markup, annotated - select for diffs
Thu Dec 13 10:20:51 2018 UTC (5 years, 11 months ago) by hannken
Branches: MAIN
CVS tags: pgoyette-compat-1226
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +2 -0
lines
Drop v_interlock for zfs_range_lock(), another thread might hold part
of this range and wait for v_interlock.
Revision 1.38: download - view: text, markup, annotated - select for diffs
Thu Dec 13 10:20:20 2018 UTC (5 years, 11 months ago) by hannken
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +8 -1
lines
Operation zfs_range_lock() needs range as (offset,length), not as (low,high).
Revision 1.37: download - view: text, markup, annotated - select for diffs
Thu Dec 6 10:00:40 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +94 -11
lines
We have component names as counted strings (cn_nameptr, cn_namelen) but
ZFS expects a null-terminated name.
Always create a copy with PNBUF_GET()/strlcpy()/PNBUF_PUT().
For LOOKUP use a small buffer on stack and allocate/free compomnent names
longer than 30 chars.
Revision 1.36: download - view: text, markup, annotated - select for diffs
Fri Nov 30 09:53:40 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +3 -14
lines
Zfs_write() may hide write errors if uiomove() succeeds but a
further dmu_tx_assign() fails because over quota or no space.
Use the emulated uiocopy() and uioskip() like illumos does.
Fix the uiocopy() emulation to not clobber the iovecs.
Revision 1.35: download - view: text, markup, annotated - select for diffs
Wed Nov 28 10:01:28 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +22 -29
lines
Redo the access check for setting va_flags in zfs_netbsd_setattr().
Use user flag UF_NODUMP instead of UF_IMMUTABLE for the test as it
is the only user flag supported by all tested file systems.
PR kern/47656 test zfs_flags.
Revision 1.34: download - view: text, markup, annotated - select for diffs
Wed Nov 28 09:58:58 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +8 -1
lines
Add missing access check for REMOVE into zfs_netbsd_lookup().
PR kern/47656 test zfs_dirperms.
Revision 1.33: download - view: text, markup, annotated - select for diffs
Wed Nov 28 09:57:59 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +12 -1
lines
Add missing access check for setting va_Xtime into zfs_netbsd_setattr().
PR kern/47656 test zfs_times.
Revision 1.32: download - view: text, markup, annotated - select for diffs
Wed Nov 28 09:57:16 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +4 -0
lines
We expect VOP_ACCESS() to return EACCESS as general error.
Change zfs_netbsd_access() to translate the common EPERM to EACCES.
Revision 1.31: download - view: text, markup, annotated - select for diffs
Wed Nov 28 09:56:40 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +2 -1
lines
Don't try to release a NULL vnode in zfs_netbsd_rename().
Revision 1.30: download - view: text, markup, annotated - select for diffs
Wed Nov 28 09:56:09 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -0
lines
Remove an early test for "source and target are equal" from zfs_rename()
that broke BSD semantics.
Revision 1.29: download - view: text, markup, annotated - select for diffs
Wed Nov 28 09:55:06 2018 UTC (6 years ago) by hannken
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +5 -7
lines
Always unbusy pages in zfs_putapage() after the data has been written
into the DMU. Running fsx no longer hangs the kernel.
Revision 1.26.8.2: download - view: text, markup, annotated - select for diffs
Mon Nov 26 01:50:00 2018 UTC (6 years ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.26.8.1: preferred, colored; branchpoint 1.26: preferred, colored
Changes since revision 1.26.8.1: +1 -0
lines
Sync with HEAD, resolve a couple of conflicts
Revision 1.28: download - view: text, markup, annotated - select for diffs
Thu Nov 15 04:55:49 2018 UTC (6 years ago) by riastradh
Branches: MAIN
CVS tags: pgoyette-compat-1126
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +1 -0
lines
Need <dev/mm.h> for mm_md_direct_mapped_phys.
It turns out this code always sees __HAVE_MM_MD_DIRECT_MAPPED_PHYS as
disabled on amd64, for reasons that I shall address forthwith, but it
is enabled on aarch64 and so the MKZFS=yes build breaks.
Revision 1.26.8.1: download - view: text, markup, annotated - select for diffs
Mon Jun 25 07:25:21 2018 UTC (6 years, 5 months ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +2645 -2394
lines
Sync with HEAD
Revision 1.27: download - view: text, markup, annotated - select for diffs
Mon May 28 21:05:07 2018 UTC (6 years, 6 months ago) by chs
Branches: MAIN
CVS tags: phil-wifi-base,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906,
pgoyette-compat-0728,
pgoyette-compat-0625
Branch point for: phil-wifi
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +2646 -2395
lines
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().
Revision 1.1.1.3 (vendor branch): download - view: text, markup, annotated - select for diffs
Mon May 28 20:53:00 2018 UTC (6 years, 6 months ago) by chs
Branches: sun,
FreeBSD
CVS tags: CDDL-FreeBSD-r315983
Diff to: previous 1.1.1.2: preferred, colored
Changes since revision 1.1.1.2: +3407 -2298
lines
import new CDDL dtrace and ZFS code from FreeBSD svn r315983.
Revision 1.26: download - view: text, markup, annotated - select for diffs
Fri May 26 14:20:59 2017 UTC (7 years, 6 months ago) by riastradh
Branches: MAIN
CVS tags: pgoyette-compat-base,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
netbsd-8-base,
netbsd-8-3-RELEASE,
netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1,
netbsd-8,
matt-nb8-mediatek-base,
matt-nb8-mediatek
Branch point for: pgoyette-compat
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +2 -1
lines
Make VOP_RECLAIM do the last unlock of the vnode.
VOP_RECLAIM naturally has exclusive access to the vnode, so having it
locked on entry is not strictly necessary -- but it means if there
are any final operations that must be done on the vnode, such as
ffs_update, requiring exclusive access to it, we can now kassert that
the vnode is locked in those operations.
We can't just have the caller release the last lock because some file
systems don't use genfs_lock, and require the vnode to remain valid
for VOP_UNLOCK to work, notably unionfs.
Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Apr 26 03:02:47 2017 UTC (7 years, 7 months ago) by riastradh
Branches: MAIN
CVS tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +2 -15
lines
Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.
No change to vp -- the plan is to replace the node by the
componentname in the vop parameters, and let all directory vops do
lookups internally.
Proposed on tech-kern with no objections:
https://mail-index.netbsd.org/tech-kern/2017/04/17/msg021825.html
Revision 1.23.2.1: download - view: text, markup, annotated - select for diffs
Wed Apr 26 02:52:52 2017 UTC (7 years, 7 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +2 -2
lines
Sync with HEAD
Revision 1.23.4.1: download - view: text, markup, annotated - select for diffs
Fri Apr 21 16:52:40 2017 UTC (7 years, 7 months ago) by bouyer
Branches: bouyer-socketcan
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +2 -2
lines
Sync with HEAD
Revision 1.24: download - view: text, markup, annotated - select for diffs
Tue Apr 11 14:25:01 2017 UTC (7 years, 7 months ago) by riastradh
Branches: MAIN
CVS tags: pgoyette-localcount-20170426,
bouyer-socketcan-base1
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +2 -2
lines
Make VOP_INACTIVE preserve vnode lock on return.
Discussed on tech-kern:
https://mail-index.netbsd.org/tech-kern/2017/04/01/msg021751.html
Ride 7.99.68, a bumpy bus of incremental vfs improvements!
Revision 1.23: download - view: text, markup, annotated - select for diffs
Mon Apr 20 23:03:07 2015 UTC (9 years, 7 months ago) by riastradh
Branches: MAIN
CVS tags: pgoyette-localcount-base,
pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
localcount-20160914,
bouyer-socketcan-base
Branch point for: pgoyette-localcount,
bouyer-socketcan
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +3 -11
lines
Make VOP_LINK return directory still locked and referenced.
Ride 7.99.10 bump.
Revision 1.22: download - view: text, markup, annotated - select for diffs
Fri Apr 10 19:59:10 2015 UTC (9 years, 7 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +1 -1
lines
Disable mmap on zfs for now.
The implementation is not coherent with read/write, and apparently it
is is so broken that write(2) on a region mapped from a zfs file will
often fail with EINVAL because something passes an offset that is too
large to getpages.
Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu Apr 9 20:18:28 2015 UTC (9 years, 7 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +4 -1
lines
Pass NetBSD VA_UTIMES_NULL through to ZFS as Solaris ATTR_UTIME.
Makes t_unpriv:zfs_times fail the wrong way instead of silently
allowing the change.
Revision 1.20: download - view: text, markup, annotated - select for diffs
Thu Apr 9 19:47:05 2015 UTC (9 years, 7 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +31 -1
lines
Advisory locking for zfs.
Revision 1.19: download - view: text, markup, annotated - select for diffs
Thu Apr 9 19:35:55 2015 UTC (9 years, 7 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +3 -81
lines
Remove some vestigial #if 0 sections.
Revision 1.10.2.2: download - view: text, markup, annotated - select for diffs
Tue Aug 19 23:52:22 2014 UTC (10 years, 3 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.10.2.1: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10.2.1: +8 -67
lines
Rebase to HEAD as of a few days ago.
Revision 1.17.2.1: download - view: text, markup, annotated - select for diffs
Sun Aug 10 06:50:28 2014 UTC (10 years, 3 months ago) by tls
Branches: tls-earlyentropy
Diff to: previous 1.17: preferred, colored; next MAIN 1.18: preferred, colored
Changes since revision 1.17: +1 -0
lines
Rebase.
Revision 1.8.6.3: download - view: text, markup, annotated - select for diffs
Thu May 22 14:01:23 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.8.6.2: preferred, colored; branchpoint 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8.6.2: +8 -67
lines
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")
Revision 1.18: download - view: text, markup, annotated - select for diffs
Wed Apr 9 22:41:38 2014 UTC (10 years, 7 months ago) by riastradh
Branches: MAIN
CVS tags: yamt-pagecache-base9,
tls-maxphys-base,
tls-earlyentropy-base,
netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-base,
netbsd-7-2-RELEASE,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE,
netbsd-7-0,
netbsd-7
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +1 -0
lines
Don't forget ZFS_EXIT after ZFS_ENTER.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Fri Feb 7 15:29:20 2014 UTC (10 years, 9 months ago) by hannken
Branches: MAIN
CVS tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3
Branch point for: tls-earlyentropy
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +1 -9
lines
Change vnode operation lookup to return the resulting vnode *vpp unlocked.
Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
Revision 1.16: download - view: text, markup, annotated - select for diffs
Thu Jan 23 10:13:55 2014 UTC (10 years, 10 months ago) by hannken
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +6 -40
lines
Change vnode operations create, mknod, mkdir and symlink to return
the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
Revision 1.15: download - view: text, markup, annotated - select for diffs
Fri Jan 17 10:55:01 2014 UTC (10 years, 10 months ago) by hannken
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +3 -21
lines
Change vnode operations create, mknod, mkdir and symlink to keep the
directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
Revision 1.10.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 20 02:58:12 2012 UTC (12 years ago) by tls
Branches: tls-maxphys
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +554 -190
lines
Resync to 2012-11-19 00:00:00 UTC
Revision 1.8.6.2: download - view: text, markup, annotated - select for diffs
Tue Oct 30 18:56:37 2012 UTC (12 years, 1 month ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.8.6.1: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.6.1: +562 -191
lines
sync with head
Revision 1.14: download - view: text, markup, annotated - select for diffs
Thu Oct 18 14:22:57 2012 UTC (12 years, 1 month ago) by riastradh
Branches: MAIN
CVS tags: yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2,
agc-symver-base,
agc-symver
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +33 -14
lines
Take a first whack at making zfs permissions work.
zfs_access uses secpolicy_vnode_access, so it makes no sense for the
latter to call VOP_ACCESS!
Everything seems to return EACCES instead of EPERM, probably because
that's what kauth returns. This should be fixed, but that may
require some nontrivial surgery to zfs's calls to secpolicy_*, which
is where kauth gets involved.
This commit imports some code from illumos to implement the routine
secpolicy_vnode_setattr. This shouldn't be outside dist/, but for
now it is expedient to do so. We ought to fix that, along with all
the other CDDL code outside dist/, when we next import a newer
version of zfs.
Revision 1.13: download - view: text, markup, annotated - select for diffs
Tue Oct 16 00:04:15 2012 UTC (12 years, 1 month ago) by riastradh
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +3 -0
lines
Restore _PC_NO_TRUNC in zfs_netbsd_pathconf.
Accidentally clobbered it in a previous commit while moving patches
around between source trees -- oops.
Revision 1.12: download - view: text, markup, annotated - select for diffs
Mon Oct 15 23:08:19 2012 UTC (12 years, 1 month ago) by riastradh
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +519 -180
lines
Fix various issues in zfs life cycle, locking, and vop protocol.
- Restore some zfs locking and unlocking that got lost randomly.
- Enable use of the BSD vnode lock. Lock order: all BSD vnode locks
are taken before all zfs internal locks. There remains an issue with
O_EXCL, to be solved later (famous last words). KASSERT the locking
scheme up the wazoo.
- Take our cruft out of zfs_lookup and move it to zfs_netbsd_lookup.
Restore much of the way zfs_lookup looked to make merging future
versions easier. Disable use of the namecache for now because its
locking dance is too scary to contemplate.
- Implement BSD semantics for rename, to appease our tests. This is
a provisional kludge; eventually we need VOP_RENAME to take a flag
specifying whether to use BSD semantics or POSIX semantics.
- Simplify zfs_netbsd_reclaim and make it work. Now that getnewvnode
never tries to vclean anything itself, we need not worry about
recursion of ZFS_OBJ_MUTEX locks.
- Clarify and fix genfs node initialization and destruction.
zfs passes most of our atf vfs tests now, including the rename races.
Still to do:
- fix the impedance mismatch between our permissions model and zfs's;
- fix O_EXCL (nontrivial);
- throw dirconc at it and see how badly it explodes;
- find why zpool sometimes wedges itself during mkfs; and
- find why pool caches sometimes seem to get corrupted.
Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon Oct 1 18:19:18 2012 UTC (12 years, 2 months ago) by njoly
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -0
lines
Add _PC_NO_TRUNC support in zfs_netbsd_pathconf().
Revision 1.10: download - view: text, markup, annotated - select for diffs
Sat Sep 1 16:19:00 2012 UTC (12 years, 3 months ago) by pooka
Branches: MAIN
Branch point for: tls-maxphys
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +8 -1
lines
For now, make vop_islocked more like vop_lock and vop_unlock (i.e. don't
even attempt to do anything).
Revision 1.8.6.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:04:09 2012 UTC (12 years, 7 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +50 -27
lines
sync with head
Revision 1.9: download - view: text, markup, annotated - select for diffs
Sun Nov 20 02:54:25 2011 UTC (13 years ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-base5,
yamt-pagecache-base4,
netbsd-6-base,
netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-1,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE,
netbsd-6-0-3-RELEASE,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
netbsd-6-0,
netbsd-6,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +50 -27
lines
enough with the compile time warnings.
Revision 1.8: download - view: text, markup, annotated - select for diffs
Sun Jan 2 05:12:03 2011 UTC (13 years, 11 months ago) by dholland
Branches: MAIN
CVS tags: yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
matt-mips64-premerge-20101231,
cherry-xenmp-base,
cherry-xenmp,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Branch point for: yamt-pagecache
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +0 -3
lines
Remove references to SAVESTART in zfs.
Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Nov 30 10:45:27 2010 UTC (14 years ago) by dholland
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -17
lines
SAVENAME and HASBUF namei flags have been abolished; update zfs to match.
Revision 1.6: download - view: text, markup, annotated - select for diffs
Sun Jul 25 10:31:45 2010 UTC (14 years, 4 months ago) by hannken
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +0 -6
lines
VOP_LOCK() will not be called with LK_INTERLOCK.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Jun 24 13:03:05 2010 UTC (14 years, 5 months ago) by hannken
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -2
lines
Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
Revision 1.4: download - view: text, markup, annotated - select for diffs
Sat Feb 27 23:43:53 2010 UTC (14 years, 9 months ago) by haad
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +1549 -559
lines
Merge NetBSD local changes to new zfs version 22 sources.
Revision 1.1.1.2 (vendor branch): download - view: text, markup, annotated - select for diffs
Sat Feb 27 22:31:31 2010 UTC (14 years, 9 months ago) by haad
Branches: sun,
FreeBSD
CVS tags: osnet-20100224
Diff to: previous 1.1.1.1: preferred, colored
Changes since revision 1.1.1.1: +945 -540
lines
Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
Revision 1.3: download - view: text, markup, annotated - select for diffs
Wed Oct 28 23:44:51 2009 UTC (15 years, 1 month ago) by haad
Branches: MAIN
CVS tags: matt-premerge-20091211,
darran-pre-netbsd,
darran-pre-freebsd,
darran-pre-dtrace
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +54 -13
lines
Add workaround about zfs vnode reclaiming deadlock by checking if we don't
ehld ZFS_MUTEX_OBJ already. If we can lock OBJ_MUTEX deffer execution of
zfs_zinactive to taskq. Code was inspired by FreeBSD zfs_freebsd_reclaim.
XXX. This needs to be fixed after finding final solution for vnode lifecycle.
Revision 1.2: download - view: text, markup, annotated - select for diffs
Fri Aug 7 20:16:45 2009 UTC (15 years, 4 months ago) by haad
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1075 -1132
lines
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@.
Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Fri Aug 7 18:33:31 2009 UTC (15 years, 4 months ago) by haad
Branches: sun,
FreeBSD
CVS tags: osnet-20081117
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0
lines
Import Opensolaris source code used with zfs port. Zfs code si from date
200811.
Revision 1.1: download - view: text, markup, annotated - select for diffs
Fri Aug 7 18:33:31 2009 UTC (15 years, 4 months ago) by haad
Branches: MAIN
Initial revision
CVSweb <webmaster@jp.NetBSD.org>