Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/ufs/ffs/ffs_snapshot.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/ufs/ffs/ffs_snapshot.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.149 retrieving revision 1.149.16.1 diff -u -p -r1.149 -r1.149.16.1 --- src/sys/ufs/ffs/ffs_snapshot.c 2017/06/01 02:45:15 1.149 +++ src/sys/ufs/ffs/ffs_snapshot.c 2020/01/17 21:47:37 1.149.16.1 @@ -1,4 +1,4 @@ -/* $NetBSD: ffs_snapshot.c,v 1.149 2017/06/01 02:45:15 chs Exp $ */ +/* $NetBSD: ffs_snapshot.c,v 1.149.16.1 2020/01/17 21:47:37 ad Exp $ */ /* * Copyright 2000 Marshall Kirk McKusick. All Rights Reserved. @@ -38,7 +38,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ffs_snapshot.c,v 1.149 2017/06/01 02:45:15 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ffs_snapshot.c,v 1.149.16.1 2020/01/17 21:47:37 ad Exp $"); #if defined(_KERNEL_OPT) #include "opt_ffs.h" @@ -677,8 +677,8 @@ snapshot_expunge(struct mount *mp, struc */ if ((fs->fs_flags & FS_DOWAPBL) && fs->fs_journal_location == UFS_WAPBL_JOURNALLOC_IN_FILESYSTEM) { - error = VFS_VGET(mp, - fs->fs_journallocs[UFS_WAPBL_INFS_INO], &logvp); + error = VFS_VGET(mp, fs->fs_journallocs[UFS_WAPBL_INFS_INO], + LK_EXCLUSIVE, &logvp); if (error) goto out; } @@ -1766,7 +1766,7 @@ ffs_snapshot_mount(struct mount *mp) if (fs->fs_snapinum[snaploc] == 0) break; if ((error = VFS_VGET(mp, fs->fs_snapinum[snaploc], - &vp)) != 0) { + LK_EXCLUSIVE, &vp)) != 0) { printf("ffs_snapshot_mount: vget failed %d\n", error); continue; }