Module Name:    src
Committed By:   hannken
Date:           Sun Jun 16 13:33:30 UTC 2013

Modified Files:
        src/sys/sys: param.h
        src/sys/ufs/ffs: ffs_extern.h ffs_snapshot.c ffs_vfsops.c
        src/sys/ufs/ufs: ufs_extern.h ufs_lookup.c ufsmount.h

Log Message:
Add an UFS_SNAPGONE() ufs op replacing the calls
to ffs_snapgone() in ufs_lookup.c.

Ok: David Holland <[email protected]>

Welcome to 6.99.22


To generate a diff of this commit:
cvs rdiff -u -r1.430 -r1.431 src/sys/sys/param.h
cvs rdiff -u -r1.79 -r1.80 src/sys/ufs/ffs/ffs_extern.h
cvs rdiff -u -r1.122 -r1.123 src/sys/ufs/ffs/ffs_snapshot.c
cvs rdiff -u -r1.283 -r1.284 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -u -r1.72 -r1.73 src/sys/ufs/ufs/ufs_extern.h
cvs rdiff -u -r1.123 -r1.124 src/sys/ufs/ufs/ufs_lookup.c
cvs rdiff -u -r1.39 -r1.40 src/sys/ufs/ufs/ufsmount.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/sys/param.h
diff -u src/sys/sys/param.h:1.430 src/sys/sys/param.h:1.431
--- src/sys/sys/param.h:1.430	Wed May 29 00:47:49 2013
+++ src/sys/sys/param.h	Sun Jun 16 13:33:30 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.430 2013/05/29 00:47:49 christos Exp $	*/
+/*	$NetBSD: param.h,v 1.431 2013/06/16 13:33:30 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -63,7 +63,7 @@
  *	2.99.9		(299000900)
  */
 
-#define	__NetBSD_Version__	699002100	/* NetBSD 6.99.21 */
+#define	__NetBSD_Version__	699002200	/* NetBSD 6.99.22 */
 
 #define __NetBSD_Prereq__(M,m,p) (((((M) * 100000000) + \
     (m) * 1000000) + (p) * 100) <= __NetBSD_Version__)

Index: src/sys/ufs/ffs/ffs_extern.h
diff -u src/sys/ufs/ffs/ffs_extern.h:1.79 src/sys/ufs/ffs/ffs_extern.h:1.80
--- src/sys/ufs/ffs/ffs_extern.h:1.79	Fri Oct 19 17:09:08 2012
+++ src/sys/ufs/ffs/ffs_extern.h	Sun Jun 16 13:33:30 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs_extern.h,v 1.79 2012/10/19 17:09:08 drochner Exp $	*/
+/*	$NetBSD: ffs_extern.h,v 1.80 2013/06/16 13:33:30 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993, 1994
@@ -153,7 +153,7 @@ void	ffs_snapremove(struct vnode *);
 int	ffs_snapshot(struct mount *, struct vnode *, struct timespec *);
 void	ffs_snapshot_mount(struct mount *);
 void	ffs_snapshot_unmount(struct mount *);
-void	ffs_snapgone(struct inode *);
+void	ffs_snapgone(struct vnode *);
 int	ffs_snapshot_read(struct vnode *, struct uio *, int);
 
 /* Write Ahead Physical Block Logging */

Index: src/sys/ufs/ffs/ffs_snapshot.c
diff -u src/sys/ufs/ffs/ffs_snapshot.c:1.122 src/sys/ufs/ffs/ffs_snapshot.c:1.123
--- src/sys/ufs/ffs/ffs_snapshot.c:1.122	Tue May  7 09:40:54 2013
+++ src/sys/ufs/ffs/ffs_snapshot.c	Sun Jun 16 13:33:30 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs_snapshot.c,v 1.122 2013/05/07 09:40:54 hannken Exp $	*/
+/*	$NetBSD: ffs_snapshot.c,v 1.123 2013/06/16 13:33:30 hannken Exp $	*/
 
 /*
  * Copyright 2000 Marshall Kirk McKusick. All Rights Reserved.
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_snapshot.c,v 1.122 2013/05/07 09:40:54 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_snapshot.c,v 1.123 2013/06/16 13:33:30 hannken Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ffs.h"
@@ -1372,10 +1372,10 @@ blocks_in_journal(struct fs *fs)
  * It will not be freed until the last open reference goes away.
  */
 void
