Nate Lawson
f1172c58e5
Fix a bug where the callout might not be initialized before being used.
...
Rev 1.9 introduced another path where machclk_freq would be initialized
before the rest of setup was done (i.e. initializing the callout). Make
the one-time initialization a separate function and make init_machclk()
able to be called multiple times, any time. We depend on tsc_freq first
being updated from the highest priority eventhandler, thus we run last
and call init_machclk() to set machclk_freq. Also, don't initialize
static variables to 0.
Tested by: Eygene Ryabinkin
Approved by: re
2007-07-12 17:00:51 +00:00
Hartmut Brandt
2125877649
This commit was generated by cvs2svn to compensate for changes in r171364,
...
which included commits to RCS files with non-trunk default branches.
2007-07-11 14:41:54 +00:00
Hartmut Brandt
e52e259e88
Vendor patch to remove some __inline qualifiers on non-static functions
...
because they seem to cause warnings in gcc-4.2.
Submitted by: mjacob
Approved by: re
2007-07-11 14:41:54 +00:00
Doug Rabson
2dc26b36c8
Correct a reference-counting mistake in the ZFS code which led to abnormal
...
memory usage and pessimal cache performance.
Reviewed by: pjd
Approved by: re (rwatson)
2007-07-09 09:03:49 +00:00
Max Laier
e22a271eeb
Remove unused variable from pf_subr.c to make it -Werror buildable.
...
Approved by: re (kensmith)
2007-07-05 15:28:59 +00:00
Max Laier
44e0d5a8df
Add two place holders in struct pf_rule for future netgraph integration.
...
Submitted by: Ermal Luçi
Approved by: re (kensmith)
2007-07-03 12:58:33 +00:00
Max Laier
60ee384760
Link pf 4.1 to the build:
...
- move ftp-proxy from libexec to usr.sbin
- add tftp-proxy
- new altq mtag link
Approved by: re (kensmith)
2007-07-03 12:46:08 +00:00
Max Laier
c9a03d91ad
Commit resolved import of OpenBSD 4.1 pf from perforce.
...
Approved by: re (kensmith)
2007-07-03 12:16:07 +00:00
Max Laier
25929d7851
This commit was generated by cvs2svn to compensate for changes in r171164,
...
which included commits to RCS files with non-trunk default branches.
2007-07-03 12:06:01 +00:00
Max Laier
42247cbcaf
Import pf from OpenBSD 4.1
2007-07-03 12:06:01 +00:00
Max Laier
d786f620df
Fix hardware checksum verification on fragments.
...
MFC after: 7 days
Reported/tested by: Hugo Koji Kobayashi, Vadym Chepkov
Reviewed/help by: yongari
Approved by: re (kensmith)
2007-07-03 11:50:02 +00:00
Doug Rabson
7761242694
In zfs_vget, if we fail to translate an inode number to the corresponding
...
vnode, make sure we return an error code to the caller.
Reviewed by: pjd
Approved by: re
2007-06-27 12:00:24 +00:00
Darren Reed
a2ba8029c8
Pointer to an ICMP header was getting left behind after doing a pullup.
2007-06-09 09:28:36 +00:00
Marcel Moolenaar
6d63683c41
Add my copyright.
...
Requested by: pjd@
2007-06-08 16:20:03 +00:00
Pawel Jakub Dawidek
3b7917d766
- Reduce number of atomic operations needed to be implemented in asm by
...
implementing some of them using existing ones.
- Allow to compile ZFS on all archs and use atomic operations surrounded
by global mutex on archs we don't have or can't have all atomic
operations needed by ZFS.
2007-06-08 12:35:47 +00:00
Pawel Jakub Dawidek
083c4dd695
Missing atomic operations for ZFS/ia64.
...
Submitted by: marcel
2007-06-08 12:26:30 +00:00
Pawel Jakub Dawidek
b166b92692
Reimplement traverse() helper function:
...
1. Pass locking flags to VFS_ROOT().
2. Check v_mountedhere while the vnode is locked.
3. Always return locked vnode on success.
Change 1 fixes problem reported by Stephen M. Rumble - after
zfs_vfsops.c,1.9 change, zfs_root() no longer locks the vnode
unconditionally and traverse() didn't pass right lock type to
VFS_ROOT(). The result was that kernel paniced when .zfs/ directory
was accessed via NFS.
2007-06-04 11:31:46 +00:00
Darren Reed
d7eeb25225
Merge IPFilter 4.1.23 back to HEAD
...
See src/contrib/ipfilter/HISTORY for details of changes since 4.1.13
2007-06-04 02:54:36 +00:00
Darren Reed
2bf2a702cc
This commit was generated by cvs2svn to compensate for changes in r170263,
...
which included commits to RCS files with non-trunk default branches.
2007-06-04 02:50:28 +00:00
Darren Reed
103b406762
Import IPFilter 4.1.23 to vendor branch.
...
See src/contrib/ipfilter/HISTORY for details of changes since 4.1.13
2007-06-04 02:50:28 +00:00
Pawel Jakub Dawidek
5750956634
Adjust va_mask for setattr. FreeBSD doesn't have va_mask, so we initialize it
...
based on individual fields beeing set. This doesn't work for setattr replay,
because va_type is set there, so we add AT_TYPE flag to va_mask, which won't
be accepted by zfs_setattr().
Reported by: kris
2007-05-28 02:37:43 +00:00
Pawel Jakub Dawidek
a906fff9c5
Because we allocate componentname structures on stack, bzero() them before
...
use just in case.
2007-05-28 00:26:20 +00:00
Pawel Jakub Dawidek
f92dd5c2d9
Initialize ZFS a bit earlier and block root mounting until
...
initialization is complete. This fixes some root-on-ZFS
configurations.
Reported by: Bruno Damour <freebsd.ruomad@free.fr>
Tested by: Bruno Damour <freebsd.ruomad@free.fr>
2007-05-24 07:43:00 +00:00
Pawel Jakub Dawidek
d4c4dfe96f
FreeBSD's namecache works quite well with ZFS, so remove DNLC.
2007-05-23 21:33:02 +00:00
Pawel Jakub Dawidek
4282c449dc
All objects we create using GFS are directories, so initialize d_type
...
properly, but add XXX comment saying that it can eventually change in
the future.
2007-05-23 21:27:47 +00:00
Pawel Jakub Dawidek
124427f96d
Lock vnode on lookup. This fixes ZIL replay for rmdir/unlink/rename.
...
Reported by: des
2007-05-22 21:22:25 +00:00
Daniel Hartmeier
67debc100c
From OpenBSD, rev. 1.524, 1.528, 1.529
...
Deal with IPv6 routing headers (see FreeBSD-SA-07:03.ipv6 for background)
Block IPv6 packets with routing headers by default, unless 'allow-opts'
is specified. Block RH0 unconditionally. Deal with ip6_plen 0.
MFC after: 1 week
Discussed with: mlaier
2007-05-21 20:08:59 +00:00
Pawel Jakub Dawidek
68e752c31c
Increase debug level - this message is not that important.
2007-05-09 22:32:49 +00:00
Pawel Jakub Dawidek
6a7309390f
- Add missing lock destruction and remove duplicate initializations.
...
With this change it is possible to unload zfs.ko module from
WITNESS-enabled kernel.
- Remove bogus comment.
2007-05-06 19:05:37 +00:00
Pawel Jakub Dawidek
7baf73a6c2
Use provider's ident to handle situations when disks are moved around
...
and show up with different names: first try to open provider using
remembered name and compare its ident, if equal, this is our provider,
if not equal or there is no provider with such name, find provider with
remembered ident and don't care about the name.
2007-05-06 01:39:39 +00:00
Pawel Jakub Dawidek
fab3f4465e
MFp4: We don't need to cover vnode_pager_setsize() with the z_map_lock.
2007-05-06 01:27:54 +00:00
Pawel Jakub Dawidek
57504dcfaf
Share-lock a vnode where possible.
2007-05-02 01:03:10 +00:00
Pawel Jakub Dawidek
5bec66402b
When parent directory has to be unlocked, lock it back with the same lock
...
type. Before this change, if directory was shared-locked, it was relocked
exclusively.
2007-05-02 00:41:44 +00:00
Pawel Jakub Dawidek
9167141244
Lock vnode using cn_lkflags in case the caller wants the vnode to be
...
shared-locked.
2007-05-02 00:39:52 +00:00
Pawel Jakub Dawidek
04748b1b2e
The getnewvnode() function sets LK_NOSHARE by default, so if we want to
...
support shared vnodes locking, we need to remove that flag.
Also add LK_CANRECURSE flag as found in nfsclient.
2007-05-02 00:22:12 +00:00
Pawel Jakub Dawidek
0775674bbc
ZFS should update timestamps upon the creat() of an existing file.
...
Obtained from: OpenSolaris
Bug: http://bugs.opensolaris.org/view_bug.do?bug_id=6465105
2007-05-02 00:18:22 +00:00
Pawel Jakub Dawidek
6de6bff649
- Lock vnode with flags passed in as argument in zfs_vget() and zfs_root().
...
Pointed out by: ups
Also reported by: kris
- Add comments where I'm not sure if LK_RETRY should be used.
2007-05-02 00:09:34 +00:00
Pawel Jakub Dawidek
d1d7399da5
MFp4: Remove LK_RETRY flag when locking vnode in zfs_lookup, we don't want
...
dead vnodes here.
Suggested by: kib
2007-05-01 13:58:56 +00:00
Pawel Jakub Dawidek
80ae748326
White space fixes.
2007-05-01 13:32:22 +00:00
Pawel Jakub Dawidek
7555fddd83
Add a comment explaining why we call dmu_write() unconditionally, even if
...
uiomove() fails, especially that it is different from what OpenSolaris
does (I'm not entirely sure they are right).
Suggested by: darrenr
2007-05-01 12:09:45 +00:00
Pawel Jakub Dawidek
2f51d93626
- Define d_type for ".", ".." and ".zfs" directories.
...
- Add a TODO comment where d_type is still noe defined.
2007-04-29 23:28:07 +00:00
Pawel Jakub Dawidek
b9f28e4a35
Oops, correct important typo in last commit.
2007-04-29 23:12:00 +00:00
Pawel Jakub Dawidek
2c965e1956
Avoid freeing NULL pointer in case of an error.
2007-04-29 23:08:24 +00:00
Pawel Jakub Dawidek
f2c9356328
Fix two use-after-free cases.
2007-04-29 00:41:29 +00:00
Pawel Jakub Dawidek
c28672efcc
MFp4: Optimize mappedwrite() and mappedread() functions to write/read as much
...
non-mapped data as possible at once and not page-by-page. Which this change we
combain I/Os, but also saves many VM_OBJECT_UNLOCK()/VM_OBJECT_LOCK()
operations.
Simple 'fsx -l 33554432 -o 524288 -N 10000 /tank/fsx' test shows ~23%
performance increase.
2007-04-26 17:07:50 +00:00
Pawel Jakub Dawidek
171c4b21e2
- Always try to write one whole page at a time.
...
- vm_page_undirty() is enough (instead of vm_page_set_validclean()), but it has
to be called before we write the data in case someone makes page dirty after
our write, but before our vm_page_undirty() call.
- Always dmu_write, not matter if uiomove() succeeded, because it could
partially be ok and we would lose some changes.
All good ideas from: ups
2007-04-26 12:58:17 +00:00
Pawel Jakub Dawidek
caa93cc3a0
MFV: Free znodes immediatelly, allowing the ARC to hold onto less memory.
...
Full description at: http://bugs.opensolaris.org/view_bug.do?bug_id=6543706
2007-04-26 10:08:54 +00:00
Pawel Jakub Dawidek
5da1b1ed71
MFV: Functions name change.
2007-04-26 09:38:20 +00:00
Pawel Jakub Dawidek
1e788bd7e5
ZIL (ZFS Intent Log) can be safely turned on and off at run time, because
...
it is only used when dataset is beeing mounted to decide if log should also
be opened.
2007-04-24 19:02:51 +00:00
Pawel Jakub Dawidek
8b384c52c0
MFp4: Now that ZFS can use FreeBSD's namecache, turn it off by default and
...
turn off DNLC, but don't remove DNLC yet just in case.
2007-04-24 16:59:20 +00:00