Commit Graph

149618 Commits

Author SHA1 Message Date
Navdeep Parhar
9a31144537 Add arp_update_event. This replaces route_arp_update_event, which
has not worked since the arp-v2 rewrite.

The event handler will be called with the llentry write-locked and
can examine la_flags to determine whether the entry is being added
or removed.

Reviewed by:	gnn, kmacy
Approved by:	gnn (mentor)
MFC after:	1 month
2009-09-08 21:17:17 +00:00
Poul-Henning Kamp
a254d1f16d Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an
architecture specific include file containing the _ALIGN*
stuff which <sys/socket.h> needs.
2009-09-08 20:45:40 +00:00
Nathan Whitehorn
57cf46fea3 Remove some debugging (KTR_VERBOSE) that crept into ppc GENERIC long ago
and is present on no other architectures by default.

MFC after:	4 days
2009-09-08 20:12:26 +00:00
Pawel Jakub Dawidek
bf55edc7c8 Implement __assert() for Solaris-specific code. Until now Solaris code was
using Solaris prototype for __assert(), but FreeBSD's implementation.
Both take different arguments, so we were either core-dumping in assert()
or printing garbage.

Reported by:	avg
MFC after:	1 week
2009-09-08 20:06:35 +00:00
Brooks Davis
d534b0c238 cr_groups is no longer embedded in struct ucred and is instead stored
in a seperate array.  As such we need to use kvm_read rather than bcopy
to populate the ki_groups field.

This fixes a crash when running ps -ax on a coredump.

Reported by:	brucec
Tested by:	brucec
MFC after:	3 days
2009-09-08 19:37:59 +00:00
Edward Tomasz Napierala
2ff8f63aa6 Remove useless variable assignment. 2009-09-08 17:23:32 +00:00
Edward Tomasz Napierala
bb3fd7ff4f Remove unused variable. 2009-09-08 17:20:17 +00:00
Pawel Jakub Dawidek
3770996142 Only log successful commands! Without this fix we log even unsuccessful
commands executed by unprivileged users. Action is not really taken, but it is
logged to pool history, which might be confusing.

Reported by:	Denis Ahrens <denis@h3q.com>
MFC after:	3 days
2009-09-08 16:40:08 +00:00
Warner Losh
d2111f569c Cleanup tortured logic a big. Noticed by FlexLint, per phk.
# My reading of the docs suggests this can only happen on 10Base5 and
# 10Base2 setups (and maybe only the former), which I can't test
# adequately since I have nothing but 10BaseT, etc here.
2009-09-08 16:37:18 +00:00
Scott Long
216e03861c Free the correct buffer in an error case.
Submitted by:	phk
2009-09-08 16:09:28 +00:00
Pawel Jakub Dawidek
d6b8039292 We don't export individual snapshots, so mnt_export field in snapshot's
mount point is NULL. That's why when we try to access snapshots over NFS
use mnt_export field from the parent file system.

MFC after:	1 week
2009-09-08 15:57:03 +00:00
Roman Divacky
d77fa17750 Add C/c/f/p/v switches plus a bunch of minor fixes and cleanups.
Obtained from:	NetBSD
Approved by:	des (maintainer)
Approved by:	ed (mentor, implicit)
2009-09-08 15:55:13 +00:00
Pawel Jakub Dawidek
f148fd9a4a When we automatically mount snapshot we want to return vnode of the mount point
from the lookup and not covered vnode. This is one of the fixes for using .zfs/
over NFS.

MFC after:	1 week
2009-09-08 15:51:40 +00:00
Pawel Jakub Dawidek
2391003912 On FreeBSD we don't have to look for snapshot's mount point,
because fhtovp method is already called with proper mount point.

MFC after:	1 week
2009-09-08 15:42:55 +00:00
Pawel Jakub Dawidek
6f8e88e1da Call ZFS_EXIT() after locking the vnode.
MFC after:	1 week
2009-09-08 15:37:01 +00:00
Poul-Henning Kamp
0901106030 Add necessary include 2009-09-08 15:18:25 +00:00
Poul-Henning Kamp
0d07b627a3 Having thrown the cat out of the house, add a necessary include. 2009-09-08 13:24:36 +00:00
Poul-Henning Kamp
6778431478 Revert previous commit and add myself to the list of people who should
know better than to commit with a cat in the area.
2009-09-08 13:19:05 +00:00
Poul-Henning Kamp
b34421bf9c Add necessary include. 2009-09-08 13:16:55 +00:00
Poul-Henning Kamp
a330ed7cd1 Move multi-include protection back up to the top of the file and
name after the physical file rather than the aliased name.
2009-09-08 12:59:56 +00:00
Poul-Henning Kamp
2ac047d1fe Move the duplicate definition of struct sockaddr_storage to its own
include file, and include this where the previous duplicate definitions were.

