Module Name: src Committed By: pgoyette Date: Sat Mar 24 08:24:40 UTC 2018
Modified Files: src/sys/compat/common [pgoyette-compat]: Makefile.sysio src/sys/fs/puffs [pgoyette-compat]: files.puffs puffs_compat.c puffs_msgif.c puffs_sys.h src/sys/kern [pgoyette-compat]: compat_stub.c src/sys/modules/compat_50 [pgoyette-compat]: Makefile src/sys/sys [pgoyette-compat]: compat_stub.h Log Message: Add fs/puffs compat_50 to the modules To generate a diff of this commit: cvs rdiff -u -r1.7.18.10 -r1.7.18.11 src/sys/compat/common/Makefile.sysio cvs rdiff -u -r1.6 -r1.6.18.1 src/sys/fs/puffs/files.puffs cvs rdiff -u -r1.4 -r1.4.16.1 src/sys/fs/puffs/puffs_compat.c cvs rdiff -u -r1.101 -r1.101.10.1 src/sys/fs/puffs/puffs_msgif.c cvs rdiff -u -r1.90 -r1.90.16.1 src/sys/fs/puffs/puffs_sys.h cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/kern/compat_stub.c cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/modules/compat_50/Makefile cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/sys/compat_stub.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/compat/common/Makefile.sysio diff -u src/sys/compat/common/Makefile.sysio:1.7.18.10 src/sys/compat/common/Makefile.sysio:1.7.18.11 --- src/sys/compat/common/Makefile.sysio:1.7.18.10 Sat Mar 24 01:59:15 2018 +++ src/sys/compat/common/Makefile.sysio Sat Mar 24 08:24:40 2018 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.sysio,v 1.7.18.10 2018/03/24 01:59:15 pgoyette Exp $ +# $NetBSD: Makefile.sysio,v 1.7.18.11 2018/03/24 08:24:40 pgoyette Exp $ # Sources for syscall and ioctl compatibility across the versions. @@ -53,3 +53,6 @@ SRCS+= ocryptodev.c SRCS+= rf_compat50.c SRCS+= rf_compat80.c +# Puffs compatability code for NetBSD 5.0 +.PATH: ${S}/fs/puffs +SRCS+= puffs_compat.c Index: src/sys/fs/puffs/files.puffs diff -u src/sys/fs/puffs/files.puffs:1.6 src/sys/fs/puffs/files.puffs:1.6.18.1 --- src/sys/fs/puffs/files.puffs:1.6 Sat Oct 11 06:42:19 2014 +++ src/sys/fs/puffs/files.puffs Sat Mar 24 08:24:40 2018 @@ -1,9 +1,9 @@ -# $NetBSD: files.puffs,v 1.6 2014/10/11 06:42:19 uebayasi Exp $ +# $NetBSD: files.puffs,v 1.6.18.1 2018/03/24 08:24:40 pgoyette Exp $ deffs PUFFS define puffs: vfs -file fs/puffs/puffs_compat.c puffs +file fs/puffs/puffs_compat.c puffs & compat_50 file fs/puffs/puffs_msgif.c puffs file fs/puffs/puffs_node.c puffs file fs/puffs/puffs_subr.c puffs Index: src/sys/fs/puffs/puffs_compat.c diff -u src/sys/fs/puffs/puffs_compat.c:1.4 src/sys/fs/puffs/puffs_compat.c:1.4.16.1 --- src/sys/fs/puffs/puffs_compat.c:1.4 Wed Apr 22 17:07:24 2015 +++ src/sys/fs/puffs/puffs_compat.c Sat Mar 24 08:24:40 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: puffs_compat.c,v 1.4 2015/04/22 17:07:24 pooka Exp $ */ +/* $NetBSD: puffs_compat.c,v 1.4.16.1 2018/03/24 08:24:40 pgoyette Exp $ */ /* * Copyright (c) 2010 Antti Kantee. All Rights Reserved. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: puffs_compat.c,v 1.4 2015/04/22 17:07:24 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: puffs_compat.c,v 1.4.16.1 2018/03/24 08:24:40 pgoyette Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -44,6 +44,7 @@ __KERNEL_RCSID(0, "$NetBSD: puffs_compat #include <sys/proc.h> #include <sys/vnode.h> #include <sys/atomic.h> +#include <sys/compat_stub.h> #include <dev/putter/putter_sys.h> @@ -157,7 +158,6 @@ struct puffs50_vnmsg_symlink { * vattr translation routines */ -#ifdef COMPAT_50 static void vattr_to_50(const struct vattr *va, struct vattr50 *va50) { @@ -207,7 +207,6 @@ vattr_from_50(const struct vattr50 *va50 va->va_filerev = va50->va_filerev; va->va_vaflags = va50->va_flags; } -#endif /* COMPAT_50 */ /* * XXX: cannot assert that sleeping is possible @@ -223,12 +222,11 @@ vattr_from_50(const struct vattr50 *va50 #define ASSIGN(field) \ cmsg->field = omsg->field; -bool +int puffs_compat_outgoing(struct puffs_req *oreq, struct puffs_req **creqp, ssize_t *deltap) { - bool rv = false; -#ifdef COMPAT_50 + int rv = ENOSYS; /* non-zero return ==> false */ struct puffs_req *creq = NULL; ssize_t delta = 0; @@ -331,9 +329,8 @@ puffs_compat_outgoing(struct puffs_req * if (creq) { *creqp = creq; *deltap = delta; - rv = true; + rv = 0; } -#endif return rv; } @@ -350,7 +347,6 @@ void puffs_compat_incoming(struct puffs_req *preq, struct puffs_req *creq) { -#ifdef COMPAT_50 if (PUFFSOP_OPCLASS(preq->preq_opclass) == PUFFSOP_VFS && preq->preq_optype == PUFFS_VFS_FHTOVP) { INIT(vfsmsg_fhtonode); @@ -438,5 +434,18 @@ puffs_compat_incoming(struct puffs_req * panic("puffs compat ops come in pairs"); } } -#endif /* COMPAT_50 */ +} + +void puffs_50_init(void) +{ + + puffs50_compat_outgoing = puffs_compat_outgoing; + puffs50_compat_incoming = puffs_compat_incoming; +} + +void puffs_50_fini(void) +{ + + puffs50_compat_outgoing = (void *)enosys; + puffs50_compat_incoming = (void *)voidop; } Index: src/sys/fs/puffs/puffs_msgif.c diff -u src/sys/fs/puffs/puffs_msgif.c:1.101 src/sys/fs/puffs/puffs_msgif.c:1.101.10.1 --- src/sys/fs/puffs/puffs_msgif.c:1.101 Mon Apr 17 08:31:01 2017 +++ src/sys/fs/puffs/puffs_msgif.c Sat Mar 24 08:24:40 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: puffs_msgif.c,v 1.101 2017/04/17 08:31:01 hannken Exp $ */ +/* $NetBSD: puffs_msgif.c,v 1.101.10.1 2018/03/24 08:24:40 pgoyette Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: puffs_msgif.c,v 1.101 2017/04/17 08:31:01 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: puffs_msgif.c,v 1.101.10.1 2018/03/24 08:24:40 pgoyette Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -348,7 +348,8 @@ puffs_msg_enqueue(struct puffs_mount *pm #if 1 /* check if we do compat adjustments */ - if (pmp->pmp_docompat && puffs_compat_outgoing(preq, &creq, &delta)) { + if (pmp->pmp_docompat && + puffs_compat_outgoing(preq, &creq, &delta) == 0) { park->park_creq = park->park_preq; park->park_creqlen = park->park_maxlen; Index: src/sys/fs/puffs/puffs_sys.h diff -u src/sys/fs/puffs/puffs_sys.h:1.90 src/sys/fs/puffs/puffs_sys.h:1.90.16.1 --- src/sys/fs/puffs/puffs_sys.h:1.90 Thu Jul 7 06:55:42 2016 +++ src/sys/fs/puffs/puffs_sys.h Sat Mar 24 08:24:40 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: puffs_sys.h,v 1.90 2016/07/07 06:55:42 msaitoh Exp $ */ +/* $NetBSD: puffs_sys.h,v 1.90.16.1 2018/03/24 08:24:40 pgoyette Exp $ */ /* * Copyright (c) 2005, 2006 Antti Kantee. All Rights Reserved. @@ -290,7 +290,7 @@ void puffs_gop_markupdate(struct vnode * void puffs_senderr(struct puffs_mount *, int, int, const char *, puffs_cookie_t); -bool puffs_compat_outgoing(struct puffs_req *, struct puffs_req**, ssize_t*); +int puffs_compat_outgoing(struct puffs_req *, struct puffs_req**, ssize_t*); void puffs_compat_incoming(struct puffs_req *, struct puffs_req *); void puffs_updatenode(struct puffs_node *, int, voff_t); @@ -359,4 +359,11 @@ do { \ var = puffs_msg_wait2(pmp, park, vp1, vp2); \ } while (/*CONSTCOND*/0) +/* + * compat50 init/fini + */ + +void puffs_50_init(void); +void puffs_50_fini(void); + #endif /* _PUFFS_SYS_H_ */ Index: src/sys/kern/compat_stub.c diff -u src/sys/kern/compat_stub.c:1.1.2.5 src/sys/kern/compat_stub.c:1.1.2.6 --- src/sys/kern/compat_stub.c:1.1.2.5 Sat Mar 24 01:59:15 2018 +++ src/sys/kern/compat_stub.c Sat Mar 24 08:24:40 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_stub.c,v 1.1.2.5 2018/03/24 01:59:15 pgoyette Exp $ */ +/* $NetBSD: compat_stub.c,v 1.1.2.6 2018/03/24 08:24:40 pgoyette Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -79,3 +79,11 @@ int (*raidframe50_ioctl)(int, int, struc struct RF_Config_s **) = (void *)enosys; int (*raidframe80_ioctl)(int, int, struct RF_Raid_s *, int, void *, struct RF_Config_s **) = (void *)enosys; + +/* + * puffs compatability + */ +int (*puffs50_compat_outgoing)(struct puffs_req *, struct puffs_req **, + ssize_t *) = (void *)enosys; +void (*puffs50_compat_incoming)(struct puffs_req *, struct puffs_req *) = + (void *)voidop; Index: src/sys/modules/compat_50/Makefile diff -u src/sys/modules/compat_50/Makefile:1.1.2.5 src/sys/modules/compat_50/Makefile:1.1.2.6 --- src/sys/modules/compat_50/Makefile:1.1.2.5 Sat Mar 24 01:59:16 2018 +++ src/sys/modules/compat_50/Makefile Sat Mar 24 08:24:40 2018 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1.2.5 2018/03/24 01:59:16 pgoyette Exp $ +# $NetBSD: Makefile,v 1.1.2.6 2018/03/24 08:24:40 pgoyette Exp $ .include "../Makefile.inc" @@ -22,4 +22,8 @@ SRCS+= ocryptodev.c SRCS+= rf_compat50.c +.PATH: ${S}/fs/puffs + +SRCS+= puffs_compat.c + .include <bsd.kmodule.mk> Index: src/sys/sys/compat_stub.h diff -u src/sys/sys/compat_stub.h:1.1.2.5 src/sys/sys/compat_stub.h:1.1.2.6 --- src/sys/sys/compat_stub.h:1.1.2.5 Sat Mar 24 01:59:16 2018 +++ src/sys/sys/compat_stub.h Sat Mar 24 08:24:40 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_stub.h,v 1.1.2.5 2018/03/24 01:59:16 pgoyette Exp $ */ +/* $NetBSD: compat_stub.h,v 1.1.2.6 2018/03/24 08:24:40 pgoyette Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -80,4 +80,14 @@ extern int (*raidframe50_ioctl)(int, int extern int (*raidframe80_ioctl)(int, int, struct RF_Raid_s *, int, void *, struct RF_Config_s **); +/* + * puffs compatability + */ + +struct puffs_req; + +extern int (*puffs50_compat_outgoing)(struct puffs_req *, struct puffs_req **, + ssize_t *); +extern void (*puffs50_compat_incoming)(struct puffs_req *, struct puffs_req *); + #endif /* _SYS_COMPAT_STUB_H */