From owner-freebsd-questions Wed Feb 21 10:36:11 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id KAA18856 for questions-outgoing; Wed, 21 Feb 1996 10:36:11 -0800 (PST) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id KAA18823 for ; Wed, 21 Feb 1996 10:35:59 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id LAA18394; Wed, 21 Feb 1996 11:32:01 -0700 From: Terry Lambert Message-Id: <199602211832.LAA18394@phaeton.artisoft.com> Subject: Re: Error running FIPS, Last cylinder not free... To: ravenpub@southwind.net (Carl D. Cravens) Date: Wed, 21 Feb 1996 11:32:00 -0700 (MST) Cc: questions@freebsd.org In-Reply-To: from "Carl D. Cravens" at Feb 20, 96 08:05:55 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-questions@freebsd.org Precedence: bulk > >The locked stuff is the Windows Swap file. > > > >You can defrag it as well by disabling swapping during the defarag process. > > > >I assume you are running the defrag from the right-button properties panel > >for the drive instead of from the command line of a DOS window. > > The Windows swap file is a contiguous chunk... the locked stuff I'm > talking about was single blocks scattered over my entire drive. I never > identified what they were, but ORG moves 'em when DOS 6.22's defrag > won't. Neither ORG (in default mode) won't move the swap file and > defrag has no options to modify that feature. The Windows95 swap file is scattered to hell and gone all over the disk. To defrag the partition so that you can successfully cut it smaller, you *must* disable swapping, do the defrag, do the FIPS resizing, and *only* then reenable swapping. When you disable swapping in Win95, you actually end up killing the swap file. The file is locked in exclusive mode using IFSMgr_LockFile and uses the R0_SWAPPER_CALL flag in the PIOrequest field ir_options. Windows95 swap file operation is documented in Section 8.3.4 of the Installable File System (IFS) Specification, which a level II developer gets on the DDK CDROM under ddk\docs\win95ifs.doc. When the defragger asserts a volume lock, the FS_CloseFile() entry point for the installable file system is called with the ir_options bit for FILE_CLOSE_FOR_LEVEL3_LOCK. The close returns a pointer to the list of file record locks for each file in the ir_pos field so the locks can be reset when the LEVEL3_LOCK is released ("3" should be "4" here; the header files are right, the doc is wrong). Active swap files don't have their locked blocks relocated. Locks from VMM.VXD go through a different interface. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.