From owner-freebsd-hackers Wed Jan 21 23:46:31 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA22578 for hackers-outgoing; Wed, 21 Jan 1998 23:46:31 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA22568 for ; Wed, 21 Jan 1998 23:46:28 -0800 (PST) (envelope-from tlambert@usr09.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.8.8/8.8.8) id AAA11498; Thu, 22 Jan 1998 00:46:27 -0700 (MST) Received: from usr09.primenet.com(206.165.6.209) via SMTP by smtp03.primenet.com, id smtpd011448; Thu Jan 22 00:46:19 1998 Received: (from tlambert@localhost) by usr09.primenet.com (8.8.5/8.8.5) id AAA09848; Thu, 22 Jan 1998 00:46:10 -0700 (MST) From: Terry Lambert Message-Id: <199801220746.AAA09848@usr09.primenet.com> Subject: Re: ANNOUNCE: One-floppy FreBSD + rich networking To: luigi@labinfo.iet.unipi.it (Luigi Rizzo) Date: Thu, 22 Jan 1998 07:46:09 +0000 (GMT) Cc: tlambert@primenet.com, j_mini@efn.org, blkirk@float.eli.net, bartol@salk.edu, benedict@echonyc.com, hasty@rah.star-gate.com, abial@nask.pl, freebsd-hackers@FreeBSD.ORG In-Reply-To: <199801220534.GAA01107@labinfo.iet.unipi.it> from "Luigi Rizzo" at Jan 22, 98 06:34:38 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk > > The MSDOSFS arguments are fixable; specifically, you can have an FS > > stacking layer on an MSDOS FS that implements storage for UNIX > > semantics using a file which it does not export to consumers. A > > UMSDOSFS, but without the kludges. > > that's vnconfig, right ? Huh?!? No, vnconfig is a program for making a vnode appear as a device. It's major value is for: 1) Building boot floppies from images of compressed MFS's 2) Building images to put onto read-only media, and test the images out, like CDROM's, ROM's, etc.. 3) Being a good enough kludge workaround that it discourages people from actually ever completing a working "swapon" that can let you set up NeXTStep-like dynamic swapfiles. The MSDOSFS stacking layer would create a "poop file" in the directory, and store the things that it normally stores in UNIX inodes that it can't store in DOS "inodes" because on DOS, "inodes" and "directory entries" are synonymous. Technically, this is how Quota's should work, and also how ACL's should be implemented. Things like device nodes (devfs will make that need go away), UNIX domain sockets, file modes, mtime and atime (DOS has create time, which is not ctime, and file modification time, which is not metadata modification time), links, symlinks, and names that aren't allowed in a DOS FS (I know, VFAT/VFAT32 has long names; but FreeBSD namei() doesn't know about Unicode; you'd have to kludge it and not use the upper byte, and if you did that, you'd lose interoperability with existing files that *did*). And if you want to get *real* technical, UFS should stack on another layer that gives a flat "disk block namespace" and FFS should stack on top of a UFS that exports a flat "inode namespace", and *then* FFS should export a hierarchical namespace. Only the pathname buffer structure is too stupid, and VOP_ABORTOP in every FS and every FS's VOP's for dealing with path buffers think they know its format, and that they have to deallocate the bloody thing. You might even wedge a "variable granularity block store" between the UFS and the VFS layer that exports the raw blocks so you could implement record-based files and extent and LFS semantics in an FFS environment... Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.