看板 DFBSD_submit 關於我們 聯絡資訊
On Mon, 3 Jan 2005 21:03:38 +0100 Peter Schuller <peter.schuller@infidyne.com> wrote: > Without having looked at this stuff beyond newfs, it sounds to me like > the fundamental problem is the lack of a layer of abstraction between > the on-disk format and the format used for internal processing in the > tools/kernel. In general, abstraction layers are a good idea; the trick is getting the abstraction at just the right level. Eirik actually started something like this for the installer - replacing libdisk w/ libdiskng - but it turns out we didn't need it. (The FreeBSD installer operates standalone, so it needs something like libdisk - but our installer runs from a fully populated OS environment, so it can just shell 'fdisk', 'disklabel', 'newfs' et al when it needs those functions.) But even though it didn't see action in the installer, such a library might still be useful for implement the common parts of these utilities, including the bounds checking and type casting etc that you refer to. I haven't given the problem much direct pondering, so I'm still unsure of what I think the appropriate level of abstraction would be... :) At any rate, if you want to see what exists of libdiskng it's at: http://www.bsdinstaller.org/cgi-bin/cvsweb.cgi/installer/src/lib/libdiskng/ ....and your newfs patch is committed, thanks! -Chris