More OpenBSD merge.
* anyway, so the difference between 512K and 1000000 shouldn't matter
* much, and "&" is a lot faster than "%".
*/
-#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
/* nfs on these systems puts an 0 in nsec and stores the nfs usec (aka
dataversion) in va_gen */
attrs->va_atime.tv_nsec = attrs->va_mtime.tv_nsec =
attrs->va_ctime.tv_nsec =
(hgetlo(avc->m.DataVersion) & 0x7ffff) * 1000;
-#if defined(AFS_AIX41_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_AIX41_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
attrs->va_blocksize = PAGESIZE; /* XXX Was 8192 XXX */
#else
attrs->va_blksize = PAGESIZE; /* XXX Was 8192 XXX */
attrs->va_flags = 0;
#endif /* AFS_OSF_ENV || AFS_DARWIN_ENV */
-#if !defined(AFS_OSF_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
+#if !defined(AFS_OSF_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV)
#if !defined(AFS_HPUX_ENV)
#ifdef AFS_SUN5_ENV
attrs->va_nblocks = (attrs->va_size? ((attrs->va_size + 1023)>>10) << 1 : 0);
#else /* !defined(AFS_HPUX_ENV) */
attrs->va_blocks = (attrs->va_size? ((attrs->va_size + 1023)>>10) : 0);
#endif /* !defined(AFS_HPUX_ENV) */
-#else /* ! AFS_OSF_ENV && !AFS_FBSD_ENV */
+#else /* ! AFS_OSF_ENV && !AFS_XBSD_ENV */
attrs->va_bytes = (attrs->va_size? (attrs->va_size + 1023) : 1024);
#ifdef va_bytes_rsv
attrs->va_bytes_rsv = -1;
return EACCES;
}
if (avc->mvstat == 2) {
-#if defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_AIX41_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_AIX41_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
attrs->va_mtime.tv_nsec += ((++avc->xlatordv) * 1000);
#else
attrs->va_mtime.tv_usec += ++avc->xlatordv;
#endif
mask |= AFS_SETMODTIME;
#ifndef AFS_SGI_ENV
-#if defined(AFS_SUN5_ENV) || defined(AFS_AIX41_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_AIX41_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
if (av->va_mtime.tv_nsec == -1)
#else
if (av->va_mtime.tv_usec == -1)
#if defined(AFS_SUN5_ENV)
register proc_t *procp = ttoproc(curthread);
#else
-#if !defined(AFS_AIX41_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_SGI65_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
+#if !defined(AFS_AIX41_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_SGI65_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV)
#ifdef AFS_SGI_ENV
struct proc *procp = OSI_GET_CURRENT_PROCP();
#else
#endif
slp->pid = clid;
#else
-#if defined(AFS_SUN_ENV) || defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SUN_ENV) || defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
slp->pid = clid;
#else
#if defined(AFS_LINUX20_ENV) || defined(AFS_HPUX_ENV)
#endif
flock->l_pid = clid;
#else
-#if defined(AFS_SUN_ENV) || defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SUN_ENV) || defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
flock->l_pid = clid;
#else
#if defined(AFS_LINUX20_ENV) || defined(AFS_HPUX_ENV)
#if defined(AFS_SUN5_ENV)
register proc_t *procp = ttoproc(curthread);
#else
-#if !defined(AFS_AIX41_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_SGI65_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
+#if !defined(AFS_AIX41_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_SGI65_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV)
#ifdef AFS_SGI64_ENV
struct proc *procp = curprocp;
#else /* AFS_SGI64_ENV */
#if defined(AFS_AIX41_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_HPUX_ENV)
(!onlymine && (flock1->l_pid == getppid()))
#else
-#if defined(AFS_SGI65_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SGI65_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
/* XXX check this. used to be *only* irix for some reason. */
(!onlymine && (flock1->l_pid == clid))
#else
afs_lockctl(struct vcache *avc, struct eflock *af, int flag,
struct AFS_UCRED *acred, pid_t clid, off_t offset)
#else
-#if defined(AFS_SGI_ENV) || (defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV)) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SGI_ENV) || (defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV)) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
afs_lockctl(struct vcache *avc, struct AFS_FLOCK *af, int acmd, struct AFS_UCRED *acred, pid_t clid)
#else
u_int clid=0;
#endif
-#if !defined(AFS_AIX_ENV) && !defined(AFS_HPUX_ENV) && !defined(AFS_SUN5_ENV) && !defined(AFS_SGI_ENV) && !defined(UKERNEL) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
+#if !defined(AFS_AIX_ENV) && !defined(AFS_HPUX_ENV) && !defined(AFS_SUN5_ENV) && !defined(AFS_SGI_ENV) && !defined(UKERNEL) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV)
/* Flock not support on System V systems */
#ifdef AFS_OSF_ENV
extern struct fileops afs_fileops;
int afs_ENameOK(register char *aname)
{
- register char tc;
register int tlen;
AFS_STATCNT(ENameOK);
} else
return 0; /* .*@sys doesn't match either */
} else if (++(state->index) >= afs_sysnamecount
- || !afs_sysnamelist[state->index])
+ || !afs_sysnamelist[(int)state->index])
return 0; /* end of list */
- strcpy(state->name+state->offset, afs_sysnamelist[state->index]);
+ strcpy(state->name+state->offset, afs_sysnamelist[(int)state->index]);
return 1;
}
struct conn *tcp; /* conn for call */
AFSCBs cbParm; /* callback parm for bulk stat */
struct server *hostp = 0; /* host we got callback from */
- long origEvenCBs; /* original # of callbacks for even-fid files */
- long origOddCBs; /* original # of callbacks for odd-fid files */
- long origEvenZaps; /* original # of recycles for even-fid files */
- long origOddZaps; /* original # of recycles for odd-fid files */
long startTime; /* time we started the call,
* for callback expiration base
*/
afs_int32 error, trybusy=1;
struct uio tuio;
struct iovec *tvec;
- char *tfile;
afs_int32 code;
struct vrequest treq;
struct vrequest treq;
int offDiff;
struct dcache *tdc;
- struct vnode *vp;
struct osi_file *tfile;
afs_int32 code = 0;
VOP_UNLOCK(tfile->vnode, 0, current_proc());
AFS_GLOCK();
#else
-#if defined(AFS_FBSD_ENV)
+#if defined(AFS_XBSD_ENV)
AFS_GUNLOCK();
VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curproc);
code = VOP_READ(tfile->vnode, auio, 0, &afs_osi_cred);
struct osi_file *tfile;
afs_int32 code;
int trybusy=1;
- struct vnode *vp;
struct vrequest treq;
AFS_STATCNT(afs_UFSRead);
VOP_UNLOCK(tfile->vnode, 0, current_proc());
AFS_GLOCK();
#else
-#if defined(AFS_FBSD_ENV)
+#if defined(AFS_XBSD_ENV)
AFS_GUNLOCK();
VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curproc);
code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred);
register afs_int32 code;
register struct vcache *tvc;
afs_size_t offset, len;
- struct AFSFetchStatus OutDirStatus;
- struct AFSVolSync tsync;
struct afs_fakestat_state fakestate;
- XSTATS_DECLS
OSI_VC_CONVERT(adp)
AFS_STATCNT(afs_remove);
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
afs_ustrategy(abp, credp)
struct AFS_UCRED *credp;
#else
struct uio tuio;
register struct vcache *tvc = VTOAFS(abp->b_vp);
register afs_int32 len = abp->b_bcount;
-#if !defined(AFS_SUN5_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
+#if !defined(AFS_SUN5_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV)
#ifdef AFS_AIX41_ENV
struct ucred *credp;
#else
struct AFS_UCRED *credp = u.u_cred;
#endif
#endif
-#if defined(AFS_SUN_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SUN_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
int async = abp->b_flags & B_ASYNC;
#endif
struct iovec tiovec[1];
*/
tuio.afsio_iov = tiovec;
tuio.afsio_iovcnt = 1;
-#if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_XBSD_ENV)
#ifdef AFS_64BIT_CLIENT
tuio.afsio_offset = (afs_offs_t) dbtob(abp->b_blkno);
#else /* AFS_64BIT_CLIENT */
tuio.afsio_fmode = 0;
#endif
tuio.afsio_resid = abp->b_bcount;
-#if defined(AFS_FBSD_ENV)
+#if defined(AFS_XBSD_ENV)
tiovec[0].iov_base = abp->b_saveaddr;
#else
tiovec[0].iov_base = abp->b_un.b_addr;
-#endif /* AFS_FBSD_ENV */
+#endif /* AFS_XBSD_ENV */
tiovec[0].iov_len = abp->b_bcount;
/* are user's credentials valid here? probably, but this
sure seems like the wrong things to do. */
#endif
if (code == 0) {
if (tuio.afsio_resid > 0)
-#if defined(AFS_FBSD_ENV)
+#if defined(AFS_XBSD_ENV)
memset(abp->b_saveaddr + abp->b_bcount - tuio.afsio_resid, 0, tuio.afsio_resid);
#else
memset(abp->b_un.b_addr + abp->b_bcount - tuio.afsio_resid, 0, tuio.afsio_resid);
-#endif /* AFS_FBSD_ENV */
+#endif /* AFS_XBSD_ENV */
#ifdef AFS_AIX32_ENV
/*
* If we read a block that is past EOF and the user was not storing
len = MIN(abp->b_bcount, (VTOAFS(abp->b_vp))->m.Length - dbtob(abp->b_blkno));
#endif /* AFS_ALPHA_ENV */
tuio.afsio_resid = len;
-#if defined(AFS_FBSD_ENV)
+#if defined(AFS_XBSD_ENV)
tiovec[0].iov_base = abp->b_saveaddr;
#else
tiovec[0].iov_base = abp->b_un.b_addr;
-#endif /* AFS_FBSD_ENV */
+#endif /* AFS_XBSD_ENV */
tiovec[0].iov_len = len;
/* are user's credentials valid here? probably, but this
sure seems like the wrong things to do. */
#endif
}
#if !defined(AFS_AIX32_ENV) && !defined(AFS_SUN5_ENV)
-#if defined(AFS_DUX40_ENV) || defined (AFS_FBSD_ENV)
+#if defined(AFS_DUX40_ENV) || defined (AFS_XBSD_ENV)
if (code) {
abp->b_error = code;
abp->b_flags |= B_ERROR;
VOP_UNLOCK(tfile->vnode, 0, current_proc());
AFS_GLOCK();
#else
-#if defined(AFS_FBSD_ENV)
+#if defined(AFS_XBSD_ENV)
AFS_GUNLOCK();
VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curproc);
code = VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred);
AFS_GLOCK();
#else
code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, &afs_osi_cred);
-#endif /* AFS_FBSD_ENV */
+#endif /* AFS_XBSD_ENV */
#endif /* AFS_DARWIN_ENV */
#endif /* AFS_LINUX20_ENV */
#endif /* AFS_HPUX100_ENV */
* If write is implemented via VM, afs_fsync() is called from the high-level
* write op.
*/
-#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
if (noLock && (aio & IO_SYNC)) {
#else
#ifdef AFS_HPUX_ENV
-#if !defined (AFS_AIX_ENV) && !defined (AFS_HPUX_ENV) && !defined (AFS_SUN5_ENV) && !defined(AFS_SGI_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
+#if !defined (AFS_AIX_ENV) && !defined (AFS_HPUX_ENV) && !defined (AFS_SUN5_ENV) && !defined(AFS_SGI_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV)
#ifdef AFS_DUX50_ENV
#define vno_close(X) vn_close((X), 0, NOCRED)
#elif defined(AFS_DUX40_ENV)
#define AFS_XLATOR_MAGIC 0x87654321
#endif
-#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
#define AFS_NFSXLATORREQ(cred) 0
#else
#ifdef AFS_OSF_ENV
/* Extra kernel definitions (from kdefs file) */
#ifdef _KERNEL
-#define AFS_GLOBAL_SUNLOCK 1
+/* #define AFS_GLOBAL_SUNLOCK 1 */
#define AFS_VFS34 1 /* What is VFS34??? */
#define AFS_SHORTGID 0 /* are group id's short? */
#define afsio_iov uio_iov
#define AFS_UIOUSER UIO_USERSPACE
#define AFS_CLBYTES MB_CLBYTES
#define osi_GetTime(x) microtime(x)
-#define AFS_KALLOC(x) kalloc(x)
-#define AFS_KFREE(x,y) kfree(x,y)
+#define AFS_KALLOC(x) osi_Alloc(x)
+#define AFS_KFREE(x, y) osi_Free((x), (y))
#define v_count v_usecount
#define v_vfsp v_mount
#define vfs_bsize mnt_stat.f_bsize
srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
-
# OS specific object files:
AFS_OS_OBJS = \
osi_groups.o \
osi_misc.o \
osi_sleep.o \
osi_vm.o \
- osi_vnodeops.o
+ osi_vnodeops.o \
+ osi_module.o
AFS_OS_NFSOBJS = \
osi_vfsops_nfs.o
# System specific build commands and flags
-# KDEFS=-DLANGUAGE_C -I/usr/sys/include -I../include \
-# -I/usr/src/sys/${HEADER_RT} -I/usr/src/sys/sys \
-# -DSWAPTYPE=1 -DUERF -DOSF -DCOMPAT_43 -DUFS \
-# -DRT -DKERNEL -D_KERNEL
-KDEFS=-Wall -fformat-extensions -ansi -nostdinc -I/usr/include -D_KERNEL \
- -elf -mpreferred-stack-boundary=2 -I/usr/src/sys/sys -I../afs
+KDEFS=-Wall -nostdinc -I/usr/include \
+ -DLKM -DDIAGNOSTIC -DFIFO -DNFSCLIENT -DMFS -DFFS -D_KERNEL -DI386_CPU -DI486_CPU -DI586_CPU \
+ -I/usr/src/sys/sys -I../afs
DBUG = -O2
DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
OPTF=${OPT}
# Name of directory to hold object files and libraries.
-KOBJ = STATIC
+KOBJ = COMMON
# This tells Makefile.common to use its single directory build target.
COMPDIRS = single_compdir
ln -fs ../Makefile $(KOBJ)/Makefile
ln -fs ../Makefile.common $(KOBJ)/Makefile.common
ln -fs ../config $(KOBJ)/config
- -$(RM) -f h net netinet rpc ufs nfs machine sys vm
+ -$(RM) -f h net netinet rpc ufs nfs machine sys
-ln -fs /usr/src/sys/net net
- -ln -fs /usr/src/sys/i386/include machine
+ -ln -fs /usr/src/sys/arch/i386/include machine
-ln -fs /usr/src/sys/netinet netinet
-ln -fs /usr/src/sys/nfs nfs
-ln -fs /usr/include/rpc rpc
-ln -fs /usr/src/sys/sys sys
-ln -fs /usr/src/sys/ufs/ufs ufs
-ln -fs /usr/src/sys/sys h
- -ln -fs /usr/src/sys/vm vm
-touch $(KOBJ)/sec_net.h
DEST_LIBAFSNONFS = ${DEST}/root.client/bin/${LIBAFSNONFS}
-# libafs: $(LIBAFS) $(LIBAFSNONFS)
+libafs: $(LIBAFS) $(LIBAFSNONFS)
# libafs: $(LIBAFSNONFS)
-# install_libafs: $(INST_LIBAFS) $(INST_LIBAFSNONFS)
+install_libafs: $(INST_LIBAFS) $(INST_LIBAFSNONFS)
# install_libafs: $(INST_LIBAFSNONFS)
-# dest_libafs: $(DEST_LIBAFS) $(DEST_LIBAFSNONFS)
+dest_libafs: $(DEST_LIBAFS) $(DEST_LIBAFSNONFS)
# dest_libafs: $(DEST_LIBAFSNONFS)
-libafs:
- echo WARNING: No kernel module for ${SYS_NAME}
-
-install_libafs:
- echo WARNING: No kernel module for ${SYS_NAME}
-
-dest_libafs:
- echo WARNING: No kernel module for ${SYS_NAME}
-
$(INST_LIBAFS): $(LIBAFS)
$(INSTALL) -f $? $@
memset(addrs, 0, sizeof(addrs));
memset(mtus, 0, sizeof(mtus));
-#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
TAILQ_FOREACH(ifn, &ifnet, if_link) {
if (i >= ADDRSPERSITE) break;
-#else
+#else
+#if defined(AFS_OBSD_ENV)
+ for (ifn = ifnet.tqh_first; i < ADDRSPERSITE && ifn != NULL; ifn = ifn->if_list.tqe_next) {
+#else
for (ifn = ifnet; ifn != NULL && i < ADDRSPERSITE; ifn = ifn->if_next) {
#endif
+#endif
rxmtu = (ifn->if_mtu - RX_IPUDP_SIZE);
#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
TAILQ_FOREACH(ifad, &ifn->if_addrhead, ifa_link) {
#ifdef AFS_SUN5_ENV
rxk_ListenerPid = 1; /* No PID, just a flag that we're alive */
#endif /* AFS_SUN5_ENV */
-#ifdef AFS_FBSD_ENV
+#ifdef AFS_XBSD_ENV
rxk_ListenerPid = curproc->p_pid;
#endif /* AFS_FBSD_ENV */
#if defined(AFS_DARWIN_ENV)