Static program checkers like FlexeLint rightfully take a dim view of
duplicate definitions, even if they currently are identical.
2009-09-08 10:39:38 +00:00
Konstantin Belousov
211ddddce7 Lock Giant around vn_open_cred().
Remove innocent unnecessary call to NDFREE().

Reported by:	marcel
Reviewed and tested by:	pjd
MFC after:	3 days
2009-09-08 09:17:34 +00:00
Pawel Jakub Dawidek
1ea3566294 Fix reference count leak for a case where snapshot's mount point is updated.
Such situation is not supported.

This problem was triggered by something like this:

	# zpool create tank da0
	# zfs snapshot tank@snap
	# cd /tank/.zfs/snapshot/snap  (this will mount the snapshot)
	# cd
	# mount -u nosuid /tank/.zfs/snapshot/snap  (refcount leak)
	# zpool export tank
	cannot export 'tank': pool is busy

MFC after:	1 week
2009-09-08 08:54:15 +00:00
Alexander Motin
18e42503ed Do not check proper request alignment here in geom_dev in production.
It will be checked any way later by g_io_check() in g_io_schedule_down().
It is only needed here to not trigger panic from additional check, when
INVARIANTS enabled. So cover it with #ifdef INVARIANTS. It saves two
64bit divisions per request.
2009-09-08 05:46:38 +00:00
Tim Kientzle
466017cf76 Fiz /usr/bin/unzip: A bug deep in libarchive's read-ahead logic
(incorrect handling of zero-length reads before the copy buffer is
allocated) is masked by the iso9660 taster.  Tar and cpio both enable
that taster so were protected from the bug; unzip is susceptible.

This both fixes the bug and updates the test harness to exercise
this case.

Submitted by: Ed Schouten diagnosed the bug and drafted a patch
MFC after: 7 days
2009-09-08 05:02:41 +00:00
Tim Kientzle
26baaf0169 Update tests to match r195873, which corrected how hardlinked files
on iso9660 images were returned.  While I'm poking around, update
some comments around this area to try to clarify what's going on and
what still remains to be improved.
2009-09-08 04:52:12 +00:00
Xin LI
277dbce981 Constify format string pointer, otherwise this would trigger warning when
higher warning level is enabled.
2009-09-08 01:11:23 +00:00
Sean Bruno
b0d0537558 A few enhancements I made while working on the Firewire target (sbp_targ).
Update the error handling in a couple of cases to exit gracefully if
certain mandatory conditions aren't met.

Reduce the maximum number of initiators to 8 for this example code.  While
1024 is more correct, this example code would act like it was stalled out
even though it was merely allocating the needed structures in init_ccbs()

Reviewed by:	scottl@freebsd.org
2009-09-07 23:16:27 +00:00
Pawel Jakub Dawidek
28e449adf2 If we have to use avl_find(), optimize a bit and use avl_insert() instead of
avl_add() (the latter is actually a wrapper around avl_find() + avl_insert()).

Fix similar case in the code that is currently commented out.
2009-09-07 21:58:54 +00:00
Pawel Jakub Dawidek
3f6043a57d When snapshot mount point is busy (for example we are still in it)
we will fail to unmount it, but it won't be removed from the tree,
so in that case there is no need to reinsert it.

This fixes a panic reproducable in the following steps:

	# zfs create tank/foo
	# zfs snapshot tank/foo@snap
	# cd /tank/foo/.zfs/snapshot/snap
	# umount /tank/foo
	panic: avl_find() succeeded inside avl_add()

Reported by:	trasz
MFC after:	3 days
2009-09-07 21:46:51 +00:00
Edward Tomasz Napierala
3110a4eb9c Some of the controllers sold as ServeRAID (IBM ServeRAID-MR10i,
in particular) are actually mfi(4) devices.  Provide hints.

Submitted by:	<pluknet at gmail.com>
2009-09-07 20:57:01 +00:00
Pawel Jakub Dawidek
5d1b2674f8 Fix detection of file system being shared. After this change commands like:
# zfs unshare -a
	# zfs destroy foo/bar
	# zfs rename foo/bar foo/baz

should properly remove exported file systems.

MFC after:	3 days
2009-09-07 20:10:33 +00:00
Edward Tomasz Napierala
343775c0b4 Enable NFSv4 ACL support in ZFS.
Reviewed by:	pjd
2009-09-07 19:43:13 +00:00
Edward Tomasz Napierala
6839605389 Add regression tests for NFSv4 ACL granular permission enforcement. 2009-09-07 19:40:22 +00:00
Pawel Jakub Dawidek
08780916dd Defer thread start until we set priority.
Reviewed by:	kib
MFC after:	3 days
2009-09-07 19:22:44 +00:00
Pawel Jakub Dawidek
c739b7b22b Don't recheck ownership on update mount. This will eliminate LOR between
vfs_busy() and mount mutex. We check ownership in vfs_domount() anyway.

