diff options
-rw-r--r-- | japanese/msdosfs/Makefile | 4 | ||||
-rw-r--r-- | japanese/msdosfs/files/revlist | 8 | ||||
-rw-r--r-- | japanese/msdosfs/patches.5/patch-ac | 66 | ||||
-rw-r--r-- | japanese/msdosfs/patches.5/patch-af | 52 | ||||
-rw-r--r-- | japanese/msdosfs/patches.5/patch-ag | 51 |
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; |