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.
Changes from tzdata2012f to tzdata2012g:
Samoa fall 2012 and later. (Thanks to Nicholas Pereira
and Robert Elz.)
Palestine fall 2012. (Thanks to Steffen Thorsen.)
Changes from tzdata2012f to tzdata2012g:
Samoa fall 2012 and later. (Thanks to Nicholas Pereira
and Robert Elz.)
Palestine fall 2012. (Thanks to Steffen Thorsen.)
In addition to those changes, the tzdata distribution now includes
a copy of the Makefile from the tzcode distribution. NetBSD's
src/share/zoneinfo/Makefile is completely different from the Makefile
that is now included in the tzdata distribution.
- both TX side an RX side.
- different setting for each port
- TX side is hw.mvgbe.mvgbe*.ipginttx
- RX side is hw.mvgbe.mvgbe*.ipgintrx
- The default value is 768.
- The lowest value is 0
- For highest value, 0x3777 is used for V1, and 0xffff is used for V2.
amd64/ramdisks/common/list.ramdisk.
Previously, the amd64 list.ramdisk used the small version of gzip from
distrib/utils/x_gzip, while the i386 list.ramdisk used the full version
of gzip built from usr.bin/gzip, and also used extra libraries needed to
make that work. Now, they both use the small version.
The only other difference was in the order of some PROG lines.
pre-define the LISTS variable if they do not want it to include
${.CURDIR}/lists. This opens the possibility of making some of the
many distrib/*/ramdisks/*/lists files shared in the future.
XXX: Some of the differences between these files seem to be unnecessary.
conversion of some constants to variables, this is identical to the code
that was previously present in both distrib/amd64/kmod/Makefile and
distrib/i386/kmod/Makefile.
Change distrib/amd64/kmod/Makefile and distrib/i386/kmod/Makefile to just
set some variables and .include "../../common/Makefile.minirootkmod".
Don't try to zget the parent, whose znode id may have been recycled
by now.
It's not clear to me how Solaris avoids this, but maybe I'm just
missing something obvious.
- 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.