hi, in some recent commits to HEAD and stable/7 i fixed the handling of loader_conf_files so that it behaves as always intended and documented in loader.conf(5): ... loader_conf_files Defines additional configuration files to be processed right after the present file. Previously, the check for new assignments was incorrect, and it happened to ignored assignments which did not result in a buffer reallocation by the Forth interpreter (essentially, any string not longer than the current one was ignored). An annoying side effect of the fix is that now people who (mistakenly) copied /boot/defaults/loader.conf into /boot/loader.conf (and possibly edit it), now create a loop because their /boot/loader.conf now contains loader_conf_files="/boot/device.hints /boot/loader.conf /boot/loader.conf.local" which is not just a pure assignments. Never mind the fact nobody ever recommended to copy the file and then modify the copy, there seem to be several people who do this (and do the same for /etc/defaults/rc.conf). I think we should remove the use of loader_conf_files=... from /boot/defaults/loader.conf, partly to prevent this kind of bugs, and partly because it is nice to have only "pure assigments" in this file. If there are no objections, i will look at how to do it. Probably this requires putting the initial list of files somewhere else, probably in /boot/loader.rc after the include /boot/loader.4th statement. Comments ? cheers luigi
Andrew Thompson
2009-Jan-21 12:39 UTC
RFC: side effects of fixing loader_conf_files handling
On Sun, Jan 18, 2009 at 11:29:58PM +0100, Luigi Rizzo wrote:> hi, > > Previously, the check for new assignments was incorrect, and it happened > to ignored assignments which did not result in a buffer reallocation > by the Forth interpreter (essentially, any string not longer > than the current one was ignored). > > An annoying side effect of the fix is that now people who (mistakenly) > copied /boot/defaults/loader.conf into /boot/loader.conf (and > possibly edit it), now create a loop because their /boot/loader.conf > now contains > > loader_conf_files="/boot/device.hints /boot/loader.conf /boot/loader.conf.local" > > which is not just a pure assignments. > > I think we should remove the use of loader_conf_files=... > from /boot/defaults/loader.conf, partly to prevent this kind > of bugs, and partly because it is nice to have only "pure assigments" > in this file. > > If there are no objections, i will look at how to do it. > Probably this requires putting the initial list of files > somewhere else, probably in /boot/loader.rc after the > > include /boot/loader.4th > > statement. > > Comments ?That sounds good, thanks for working on this. Andrew
Scott Ullrich
2009-May-28 19:20 UTC
RFC: side effects of fixing loader_conf_files handling
On Wed, Jan 21, 2009 at 4:39 PM, Andrew Thompson <thompsa@freebsd.org> wrote:> That sounds good, thanks for working on this.Hi All, With this change it seems that if /boot/loader.conf is not present the loader stops altogether at |. Was that the desired effect of these changes? It is not a big deal for me to touch the files during build but wanted to make sure that this was the desired effect. Thanks Scott