GPT on amd64 and boot managers
Good day, Yesterday I finally changed my FreeBSD disk to use GPT instead of a traditional MBR, but I hadn't realised that the FreeBSD boot manager doesn't understand GPT partitions (my CURRENT is from early January, if that matters). I used to have that disk set up in the BIOS as the preferred boot disk and the boot manager on it allowed me to boot one of the other disks containing Windows 7 [1]. I googled around and noticed that other people with this problem were told to use Grub as a boot manager, but trying to install that from ports I found out that Grub is only for x86, while I run amd64. So in short, I can't use the FreeBSD boot manager as I have my disk partitioned with GPT, and I can't use Grub as it's not compatible with amd64, yet I do want a boot manager. How do I solve this? Currently I have to choose which OS to boot by changing the boot sequence of my disks in the BIOS - not very convenient. [1] I didn't put a boot manager on the Windows disk on purpose, as Microsoft overwrites it with every reinstall anyway. Alban Hertroys -- Screwing up is an excellent way to attach something to the ceiling. !DSPAM:930,4bfe323010414002918410! ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: CALL for TEST [HOSTAP] run(4) ralink usb wireless
- Original Message > From: Ganbold > To: PseudoCylon > Cc: freebsd-current@freebsd.org; Ganbold Tsagaankhuu > Sent: Wed, May 26, 2010 10:10:46 AM > Subject: Re: CALL for TEST [HOSTAP] run(4) ralink usb wireless > > It looks like either bridge or wlan/run driver is not > forwarding/allowing incoming arp request for wireless client behind this > access point. > Wireless client is not getting any arp request and after sending several > arp request to wireless client ADSL modem stops responding (had to > restart modem). > Any idea? > > thanks, > > Ganbold Hello again Ganbold, This time I can reproduce the problem on my computer. Please try attached patch. (patch to if_run.c) I suppose arp is for during dhcp negotiation. So, client does associate but cannot get IP address. The device won't talk with other devices until 2-way handshake has happens. I thought it happens after 4-way handshake, but hostapd with -d option shows it happens several minutes later. I added code to set some registers ahead of it. So, no need to wait renegotiation happens. -- patch begin -- diff --git a/dev/usb/wlan/if_run.c b/dev/usb/wlan/if_run.c index 61784d9..9beb582 100644 --- a/dev/usb/wlan/if_run.c +++ b/dev/usb/wlan/if_run.c @@ -2053,6 +2053,17 @@ run_key_set_cb(void *arg) attr = (attr & ~0xf) | (mode << 1) | RT2860_RX_PKEY_EN; if(run_write(sc, RT2860_WCID_ATTR(wcid), attr)) return; + +if(vap->iv_opmode == IEEE80211_M_HOSTAP){ +if(run_read(sc, RT2860_SKEY_MODE_0_7, &attr)) +return; +attr &= ~(0xf << (1 * 4)); +attr &= ~(0xf << (2 * 4)); +attr |= mode << (1 * 4); +attr |= mode << (2 * 4); +if(run_write(sc, RT2860_SKEY_MODE_0_7, attr)) +return; +} } /* TODO create a pass-thru key entry? */ -- patch end -- ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: CALL for TEST [HOSTAP] run(4) ralink usb wireless
AK-san, On Thu, May 27, 2010 at 5:57 PM, PseudoCylon wrote: > - Original Message > > From: Ganbold > > To: PseudoCylon > > Cc: freebsd-current@freebsd.org; Ganbold Tsagaankhuu > > > Sent: Wed, May 26, 2010 10:10:46 AM > > Subject: Re: CALL for TEST [HOSTAP] run(4) ralink usb wireless > > > > It looks like either bridge or wlan/run driver is not > > forwarding/allowing incoming arp request for wireless client behind this > > access point. > > Wireless client is not getting any arp request and after sending several > > arp request to wireless client ADSL modem stops responding (had to > > restart modem). > > Any idea? > > > > thanks, > > > > Ganbold > > > Hello again Ganbold, > > This time I can reproduce the problem on my computer. Please try attached > patch. (patch to if_run.c) I suppose arp is for during dhcp negotiation. So, > client does associate but cannot get IP address. > > The device won't talk with other devices until 2-way handshake has happens. > I thought it happens after 4-way handshake, but hostapd with -d option shows > it happens several minutes later. I added code to set some registers ahead > of it. So, no need to wait renegotiation happens. > I didn't try DHCP on client, just used static IP. Anyhow I will try your patch later tonight and let you know. thanks a lot, Ganbold > > > -- patch begin -- > > diff --git a/dev/usb/wlan/if_run.c b/dev/usb/wlan/if_run.c > index 61784d9..9beb582 100644 > --- a/dev/usb/wlan/if_run.c > +++ b/dev/usb/wlan/if_run.c > @@ -2053,6 +2053,17 @@ run_key_set_cb(void *arg) > attr = (attr & ~0xf) | (mode << 1) | RT2860_RX_PKEY_EN; > if(run_write(sc, RT2860_WCID_ATTR(wcid), attr)) > return; > + > +if(vap->iv_opmode == IEEE80211_M_HOSTAP){ > +if(run_read(sc, RT2860_SKEY_MODE_0_7, &attr)) > +return; > +attr &= ~(0xf << (1 * 4)); > +attr &= ~(0xf << (2 * 4)); > +attr |= mode << (1 * 4); > +attr |= mode << (2 * 4); > +if(run_write(sc, RT2860_SKEY_MODE_0_7, attr)) > +return; > +} > } > > /* TODO create a pass-thru key entry? */ > > -- patch end -- > > > ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: GPT on amd64 and boot managers
On Thu, 27 May 2010, Alban Hertroys wrote: Date: Thu, 27 May 2010 10:49:44 +0200 From: Alban Hertroys To: FreeBSD Current Subject: GPT on amd64 and boot managers Good day, Yesterday I finally changed my FreeBSD disk to use GPT instead of a traditional MBR, but I hadn't realised that the FreeBSD boot manager doesn't understand GPT partitions (my CURRENT is from early January, if that matters). I used to have that disk set up in the BIOS as the preferred boot disk and the boot manager on it allowed me to boot one of the other disks containing Windows 7 [1]. FreeBSD boots just fine from GPT. See the examples section of gpart(8). Bye/2 --- Michael Reifenberger mich...@reifenberger.com http://www.Reifenberger.com ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: GPT on amd64 and boot managers
On 27 May 2010, at 12:02, Michael Reifenberger wrote: > On Thu, 27 May 2010, Alban Hertroys wrote: >> Good day, >> >> Yesterday I finally changed my FreeBSD disk to use GPT instead of a >> traditional MBR, but I hadn't realised that the FreeBSD boot manager doesn't >> understand GPT partitions (my CURRENT is from early January, if that >> matters). >> I used to have that disk set up in the BIOS as the preferred boot disk and >> the boot manager on it allowed me to boot one of the other disks containing >> Windows 7 [1]. >> > > FreeBSD boots just fine from GPT. > See the examples section of gpart(8). You appear to have missed the point; I was talking about the boot manager - the thing that lets you choose which OS to boot, not the boot loader. I can boot FreeBSD just fine off GPT, but I have to select in the BIOS whether I want to boot FreeBSD or Windows (by means of changing the boot sequence). A working boot manager would be so much more convenient for that. Alban Hertroys -- If you can't see the forest for the trees, cut the trees and you'll see there is no forest. !DSPAM:930,4bfe4fa210412299192489! ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: GPT on amd64 and boot managers
on 27/05/2010 13:55 Alban Hertroys said the following: > On 27 May 2010, at 12:02, Michael Reifenberger wrote: > >> On Thu, 27 May 2010, Alban Hertroys wrote: >>> Good day, >>> >>> Yesterday I finally changed my FreeBSD disk to use GPT instead of a >>> traditional MBR, but I hadn't realised that the FreeBSD boot manager >>> doesn't understand GPT partitions (my CURRENT is from early January, if >>> that matters). I used to have that disk set up in the BIOS as the preferred >>> boot disk and the boot manager on it allowed me to boot one of the other >>> disks containing Windows 7 [1]. >>> >> FreeBSD boots just fine from GPT. See the examples section of gpart(8). > > > You appear to have missed the point; I was talking about the boot manager - > the > thing that lets you choose which OS to boot, not the boot loader. > > I can boot FreeBSD just fine off GPT, but I have to select in the BIOS whether > I want to boot FreeBSD or Windows (by means of changing the boot sequence). A > working boot manager would be so much more convenient for that. Right. OTOH I have standard GPT installation (pmbr + gptzfsboot) and during boot I am presented with a choice which _hard disk_ to boot from. I didn't do anything special for that. Not exactly a boot manager, but OK for me. -- Andriy Gapon ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: SUJ Changes
On Wednesday 26 May 2010 7:56:24 pm Garrett Cooper wrote: > On Wed, May 26, 2010 at 3:52 PM, Marcelo/Porks wrote: > > On 5/25/10, Marcelo/Porks wrote: > >> Hi! I tested the r208241 and it's seems to be ok but this calls my > >> atention to other thing: Could I disable de SU when the SUJ is > >> enabled? > >> > >> I did some tests and seems that I can do this (logs bellow). > >> > >> But will SUJ work properly with SU disabled? > > > > Hi guys. I'm not sure if I could call this a problem but I can disable > > SU when SUJ is enabled, so SUJ will remain enabled and SU will be > > disabled. > > > > #tunefs -j enable /dev/device > > #tunefs -n disable /dev/device > > > > I did a patch for sbin/tunefs/tunefs.c that disable SUJ when the user > > disable SU. Maybe this will be useful for some of you. > > > > Thanks. > > > > > > Index: sbin/tunefs/tunefs.c > > === > > --- sbin/tunefs/tunefs.c(revision 208580) > > +++ sbin/tunefs/tunefs.c(working copy) > > @@ -460,6 +460,14 @@ > >if ((~sblock.fs_flags & FS_DOSOFTDEP) == FS_DOSOFTDEP) > >warnx("%s remains unchanged as disabled", name); > >else { > > + /* also disable SUJ */ > > + if ((sblock.fs_flags & FS_SUJ) == FS_SUJ) { > > + warnx("soft updates journaling > > will be disabled too"); > > + journal_clear(); > > + sblock.fs_flags &= ~FS_SUJ; > > + sblock.fs_sujfree = 0; > > + warnx("remove .sujournal to > > reclaim space"); > > + } > >sblock.fs_flags &= ~FS_DOSOFTDEP; > >warnx("%s cleared", name); > >} > > I think that it makes sense to have this as a force option as someone > may want to retain their journal instead of disposing of it > automatically. I'm not sure that really makes sense. As as you do any update to the filesystem the journal becomes out of date, and attempting to replay it could corrupt the filesystem. Instead, I think that attempting to disable SU if SUJ is enabled should just fail with an error message. The sysadmin can then choose to disable both SUJ and SU if desired. -- John Baldwin ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: SUJ Changes
On Thu, May 27, 2010 at 10:33 AM, John Baldwin wrote: > On Wednesday 26 May 2010 7:56:24 pm Garrett Cooper wrote: >> On Wed, May 26, 2010 at 3:52 PM, Marcelo/Porks >> wrote: >> > >> > Hi guys. I'm not sure if I could call this a problem but I can disable >> > SU when SUJ is enabled, so SUJ will remain enabled and SU will be >> > disabled. >> > >> > #tunefs -j enable /dev/device >> > #tunefs -n disable /dev/device >> > >> > I did a patch for sbin/tunefs/tunefs.c that disable SUJ when the user >> > disable SU. Maybe this will be useful for some of you. >> > >> > Thanks. >> > >> > >> > Index: sbin/tunefs/tunefs.c >> > === >> > --- sbin/tunefs/tunefs.c (revision 208580) >> > +++ sbin/tunefs/tunefs.c (working copy) >> > @@ -460,6 +460,14 @@ >> > if ((~sblock.fs_flags & FS_DOSOFTDEP) == > FS_DOSOFTDEP) >> > warnx("%s remains unchanged as disabled", > name); >> > else { >> > + /* also disable SUJ */ >> > + if ((sblock.fs_flags & FS_SUJ) == FS_SUJ) > { >> > + warnx("soft updates journaling >> > will be disabled too"); >> > + journal_clear(); >> > + sblock.fs_flags &= ~FS_SUJ; >> > + sblock.fs_sujfree = 0; >> > + warnx("remove .sujournal to >> > reclaim space"); >> > + } >> > sblock.fs_flags &= ~FS_DOSOFTDEP; >> > warnx("%s cleared", name); >> > } >> > I think that attempting to disable SU if SUJ > is enabled should just fail with an error message. The sysadmin can then > choose to disable both SUJ and SU if desired. If SU is disabled and One tries to enable SUJ then SU will be automatically enabled. So Why not automatically disable SUJ when One tries to disable SU? -- Marcelo Rossi "This e-mail is provided "AS IS" with no warranties, and confers no rights." ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: GPT on amd64 and boot managers
On Thu, 27 May 2010, Alban Hertroys wrote: ... You appear to have missed the point; I was talking about the boot manager - the thing that lets you choose which OS to boot, not the boot loader. I can boot FreeBSD just fine off GPT, but I have to select in the BIOS whether I want to boot FreeBSD or Windows (by means of changing the boot sequence). A working boot manager would be so much more convenient for that. Ah. I see. Sorry, can't help here. On all servers I use GPT for FreeBSD/ZFS exclusively. On the Notebooks I stay with MBR... Bye/2 --- Michael Reifenberger mich...@reifenberger.com http://www.Reifenberger.com ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: SUJ update - new panic - "ffs_copyonwrite: recursive call"
Hi Jeff > I checked in a fix for this at revision 207742. If you can verify that it > works for you it would be appreciated. Sorry for long delay, finally, I've updated to recent sources, looks like no more such panics so far. Will test under more load. > Thanks! > Jeff -- Vladimir B. Grebenschikov v...@fbsd.ru ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: CALL for TEST [HOSTAP] run(4) ralink usb wireless
AK-san, PseudoCylon wrote: > - Original Message > >> From: Ganbold >> To: PseudoCylon >> Cc: freebsd-current@freebsd.org; Ganbold Tsagaankhuu >> Sent: Wed, May 26, 2010 10:10:46 AM >> Subject: Re: CALL for TEST [HOSTAP] run(4) ralink usb wireless >> >> It looks like either bridge or wlan/run driver is not >> forwarding/allowing incoming arp request for wireless client behind this >> access point. >> Wireless client is not getting any arp request and after sending several >> arp request to wireless client ADSL modem stops responding (had to >> restart modem). >> Any idea? >> >> thanks, >> >> Ganbold >> > > > Hello again Ganbold, > > This time I can reproduce the problem on my computer. Please try attached > patch. (patch to if_run.c) I suppose arp is for during dhcp negotiation. So, > client does associate but cannot get IP address. > > The device won't talk with other devices until 2-way handshake has happens. I > thought it happens after 4-way handshake, but hostapd with -d option shows it > happens several minutes later. I added code to set some registers ahead of > it. So, no need to wait renegotiation happens. > Just tested the patch, still it has same problem. (FreeBSD rspro 9.0-CURRENT FreeBSD 9.0-CURRENT #67 r208541M: Thu May 27 22:46:36 ULAT 2010 ts...@beastie:/usr/obj/mips/usr/mysrc/sys/RSPRO_AR71XX mips) thanks, Ganbold > > -- patch begin -- > > diff --git a/dev/usb/wlan/if_run.c b/dev/usb/wlan/if_run.c > index 61784d9..9beb582 100644 > --- a/dev/usb/wlan/if_run.c > +++ b/dev/usb/wlan/if_run.c > @@ -2053,6 +2053,17 @@ run_key_set_cb(void *arg) > attr = (attr & ~0xf) | (mode << 1) | RT2860_RX_PKEY_EN; > if(run_write(sc, RT2860_WCID_ATTR(wcid), attr)) > return; > + > +if(vap->iv_opmode == IEEE80211_M_HOSTAP){ > +if(run_read(sc, RT2860_SKEY_MODE_0_7, &attr)) > +return; > +attr &= ~(0xf << (1 * 4)); > +attr &= ~(0xf << (2 * 4)); > +attr |= mode << (1 * 4); > +attr |= mode << (2 * 4); > +if(run_write(sc, RT2860_SKEY_MODE_0_7, attr)) > +return; > +} > } > > /* TODO create a pass-thru key entry? */ > > -- patch end -- > > > > -- A pessimist is a man who has been compelled to live with an optimist. -- Elbert Hubbard ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: GPT on amd64 and boot managers
On Thu, May 27, 2010 at 10:49 AM, Alban Hertroys wrote: > I googled around and noticed that other people with this problem > were told to use Grub as a boot manager, but trying to install that > from ports I found out that Grub is only for x86, while I run amd64. Maybe you'll have more luck with grub2 instead of legacy grub? I've compiled the bzr version of grub2 on amd64: all I had to do was to add -L /usr/lib32 at the end stage of linking. However, there's currently a bug in grub2 which prevents it from interpreting and recognizing BSD partitions correctly. It's currently being worked on. http://www.mail-archive.com/grub-de...@gnu.org/msg15595.html http://www.mail-archive.com/grub-de...@gnu.org/msg15644.html http://www.mail-archive.com/grub-de...@gnu.org/msg15661.html http://www.mail-archive.com/grub-de...@gnu.org/msg15715.html -cpghost. -- Cordula's Web. http://www.cordula.ws/ ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: SUJ Changes
On Thursday 27 May 2010 10:13:38 am Marcelo/Porks wrote: > On Thu, May 27, 2010 at 10:33 AM, John Baldwin wrote: > > On Wednesday 26 May 2010 7:56:24 pm Garrett Cooper wrote: > >> On Wed, May 26, 2010 at 3:52 PM, Marcelo/Porks wrote: > >> > > >> > Hi guys. I'm not sure if I could call this a problem but I can disable > >> > SU when SUJ is enabled, so SUJ will remain enabled and SU will be > >> > disabled. > >> > > >> > #tunefs -j enable /dev/device > >> > #tunefs -n disable /dev/device > >> > > >> > I did a patch for sbin/tunefs/tunefs.c that disable SUJ when the user > >> > disable SU. Maybe this will be useful for some of you. > >> > > >> > Thanks. > >> > > >> > > >> > Index: sbin/tunefs/tunefs.c > >> > === > >> > --- sbin/tunefs/tunefs.c(revision 208580) > >> > +++ sbin/tunefs/tunefs.c(working copy) > >> > @@ -460,6 +460,14 @@ > >> >if ((~sblock.fs_flags & FS_DOSOFTDEP) == > > FS_DOSOFTDEP) > >> >warnx("%s remains unchanged as disabled", > > name); > >> >else { > >> > + /* also disable SUJ */ > >> > + if ((sblock.fs_flags & FS_SUJ) == FS_SUJ) > > { > >> > + warnx("soft updates journaling > >> > will be disabled too"); > >> > + journal_clear(); > >> > + sblock.fs_flags &= ~FS_SUJ; > >> > + sblock.fs_sujfree = 0; > >> > + warnx("remove .sujournal to > >> > reclaim space"); > >> > + } > >> >sblock.fs_flags &= ~FS_DOSOFTDEP; > >> >warnx("%s cleared", name); > >> >} > >> > > I think that attempting to disable SU if SUJ > > is enabled should just fail with an error message. The sysadmin can then > > choose to disable both SUJ and SU if desired. > > If SU is disabled and One tries to enable SUJ then SU will be > automatically enabled. > So Why not automatically disable SUJ when One tries to disable SU? I'm probably not a big fan of either really. :) For something as rarely done as tunefs I would prefer to err on the side of caution and require the admin to explicitly specify everything. -- John Baldwin ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: nvidia-driver 195.22 use horribly broken on amd64 between r206173 and
On 05/26/10 09:51, Kostik Belousov wrote: I did a quick glance over the driver, try this: http://people.freebsd.org/~kib/misc/nvidia-vm_page_lock.1.patch I did not even compiled the patched driver. cc -pipe -g -g -g -DNV_VERSION_STRING=\"195.36.15\" -D__KERNEL__ -DNVRM -O -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I/src -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common -g -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -c nvidia_subr.c cc1: warnings being treated as errors nvidia_subr.c: In function 'nv_alloc_system_pages': nvidia_subr.c:1306: warning: implicit declaration of function 'vm_page_lock' nvidia_subr.c:1306: warning: nested extern declaration of 'vm_page_lock' nvidia_subr.c:1308: warning: implicit declaration of function 'vm_page_unlock' nvidia_subr.c:1308: warning: nested extern declaration of 'vm_page_unlock' *** Error code 1 FYI, Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover!http://SupersetSolutions.com/ ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: nvidia-driver 195.22 use horribly broken on amd64 between r206173 and
On Thu, May 27, 2010 at 11:54:27AM -0700, Doug Barton wrote: > On 05/26/10 09:51, Kostik Belousov wrote: > >I did a quick glance over the driver, try this: > >http://people.freebsd.org/~kib/misc/nvidia-vm_page_lock.1.patch > >I did not even compiled the patched driver. > > cc -pipe -g -g -g -DNV_VERSION_STRING=\"195.36.15\" -D__KERNEL__ -DNVRM > -O -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I/src -I. -I@ > -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 > --param large-function-growth=1000 -fno-common -g > -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx > -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector > -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls > -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes > -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign > -fformat-extensions -c nvidia_subr.c > cc1: warnings being treated as errors > nvidia_subr.c: In function 'nv_alloc_system_pages': > nvidia_subr.c:1306: warning: implicit declaration of function 'vm_page_lock' > nvidia_subr.c:1306: warning: nested extern declaration of 'vm_page_lock' > nvidia_subr.c:1308: warning: implicit declaration of function > 'vm_page_unlock' > nvidia_subr.c:1308: warning: nested extern declaration of 'vm_page_unlock' > *** Error code 1 I think you have stale/wrong includes used by the build. I just checked that driver indeed builds with my patch. vm_page_lock() and vm_page_unlock() are the macros defined in vm/vm_page.h that are present since first Kip commit. Look at the target of the "@" symlink in the driver directory. pgpiZJZqxEpWj.pgp Description: PGP signature
Re: nvidia-driver 195.22 use horribly broken on amd64 between r206173 and
On 5/27/2010 12:12 PM, Kostik Belousov wrote: I think you have stale/wrong includes used by the build. I just checked that driver indeed builds with my patch. vm_page_lock() and vm_page_unlock() are the macros defined in vm/vm_page.h that are present since first Kip commit. As I reported earlier, I am using an older kernel atm for stability reasons. I will try again with a more up to date kernel when time allows. Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover!http://SupersetSolutions.com/ ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
[head tinderbox] failure on i386/pc98
TB --- 2010-05-27 20:25:00 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-05-27 20:25:00 - starting HEAD tinderbox run for i386/pc98 TB --- 2010-05-27 20:25:00 - cleaning the object tree TB --- 2010-05-27 20:25:26 - cvsupping the source tree TB --- 2010-05-27 20:25:26 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/i386/pc98/supfile TB --- 2010-05-27 20:31:24 - building world TB --- 2010-05-27 20:31:24 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 20:31:24 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 20:31:24 - TARGET=pc98 TB --- 2010-05-27 20:31:24 - TARGET_ARCH=i386 TB --- 2010-05-27 20:31:24 - TZ=UTC TB --- 2010-05-27 20:31:24 - __MAKE_CONF=/dev/null TB --- 2010-05-27 20:31:24 - cd /src TB --- 2010-05-27 20:31:24 - /usr/bin/make -B buildworld >>> World build started on Thu May 27 20:31:25 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> World build completed on Thu May 27 21:31:25 UTC 2010 TB --- 2010-05-27 21:31:25 - generating LINT kernel config TB --- 2010-05-27 21:31:25 - cd /src/sys/pc98/conf TB --- 2010-05-27 21:31:25 - /usr/bin/make -B LINT TB --- 2010-05-27 21:31:25 - building LINT kernel TB --- 2010-05-27 21:31:25 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 21:31:25 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 21:31:25 - TARGET=pc98 TB --- 2010-05-27 21:31:25 - TARGET_ARCH=i386 TB --- 2010-05-27 21:31:25 - TZ=UTC TB --- 2010-05-27 21:31:25 - __MAKE_CONF=/dev/null TB --- 2010-05-27 21:31:25 - cd /src TB --- 2010-05-27 21:31:25 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu May 27 21:31:25 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_subs.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_nfsiod.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_vfsops.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_vnops.c /src/sys/nfsclient/nfs_v
[head tinderbox] failure on i386/i386
TB --- 2010-05-27 20:25:00 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-05-27 20:25:00 - starting HEAD tinderbox run for i386/i386 TB --- 2010-05-27 20:25:00 - cleaning the object tree TB --- 2010-05-27 20:25:29 - cvsupping the source tree TB --- 2010-05-27 20:25:29 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/i386/i386/supfile TB --- 2010-05-27 20:41:13 - building world TB --- 2010-05-27 20:41:13 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 20:41:13 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 20:41:13 - TARGET=i386 TB --- 2010-05-27 20:41:13 - TARGET_ARCH=i386 TB --- 2010-05-27 20:41:13 - TZ=UTC TB --- 2010-05-27 20:41:13 - __MAKE_CONF=/dev/null TB --- 2010-05-27 20:41:13 - cd /src TB --- 2010-05-27 20:41:13 - /usr/bin/make -B buildworld >>> World build started on Thu May 27 20:41:13 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> World build completed on Thu May 27 21:42:26 UTC 2010 TB --- 2010-05-27 21:42:26 - generating LINT kernel config TB --- 2010-05-27 21:42:26 - cd /src/sys/i386/conf TB --- 2010-05-27 21:42:26 - /usr/bin/make -B LINT TB --- 2010-05-27 21:42:26 - building LINT kernel TB --- 2010-05-27 21:42:26 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 21:42:26 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 21:42:26 - TARGET=i386 TB --- 2010-05-27 21:42:26 - TARGET_ARCH=i386 TB --- 2010-05-27 21:42:26 - TZ=UTC TB --- 2010-05-27 21:42:26 - __MAKE_CONF=/dev/null TB --- 2010-05-27 21:42:26 - cd /src TB --- 2010-05-27 21:42:26 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu May 27 21:42:26 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_subs.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_nfsiod.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_vfsops.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_vnops.c /src/sys/nfsclient/nfs_v
[head tinderbox] failure on amd64/amd64
TB --- 2010-05-27 20:25:00 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-05-27 20:25:00 - starting HEAD tinderbox run for amd64/amd64 TB --- 2010-05-27 20:25:00 - cleaning the object tree TB --- 2010-05-27 20:25:30 - cvsupping the source tree TB --- 2010-05-27 20:25:30 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/amd64/amd64/supfile TB --- 2010-05-27 20:41:46 - building world TB --- 2010-05-27 20:41:46 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 20:41:46 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 20:41:46 - TARGET=amd64 TB --- 2010-05-27 20:41:46 - TARGET_ARCH=amd64 TB --- 2010-05-27 20:41:46 - TZ=UTC TB --- 2010-05-27 20:41:46 - __MAKE_CONF=/dev/null TB --- 2010-05-27 20:41:46 - cd /src TB --- 2010-05-27 20:41:46 - /usr/bin/make -B buildworld >>> World build started on Thu May 27 20:41:47 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> stage 5.1: building 32 bit shim libraries >>> World build completed on Thu May 27 22:10:10 UTC 2010 TB --- 2010-05-27 22:10:10 - generating LINT kernel config TB --- 2010-05-27 22:10:10 - cd /src/sys/amd64/conf TB --- 2010-05-27 22:10:10 - /usr/bin/make -B LINT TB --- 2010-05-27 22:10:10 - building LINT kernel TB --- 2010-05-27 22:10:10 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 22:10:10 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 22:10:10 - TARGET=amd64 TB --- 2010-05-27 22:10:10 - TARGET_ARCH=amd64 TB --- 2010-05-27 22:10:10 - TZ=UTC TB --- 2010-05-27 22:10:10 - __MAKE_CONF=/dev/null TB --- 2010-05-27 22:10:10 - cd /src TB --- 2010-05-27 22:10:10 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu May 27 22:10:10 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_subs.c cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_nfsiod.c cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/nfsclient/nfs_vfsops.c cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param
Re: SUJ Changes
On 5/27/10, John Baldwin wrote: > On Thursday 27 May 2010 10:13:38 am Marcelo/Porks wrote: >> On Thu, May 27, 2010 at 10:33 AM, John Baldwin wrote: >> > On Wednesday 26 May 2010 7:56:24 pm Garrett Cooper wrote: >> >> On Wed, May 26, 2010 at 3:52 PM, Marcelo/Porks >> >> > wrote: >> >> > >> >> > Hi guys. I'm not sure if I could call this a problem but I can >> >> > disable >> >> > SU when SUJ is enabled, so SUJ will remain enabled and SU will be >> >> > disabled. >> >> > >> >> > #tunefs -j enable /dev/device >> >> > #tunefs -n disable /dev/device >> >> > >> >> > I did a patch for sbin/tunefs/tunefs.c that disable SUJ when the user >> >> > disable SU. Maybe this will be useful for some of you. >> >> > >> >> > Thanks. >> >> > >> >> > >> >> > Index: sbin/tunefs/tunefs.c >> >> > === >> >> > --- sbin/tunefs/tunefs.c(revision 208580) >> >> > +++ sbin/tunefs/tunefs.c(working copy) >> >> > @@ -460,6 +460,14 @@ >> >> >if ((~sblock.fs_flags & FS_DOSOFTDEP) == >> > FS_DOSOFTDEP) >> >> >warnx("%s remains unchanged as > disabled", >> > name); >> >> >else { >> >> > + /* also disable SUJ */ >> >> > + if ((sblock.fs_flags & FS_SUJ) == > FS_SUJ) >> > { >> >> > + warnx("soft updates >> >> > journaling >> >> > will be disabled too"); >> >> > + journal_clear(); >> >> > + sblock.fs_flags &= ~FS_SUJ; >> >> > + sblock.fs_sujfree = 0; >> >> > + warnx("remove .sujournal to >> >> > reclaim space"); >> >> > + } >> >> >sblock.fs_flags &= ~FS_DOSOFTDEP; >> >> >warnx("%s cleared", name); >> >> >} >> >> >> > I think that attempting to disable SU if SUJ >> > is enabled should just fail with an error message. The sysadmin can >> > then >> > choose to disable both SUJ and SU if desired. >> >> If SU is disabled and One tries to enable SUJ then SU will be >> automatically enabled. >> So Why not automatically disable SUJ when One tries to disable SU? > > I'm probably not a big fan of either really. :) For something as rarely > done > as tunefs I would prefer to err on the side of caution and require the admin > to explicitly specify everything. Hi John. I agree with you, I do prefer a fail of tunefs in this situation. Before of I have posted the first patch I have done another one that fails to enable SUJ when SU is disabled and fails to disable SU when SUJ is enabled. Now this patch is bellow and attached. *All the stuff that I will say bellow is based on the attached patch* The attached patch fails to disable SU when SUJ is enabled. And it fails to enable SUJ when SU is disabled. Earlier I decided to not post the patch because it will cause confusion when SU and SUJ is disabled and you try to do something such as: # tunefs -j enable -n enable /dev/ad2s1d The flags's processing order is alphabetically, so It will try to enable SUJ first (and it will fail) and after it will enable SU. We could resolve this by processing '-n' (SU) first and after '-j' (SUJ) but this schema will make to fail the following command: # tunefs -j disable -n disable /dev/ad2s1d So I think we could create a function for each flag to be processed and the main() calls this functions as necessary (and main() disabled the relative flag so the function will not be called again). But I'm just a curious doing trivial patches, You can talk about this with more experience and knowlege. =patch== Index: sbin/tunefs/tunefs.c === --- sbin/tunefs/tunefs.c(revision 208584) +++ sbin/tunefs/tunefs.c(working copy) @@ -341,16 +341,19 @@ if (jflag) { name = "soft updates journaling"; if (strcmp(jvalue, "enable") == 0) { - if ((sblock.fs_flags & (FS_DOSOFTDEP | FS_SUJ)) == - (FS_DOSOFTDEP | FS_SUJ)) { + if ((sblock.fs_flags & FS_SUJ) == FS_SUJ) { warnx("%s remains unchanged as enabled", name); + } else if ((sblock.fs_flags & FS_DOSOFTDEP) != + FS_DOSOFTDEP) { + warnx("%s cannot be enabled until soft updates is enabled", + name); } else if (sblock.fs_clean == 0) { warnx("%s cannot be enabled until fsck is run", name); } else if (journal_alloc(Svalue) != 0) { warnx("%s can not be enabled", name); } else { - sblock.fs_flags |= FS_DOSOFTDEP | FS_SUJ; + sblock.fs_flags |= FS_SUJ; warnx("%s set", name); }
[head tinderbox] failure on ia64/ia64
TB --- 2010-05-27 21:15:03 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-05-27 21:15:03 - starting HEAD tinderbox run for ia64/ia64 TB --- 2010-05-27 21:15:03 - cleaning the object tree TB --- 2010-05-27 21:15:24 - cvsupping the source tree TB --- 2010-05-27 21:15:24 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/ia64/ia64/supfile TB --- 2010-05-27 21:15:51 - building world TB --- 2010-05-27 21:15:51 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 21:15:51 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 21:15:51 - TARGET=ia64 TB --- 2010-05-27 21:15:51 - TARGET_ARCH=ia64 TB --- 2010-05-27 21:15:51 - TZ=UTC TB --- 2010-05-27 21:15:51 - __MAKE_CONF=/dev/null TB --- 2010-05-27 21:15:51 - cd /src TB --- 2010-05-27 21:15:51 - /usr/bin/make -B buildworld >>> World build started on Thu May 27 21:15:52 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> World build completed on Thu May 27 22:34:34 UTC 2010 TB --- 2010-05-27 22:34:34 - generating LINT kernel config TB --- 2010-05-27 22:34:34 - cd /src/sys/ia64/conf TB --- 2010-05-27 22:34:34 - /usr/bin/make -B LINT TB --- 2010-05-27 22:34:34 - building LINT kernel TB --- 2010-05-27 22:34:34 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 22:34:34 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 22:34:34 - TARGET=ia64 TB --- 2010-05-27 22:34:34 - TARGET_ARCH=ia64 TB --- 2010-05-27 22:34:34 - TZ=UTC TB --- 2010-05-27 22:34:34 - __MAKE_CONF=/dev/null TB --- 2010-05-27 22:34:34 - cd /src TB --- 2010-05-27 22:34:34 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu May 27 22:34:34 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ia64/libuwx/src -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mconstant-gp -ffixed-r13 -mfixed-range=f32-f127 -fpic -ffreestanding -Werror /src/sys/nfsclient/nfs_subs.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ia64/libuwx/src -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mconstant-gp -ffixed-r13 -mfixed-range=f32-f127 -fpic -ffreestanding -Werror /src/sys/nfsclient/nfs_nfsiod.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ia64/libuwx/src -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mconstant-gp -ffixed-r13 -mfixed-range=f32-f127 -fpic -ffreestanding -Werror /src/sys/nfsclient/nfs_vfsops.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ia64/libuwx/src -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mconstant-gp -ffixed-r13 -mfixed-range=f32-f127 -fpic -ffreestanding -Werror /src/sys/nfsclient/nfs_vnops.c /src/sys/nfsclient/nfs_vnops.c: In function 'nfs_lookup': /src/sys/nfsclient/nfs_vnops.c:977: error: 'vp' undeclared (first use in this function) /src/sys/nfsclient/nfs_vnops.c:977: error: (Each undeclared identifier is reported only once /src/sys/nfsclient/nfs_vnops.c:977: error: for each function it appears in.) *** Error code 1 Stop in /obj/ia64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /s
[head tinderbox] failure on powerpc/powerpc
TB --- 2010-05-27 21:55:06 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-05-27 21:55:06 - starting HEAD tinderbox run for powerpc/powerpc TB --- 2010-05-27 21:55:06 - cleaning the object tree TB --- 2010-05-27 21:55:25 - cvsupping the source tree TB --- 2010-05-27 21:55:25 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/powerpc/powerpc/supfile TB --- 2010-05-27 21:55:52 - building world TB --- 2010-05-27 21:55:52 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 21:55:52 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 21:55:52 - TARGET=powerpc TB --- 2010-05-27 21:55:52 - TARGET_ARCH=powerpc TB --- 2010-05-27 21:55:52 - TZ=UTC TB --- 2010-05-27 21:55:52 - __MAKE_CONF=/dev/null TB --- 2010-05-27 21:55:52 - cd /src TB --- 2010-05-27 21:55:52 - /usr/bin/make -B buildworld >>> World build started on Thu May 27 21:55:53 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> World build completed on Thu May 27 22:57:15 UTC 2010 TB --- 2010-05-27 22:57:15 - generating LINT kernel config TB --- 2010-05-27 22:57:15 - cd /src/sys/powerpc/conf TB --- 2010-05-27 22:57:15 - /usr/bin/make -B LINT TB --- 2010-05-27 22:57:15 - building LINT kernel TB --- 2010-05-27 22:57:15 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 22:57:15 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 22:57:15 - TARGET=powerpc TB --- 2010-05-27 22:57:15 - TARGET_ARCH=powerpc TB --- 2010-05-27 22:57:15 - TZ=UTC TB --- 2010-05-27 22:57:15 - __MAKE_CONF=/dev/null TB --- 2010-05-27 22:57:15 - cd /src TB --- 2010-05-27 22:57:15 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu May 27 22:57:15 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_subs.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_nfsiod.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_vfsops.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_vnops.c /src/sys/nfsclient/nfs_vnops.c: In function 'nfs_lookup': /src/sys/nfsclient/nfs_vnops.c:977: error: 'vp' undeclared (first use in this function) /src/sys/nfsclient/nfs_vnops.c:977: error: (Each undeclared identifier is reported only once /src/sys/nfsclient/nfs_vnops.c:977: error: for each function it appears in.) *** Error code 1 Stop in /obj/powerpc/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB ---
[head tinderbox] failure on sparc64/sparc64
TB --- 2010-05-27 22:22:17 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-05-27 22:22:17 - starting HEAD tinderbox run for sparc64/sparc64 TB --- 2010-05-27 22:22:17 - cleaning the object tree TB --- 2010-05-27 22:22:33 - cvsupping the source tree TB --- 2010-05-27 22:22:33 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/sparc64/sparc64/supfile TB --- 2010-05-27 22:23:01 - building world TB --- 2010-05-27 22:23:01 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 22:23:01 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 22:23:01 - TARGET=sparc64 TB --- 2010-05-27 22:23:01 - TARGET_ARCH=sparc64 TB --- 2010-05-27 22:23:01 - TZ=UTC TB --- 2010-05-27 22:23:01 - __MAKE_CONF=/dev/null TB --- 2010-05-27 22:23:01 - cd /src TB --- 2010-05-27 22:23:01 - /usr/bin/make -B buildworld >>> World build started on Thu May 27 22:23:01 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> World build completed on Thu May 27 23:19:18 UTC 2010 TB --- 2010-05-27 23:19:18 - generating LINT kernel config TB --- 2010-05-27 23:19:18 - cd /src/sys/sparc64/conf TB --- 2010-05-27 23:19:18 - /usr/bin/make -B LINT TB --- 2010-05-27 23:19:18 - building LINT kernel TB --- 2010-05-27 23:19:18 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 23:19:18 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 23:19:18 - TARGET=sparc64 TB --- 2010-05-27 23:19:18 - TARGET_ARCH=sparc64 TB --- 2010-05-27 23:19:18 - TZ=UTC TB --- 2010-05-27 23:19:18 - __MAKE_CONF=/dev/null TB --- 2010-05-27 23:19:18 - cd /src TB --- 2010-05-27 23:19:18 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu May 27 23:19:18 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_subs.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_nfsiod.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_vfsops.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_vnops.c /src/sys/nfsclient/nfs_vnops.c: In function 'nfs_lookup': /src/sys/nfsclient/nfs_vnops.c:977: error: 'vp' undeclared (first use in this function) /src/sys/nfsclient/nfs_vnops.c:977: error: (Each undeclared identifier is reported only once /src/sys/nfsclient/nfs_vnops.c:977: error: for each function it appears in.) *** Error code 1 Stop in /obj/sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2010-05-27 23:29:33 - WARNING: /usr/bin/make returned exit code 1 TB --- 2010-05-27 23:29:33 - ERROR: failed to build lint kernel TB
[head tinderbox] failure on sparc64/sun4v
TB --- 2010-05-27 22:33:14 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-05-27 22:33:14 - starting HEAD tinderbox run for sparc64/sun4v TB --- 2010-05-27 22:33:14 - cleaning the object tree TB --- 2010-05-27 22:33:27 - cvsupping the source tree TB --- 2010-05-27 22:33:27 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/sparc64/sun4v/supfile TB --- 2010-05-27 22:33:52 - building world TB --- 2010-05-27 22:33:52 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 22:33:52 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 22:33:52 - TARGET=sun4v TB --- 2010-05-27 22:33:52 - TARGET_ARCH=sparc64 TB --- 2010-05-27 22:33:52 - TZ=UTC TB --- 2010-05-27 22:33:52 - __MAKE_CONF=/dev/null TB --- 2010-05-27 22:33:52 - cd /src TB --- 2010-05-27 22:33:52 - /usr/bin/make -B buildworld >>> World build started on Thu May 27 22:33:52 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> World build completed on Thu May 27 23:28:32 UTC 2010 TB --- 2010-05-27 23:28:32 - generating LINT kernel config TB --- 2010-05-27 23:28:32 - cd /src/sys/sun4v/conf TB --- 2010-05-27 23:28:32 - /usr/bin/make -B LINT TB --- 2010-05-27 23:28:32 - building LINT kernel TB --- 2010-05-27 23:28:32 - MAKEOBJDIRPREFIX=/obj TB --- 2010-05-27 23:28:32 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-05-27 23:28:32 - TARGET=sun4v TB --- 2010-05-27 23:28:32 - TARGET_ARCH=sparc64 TB --- 2010-05-27 23:28:32 - TZ=UTC TB --- 2010-05-27 23:28:32 - __MAKE_CONF=/dev/null TB --- 2010-05-27 23:28:32 - cd /src TB --- 2010-05-27 23:28:32 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu May 27 23:28:32 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_subs.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_nfsiod.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_vfsops.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/nfsclient/nfs_vnops.c /src/sys/nfsclient/nfs_vnops.c: In function 'nfs_lookup': /src/sys/nfsclient/nfs_vnops.c:977: error: 'vp' undeclared (first use in this function) /src/sys/nfsclient/nfs_vnops.c:977: error: (Each undeclared identifier is reported only once /src/sys/nfsclient/nfs_vnops.c:977: error: for each function it appears in.) *** Error code 1 Stop in /obj/sun4v/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2010-05-27 23:38:57 - WARNING: /usr/bin/make returned exit code 1 TB --- 2010-05-27 23:38:57 - ERROR: failed to build lint kernel TB --- 2010-05-
Re: SUJ Changes
On Thu, May 27, 2010 at 3:44 PM, Marcelo/Porks wrote: > On 5/27/10, John Baldwin wrote: >> On Thursday 27 May 2010 10:13:38 am Marcelo/Porks wrote: >>> On Thu, May 27, 2010 at 10:33 AM, John Baldwin wrote: >>> > On Wednesday 26 May 2010 7:56:24 pm Garrett Cooper wrote: >>> >> On Wed, May 26, 2010 at 3:52 PM, Marcelo/Porks >>> >> >> wrote: >>> >> > >>> >> > Hi guys. I'm not sure if I could call this a problem but I can >>> >> > disable >>> >> > SU when SUJ is enabled, so SUJ will remain enabled and SU will be >>> >> > disabled. >>> >> > >>> >> > #tunefs -j enable /dev/device >>> >> > #tunefs -n disable /dev/device >>> >> > >>> >> > I did a patch for sbin/tunefs/tunefs.c that disable SUJ when the user >>> >> > disable SU. Maybe this will be useful for some of you. >>> >> > >>> >> > Thanks. >>> >> > >>> >> > >>> >> > Index: sbin/tunefs/tunefs.c >>> >> > === >>> >> > --- sbin/tunefs/tunefs.c (revision 208580) >>> >> > +++ sbin/tunefs/tunefs.c (working copy) >>> >> > @@ -460,6 +460,14 @@ >>> >> > if ((~sblock.fs_flags & FS_DOSOFTDEP) == >>> > FS_DOSOFTDEP) >>> >> > warnx("%s remains unchanged as >> disabled", >>> > name); >>> >> > else { >>> >> > + /* also disable SUJ */ >>> >> > + if ((sblock.fs_flags & FS_SUJ) == >> FS_SUJ) >>> > { >>> >> > + warnx("soft updates >>> >> > journaling >>> >> > will be disabled too"); >>> >> > + journal_clear(); >>> >> > + sblock.fs_flags &= ~FS_SUJ; >>> >> > + sblock.fs_sujfree = 0; >>> >> > + warnx("remove .sujournal to >>> >> > reclaim space"); >>> >> > + } >>> >> > sblock.fs_flags &= ~FS_DOSOFTDEP; >>> >> > warnx("%s cleared", name); >>> >> > } >>> >> >>> > I think that attempting to disable SU if SUJ >>> > is enabled should just fail with an error message. The sysadmin can >>> > then >>> > choose to disable both SUJ and SU if desired. >>> >>> If SU is disabled and One tries to enable SUJ then SU will be >>> automatically enabled. >>> So Why not automatically disable SUJ when One tries to disable SU? >> >> I'm probably not a big fan of either really. :) For something as rarely >> done >> as tunefs I would prefer to err on the side of caution and require the admin >> to explicitly specify everything. > > Hi John. I agree with you, I do prefer a fail of tunefs in this > situation. Before of I have posted the first patch I have done another > one that fails to enable SUJ when SU is disabled and fails to disable > SU when SUJ is enabled. Now this patch is bellow and attached. > > *All the stuff that I will say bellow is based on the attached patch* > > The attached patch fails to disable SU when SUJ is enabled. > And it fails to enable SUJ when SU is disabled. > > Earlier I decided to not post the patch because it will cause > confusion when SU and SUJ is disabled and you try to do something such > as: > # tunefs -j enable -n enable /dev/ad2s1d > > The flags's processing order is alphabetically, so It will try to > enable SUJ first (and it will fail) and after it will enable SU. We > could resolve this by processing '-n' (SU) first and after '-j' (SUJ) > but this schema will make to fail the following command: > # tunefs -j disable -n disable /dev/ad2s1d > > So I think we could create a function for each flag to be processed > and the main() calls this functions as necessary (and main() disabled > the relative flag so the function will not be called again). > > But I'm just a curious doing trivial patches, You can talk about this > with more experience and knowlege. > > =patch== > > Index: sbin/tunefs/tunefs.c > === > --- sbin/tunefs/tunefs.c (revision 208584) > +++ sbin/tunefs/tunefs.c (working copy) > @@ -341,16 +341,19 @@ > if (jflag) { > name = "soft updates journaling"; > if (strcmp(jvalue, "enable") == 0) { > - if ((sblock.fs_flags & (FS_DOSOFTDEP | FS_SUJ)) == > - (FS_DOSOFTDEP | FS_SUJ)) { > + if ((sblock.fs_flags & FS_SUJ) == FS_SUJ) { > warnx("%s remains unchanged as enabled", name); > + } else if ((sblock.fs_flags & FS_DOSOFTDEP) != > + FS_DOSOFTDEP) { > + warnx("%s cannot be enabled until soft updates is enabled", > + name); > } else if (sblock.fs_clean == 0) { > warnx("%s cannot be enabled until fsck is run", > name); > } else if (journal_alloc(Svalue) != 0) { > warnx("%s can n
Re: SUJ Changes
On Thu, May 27, 2010 at 8:47 AM, John Baldwin wrote: > On Thursday 27 May 2010 10:13:38 am Marcelo/Porks wrote: >> On Thu, May 27, 2010 at 10:33 AM, John Baldwin wrote: >> > On Wednesday 26 May 2010 7:56:24 pm Garrett Cooper wrote: >> >> On Wed, May 26, 2010 at 3:52 PM, Marcelo/Porks > wrote: >> >> > >> >> > Hi guys. I'm not sure if I could call this a problem but I can disable >> >> > SU when SUJ is enabled, so SUJ will remain enabled and SU will be >> >> > disabled. >> >> > >> >> > #tunefs -j enable /dev/device >> >> > #tunefs -n disable /dev/device >> >> > >> >> > I did a patch for sbin/tunefs/tunefs.c that disable SUJ when the user >> >> > disable SU. Maybe this will be useful for some of you. >> >> > >> >> > Thanks. >> >> > >> >> > >> >> > Index: sbin/tunefs/tunefs.c >> >> > === >> >> > --- sbin/tunefs/tunefs.c (revision 208580) >> >> > +++ sbin/tunefs/tunefs.c (working copy) >> >> > @@ -460,6 +460,14 @@ >> >> > if ((~sblock.fs_flags & FS_DOSOFTDEP) == >> > FS_DOSOFTDEP) >> >> > warnx("%s remains unchanged as > disabled", >> > name); >> >> > else { >> >> > + /* also disable SUJ */ >> >> > + if ((sblock.fs_flags & FS_SUJ) == > FS_SUJ) >> > { >> >> > + warnx("soft updates journaling >> >> > will be disabled too"); >> >> > + journal_clear(); >> >> > + sblock.fs_flags &= ~FS_SUJ; >> >> > + sblock.fs_sujfree = 0; >> >> > + warnx("remove .sujournal to >> >> > reclaim space"); >> >> > + } >> >> > sblock.fs_flags &= ~FS_DOSOFTDEP; >> >> > warnx("%s cleared", name); >> >> > } >> >> >> > I think that attempting to disable SU if SUJ >> > is enabled should just fail with an error message. The sysadmin can then >> > choose to disable both SUJ and SU if desired. >> >> If SU is disabled and One tries to enable SUJ then SU will be >> automatically enabled. >> So Why not automatically disable SUJ when One tries to disable SU? > > I'm probably not a big fan of either really. :) For something as rarely done > as tunefs I would prefer to err on the side of caution and require the admin > to explicitly specify everything. Yeah... I suppose that makes more functional sense. -Garrett ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: SUJ Changes
On 5/27/10, Garrett Cooper wrote: > On Thu, May 27, 2010 at 3:44 PM, Marcelo/Porks > wrote: >> On 5/27/10, John Baldwin wrote: >>> On Thursday 27 May 2010 10:13:38 am Marcelo/Porks wrote: On Thu, May 27, 2010 at 10:33 AM, John Baldwin wrote: > On Wednesday 26 May 2010 7:56:24 pm Garrett Cooper wrote: >> On Wed, May 26, 2010 at 3:52 PM, Marcelo/Porks >> >> >>> wrote: >> > >> > Hi guys. I'm not sure if I could call this a problem but I can >> > disable >> > SU when SUJ is enabled, so SUJ will remain enabled and SU will be >> > disabled. >> > >> > #tunefs -j enable /dev/device >> > #tunefs -n disable /dev/device >> > >> > I did a patch for sbin/tunefs/tunefs.c that disable SUJ when the >> > user >> > disable SU. Maybe this will be useful for some of you. >> > >> > Thanks. >> > >> > >> > Index: sbin/tunefs/tunefs.c >> > === >> > --- sbin/tunefs/tunefs.c(revision 208580) >> > +++ sbin/tunefs/tunefs.c(working copy) >> > @@ -460,6 +460,14 @@ >> >if ((~sblock.fs_flags & FS_DOSOFTDEP) == > FS_DOSOFTDEP) >> >warnx("%s remains unchanged as >>> disabled", > name); >> >else { >> > + /* also disable SUJ */ >> > + if ((sblock.fs_flags & FS_SUJ) == >>> FS_SUJ) > { >> > + warnx("soft updates >> > journaling >> > will be disabled too"); >> > + journal_clear(); >> > + sblock.fs_flags &= ~FS_SUJ; >> > + sblock.fs_sujfree = 0; >> > + warnx("remove .sujournal to >> > reclaim space"); >> > + } >> >sblock.fs_flags &= ~FS_DOSOFTDEP; >> >warnx("%s cleared", name); >> >} >> > I think that attempting to disable SU if SUJ > is enabled should just fail with an error message. The sysadmin can > then > choose to disable both SUJ and SU if desired. If SU is disabled and One tries to enable SUJ then SU will be automatically enabled. So Why not automatically disable SUJ when One tries to disable SU? >>> >>> I'm probably not a big fan of either really. :) For something as rarely >>> done >>> as tunefs I would prefer to err on the side of caution and require the >>> admin >>> to explicitly specify everything. >> >> Hi John. I agree with you, I do prefer a fail of tunefs in this >> situation. Before of I have posted the first patch I have done another >> one that fails to enable SUJ when SU is disabled and fails to disable >> SU when SUJ is enabled. Now this patch is bellow and attached. >> >> *All the stuff that I will say bellow is based on the attached patch* >> >> The attached patch fails to disable SU when SUJ is enabled. >> And it fails to enable SUJ when SU is disabled. >> >> Earlier I decided to not post the patch because it will cause >> confusion when SU and SUJ is disabled and you try to do something such >> as: >> # tunefs -j enable -n enable /dev/ad2s1d >> >> The flags's processing order is alphabetically, so It will try to >> enable SUJ first (and it will fail) and after it will enable SU. We >> could resolve this by processing '-n' (SU) first and after '-j' (SUJ) >> but this schema will make to fail the following command: >> # tunefs -j disable -n disable /dev/ad2s1d >> >> So I think we could create a function for each flag to be processed >> and the main() calls this functions as necessary (and main() disabled >> the relative flag so the function will not be called again). >> >> But I'm just a curious doing trivial patches, You can talk about this >> with more experience and knowlege. >> >> =patch== >> >> Index: sbin/tunefs/tunefs.c >> === >> --- sbin/tunefs/tunefs.c(revision 208584) >> +++ sbin/tunefs/tunefs.c(working copy) >> @@ -341,16 +341,19 @@ >>if (jflag) { >>name = "soft updates journaling"; >>if (strcmp(jvalue, "enable") == 0) { >> - if ((sblock.fs_flags & (FS_DOSOFTDEP | FS_SUJ)) == >> - (FS_DOSOFTDEP | FS_SUJ)) { >> + if ((sblock.fs_flags & FS_SUJ) == FS_SUJ) { >>warnx("%s remains unchanged as enabled", name); >> + } else if ((sblock.fs_flags & FS_DOSOFTDEP) != >> + FS_DOSOFTDEP) { >> + warnx("%s cannot be enabled until soft updates is >> enabled", >> + name); >>} else if (sblock.fs_clean == 0) { >>