Noticed by:	kib
Reviewed by:	kib
MFC after:	1 week
2009-09-07 18:54:55 +00:00
Pawel Jakub Dawidek
2ff6f0f89a - Avoid holding mutex around M_WAITOK allocations.
- Add locking for mnt_opt field.

MFC after:	1 week
2009-09-07 18:23:26 +00:00
Ken Smith
44a37a783b Bring the layout of package-split.py more in line with where we're going
with packages on the release media.  It looks like we'll be putting just
the doc packages on the new "memory stick" image as well as disc1.  There
will be no other packages on the CDROM-sized media.  The DVD sized media
will include the doc packages plus whatever other packages we decide to
make part of the release.

This commit just brings the basic structure in line with being able to
do this.  We still need to discuss with various people exactly which
packages will be included on the DVD.

If the environement variable "PKG_DVD" is set a tree suitable for the
DVD media is generated.  Otherwise a tree suitable for the "memory stick"
and disc1 is generated.

MFC after:	3 days
2009-09-07 17:54:20 +00:00
Edward Tomasz Napierala
900b1670c4 Prevent the line from wrapping. 2009-09-07 16:56:41 +00:00
Edward Tomasz Napierala
0103fcf5dc Add regression tests for NFSv4 ACLs and update POSIX.1e tests to the changed
error messages.
2009-09-07 16:26:03 +00:00
Edward Tomasz Napierala
3f22187878 Add NFSv4 support to setfacl(1).
Reviewed by:	rwatson
2009-09-07 16:19:32 +00:00
Sam Leffler
2ef29b4c33 remove extranous return
Submitted by:	phk
MFC after:	1 week
2009-09-07 16:18:16 +00:00
Sam Leffler
d5c613bdb2 fix extraneous return that can cause a memory leak
Submitted by:	phk
MFC after:	1 week
2009-09-07 16:12:07 +00:00
Sam Leffler
518de5f837 correct typo that was a noop on 32-bit machines but a bug on 64-bit machines
Submitted by:	phk
2009-09-07 16:08:21 +00:00
Shteryana Shopova
e72ae6eafd When joining a multicast group, the inp_lookup_mcast_ifp call
does a KASSERT that the group address is multicast, so the
check if this is indeed true and eventually return a EINVAL if not,
should be done before calling inp_lookup_mcast_ifp. This fixes a kernel
crash when calling setsockopt (sock, IPPROTO_IP, IP_ADD_MEMBERSHIP,...)
with invalid group address.

Reviewed by:	bms
Approved by:	bms

MFC after:	3 days
2009-09-07 16:00:33 +00:00
Hiroki Sato
53ac3451a7 Use printb() instead of rolling its own routine to display
bits in options=<>.

Pointed out by:	ume
MFC after:	3 days
2009-09-07 15:52:15 +00:00
Hajimu UMEMOTO
ad334ef082 Suppress an options line when no bit is on.
Reviewed by:	hrs
MFC after:	3 days
2009-09-07 15:22:54 +00:00
Pawel Jakub Dawidek
544bf7f165 Teach zdb(8) how to obtain GEOM provider size.
PR:		kern/133134
Reported by:	Philipp Wuensche <cryx-freebsd@h3q.com>
MFC after:	3 days
2009-09-07 14:44:04 +00:00
Pawel Jakub Dawidek
841bcfea21 Changing provider size is not really supported by GEOM, but doing so when
provider is closed should be ok.

When administrator requests to change ZVOL size do it immediately if ZVOL
is closed or do it on last ZVOL close.

PR:		kern/136942
Requested by:	Bernard Buri <bsd@ask-us.at>
MFC after:	1 week
2009-09-07 14:16:50 +00:00
Konstantin Belousov
481208a815 If a race is detected, pfs_vncache_alloc() may reclaim a vnode that had
never been inserted into the pfs_vncache list. Since pfs_vncache_free()
does not anticipate this case, it decrements pfs_vncache_entries
unconditionally; if the vnode was not in the list, pfs_vncache_entries
will no longer reflect the actual number of list entries. This may cause
size of the cache to exceed the configured maximum. It may also trigger
a panic during module unload or system shutdown.

Do not decrement pfs_vncache_entries for the vnode that was not in the
list.

Submitted by:	tegge
Reviewed by:	des
MFC after:	1 week
2009-09-07 12:10:41 +00:00