Date: Tue, 06 Nov 2001 14:38:58 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: RE: cvs commit: src/lib/libstand cd9660.c Message-ID: <XFMail.011106143858.jhb@FreeBSD.org> In-Reply-To: <200111062231.fA6MVAd14777@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 06-Nov-01 John Baldwin wrote: > jhb 2001/11/06 14:31:10 PST > > Modified files: > lib/libstand cd9660.c > Log: > - Change the f_isdir field of struct file to be a flags field and two > new flags: F_ROOTDIR and F_RR (Rock Ridge present). > - Cache the SUSP LEN_SKP parameter in struct file as well. > - If we open() '/', then force a read of the directory's contents so we > can examine the directory record of '.' to see if Rock Ridge is present. > - If Rock Ridge extensions are present, lookup Rock Ridge names in > readdir(). At this point no emulation CD booting should be fairly usable and useful. The one thing I haven't actually tested yet is booting a kernel off of the CD. Right now the RB_CDROM is being set wrong. It should probably only be set if rootdev is cd0, but for now it is always turned on if we boot from cdboot. (I think MFS roots as used in installation will override RB_CDROM though.) With this directory listings look pretty: FreeBSD/i386 bootstrap loader, Revision 1.0 (john@laptop.baldwin.cx, Sat Nov 3 16:19:24 PST 2001) Loading /boot/defaults/loader.conf Unable to load kernel: Aborted! \ can't load 'kernel' Type '?' for a list of commands, 'help' for more detailed help. ok ls / d boot boot.catalog ok ls -l /boot /boot 1168 cdboot d 2048 defaults 163840 loader 9237 loader.4th 38 loader.conf 12064 loader.help 362 loader.rc 25121 support.4th ok I haven't added Rock Ridge support to cd9660_stat() for 2 reasons: 1) we would need to cache the LBA and offset of our directory record in struct file. Not too terribly difficult, but 2) the only consumer of stat() (ls) only uses size anyways, so there's not much point as the info would be unused. The only other feature I'm thinking of possibly adding now is having the bioscd driver in the loader use the BIOS to lock the CD in when at least one file is open on the volume. This won't work that well if we keep the file associated with currdev open while we are idle though (not sure yet if we do that). Comments? Oh, and once I can test and commit some bits to split the mfsroot out of the kernel for boot.flp (works on i386, still need to test on alpha, but it should work w/o a problem), I plan to at least develop patches so we can use cdboot instead of boot.flp for CD's. Then I'll probably put a test ISO up for people to try out and see how it works before we cut over to using cdboot by default. -- John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.011106143858.jhb>