From owner-freebsd-fs@FreeBSD.ORG Sat Jun 2 13:32:47 2007 Return-Path: X-Original-To: freebsd-fs@freebsd.org Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 520D716A41F for ; Sat, 2 Jun 2007 13:32:47 +0000 (UTC) (envelope-from klim_serega@mail.ru) Received: from mx28.mail.ru (mx28.mail.ru [194.67.23.67]) by mx1.freebsd.org (Postfix) with ESMTP id DCA7D13C44C for ; Sat, 2 Jun 2007 13:32:46 +0000 (UTC) (envelope-from klim_serega@mail.ru) Received: from mx33.mail.ru (mx33.mail.ru [194.67.23.194]) by mx28.mail.ru (mPOP.Fallback_MX) with ESMTP id 1062E5FE10F for ; Sat, 2 Jun 2007 15:51:22 +0400 (MSD) Received: from [87.103.236.113] (port=38058 helo=[10.200.110.142]) by mx33.mail.ru with psmtp id 1HuS8e-000Ccg-00 for freebsd-fs@freebsd.org; Sat, 02 Jun 2007 15:51:20 +0400 From: "Zver Z." To: freebsd-fs@freebsd.org Content-Type: multipart/mixed; boundary="=-y/jBuOob0ZpNZQ9EYVGg" Date: Sat, 02 Jun 2007 21:47:02 +1000 Message-Id: <1180784822.1239.23.camel@XATA.RU> Mime-Version: 1.0 X-Mailer: Evolution 2.8.1.1 FreeBSD GNOME Team Port X-Mailman-Approved-At: Sat, 02 Jun 2007 13:38:20 +0000 Subject: PATCH FOR VFS FREEBSD 6.2 FROM RUSSIA(CHITA) X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2007 13:32:47 -0000 --=-y/jBuOob0ZpNZQ9EYVGg Content-Type: text/plain Content-Transfer-Encoding: 7bit test patch FreeBSD 6.2, (pycckie ya ploho znay engl, esli shto pishite na mail) _________________________________________________________________________________ vfs_subr.patch -- It'is current problem |:-) (really problem is up in function bufsync, this function not return error go back g_up) msdosfs_vnops.patch -- panic: page fault if on flash msdosfs msdossf_vfsop.patch -- free resources ffs_vfsops.patch -- free resources vfs_mount.pach -- it for bad realisation fsync msdosfs All patch test. But i can paint stable patch. sorry my english))) -- Zver Z. --=-y/jBuOob0ZpNZQ9EYVGg Content-Disposition: attachment; filename=ffs_vfsops.patch Content-Type: text/x-patch; name=ffs_vfsops.patch; charset=koi8-r Content-Transfer-Encoding: 7bit --- /sys/ufs/ffs/ffs_vfsops.c Mon May 21 22:06:40 2007 +++ ffs_vfsops.c Mon May 21 22:07:35 2007 @@ -979,10 +979,12 @@ if (fs->fs_ronly == 0) { fs->fs_clean = fs->fs_flags & (FS_UNCLEAN|FS_NEEDSFSCK) ? 0 : 1; error = ffs_sbupdate(ump, MNT_WAIT, 0); - if (error) { + if (error && (error & ENXIO) == 0) { fs->fs_clean = 0; return (error); } + if (error & ENXIO) + error = 0; } DROP_GIANT(); g_topology_lock(); --=-y/jBuOob0ZpNZQ9EYVGg Content-Disposition: attachment; filename=msdosfs_vfsops.patch Content-Type: text/x-patch; name=msdosfs_vfsops.patch; charset=koi8-r Content-Transfer-Encoding: 7bit --- /sys/fs/msdosfs/msdosfs_vfsops.c Wed Dec 20 12:05:30 2006 +++ msdosfs_vfsops.c Wed May 16 21:24:03 2007 @@ -766,8 +766,10 @@ /* If the volume was mounted read/write, mark it clean now. */ if ((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0) { error = markvoldirty(pmp, 0); - if (error && (flags & FORCECLOSE) == 0) + if (error && (flags & FORCECLOSE) == 0 && (error & ENXIO) == 0) return (error); + if (error & ENXIO) + error = 0; } #ifdef MSDOSFS_DEBUG { --=-y/jBuOob0ZpNZQ9EYVGg Content-Disposition: attachment; filename=msdosfs_vnops.patch Content-Type: text/x-patch; name=msdosfs_vnops.patch; charset=koi8-r Content-Transfer-Encoding: 7bit --- /sys/fs/msdosfs/msdosfs_vnops.c Mon Mar 13 12:05:13 2006 +++ msdosfs_vnops.c Thu May 17 11:44:23 2007 @@ -1834,7 +1834,9 @@ printf("\tstartcluster %lu, dircluster %lu, diroffset %lu, ", dep->de_StartCluster, dep->de_dirclust, dep->de_diroffset); - printf("on dev %s\n", devtoname(dep->de_dev)); + if (dep->de_dev != NULL) { + printf("on dev %s\n", devtoname(dep->de_dev)); + } return (0); } --=-y/jBuOob0ZpNZQ9EYVGg Content-Disposition: attachment; filename=vfs_mount.patch Content-Type: text/x-patch; name=vfs_mount.patch; charset=koi8-r Content-Transfer-Encoding: 7bit --- /sys/kern/vfs_mount.c Wed Oct 25 01:02:39 2006 +++ vfs_mount.c Thu May 17 11:48:49 2007 @@ -1194,6 +1194,10 @@ (flags & MNT_FORCE)) { error = VFS_UNMOUNT(mp, flags, td); } + if (error & ENXIO) { + printf("dounmount: error=%d\n", error); + error = VFS_UNMOUNT(mp, 0, td); + } vn_finished_write(mp); if (error) { /* Undo cdir/rdir and rootvnode changes made above. */ --=-y/jBuOob0ZpNZQ9EYVGg Content-Disposition: attachment; filename=vfs_subr.patch Content-Type: text/x-patch; name=vfs_subr.patch; charset=koi8-r Content-Transfer-Encoding: 7bit --- /sys/kern/vfs_subr.c Mon Dec 4 17:47:53 2006 +++ vfs_subr.c Thu May 17 20:31:58 2007 @@ -1029,8 +1029,10 @@ * enabled under INVARIANTS */ BO_LOCK(bo); - if (bo->bo_numoutput > 0 || bo->bo_dirty.bv_cnt > 0) - panic("vinvalbuf: dirty bufs"); + if (bo->bo_numoutput > 0 || bo->bo_dirty.bv_cnt > 0) { + printf("bufobj_invalbuf: warning panic not run, error=%d\n", error); + flags = 0; + } } } /* --=-y/jBuOob0ZpNZQ9EYVGg--