Date: Thu, 22 Jan 1998 07:46:09 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: luigi@labinfo.iet.unipi.it (Luigi Rizzo) 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 Subject: Re: ANNOUNCE: One-floppy FreBSD + rich networking Message-ID: <199801220746.AAA09848@usr09.primenet.com> In-Reply-To: <199801220534.GAA01107@labinfo.iet.unipi.it> from "Luigi Rizzo" at Jan 22, 98 06:34:38 am
next in thread | previous in thread | raw e-mail | index | archive | help
> > 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801220746.AAA09848>