PERFORCE change 163109 for review
Edward Tomasz Napierala
trasz at FreeBSD.org
Sat May 30 19:16:37 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=163109
Change 163109 by trasz at trasz_victim on 2009/05/30 19:16:19
IFC.
Affected files ...
.. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#30 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/bin/cp/utils.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/bin/rm/rm.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/Makefile#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/fsck_ffs/fsck.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/mksnap_ffs/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/mksnap_ffs/mksnap_ffs.8#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/mksnap_ffs/mksnap_ffs.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/Makefile#15 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/VOP_ACCESS.9#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/dump_machdep.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/minidump_machdep.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/dump_machdep.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/if_npe.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/ixp425_qmgr.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_misc.c#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/svr4/svr4_stat.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ddb/db_textdump.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bge/if_bge.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/if_bwi.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/dc/if_dc.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/if_em.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/firewire/firewire.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/firewire/if_fwe.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/firewire/if_fwip.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fxp/if_fxp.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iwn/if_iwn.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgb/if_ixgb.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/lmc/if_lmc.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/lmc/if_lmc.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mge/if_mge.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/nfe/if_nfe.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/nge/if_nge.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ral/rt2560.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/re/if_re.c#15 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sf/if_sf.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sis/if_sis.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/smc/if_smc.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ste/if_ste.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/stge/if_stge.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/syscons/daemon/daemon_saver.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/tsec/if_tsec.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/usb_controller.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_bus.h#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_busdma.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_busdma.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_compat_linux.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_compat_linux.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_controller.h#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_core.h#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_dev.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_dev.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_device.h#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hid.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hid.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hub.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hub.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_lookup.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_lookup.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_mbuf.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_mbuf.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_msctest.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_process.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_process.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_transfer.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_transfer.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_rum.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_ural.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/vge/if_vge.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/vr/if_vr.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/xl/if_xl.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_rrip.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsport.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clstate.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clvfsops.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nullfs/null_vnops.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/vinum/geom_vinum_create.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/vinum/geom_vinum_drive.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/dump_machdep.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/minidump_machdep.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/ibcs2/ibcs2_socksys.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/xen/mp_machdep.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ia64/ia64/dump_machdep.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_jail.c#20 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_mib.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_shutdown.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_xxx.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_default.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#32 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vnode_if.src#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kgssapi/gsstest.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_var.h#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_phy.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_pcb.c#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_sysctl.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_sysctl.h#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_uio.h#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctputil.c#16 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/icmp6.c#16 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_ifattach.c#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/bootp_subr.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vfsops.c#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvkrpc.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nlm/nlm_advlock.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/if_rl.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/authunix_prot.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/dump_machdep.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/sun4v/dump_machdep.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/jail.h#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/kernel.h#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/param.h#28 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/priv.h#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vimage.h#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#28 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/xen/evtchn/evtchn.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/find/function.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jail/jail.8#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/nfscbd/nfscbd.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/nfsdumpstate/nfsdumpstate.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/nfsrevoke/nfsrevoke.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/nfsuserd/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/nfsuserd/nfsuserd.c#2 integrate
Differences ...
==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#30 (text+ko) ====
@@ -22,6 +22,15 @@
to maximize performance. (To disable malloc debugging, run
ln -s aj /etc/malloc.conf.)
+20090530:
+ Add VOP_ACCESSX(9). File system modules need to be rebuilt.
+ Bump __FreeBSD_version to 800094.
+
+20090529:
+ Add mnt_xflag field to 'struct mount'. File system modules
+ need to be rebuilt.
+ Bump __FreeBSD_version to 800093.
+
20090528:
The compiling option ADAPTIVE_SX has been retired while it has been
introduced the option NO_ADAPTIVE_SX which handles the reversed logic.
@@ -1547,4 +1556,4 @@
Contact Warner Losh if you have any questions about your use of
this document.
-$FreeBSD: src/UPDATING,v 1.606 2009/05/29 01:49:27 attilio Exp $
+$FreeBSD: src/UPDATING,v 1.609 2009/05/30 14:01:01 trasz Exp $
==== //depot/projects/soc2008/trasz_nfs4acl/bin/cp/utils.c#9 (text+ko) ====
@@ -33,7 +33,7 @@
#endif
#endif /* not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.57 2008/10/30 14:05:57 ivoras Exp $");
+__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.58 2009/05/30 10:36:14 jilles Exp $");
#include <sys/types.h>
#include <sys/acl.h>
@@ -365,7 +365,7 @@
if (!gotstat || fs->st_flags != ts.st_flags)
if (fdval ?
fchflags(fd, fs->st_flags) :
- (islink ? (errno = ENOSYS) :
+ (islink ? lchflags(to.p_path, fs->st_flags) :
chflags(to.p_path, fs->st_flags))) {
warn("chflags: %s", to.p_path);
rval = 1;
==== //depot/projects/soc2008/trasz_nfs4acl/bin/rm/rm.c#3 (text+ko) ====
@@ -39,7 +39,7 @@
#endif /* not lint */
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.59 2009/04/29 18:08:18 imp Exp $");
+__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.60 2009/05/30 10:42:37 jilles Exp $");
#include <sys/stat.h>
#include <sys/param.h>
@@ -234,7 +234,7 @@
else if (!uid &&
(p->fts_statp->st_flags & (UF_APPEND|UF_IMMUTABLE)) &&
!(p->fts_statp->st_flags & (SF_APPEND|SF_IMMUTABLE)) &&
- chflags(p->fts_accpath,
+ lchflags(p->fts_accpath,
p->fts_statp->st_flags &= ~(UF_APPEND|UF_IMMUTABLE)) < 0)
goto err;
continue;
@@ -253,7 +253,7 @@
if (!uid &&
(p->fts_statp->st_flags & (UF_APPEND|UF_IMMUTABLE)) &&
!(p->fts_statp->st_flags & (SF_APPEND|SF_IMMUTABLE)))
- rval = chflags(p->fts_accpath,
+ rval = lchflags(p->fts_accpath,
p->fts_statp->st_flags &= ~(UF_APPEND|UF_IMMUTABLE));
if (rval == 0) {
/*
@@ -368,7 +368,7 @@
if (!uid && !S_ISWHT(sb.st_mode) &&
(sb.st_flags & (UF_APPEND|UF_IMMUTABLE)) &&
!(sb.st_flags & (SF_APPEND|SF_IMMUTABLE)))
- rval = chflags(f, sb.st_flags & ~(UF_APPEND|UF_IMMUTABLE));
+ rval = lchflags(f, sb.st_flags & ~(UF_APPEND|UF_IMMUTABLE));
if (rval == 0) {
if (S_ISWHT(sb.st_mode))
rval = undelete(f);
==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/Makefile#7 (text+ko) ====
@@ -1,9 +1,9 @@
-# $FreeBSD: src/lib/libarchive/Makefile,v 1.95 2009/04/27 22:39:43 kientzle Exp $
+# $FreeBSD: src/lib/libarchive/Makefile,v 1.97 2009/05/30 17:26:55 kientzle Exp $
.include <bsd.own.mk>
LIB= archive
-DPADD= ${LIBBZ2} ${LIBZ}
-LDADD= -lbz2 -lz
+DPADD= ${LIBBZ2} ${LIBZ} ${LIBMD}
+LDADD= -lbz2 -lz -lmd
# FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system.
# It has no real relation to the libarchive version number.
@@ -12,14 +12,16 @@
CFLAGS+= -DPLATFORM_CONFIG_H=\"config_freebsd.h\"
CFLAGS+= -I${.OBJDIR}
#Uncomment to build with full lzma/xz support via liblzma
+#liblzma is not (yet?) part of the FreeBSD base system
#CFLAGS+= -I/usr/local/include -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
#LDADD+= -L/usr/local/lib -llzma
.if ${MK_OPENSSL} != "no"
CFLAGS+= -DWITH_OPENSSL
+DPADD+= ${LIBCRYPTO}
+LDADD+= -lcrypto
.endif
-
WARNS?= 6
# Headers to be installed in /usr/include
==== //depot/projects/soc2008/trasz_nfs4acl/sbin/fsck_ffs/fsck.h#4 (text+ko) ====
@@ -57,7 +57,7 @@
* SUCH DAMAGE.
*
* @(#)fsck.h 8.4 (Berkeley) 5/9/95
- * $FreeBSD: src/sbin/fsck_ffs/fsck.h,v 1.41 2009/02/04 01:02:56 mckusick Exp $
+ * $FreeBSD: src/sbin/fsck_ffs/fsck.h,v 1.42 2009/05/29 20:01:50 lulf Exp $
*/
#include <unistd.h>
@@ -297,8 +297,8 @@
ufs2_daddr_t n_blks; /* number of blocks in use */
ino_t n_files; /* number of files in use */
-int got_siginfo; /* received a SIGINFO */
-int got_sigalarm; /* received a SIGALRM */
+sig_atomic_t got_siginfo; /* received a SIGINFO */
+sig_atomic_t got_sigalarm; /* received a SIGALRM */
#define clearinode(dp) \
if (sblock.fs_magic == FS_UFS1_MAGIC) { \
==== //depot/projects/soc2008/trasz_nfs4acl/sbin/mksnap_ffs/Makefile#2 (text+ko) ====
@@ -1,8 +1,13 @@
-# $FreeBSD: src/sbin/mksnap_ffs/Makefile,v 1.1 2003/03/02 01:50:33 mckusick Exp $
+# $FreeBSD: src/sbin/mksnap_ffs/Makefile,v 1.2 2009/05/29 19:18:41 pjd Exp $
+
+.PATH: ${.CURDIR}/../mount
PROG= mksnap_ffs
+SRCS= mksnap_ffs.c getmntopts.c
MAN= mksnap_ffs.8
+CFLAGS+=-I${.CURDIR}/../mount
+
.if defined(NOSUID)
BINMODE=550
.else
==== //depot/projects/soc2008/trasz_nfs4acl/sbin/mksnap_ffs/mksnap_ffs.8#3 (text+ko) ====
@@ -32,9 +32,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/sbin/mksnap_ffs/mksnap_ffs.8,v 1.4 2008/07/26 13:18:33 kib Exp $
+.\" $FreeBSD: src/sbin/mksnap_ffs/mksnap_ffs.8,v 1.5 2009/05/29 19:18:41 pjd Exp $
.\"
-.Dd January 19, 2003
+.Dd May 29, 2009
.Dt MKSNAP_FFS 8
.Os
.Sh NAME
@@ -42,19 +42,12 @@
.Nd take a file system snapshot
.Sh SYNOPSIS
.Nm
-.Ar mountpoint
.Ar snapshot_name
.Sh DESCRIPTION
The
.Nm
utility creates a snapshot named
-.Ar snapshot_name
-on the file system mounted at
-.Ar mountpoint .
-The
-.Ar snapshot_name
-argument must be contained within the file system mounted at
-.Ar mountpoint .
+.Ar snapshot_name .
.Pp
The group ownership of the file is set to
.Dq Li operator ;
@@ -64,9 +57,19 @@
or members of the
.Dq Li operator
group.
+.Sh EXAMPLES
+Create a snapshot of
+.Pa /usr/home
+file system and mount the snapshot elsewhere:
+.Bd -literal -offset indent
+mksnap_ffs /usr/home/snapshot
+mdconfig -a -t vnode -o readonly -f /usr/home/snapshot
+mount -o ro /dev/md0 /mnt/
+.Ed
.Sh SEE ALSO
.Xr chmod 2 ,
.Xr chown 8 ,
+.Xr mdconfig 8,
.Xr mount 8
.Sh CAVEATS
The disk full situation is not handled gracefully and may
==== //depot/projects/soc2008/trasz_nfs4acl/sbin/mksnap_ffs/mksnap_ffs.c#2 (text+ko) ====
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sbin/mksnap_ffs/mksnap_ffs.c,v 1.8 2004/12/08 11:54:50 phk Exp $
+ * $FreeBSD: src/sbin/mksnap_ffs/mksnap_ffs.c,v 1.9 2009/05/29 19:18:41 pjd Exp $
*/
#include <sys/param.h>
@@ -44,31 +44,38 @@
#include <fcntl.h>
#include <grp.h>
#include <limits.h>
+#include <mntopts.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sysexits.h>
#include <unistd.h>
-void usage(void);
+static void
+usage(void)
+{
+
+ errx(EX_USAGE, "usage: mksnap_ffs snapshot_name");
+}
int
main(int argc, char **argv)
{
- char *dir, *cp, path[PATH_MAX];
+ char errmsg[255], path[PATH_MAX];
+ char *cp, *snapname;
struct statfs stfsbuf;
- struct ufs_args args;
struct group *grp;
struct stat stbuf;
- int fd;
+ struct iovec *iov;
+ int fd, iovlen;
- if (argc != 3)
+ if (argc == 2)
+ snapname = argv[1];
+ else if (argc == 3)
+ snapname = argv[2]; /* Old usage. */
+ else
usage();
- dir = argv[1];
- memset(&args, 0, sizeof args);
- args.fspec = argv[2];
-
/*
* Check that the user running this program has permission
* to create and remove a snapshot file from the directory
@@ -77,15 +84,15 @@
* will not be able to remove the snapshot when they are
* done with it.
*/
- if (strlen(args.fspec) >= PATH_MAX)
- errx(1, "pathname too long %s", args.fspec);
- cp = strrchr(args.fspec, '/');
+ if (strlen(snapname) >= PATH_MAX)
+ errx(1, "pathname too long %s", snapname);
+ cp = strrchr(snapname, '/');
if (cp == NULL) {
strlcpy(path, ".", PATH_MAX);
- } else if (cp == args.fspec) {
+ } else if (cp == snapname) {
strlcpy(path, "/", PATH_MAX);
} else {
- strlcpy(path, args.fspec, cp - args.fspec + 1);
+ strlcpy(path, snapname, cp - snapname + 1);
}
if (statfs(path, &stfsbuf) < 0)
err(1, "%s", path);
@@ -104,27 +111,26 @@
*/
if ((grp = getgrnam("operator")) == NULL)
errx(1, "Cannot retrieve operator gid");
- if (mount("ufs", dir, MNT_UPDATE | MNT_SNAPSHOT | stfsbuf.f_flags,
- &args) < 0)
- err(1, "Cannot create %s", args.fspec);
- if ((fd = open(args.fspec, O_RDONLY)) < 0)
- err(1, "Cannot open %s", args.fspec);
+
+ build_iovec(&iov, &iovlen, "fstype", "ffs", 4);
+ build_iovec(&iov, &iovlen, "from", snapname, (size_t)-1);
+ build_iovec(&iov, &iovlen, "fspath", stfsbuf.f_mntonname, (size_t)-1);
+ build_iovec(&iov, &iovlen, "errmsg", errmsg, sizeof(errmsg));
+ build_iovec(&iov, &iovlen, "update", NULL, 0);
+ build_iovec(&iov, &iovlen, "snapshot", NULL, 0);
+
+ if (nmount(iov, iovlen, stfsbuf.f_flags) < 0)
+ err(1, "Cannot create snapshot %s: %s", snapname, errmsg);
+ if ((fd = open(snapname, O_RDONLY)) < 0)
+ err(1, "Cannot open %s", snapname);
if (fstat(fd, &stbuf) != 0)
- err(1, "Cannot stat %s", args.fspec);
+ err(1, "Cannot stat %s", snapname);
if ((stbuf.st_flags & SF_SNAPSHOT) == 0)
- errx(1, "File %s is not a snapshot", args.fspec);
+ errx(1, "File %s is not a snapshot", snapname);
if (fchown(fd, -1, grp->gr_gid) != 0)
- err(1, "Cannot chown %s", args.fspec);
+ err(1, "Cannot chown %s", snapname);
if (fchmod(fd, S_IRUSR | S_IRGRP) != 0)
- err(1, "Cannot chmod %s", args.fspec);
+ err(1, "Cannot chmod %s", snapname);
exit(EXIT_SUCCESS);
}
-
-void
-usage()
-{
-
- fprintf(stderr, "usage: mksnap_ffs mountpoint snapshot_name\n");
- exit(EX_USAGE);
-}
==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/Makefile#15 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/man/man9/Makefile,v 1.350 2009/05/27 16:36:54 zml Exp $
+# $FreeBSD: src/share/man/man9/Makefile,v 1.351 2009/05/30 13:59:05 trasz Exp $
MAN= accept_filter.9 \
accf_data.9 \
@@ -1289,6 +1289,7 @@
MLINKS+=vm_page_wakeup.9 vm_page_busy.9 \
vm_page_wakeup.9 vm_page_flash.9
MLINKS+=vm_page_wire.9 vm_page_unwire.9
+MLINKS+=VOP_ACCESS.9 VOP_ACCESSX.9
MLINKS+=VOP_ATTRIB.9 VOP_GETATTR.9 \
VOP_ATTRIB.9 VOP_SETATTR.9
MLINKS+=VOP_CREATE.9 VOP_MKDIR.9 \
==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/VOP_ACCESS.9#7 (text+ko) ====
@@ -27,19 +27,22 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man9/VOP_ACCESS.9,v 1.24 2009/03/30 20:56:37 trasz Exp $
+.\" $FreeBSD: src/share/man/man9/VOP_ACCESS.9,v 1.25 2009/05/30 13:59:05 trasz Exp $
.\"
-.Dd July 24, 1996
+.Dd May 30, 2009
.Os
.Dt VOP_ACCESS 9
.Sh NAME
-.Nm VOP_ACCESS
+.Nm VOP_ACCESS ,
+.Nm VOP_ACCESSX
.Nd "check access permissions of a file or Unix domain socket"
.Sh SYNOPSIS
.In sys/param.h
.In sys/vnode.h
.Ft int
.Fn VOP_ACCESS "struct vnode *vp" "accmode_t accmode" "struct ucred *cred" "struct thread *td"
+.Ft int
+.Fn VOP_ACCESSX "struct vnode *vp" "accmode_t accmode" "struct ucred *cred" "struct thread *td"
.Sh DESCRIPTION
This entry point checks the access permissions of the file against the
given credentials.
@@ -63,6 +66,20 @@
.Dv VWRITE
or
.Dv VEXEC .
+For
+.Fn VOP_ACCESS ,
+the only flags that may be set in
+.Fa accmode
+are
+.Dv VEXEC ,
+.Dv VWRITE ,
+.Dv VREAD ,
+.Dv VADMIN
+and
+.Dv VAPPEND .
+To check for other bits, one has to use
+.Fn VOP_ACCESSX
+instead.
.Sh LOCKS
The vnode will be locked on entry and should remain locked on return.
.Sh RETURN VALUES
==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/dump_machdep.c#5 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.17 2008/10/31 10:11:35 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.18 2009/05/29 21:27:12 jamie Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -34,7 +34,6 @@
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/kerneldump.h>
-#include <sys/vimage.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/elf.h>
==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/minidump_machdep.c#7 (text) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.9 2008/10/31 10:11:35 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.10 2009/05/29 21:27:12 jamie Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -34,7 +34,6 @@
#include <sys/kernel.h>
#include <sys/kerneldump.h>
#include <sys/msgbuf.h>
-#include <sys/vimage.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/atomic.h>
==== //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/dump_machdep.c#6 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/dump_machdep.c,v 1.7 2009/02/02 20:09:14 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/dump_machdep.c,v 1.8 2009/05/29 21:27:12 jamie Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -35,7 +35,6 @@
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/kerneldump.h>
-#include <sys/vimage.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/elf.h>
==== //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/if_npe.c#7 (text+ko) ====
@@ -23,7 +23,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.15 2009/05/23 19:14:20 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.17 2009/05/30 18:23:55 sam Exp $");
/*
* Intel XScale NPE Ethernet driver.
@@ -229,7 +229,7 @@
static void npe_txdone(int qid, void *arg);
static int npe_rxbuf_init(struct npe_softc *, struct npebuf *,
struct mbuf *);
-static void npe_rxdone(int qid, void *arg);
+static int npe_rxdone(int qid, void *arg);
static void npeinit(void *);
static void npestart_locked(struct ifnet *);
static void npestart(struct ifnet *);
@@ -777,7 +777,7 @@
*/
sc->rx_qid = npeconfig[sc->sc_npeid].rx_qid;
ixpqmgr_qconfig(sc->rx_qid, npe_rxbuf, 0, 1,
- IX_QMGR_Q_SOURCE_ID_NOT_E, npe_rxdone, sc);
+ IX_QMGR_Q_SOURCE_ID_NOT_E, (qconfig_hand_t *)npe_rxdone, sc);
sc->rx_freeqid = npeconfig[sc->sc_npeid].rx_freeqid;
ixpqmgr_qconfig(sc->rx_freeqid, npe_rxbuf, 0, npe_rxbuf/2, 0, NULL, sc);
/*
@@ -1091,7 +1091,7 @@
* from the hardware queue and pass the frames up the
* stack. Pass the rx buffers to the free list.
*/
-static void
+static int
npe_rxdone(int qid, void *arg)
{
#define P2V(a, dma) \
@@ -1099,6 +1099,7 @@
struct npe_softc *sc = arg;
struct npedma *dma = &sc->rxdma;
uint32_t entry;
+ int rx_npkts = 0;
while (ixpqmgr_qread(qid, &entry) == 0) {
struct npebuf *npe = P2V(NPE_QM_Q_ADDR(entry), dma);
@@ -1132,6 +1133,7 @@
ifp->if_ipackets++;
ifp->if_input(ifp, mrx);
+ rx_npkts++;
} else {
/* discard frame and re-use mbuf */
m = npe->ix_m;
@@ -1143,19 +1145,22 @@
/* XXX should not happen */
}
}
+ return rx_npkts;
#undef P2V
}
#ifdef DEVICE_POLLING
-static void
+static int
npe_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
{
struct npe_softc *sc = ifp->if_softc;
+ int rx_npkts = 0;
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
- npe_rxdone(sc->rx_qid, sc);
+ rx_npkts = npe_rxdone(sc->rx_qid, sc);
npe_txdone(sc->tx_doneqid, sc); /* XXX polls both NPE's */
}
+ return rx_npkts;
}
#endif /* DEVICE_POLLING */
==== //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 (text+ko) ====
@@ -57,7 +57,7 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_qmgr.c,v 1.5 2008/12/20 03:26:09 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_qmgr.c,v 1.6 2009/05/30 15:14:44 attilio Exp $");
/*
* Intel XScale Queue Manager support.
@@ -338,7 +338,7 @@
int
ixpqmgr_qconfig(int qId, int qEntries, int ne, int nf, int srcSel,
- void (*cb)(int, void *), void *cbarg)
+ qconfig_hand_t *cb, void *cbarg)
{
struct ixpqmgr_softc *sc = ixpqmgr_sc;
struct qmgrInfo *qi = &sc->qinfo[qId];
==== //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/ixp425_qmgr.h#2 (text+ko) ====
@@ -26,7 +26,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGES.
*
- * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_qmgr.h,v 1.1 2006/11/19 23:55:23 sam Exp $
+ * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_qmgr.h,v 1.2 2009/05/30 15:14:44 attilio Exp $
*/
/*-
@@ -229,8 +229,10 @@
#define IX_QMGR_ENTRY2_OFFSET 1
#define IX_QMGR_ENTRY4_OFFSET 3
+typedef void qconfig_hand_t(int, void *);
+
int ixpqmgr_qconfig(int qId, int qSizeInWords, int ne, int nf, int srcSel,
- void (*cb)(int, void *), void *cbarg);
+ qconfig_hand_t *cb, void *cbarg);
int ixpqmgr_qwrite(int qId, uint32_t entry);
int ixpqmgr_qread(int qId, uint32_t *entry);
int ixpqmgr_qreadm(int qId, uint32_t n, uint32_t *p);
==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris.c#3 (text+ko) ====
@@ -22,7 +22,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris.c,v 1.2 2009/05/08 14:11:06 zec Exp $
+ * $FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris.c,v 1.3 2009/05/29 21:27:12 jamie Exp $
*
*/
@@ -31,11 +31,11 @@
#include <sys/conf.h>
#include <sys/cpuvar.h>
#include <sys/errno.h>
+#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/misc.h>
#include <sys/module.h>
#include <sys/mutex.h>
-#include <sys/vimage.h>
cpu_core_t cpu_core[MAXCPU];
kmutex_t cpu_lock;
@@ -83,7 +83,7 @@
switch (type) {
case MOD_LOAD:
- utsname.nodename = G_hostname;
+ utsname.nodename = prison0.pr_host;
break;
case MOD_UNLOAD:
==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c#4 (text+ko) ====
@@ -25,9 +25,10 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c,v 1.5 2009/05/08 14:11:06 zec Exp $");
+__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c,v 1.6 2009/05/29 21:27:12 jamie Exp $");
#include <sys/param.h>
+#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/libkern.h>
#include <sys/limits.h>
@@ -57,7 +58,7 @@
{
if (str == hw_serial) {
- *result = hostid;
+ *result = prison0.pr_hostid;
return (0);
}
==== //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_misc.c#13 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.236 2009/05/10 18:43:43 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.237 2009/05/29 21:27:12 jamie Exp $");
#include "opt_compat.h"
#include "opt_mac.h"
@@ -64,7 +64,6 @@
#include <sys/vnode.h>
#include <sys/wait.h>
#include <sys/cpuset.h>
-#include <sys/vimage.h>
#include <security/mac/mac_framework.h>
@@ -715,10 +714,10 @@
int
linux_newuname(struct thread *td, struct linux_newuname_args *args)
{
- INIT_VPROCG(TD_TO_VPROCG(td));
struct l_new_utsname utsname;
char osname[LINUX_MAX_UTSNAME];
char osrelease[LINUX_MAX_UTSNAME];
+ struct prison *pr;
char *p;
#ifdef DEBUG
@@ -741,9 +740,10 @@
}
strlcpy(utsname.machine, linux_platform, LINUX_MAX_UTSNAME);
- mtx_lock(&hostname_mtx);
- strlcpy(utsname.domainname, V_domainname, LINUX_MAX_UTSNAME);
- mtx_unlock(&hostname_mtx);
+ pr = td->td_ucred->cr_prison;
+ mtx_lock(&pr->pr_mtx);
+ strlcpy(utsname.domainname, pr->pr_domain, LINUX_MAX_UTSNAME);
+ mtx_unlock(&pr->pr_mtx);
return (copyout(&utsname, args->buf, sizeof(utsname)));
}
==== //depot/projects/soc2008/trasz_nfs4acl/sys/compat/svr4/svr4_stat.c#6 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.29 2009/05/29 06:27:30 delphij Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.31 2009/05/30 07:33:32 delphij Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -43,7 +43,6 @@
#include <sys/sysctl.h>
#include <sys/sysproto.h>
#include <sys/un.h>
-#include <sys/vimage.h>
#include <vm/vm.h>
@@ -386,7 +385,7 @@
return 0;
}
-/*extern char ostype[], hostname[], osrelease[], version[], machine[];*/
+/*extern char ostype[], osrelease[], version[], machine[];*/
int
svr4_sys_uname(td, uap)
@@ -412,15 +411,12 @@
struct thread *td;
struct svr4_sys_systeminfo_args *uap;
{
- INIT_VPROCG(TD_TO_VPROCG(td));
+ struct prison *pr;
char *str = NULL;
int error = 0;
register_t *retval = td->td_retval;
size_t len = 0;
- char buf[11]; /* XXX NetBSD uses 256, but we use 11
- here as that seems like awfully
- excessive kstack usage for hostid
- string... */
+ char buf[MAXHOSTNAMELEN];
u_int rlen = uap->len;
switch (uap->what) {
@@ -429,7 +425,8 @@
break;
case SVR4_SI_HOSTNAME:
- str = V_hostname;
+ getcredhostname(td->td_ucred, buf, sizeof(buf));
+ str = buf;
break;
case SVR4_SI_RELEASE:
@@ -461,7 +458,10 @@
break;
case SVR4_SI_HW_SERIAL:
- snprintf(buf, sizeof(buf), "%lu", hostid);
+ pr = td->td_ucred->cr_prison;
+ mtx_lock(&pr->pr_mtx);
+ snprintf(buf, sizeof(buf), "%lu", pr->pr_hostid);
+ mtx_unlock(&pr->pr_mtx);
str = buf;
break;
@@ -470,8 +470,11 @@
break;
case SVR4_SI_SRPC_DOMAIN:
- /* XXXRW: locking? */
- str = V_domainname;
+ pr = td->td_ucred->cr_prison;
+ mtx_lock(&pr->pr_mtx);
+ strlcpy(buf, pr->pr_domain, sizeof(buf));
+ mtx_unlock(&pr->pr_mtx);
+ str = buf;
break;
case SVR4_SI_PLATFORM:
==== //depot/projects/soc2008/trasz_nfs4acl/sys/ddb/db_textdump.c#4 (text+ko) ====
@@ -57,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ddb/db_textdump.c,v 1.5 2008/10/01 22:08:53 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/ddb/db_textdump.c,v 1.6 2009/05/29 21:27:12 jamie Exp $");
#include "opt_config.h"
@@ -68,7 +68,6 @@
#include <sys/msgbuf.h>
#include <sys/sysctl.h>
#include <sys/systm.h>
-#include <sys/vimage.h>
#include <ddb/ddb.h>
#include <ddb/db_lex.h>
==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bge/if_bge.c#10 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.222 2009/05/14 22:36:56 delphij Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.225 2009/05/30 17:56:19 attilio Exp $");
/*
* Broadcom BCM570x family gigabit ethernet driver for FreeBSD.
@@ -332,7 +332,7 @@
static int bge_get_eaddr(struct bge_softc *, uint8_t[]);
static void bge_txeof(struct bge_softc *);
-static void bge_rxeof(struct bge_softc *);
+static int bge_rxeof(struct bge_softc *);
static void bge_asf_driver_up (struct bge_softc *);
static void bge_tick(void *);
@@ -390,7 +390,7 @@
static int bge_miibus_writereg(device_t, int, int, int);
static void bge_miibus_statchg(device_t);
#ifdef DEVICE_POLLING
-static void bge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count);
+static int bge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count);
#endif
#define BGE_RESET_START 1
@@ -3050,18 +3050,18 @@
* 2) the frame is from the standard receive ring
*/
-static void
+static int
bge_rxeof(struct bge_softc *sc)
{
struct ifnet *ifp;
- int stdcnt = 0, jumbocnt = 0;
+ int rx_npkts = 0, stdcnt = 0, jumbocnt = 0;
BGE_LOCK_ASSERT(sc);
/* Nothing to do. */
if (sc->bge_rx_saved_considx ==
sc->bge_ldata.bge_status_block->bge_idx[0].bge_rx_prod_idx)
- return;
+ return (rx_npkts);
ifp = sc->bge_ifp;
@@ -3193,9 +3193,10 @@
BGE_UNLOCK(sc);
(*ifp->if_input)(ifp, m);
BGE_LOCK(sc);
+ rx_npkts++;
if (!(ifp->if_drv_flags & IFF_DRV_RUNNING))
- return;
+ return (rx_npkts);
}
if (stdcnt > 0)
@@ -3219,6 +3220,7 @@
if (BGE_IS_5705_PLUS(sc))
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list