-ffs_snapgone(struct inode *ip)
+ffs_snapgone(struct vnode *vp)
 {
+	struct inode *xp, *ip = VTOI(vp);
 	struct mount *mp = ip->i_devvp->v_specmountpoint;
-	struct inode *xp;
 	struct fs *fs;
 	struct snap_info *si;
 	int snaploc;

Index: src/sys/ufs/ffs/ffs_vfsops.c
diff -u src/sys/ufs/ffs/ffs_vfsops.c:1.283 src/sys/ufs/ffs/ffs_vfsops.c:1.284
--- src/sys/ufs/ffs/ffs_vfsops.c:1.283	Sun Jun  9 17:57:08 2013
+++ src/sys/ufs/ffs/ffs_vfsops.c	Sun Jun 16 13:33:30 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs_vfsops.c,v 1.283 2013/06/09 17:57:08 dholland Exp $	*/
+/*	$NetBSD: ffs_vfsops.c,v 1.284 2013/06/16 13:33:30 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.283 2013/06/09 17:57:08 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.284 2013/06/16 13:33:30 hannken Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ffs.h"
@@ -174,6 +174,7 @@ static const struct ufs_ops ffs_ufsops =
 	.uo_vfree = ffs_vfree,
 	.uo_balloc = ffs_balloc,
 	.uo_unmark_vnode = (void (*)(vnode_t *))nullop,
+	.uo_snapgone = ffs_snapgone,
 };
 
 static int

Index: src/sys/ufs/ufs/ufs_extern.h
diff -u src/sys/ufs/ufs/ufs_extern.h:1.72 src/sys/ufs/ufs/ufs_extern.h:1.73
--- src/sys/ufs/ufs/ufs_extern.h:1.72	Wed May  9 00:21:18 2012
+++ src/sys/ufs/ufs/ufs_extern.h	Sun Jun 16 13:33:30 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_extern.h,v 1.72 2012/05/09 00:21:18 riastradh Exp $	*/
+/*	$NetBSD: ufs_extern.h,v 1.73 2013/06/16 13:33:30 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993, 1994
@@ -199,12 +199,6 @@ int	ufs_makeinode(int, struct vnode *, c
 int	ufs_gop_alloc(struct vnode *, off_t, off_t, int, kauth_cred_t);
 void	ufs_gop_markupdate(struct vnode *, int);
 
-/*
- * Snapshot function prototypes.
- */
-
-void	ffs_snapgone(struct inode *);
-
 __END_DECLS
 
 extern kmutex_t ufs_ihash_lock;

Index: src/sys/ufs/ufs/ufs_lookup.c
diff -u src/sys/ufs/ufs/ufs_lookup.c:1.123 src/sys/ufs/ufs/ufs_lookup.c:1.124
--- src/sys/ufs/ufs/ufs_lookup.c:1.123	Sun Jun  9 17:57:09 2013
+++ src/sys/ufs/ufs/ufs_lookup.c	Sun Jun 16 13:33:30 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_lookup.c,v 1.123 2013/06/09 17:57:09 dholland Exp $	*/
+/*	$NetBSD: ufs_lookup.c,v 1.124 2013/06/16 13:33:30 hannken Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ufs_lookup.c,v 1.123 2013/06/09 17:57:09 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ufs_lookup.c,v 1.124 2013/06/16 13:33:30 hannken Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ffs.h"
@@ -1150,7 +1150,7 @@ out:
 	 */
 	if (ip != 0 && (ip->i_flags & SF_SNAPSHOT) != 0 &&
 	    ip->i_nlink == 0)
-		ffs_snapgone(ip);
+		UFS_SNAPGONE(ITOV(ip));
 	UFS_WAPBL_UPDATE(dvp, NULL, NULL, 0);
 	return (error);
 }
@@ -1199,7 +1199,7 @@ ufs_dirrewrite(struct inode *dp, off_t o
 	 * when last open reference goes away.
 	 */
 	if ((oip->i_flags & SF_SNAPSHOT) != 0 && oip->i_nlink == 0)
-		ffs_snapgone(oip);
+		UFS_SNAPGONE(ITOV(oip));
 	UFS_WAPBL_UPDATE(vdp, NULL, NULL, UPDATE_DIROP);
 	return (error);
 }

Index: src/sys/ufs/ufs/ufsmount.h
diff -u src/sys/ufs/ufs/ufsmount.h:1.39 src/sys/ufs/ufs/ufsmount.h:1.40
--- src/sys/ufs/ufs/ufsmount.h:1.39	Fri Oct 19 17:09:08 2012
+++ src/sys/ufs/ufs/ufsmount.h	Sun Jun 16 13:33:30 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufsmount.h,v 1.39 2012/10/19 17:09:08 drochner Exp $	*/
+/*	$NetBSD: ufsmount.h,v 1.40 2013/06/16 13:33:30 hannken Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -139,6 +139,7 @@ struct ufs_ops {
 	int (*uo_balloc)(struct vnode *, off_t, int, kauth_cred_t, int,
 	    struct buf **);
         void (*uo_unmark_vnode)(struct vnode *);
+        void (*uo_snapgone)(struct vnode *);
 };
 
 #define	UFS_OPS(vp)	(VFSTOUFS((vp)->v_mount)->um_ops)
@@ -157,6 +158,8 @@ struct ufs_ops {
 	(*UFS_OPS(vp)->uo_balloc)((vp), (off), (size), (cr), (flags), (bpp))
 #define	UFS_UNMARK_VNODE(vp) \
 	(*UFS_OPS(vp)->uo_unmark_vnode)((vp))
+#define	UFS_SNAPGONE(vp) \
+	(*UFS_OPS(vp)->uo_snapgone)((vp))
 
 /* UFS-specific flags */
 #define UFS_NEEDSWAP	0x01	/* filesystem metadata need byte-swapping */

Reply via email to