summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--japanese/msdosfs/Makefile4
-rw-r--r--japanese/msdosfs/files/revlist8
-rw-r--r--japanese/msdosfs/patches.5/patch-ac66
-rw-r--r--japanese/msdosfs/patches.5/patch-af52
-rw-r--r--japanese/msdosfs/patches.5/patch-ag51
5 files changed, 147 insertions, 34 deletions
diff --git a/japanese/msdosfs/Makefile b/japanese/msdosfs/Makefile
index 43ad9c16dfb4..2f42202dcf23 100644
--- a/japanese/msdosfs/Makefile
+++ b/japanese/msdosfs/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= msdosfs
-PORTVERSION= 20001007
+PORTVERSION= 20001009
CATEGORIES= japanese
MASTER_SITES= http://www.linkclub.or.jp/~clover/ \
${MASTER_SITE_LOCAL}
@@ -24,7 +24,7 @@ NO_PACKAGE= "to avoid crashing a machine when try to install incorrect version"
.if ${OSVERSION} >= 410001 && ${OSVERSION} < 500000
PATCHDIR= ${MASTERDIR}/patches.4
-.elif ${OSVERSION} >= 500012
+.elif ${OSVERSION} >= 500013
PATCHDIR= ${MASTERDIR}/patches.5
.else
BROKEN= "It may not work with your FreeBSD version (but I'm not sure)"
diff --git a/japanese/msdosfs/files/revlist b/japanese/msdosfs/files/revlist
index b67180029464..18dac3b5e46e 100644
--- a/japanese/msdosfs/files/revlist
+++ b/japanese/msdosfs/files/revlist
@@ -3,7 +3,7 @@ $FreeBSD$
This is a table of revisions about this ja-msdosfs.
+-------------------+---------------+-----------+
- BRANCH RELENG_4 HEAD
+ BRANCH RELENG_4 MAIN
+-------------------+---------------+-----------+
bootsect.h 1.7 1.7
bpb.h 1.7 1.8
@@ -11,10 +11,10 @@ This is a table of revisions about this ja-msdosfs.
direntry.h 1.15 1.15
fat.h 1.9 1.9
msdosfs_conv.c 1.29 1.29
- msdosfs_denode.c 1.47.2.1 1.49
+ msdosfs_denode.c 1.47.2.1 1.50
msdosfs_fat.c 1.23 1.24
msdosfs_lookup.c 1.30 1.31
- msdosfs_vfsops.c 1.60.2.2 1.64
- msdosfs_vnops.c 1.95.2.1 1.103
+ msdosfs_vfsops.c 1.60.2.2 1.66
+ msdosfs_vnops.c 1.95.2.1 1.104
msdosfsmount.h 1.20.2.1 1.22
+-------------------+---------------+-----------+
diff --git a/japanese/msdosfs/patches.5/patch-ac b/japanese/msdosfs/patches.5/patch-ac
index 8bff82ebe6ea..0eb6783d3513 100644
--- a/japanese/msdosfs/patches.5/patch-ac
+++ b/japanese/msdosfs/patches.5/patch-ac
@@ -1,6 +1,15 @@
--- msdosfs_denode.c.orig Mon Apr 10 04:32:36 2000
-+++ msdosfs_denode.c Wed Oct 4 00:41:56 2000
-@@ -59,6 +59,7 @@
++++ msdosfs_denode.c Mon Oct 9 23:14:36 2000
+@@ -50,24 +50,21 @@
+
+ #include "opt_msdosfs.h"
+
+-/*
+- * System include files.
+- */
+ #include <sys/param.h>
+ #include <sys/systm.h>
+ #include <sys/kernel.h>
#include <sys/mount.h>
#include <sys/malloc.h>
#include <sys/proc.h>
@@ -8,13 +17,21 @@
#include <sys/buf.h>
#include <sys/vnode.h>
-@@ -114,6 +115,16 @@
- {
- dehashtbl = hashinit(desiredvnodes/2, M_MSDOSFSMNT, &dehash);
- simple_lock_init(&dehash_slock);
-+ return (0);
-+}
+ #include <vm/vm.h>
+ #include <vm/vm_extern.h>
+
+-/*
+- * MSDOSFS include files.
+- */
++#include <machine/mutex.h>
+
+ #include <msdosfs/bpb.h>
+ #include <msdosfs/msdosfsmount.h>
+ #include <msdosfs/direntry.h>
+@@ -117,6 +114,16 @@
+ return (0);
+ }
+
+int
+msdosfs_uninit(vfsp)
+ struct vfsconf *vfsp;
@@ -22,6 +39,35 @@
+
+ if (dehashtbl)
+ free(dehashtbl, M_MSDOSFSMNT);
- return (0);
- }
++ return (0);
++}
++
+ static struct denode *
+ msdosfs_hashget(dev, dirclust, diroff)
+ dev_t dev;
+@@ -135,7 +142,7 @@
+ && dev == dep->de_dev
+ && dep->de_refcnt != 0) {
+ vp = DETOV(dep);
+- simple_lock(&vp->v_interlock);
++ mtx_enter(&vp->v_interlock, MTX_DEF);
+ simple_unlock(&dehash_slock);
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, p))
+ goto loop;
+@@ -275,7 +282,7 @@
+ * of at the start of msdosfs_hashins() so that reinsert() can
+ * call msdosfs_hashins() with a locked denode.
+ */
+- if (lockmgr(&ldep->de_lock, LK_EXCLUSIVE, (struct simplelock *)0, p))
++ if (lockmgr(&ldep->de_lock, LK_EXCLUSIVE, (struct mtx *)0, p))
+ panic("deget: unexpected lock failure");
+
+ /*
+@@ -657,6 +664,7 @@
+ #if 0 /* XXX */
+ dep->de_flag = 0;
+ #endif
++ lockdestroy(&dep->de_lock);
+ FREE(dep, M_MSDOSFSNODE);
+ vp->v_data = NULL;
diff --git a/japanese/msdosfs/patches.5/patch-af b/japanese/msdosfs/patches.5/patch-af
index 32248465ae8a..be03b8406e8b 100644
--- a/japanese/msdosfs/patches.5/patch-af
+++ b/japanese/msdosfs/patches.5/patch-af
@@ -1,10 +1,9 @@
--- msdosfs_vfsops.c.orig Mon Apr 10 04:32:37 2000
-+++ msdosfs_vfsops.c Wed Oct 4 00:45:26 2000
-@@ -48,11 +48,6 @@
- * October 1992
++++ msdosfs_vfsops.c Thu Oct 12 00:38:39 2000
+@@ -49,10 +49,6 @@
*/
--#include "opt_msdosfs.h"
+ #include "opt_msdosfs.h"
-
-/*
- * System include files.
@@ -12,7 +11,7 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/conf.h>
-@@ -61,15 +56,12 @@
+@@ -61,15 +57,14 @@
#include <sys/kernel.h>
#include <sys/vnode.h>
#include <sys/mount.h>
@@ -26,10 +25,12 @@
-/*
- * MSDOSFS include files.
- */
++#include <machine/mutex.h>
++
#include <msdosfs/bpb.h>
#include <msdosfs/bootsect.h>
#include <msdosfs/direntry.h>
-@@ -77,6 +69,8 @@
+@@ -77,6 +72,8 @@
#include <msdosfs/msdosfsmount.h>
#include <msdosfs/fat.h>
@@ -38,7 +39,7 @@
#if 1 /*def PC98*/
/*
* XXX - The boot signature formatted by NEC PC-98 DOS looks like a
-@@ -635,7 +629,7 @@
+@@ -635,7 +632,7 @@
if (FAT12(pmp))
pmp->pm_fatblocksize = 3 * pmp->pm_BytesPerSec;
else
@@ -47,7 +48,42 @@
pmp->pm_fatblocksec = pmp->pm_fatblocksize / DEV_BSIZE;
pmp->pm_bnshift = ffs(DEV_BSIZE) - 1;
-@@ -987,8 +981,8 @@
+@@ -729,7 +726,7 @@
+ mp->mnt_stat.f_fsid.val[0] = dev2udev(dev);
+ mp->mnt_stat.f_fsid.val[1] = mp->mnt_vfc->vfc_typenum;
+ mp->mnt_flag |= MNT_LOCAL;
+- devvp->v_specmountpoint = mp;
++ devvp->v_rdev->si_mountpoint = mp;
+
+ return 0;
+
+@@ -765,7 +762,7 @@
+ if (error)
+ return error;
+ pmp = VFSTOMSDOSFS(mp);
+- pmp->pm_devvp->v_specmountpoint = NULL;
++ pmp->pm_devvp->v_rdev->si_mountpoint = NULL;
+ #ifdef MSDOSFS_DEBUG
+ {
+ struct vnode *vp = pmp->pm_devvp;
+@@ -879,14 +876,14 @@
+ if (vp->v_mount != mp)
+ goto loop;
+
+- simple_lock(&vp->v_interlock);
++ mtx_enter(&vp->v_interlock, MTX_DEF);
+ nvp = vp->v_mntvnodes.le_next;
+ dep = VTODE(vp);
+ if (vp->v_type == VNON ||
+ ((dep->de_flag &
+ (DE_ACCESS | DE_CREATE | DE_UPDATE | DE_MODIFIED)) == 0 &&
+ (TAILQ_EMPTY(&vp->v_dirtyblkhd) || waitfor == MNT_LAZY))) {
+- simple_unlock(&vp->v_interlock);
++ mtx_exit(&vp->v_interlock, MTX_DEF);
+ continue;
+ }
+ simple_unlock(&mntvnode_slock);
+@@ -987,8 +984,8 @@
msdosfs_checkexp,
msdosfs_vptofh,
msdosfs_init,
diff --git a/japanese/msdosfs/patches.5/patch-ag b/japanese/msdosfs/patches.5/patch-ag
index 580b2df5a4b4..3e820607cbdf 100644
--- a/japanese/msdosfs/patches.5/patch-ag
+++ b/japanese/msdosfs/patches.5/patch-ag
@@ -1,6 +1,15 @@
--- msdosfs_vnops.c.orig Mon Apr 10 04:32:37 2000
-+++ msdosfs_vnops.c Wed Oct 4 00:50:29 2000
-@@ -59,6 +59,7 @@
++++ msdosfs_vnops.c Mon Oct 9 23:15:12 2000
+@@ -50,15 +50,13 @@
+
+ #include "opt_msdosfs.h"
+
+-/*
+- * System include files.
+- */
+ #include <sys/param.h>
+ #include <sys/systm.h>
+ #include <sys/namei.h>
#include <sys/resourcevar.h> /* defines plimit structure in proc struct */
#include <sys/kernel.h>
#include <sys/stat.h>
@@ -8,15 +17,37 @@
#include <sys/buf.h>
#include <sys/proc.h>
#include <sys/mount.h>
-@@ -70,7 +71,6 @@
+@@ -70,12 +68,10 @@
#include <vm/vm.h>
#include <vm/vm_extern.h>
-#include <vm/vm_zone.h>
#include <vm/vnode_pager.h>
- /*
-@@ -260,10 +260,7 @@
+-/*
+- * MSDOSFS include files.
+- */
++#include <machine/mutex.h>
++
+ #include <msdosfs/bpb.h>
+ #include <msdosfs/direntry.h>
+ #include <msdosfs/denode.h>
+@@ -239,12 +235,12 @@
+ struct denode *dep = VTODE(vp);
+ struct timespec ts;
+
+- simple_lock(&vp->v_interlock);
++ mtx_enter(&vp->v_interlock, MTX_DEF);
+ if (vp->v_usecount > 1) {
+ getnanotime(&ts);
+ DETIMES(dep, &ts, &ts, &ts);
+ }
+- simple_unlock(&vp->v_interlock);
++ mtx_exit(&vp->v_interlock, MTX_DEF);
+ return 0;
+ }
+
+@@ -260,10 +256,7 @@
struct vnode *vp = ap->a_vp;
struct denode *dep = VTODE(ap->a_vp);
struct msdosfsmount *pmp = dep->de_pmp;
@@ -28,7 +59,7 @@
file_mode = (S_IXUSR|S_IXGRP|S_IXOTH) | (S_IRUSR|S_IRGRP|S_IROTH) |
((dep->de_Attributes & ATTR_READONLY) ? 0 : (S_IWUSR|S_IWGRP|S_IWOTH));
-@@ -287,43 +284,8 @@
+@@ -287,43 +280,8 @@
}
}
@@ -74,7 +105,7 @@
}
static int
-@@ -974,11 +936,6 @@
+@@ -974,11 +932,6 @@
*
* On exit:
* all denodes should be released
@@ -86,7 +117,7 @@
*/
static int
msdosfs_rename(ap)
-@@ -1108,7 +1065,6 @@
+@@ -1108,7 +1061,6 @@
VOP_UNLOCK(fvp, 0, p);
if (VTODE(fdvp)->de_StartCluster != VTODE(tdvp)->de_StartCluster)
newparent = 1;
@@ -94,7 +125,7 @@
if (doingdirectory && newparent) {
if (error) /* write access check above */
goto bad;
-@@ -1176,7 +1132,8 @@
+@@ -1176,7 +1128,8 @@
panic("msdosfs_rename: lost from startdir");
if (!newparent)
VOP_UNLOCK(tdvp, 0, p);
@@ -104,7 +135,7 @@
if (fvp == NULL) {
/*
* From name has disappeared.
-@@ -1856,15 +1813,15 @@
+@@ -1856,15 +1809,15 @@
error = pcbmap(dep, bp->b_lblkno, &bp->b_blkno, 0, 0);
if (error) {
bp->b_error = error;