From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: From: erik quanstrom Date: Wed, 16 Aug 2006 08:30:48 -0500 To: 9fans@cse.psu.edu Subject: Re: [9fans] 9fs nvr file In-Reply-To: <6dbc1a49e8142a3472e1b1f87a59df80@quanstro.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: a0638a9c-ead1-11e9-9d60-3106f5b1d025 i might be going off in the wrong direction, as i am unfamiliar with this code, but i think i understand this a bit better now. it seems that the first problem was that $fsname/$fsname.c calls atainit. this function returns a the head of the ata partition list on first call, nil otherwise. thus when sdataifc.pnp() is called by _sdinit() no partitions are found. the reason for this return scheme is to prevent the same partition from being added to the list of devices twice. i wrote a function to put into sdataifc that returns the head ptr exactly once, independent of calls to the original pnp function. this fixes (a term of art) the first problem. interestingly, no partitions are recognized, just full disks. i believe that there are only stubs for recognizing partitions. perhaps someone with more knowledge could correct me. however this still fails to boot because (back in $fsname/$fsname.c) otherinit() and dosfs do not seem to have a mechanism for selecting the proper device. i believe that dosinit() is catching the second device first (that is, the cdrom). it appears that dosinit() knows about dos partitions, so it doesn't appear that partitioning problems are to blame. would an LLBA disk have a signature that would confuse it? - erik