Re: latest 8.1 hangs on xpt_config
> On Fri, Jul 23, 2010 at 09:35:55AM +0300, Daniel Braniss wrote: > > It seems that the latest changes (last 7 days) introduced this problem: > > ... > > run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config > > run_interrupt_driven_hooks: still waiting after 120 seconds for xpt_config > > run_interrupt_driven_hooks: still waiting after 180 seconds for xpt_config > > run_interrupt_driven_hooks: still waiting after 240 seconds for xpt_config > > ... > > > > i'll try to hunt this down, but any help is welcome. > > Recent to semi-recent commits relevant to xpt that I can find The > problem might not be even in xpt though. Which xpt piece pertains to > you probably depends on your system setup/configuration. Dates/times > are in PDT/UTC-0700: > > -rw-r--r--1 root wheel 6037 1 Mar 22:48 > /usr/src/sys/cam/cam_xpt_internal.h > -rw-r--r--1 root wheel 124773 9 May 10:19 > /usr/src/sys/cam/cam_xpt.c > -rw-r--r--1 root wheel 72556 23 May 10:41 > /usr/src/sys/cam/scsi/scsi_xpt.c > -rw-r--r--1 root wheel 56663 19 Jul 05:28 > /usr/src/sys/cam/ata/ata_xpt.c > > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/cam_xpt_internal.h > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/cam_xpt.c > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/scsi/scsi_xpt.c > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/ata/ata_xpt.c thanks Jeremy, i'll try and make some sence of the changes. here is some more info: there are one disk and one dvd connected via SATA CPU: Intel(R) Core(TM) i5 CPU 660 @ 3.33GHz (3325.02-MHz K8-class CPU)^M Origin = "GenuineIntel" Id = 0x20652 Family = 6 Model = 25 Stepping = 2^M Features=0xbfebfbff^M Features2=0x298e3ff^M AMD Features=0x28100800^M AMD Features2=0x1^M ... atapci0: port 0xf0f0-0xf0f7,0xf0e0-0xf0e3,0xf0d0-0xf0d7,0xf0c0-0xf0c3,0xf0b0-0xf0bf irq 18 at device 22.2 on pci0^M atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xf0b0^M ioapic0: routing intpin 18 (PCI IRQ 18) to lapic 0 vector 49^M atapci0: [MPSAFE]^M atapci0: [ITHREAD]^M ata2: on atapci0^M atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0xf0f0^M atapci0: Reserved 0x4 bytes for rid 0x14 type 4 at 0xf0e0^M ata2: reset tp1 mask=03 ostat0=7f ostat1=7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: stat1=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata2: reset tp2 stat0=ff stat1=ff devices=0x0^M ata2: [MPSAFE]^M ata2: [ITHREAD]^M ata3: on atapci0^M atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0xf0d0^M atapci0: Reserved 0x4 bytes for rid 0x1c type 4 at 0xf0c0^M ata3: reset tp1 mask=03 ostat0=7f ostat1=7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat0=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: stat1=0x7f err=0x7f lsb=0x7f msb=0x7f^M ata3: reset tp2 stat0=ff stat1=ff devices=0x0^M ata3: [MPSAFE]^M ata3: [ITHREAD]^M ... ahci0: port 0xf090-0xf097,0xf080-0xf083,0xf070-0xf077,0xf060-0xf063,0xf020-0xf03f mem 0xfe425000-0xfe4257ff irq 19 at device 31.2 on pci0^M ahci0: Reserved 0x800 bytes for rid 0x24 type 3 at 0xfe425000^M ahci0: attempting to allocate 1 MSI vectors (1 supported)^M msi: routing MSI IRQ 257 to local APIC 0 vector 53^M ahci0: using IRQ 257 for MSI^M ahci0: [MPSAFE]^M ahci0: [ITHREAD]^M ahci0: AHCI v1.30 with 6 3Gbps ports, Port Multiplier not supported^M ahci0: Caps: 64bit NCQ SNTF MPS ALP AL CLO 3Gbps PMD SSC PSC 32cmd EM eSATA 6ports^M ahci0: Caps2: APST^M ahci0: EM Caps: ALHD XMT SMB LED^M ahcich0: at channel 0 on ahci0^M ahcich0: [MPSAFE]^M ahcich0: [ITHREAD]^M ahcich0: Caps:^M ahcich1: at channel 1 on ahci0^M ahcich1: [MPSAFE]^M ahcich1: [ITHREAD]^M ahcich1: Caps:^M ahcich2: at channel 4 on ahci0^M ahcich2: [MPSAFE]^M ahcich2: [ITHREAD]^M ahcich2: Caps: HPCP ESP^M ... ata2: Identifying devices: ^M ata2: New devices: ^M ata3: Identifying devices: ^M ata3: New devices: ^M usbus0: 480Mbps High Speed USB v2.0^M usbus1: 480Mbps High Speed USB v2.0^M ahcich0: AHCI reset...^M ugen0.1: at usbu
Re: latest 8.1 hangs on xpt_config
Daniel Braniss wrote: >> On Fri, Jul 23, 2010 at 09:35:55AM +0300, Daniel Braniss wrote: >>> It seems that the latest changes (last 7 days) introduced this problem: >>> ... >>> run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config >>> run_interrupt_driven_hooks: still waiting after 120 seconds for xpt_config >>> run_interrupt_driven_hooks: still waiting after 180 seconds for xpt_config >>> run_interrupt_driven_hooks: still waiting after 240 seconds for xpt_config >>> ... >>> >>> i'll try to hunt this down, but any help is welcome. >> Recent to semi-recent commits relevant to xpt that I can find The >> problem might not be even in xpt though. Which xpt piece pertains to >> you probably depends on your system setup/configuration. Dates/times >> are in PDT/UTC-0700: >> >> -rw-r--r--1 root wheel 6037 1 Mar 22:48 >> /usr/src/sys/cam/cam_xpt_internal.h >> -rw-r--r--1 root wheel 124773 9 May 10:19 >> /usr/src/sys/cam/cam_xpt.c >> -rw-r--r--1 root wheel 72556 23 May 10:41 >> /usr/src/sys/cam/scsi/scsi_xpt.c >> -rw-r--r--1 root wheel 56663 19 Jul 05:28 >> /usr/src/sys/cam/ata/ata_xpt.c >> >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/cam_xpt_internal.h >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/cam_xpt.c >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/scsi/scsi_xpt.c >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/ata/ata_xpt.c > > thanks Jeremy, i'll try and make some sence of the changes. > > here is some more info: > there are one disk and one dvd connected via SATA I recently had report about alike problem with "PIONEER DVD-RW DVR-215 1.19" drive. Don't you have the same device or another Pioneer? In that case this patch: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/ata/ata_xpt.c.diff?r1=1.3.2.29;r2=1.3.2.30;f=h allowed system to boot, though problem seemed to be hardware. Try this patch, it at least may give additional info about the problem. -- Alexander Motin ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
WITNESS is the culprit was Re: latest 8.1 hangs on xpt_config
> Daniel Braniss wrote: > >> On Fri, Jul 23, 2010 at 09:35:55AM +0300, Daniel Braniss wrote: > >>> It seems that the latest changes (last 7 days) introduced this problem: > >>> ... > >>> run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config > >>> run_interrupt_driven_hooks: still waiting after 120 seconds for xpt_config > >>> run_interrupt_driven_hooks: still waiting after 180 seconds for xpt_config > >>> run_interrupt_driven_hooks: still waiting after 240 seconds for xpt_config > >>> ... > >>> > >>> i'll try to hunt this down, but any help is welcome. > >> Recent to semi-recent commits relevant to xpt that I can find The > >> problem might not be even in xpt though. Which xpt piece pertains to > >> you probably depends on your system setup/configuration. Dates/times > >> are in PDT/UTC-0700: > >> > >> -rw-r--r--1 root wheel 6037 1 Mar 22:48 > >> /usr/src/sys/cam/cam_xpt_internal.h > >> -rw-r--r--1 root wheel 124773 9 May 10:19 > >> /usr/src/sys/cam/cam_xpt.c > >> -rw-r--r--1 root wheel 72556 23 May 10:41 > >> /usr/src/sys/cam/scsi/scsi_xpt.c > >> -rw-r--r--1 root wheel 56663 19 Jul 05:28 > >> /usr/src/sys/cam/ata/ata_xpt.c > >> > >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/cam_xpt_internal.h > >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/cam_xpt.c > >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/scsi/scsi_xpt.c > >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/ata/ata_xpt.c > > > > thanks Jeremy, i'll try and make some sence of the changes. > > > > here is some more info: > > there are one disk and one dvd connected via SATA > > I recently had report about alike problem with "PIONEER DVD-RW DVR-215 > 1.19" drive. Don't you have the same device or another Pioneer? > > In that case this patch: > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/ata/ata_xpt.c.diff?r1=1.3.2.29;r2=1.3.2.30;f=h > allowed system to boot, though problem seemed to be hardware. Try this > patch, it at least may give additional info about the problem. That was my first guess, so I detached the DVD, but the problem persisted. the device is: ATAPI DVD A DH16AAS JL34> Removable CD-ROM SCSI-0 device anyways, I compiled a kernel without WITNESS, and it now works ok! thanks all, danny ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: WITNESS is the culprit was Re: latest 8.1 hangs on xpt_config
Daniel Braniss wrote: >> Daniel Braniss wrote: On Fri, Jul 23, 2010 at 09:35:55AM +0300, Daniel Braniss wrote: > It seems that the latest changes (last 7 days) introduced this problem: > ... > run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config > run_interrupt_driven_hooks: still waiting after 120 seconds for xpt_config > run_interrupt_driven_hooks: still waiting after 180 seconds for xpt_config > run_interrupt_driven_hooks: still waiting after 240 seconds for xpt_config > ... > > i'll try to hunt this down, but any help is welcome. Recent to semi-recent commits relevant to xpt that I can find The problem might not be even in xpt though. Which xpt piece pertains to you probably depends on your system setup/configuration. Dates/times are in PDT/UTC-0700: -rw-r--r--1 root wheel 6037 1 Mar 22:48 /usr/src/sys/cam/cam_xpt_internal.h -rw-r--r--1 root wheel 124773 9 May 10:19 /usr/src/sys/cam/cam_xpt.c -rw-r--r--1 root wheel 72556 23 May 10:41 /usr/src/sys/cam/scsi/scsi_xpt.c -rw-r--r--1 root wheel 56663 19 Jul 05:28 /usr/src/sys/cam/ata/ata_xpt.c http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/cam_xpt_internal.h http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/cam_xpt.c http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/scsi/scsi_xpt.c http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/ata/ata_xpt.c >>> thanks Jeremy, i'll try and make some sence of the changes. >>> >>> here is some more info: >>> there are one disk and one dvd connected via SATA >> I recently had report about alike problem with "PIONEER DVD-RW DVR-215 >> 1.19" drive. Don't you have the same device or another Pioneer? >> >> In that case this patch: >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cam/ata/ata_xpt.c.diff?r1=1.3.2.29;r2=1.3.2.30;f=h >> allowed system to boot, though problem seemed to be hardware. Try this >> patch, it at least may give additional info about the problem. > > That was my first guess, so I detached the DVD, but the problem persisted. > the device is: > ATAPI DVD A DH16AAS JL34> Removable CD-ROM SCSI-0 device > > anyways, I compiled a kernel without WITNESS, and it now works ok! That's hardly a solution or reason. Still please try the patch (or fresh 8-STABLE with it), may be it tell more. -- Alexander Motin ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: WITNESS is the culprit was Re: latest 8.1 hangs on xpt_config
> That's hardly a solution or reason. of course it's not, just that last successful boot had WITNESS configured, and with the latest patches it hang, compiling without WITNESS allowed the boot to proceed. > Still please try the patch (or fresh > 8-STABLE with it), may be it tell more. > according to my logs (i do some hulahups sync'ing via svn/hg which makes it abit of a problem following versions :-) your patch seems to be all ready in my kernel: hg log ata_xpt.c -p changeset: 2939:440362ab79cb branch: 8 tag: tip parent: 2938:fc1c9d5f4b38 parent: 2937:846cb2242d34 user:da...@cs.huji.ac.il date:Fri Jul 23 08:41:24 2010 +0300 summary: -- merge from head -- diff -r fc1c9d5f4b38 -r 440362ab79cb sys/cam/ata/ata_xpt.c --- a/sys/cam/ata/ata_xpt.c Fri Jul 23 08:40:46 2010 +0300 +++ b/sys/cam/ata/ata_xpt.c Fri Jul 23 08:41:24 2010 +0300 @@ -134,6 +134,7 @@ uint32_tpm_prv; int restart; int spinup; + int faults; u_int caps; struct cam_periph *periph; } probe_softc; @@ -738,14 +739,28 @@ ident_buf = &path->device->ident_data; if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { -device_fail: if ((!softc->restart) && - cam_periph_error(done_ccb, 0, 0, NULL) == ERESTART) { + if (softc->restart) { + if (bootverbose) { + cam_error_print(done_ccb, + CAM_ESF_ALL, CAM_EPF_ALL); + } + } else if (cam_periph_error(done_ccb, 0, 0, NULL) == ERESTART) return; - } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { + if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { /* Don't wedge the queue */ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } + if (softc->restart) { + softc->faults++; + if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == + CAM_CMD_TIMEOUT) + softc->faults += 4; + if (softc->faults < 10) + goto done; + else + softc->restart = 0; + } else /* Old PIO2 devices may not support mode setting. */ if (softc->action == PROBE_SETMODE && ata_max_pmode(ident_buf) <= ATA_PIO2 && @@ -761,7 +776,7 @@ * already marked unconfigured, notify the peripheral * drivers that this device is no more. */ - if ((path->device->flags & CAM_DEV_UNCONFIGURED) == 0) +device_fail: if ((path->device->flags & CAM_DEV_UNCONFIGURED) == 0) xpt_async(AC_LOST_DEVICE, path, NULL); found = 0; goto done; @@ -1209,6 +1224,12 @@ !(work_ccb->cpi.hba_misc & PIM_NOBUSRESET) && !timevalisset(&request_ccb->ccb_h.path->bus->last_reset)) { reset_ccb = xpt_alloc_ccb_nowait(); + if (reset_ccb == NULL) { + request_ccb->ccb_h.status = CAM_RESRC_UNAVAIL; + xpt_free_ccb(work_ccb); + xpt_done(request_ccb); + return; + } xpt_setup_ccb(&reset_ccb->ccb_h, request_ccb-> ccb_h.path, CAM_PRIORITY_NONE); reset_ccb->ccb_h.func_code = XPT_RESET_BUS; @@ -1228,6 +1249,7 @@ malloc(sizeof(ata_scan_bus_info), M_CAMXPT, M_NOWAIT); if (scan_info == NULL) { request_ccb->ccb_h.status = CAM_RESRC_UNAVAIL; + xpt_free_ccb(work_ccb); xpt_done(request_ccb); return; } cheers, danny ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
900.tcpwrap and stale log messages
Hiya Early this morning I read through the daily status e-mails from a server I administer. I was unpleasantly surprised to see a refused ssh connection from an external IP address, which shouldn't be possible since the machine is only accessible via a VPN :-O It wasn't until after I'd spoken to the network admin I realised what the problem was - /var/log/messages contained log messages that spanned back into 2009 (the machine is only used for SVN access so isn't very busy), and 900.tcpwrap had taken entries from both July 22 2010 (yesterday) and July 22nd 2009, when the machine was on a different network... :-( How. Embarrassing. It isn't really 900.tcpwrap's fault as the log messages only record the month, date and time, but is there any reason why the year isn't recorded in the log too? I realise this issue isn't likely to come up often, but it should be fairly easy to prevent. Cheers, --Jon ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Floppy driver broken on 8.1-PRERELEASE?
Hi guys, can please someone explain what the heck this is good for? $ uname -a FreeBSD unicorn.tsht.lan 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #9: Wed Jul 7 15:31:25 CEST 2010 r...@unicorn.tsht.lan:/data/FreeBSD/obj/data/FreeBSD/src/sys/UNICORN i386 $ fdformat /dev/fd0 Format 1440K floppy `/dev/fd0'? (y/n): y Processing done. $ dd if=/dev/fd0 of=/dev/null bs=1440k dd: /dev/fd0: Input/output error 0+0 records in 0+0 records out 0 bytes transferred in 1.119664 secs (0 bytes/sec) $ dd if=/dev/fd0 of=/dev/null bs=18k 80+0 records in 80+0 records out 1474560 bytes transferred in 47.954204 secs (30749 bytes/sec) $ mformat -s18 -h2 -t80 a: $ mcopy cool111.exe a: plain_io: Input/output error buffer_flush: write: Input/output error write in copy: Input/output error plain_io: Input/output error buffer_flush: write: Input/output error plain_io: Input/output error buffer_flush: write: Input/output error plain_io: Input/output error buffer_flush: write: Input/output error plain_io: Input/output error buffer_flush: write: Input/output error plain_io: Input/output error buffer_flush: write: Input/output error $ mdir a: Volume in drive A has no label Volume Serial Number is 070F-B873 Directory for A:/ cool111 exe131072 2010-07-23 12:12 cool111.exe 1 file 131 072 bytes 1 195 520 bytes free $ ls -l cool111.exe -rw-r--r-- 1 holm holm 623235 Jul 20 21:09 cool111.exe $ ...and no, this is not abroken floppy, tried several of them already. Why I can't read 1440K blocks from the floppy anymore? dmesg.boot: Copyright (c) 1992-2010 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.1-PRERELEASE #9: Wed Jul 7 15:31:25 CEST 2010 r...@unicorn.tsht.lan:/data/FreeBSD/obj/data/FreeBSD/src/sys/UNICORN i386 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Athlon(tm) XP 3000+ (2109.49-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x6a0 Family = 6 Model = a Stepping = 0 Features=0x383fbff AMD Features=0xc0400800 real memory = 2147483648 (2048 MB) avail memory = 2092113920 (1995 MB) kbd1 at kbdmux0 acpi0: on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: reservation of 0, a (3) failed acpi0: reservation of 10, 7fef (3) failed cpu0: on acpi0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 agp0: on hostb0 agp0: aperture size is 128M pcib1: at device 1.0 on pci0 pci1: on pcib1 vgapci0: port 0x9000-0x90ff mem 0xd800-0xdfff,0xe900-0xe900 irq 15 at device 0.0 on pci1 drm0: on vgapci0 vgapci0: child drm0 requested pci_enable_busmaster info: [drm] AGP at 0xd000 128MB info: [drm] Initialized radeon 1.31.0 20080613 vgapci1: mem 0xe000-0xe7ff,0xe901-0xe901 at device 0.1 on pci1 de0: port 0xa000-0xa07f mem 0xeb003000-0xeb00307f irq 15 at device 9.0 on pci0 de0: Cogent 21040 [10Mb/s] pass 2.3 de0: WARNING: using obsoleted if_watchdog interface de0: Ethernet address: 00:00:92:90:09:8d de0: [ITHREAD] puc0: port 0xa400-0xa407,0xa800-0xa807,0xac00-0xac1f mem 0xeb00-0xeb000fff,0xeb001000-0xeb001fff irq 5 at device 10.0 on pci0 puc0: [FILTER] uart2: <16550 or compatible> on puc0 uart2: [FILTER] uart3: <16550 or compatible> on puc0 uart3: [FILTER] ahc0: port 0xb000-0xb0ff mem 0xeb002000-0xeb002fff irq 11 at device 11.0 on pci0 ahc0: [ITHREAD] aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs amd0: port 0xb400-0xb47f irq 15 at device 13.0 on pci0 amd0: [GIANT-LOCKED] amd0: [ITHREAD] uhci0: port 0xb800-0xb81f irq 15 at device 16.0 on pci0 uhci0: [ITHREAD] usbus0: on uhci0 uhci1: port 0xbc00-0xbc1f irq 15 at device 16.1 on pci0 uhci1: [ITHREAD] usbus1: on uhci1 uhci2: port 0xc000-0xc01f irq 5 at device 16.2 on pci0 uhci2: [ITHREAD] usbus2: on uhci2 ehci0: mem 0xeb004000-0xeb0040ff irq 11 at device 16.3 on pci0 ehci0: [ITHREAD] usbus3: EHCI version 1.0 usbus3: on ehci0 isab0: at device 17.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xc400-0xc40f at device 17.1 on pci0 ata0: on atapci0 ata0: [ITHREAD] ata1: on atapci0 ata1: [ITHREAD] pcm0: port 0xc800-0xc8ff irq 5 at device 17.5 on pci0 pcm0: [ITHREAD] pcm0: pcm0: rl0: port 0xcc00-0xccff mem 0xeb005000-0xeb0050ff irq 5 at device 19.0 on pci0 miibus0: on rl0 rlphy0: PHY 0 on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto rl0: Ethernet address: 00:0d:61:c3:c4:5a rl0: [ITHREAD] atrtc0: port 0x70-0x73 irq 8 on acpi0 fdc0: port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FILTER] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 fd1: <1200-KB 5.25" drive> on fdc0 drive 1 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: [FILTER] uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 uart1:
Re: 900.tcpwrap and stale log messages
On Fri, Jul 23, 2010 at 11:48:16AM +0100, Jonathan Belson wrote: > Early this morning I read through the daily status e-mails from a > server I administer. I was unpleasantly surprised to see a refused > ssh connection from an external IP address, which shouldn't be > possible since the machine is only accessible via a VPN :-O > > It wasn't until after I'd spoken to the network admin I realised > what the problem was - /var/log/messages contained log messages that > spanned back into 2009 (the machine is only used for SVN access so > isn't very busy), and 900.tcpwrap had taken entries from both July > 22 2010 (yesterday) and July 22nd 2009, when the machine was on a > different network... :-( How. Embarrassing. > > It isn't really 900.tcpwrap's fault as the log messages only record > the month, date and time, but is there any reason why the year isn't > recorded in the log too? I realise this issue isn't likely to come > up often, but it should be fairly easy to prevent. You've opened a big can of worms. Congratulations. :-) The crux of the problem is that syslog doesn't log the year. Thus, /var/log/messages and /var/log/messages.*.{gz,bz2} only contain entries that contain month and day, as I'm sure you've noticed. /etc/periodic/security/900.tcpwrap explicitly goes looking for lines in /var/log/messages and /var/log/messages.*.{gz,bz2} that contain a string matching output from: date -v-1d "+%b %e " You can't solve this problem by rotating your /var/log/messages file, for example, on a daily basis, because the script explicitly looks at /var/log/messages and /var/log/messages.*.{gz,bz2}. The only solution, as I see it, is to do all of these things: 1a) Change /etc/newsyslog.conf to rotate your /var/log/messages file on a daily basis, rather than based on size. 1b) The rotation should happen sometime *after* 900.tcpwrap runs (it's a daily script, so that means it runs at 03:01 every day local time). 2a) Change 900.tcpwrap to only look at /var/log/messages and not /var/log/messages.*.{gz,bz2}. 2b) Since changing things in /etc/periodic/security won't stick during mergemaster (unless you use IGNORE_FILES in /etc/rc/mergemaster.rc), you should probably put your version of the script in /usr/local/etc/periodic/security and change the names of the rc variables to key off of something that doesn't conflict with the base system version. There are other solutions, of course, but they'd require touching a lot of things and probably breaking historic naming conventions and expectations. -- | Jeremy Chadwick j...@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On 7/22/2010 9:51 PM, Pawel Tyll wrote: So... the smaller size won't mess things up... If by smaller size you mean smaller size of existing drives/partitions, then growing zpools by replacing smaller vdevs with larger ones is supported and works. What isn't supported is basically everything else: - you can't change number of raid columns (add/remove vdevs from raid) - you can't change number of parity columns (raidz1->2 or 3) - you can't change vdevs to smaller ones, even if pool's free space would permit that. Isn't what I'm doing breaking the last one? Good news is these features are planned/being worked on. If you can attach more drives to your system without disconnecting existing drives, then you can grow your pool pretty much risk-free. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org" -- Dan Langille - http://langille.org/ ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
Dan Langille wrote: Thank you to all the helpful discussion. It's been very helpful and educational. Based on the advice and suggestions, I'm going to adjust my original plan as follows. [ ... ] Since I still have the medium-sized ZFS array on the bench, testing this GPT setup seemed like a good idea. The hardware's a Supermicro X8DTL-iF m/b + 12Gb memory, 2x 5502 Xeons, 3x Supermicro USASLP-L8I 3G SAS controllers and 24x Hitachi 2Tb drives. Partitioning the drives with the command-line: gpart add -s 1800G -t freebsd-zfs -l disk00 da0[1] gave the following results with bonnie-64: (Bonnie -r -s 5000|2|5)[2] ---Sequential Output ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- GB M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU /sec %CPU 5 97.7 92.8 387.2 40.1 341.8 45.7 178.7 81.6 972.4 54.7 335 1.5 20 98.0 87.0 434.9 45.2 320.9 42.5 141.4 87.4 758.0 53.5 178 1.6 50 98.0 92.0 435.7 46.0 325.4 44.7 143.4 93.1 788.6 57.1 140 1.5 Repartitioning with gpart add -b 1024 -s 1800G -t freebsd-zfs -l disk00 da0[1] gave the following: ---Sequential Output ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- GB M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU /sec %CPU 5 97.8 93.4 424.5 45.4 338.4 46.1 180.0 93.9 934.9 57.8 308 1.5 20 97.6 91.7 448.4 49.2 338.5 45.9 176.1 91.8 914.7 57.3 180 1.3 50 96.3 90.3 452.8 47.6 330.9 44.7 174.8 74.5 917.9 53.6 134 1.2 ... So it would seem that bothering to align the blocks does make a difference. For an apples/oranges comparison, here's the output from the other box we built. The hardware's more or less the same - the drive controller's an Areca-1280, but the OS was Solaris 10.latest: Sequential Output--- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- GB M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU /sec %CPU 5 116.8 75.0 524.7 65.4 156.3 20.3 161.6 99.2 2924.0 100.0 19 300.0 20 139.9 95.4 503.5 51.7 106.6 13.4 97.6 62.0 133.0 8.8 346 4.2 50 147.4 95.8 465.8 50.1 106.1 13.5 97.9 62.5 143.8 8.7 195 4.1 [1] da0 - da23, obviously. [2] Our assumption locally is that the first test is likely just stressing the bandwidth to memory and the ZFS cache. -- JH-R ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Unable to install 8.x on a PowerEdge R810
On Thu, 2010-07-22 at 17:51 -0700, Chuck Swiger wrote: > Hi, Mahlon-- > > On Jul 22, 2010, at 5:36 PM, Mahlon E. Smith wrote: > > Install worked great, though it appears I need to keep hyperthreading > > ("logical processors" bios option) disabled for it to boot reliably. > > Similar errors as before if I enable it. > > I believe FreeBSD ships with MAXCPU set to 32 by default (check "sysctl > kern.smp.maxcpus"); your machine with hyperthreading enabled probably goes > past that #, which is why it crashes with the topology error being > reported > > Regards, confirmed. Yahoo has modified FreeBSD SMP CPU code to handle up to 64 CPUS, I think I'll take a look at it and try to get it committed to HEAD today. Sean ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Unable to install 8.x on a PowerEdge R810
On Thu, 2010-07-22 at 17:51 -0700, Chuck Swiger wrote: > Hi, Mahlon-- > > On Jul 22, 2010, at 5:36 PM, Mahlon E. Smith wrote: > > Install worked great, though it appears I need to keep hyperthreading > > ("logical processors" bios option) disabled for it to boot reliably. > > Similar errors as before if I enable it. > > I believe FreeBSD ships with MAXCPU set to 32 by default (check "sysctl > kern.smp.maxcpus"); your machine with hyperthreading enabled probably goes > past that #, which is why it crashes with the topology error being > reported > > Regards, confirmed. Yahoo has modified FreeBSD SMP CPU code to handle up to 64 CPUS, I think I'll take a look at it and try to get it committed to HEAD today. Sean ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On Thu, Jul 22, 2010 at 8:22 PM, Pawel Tyll wrote: >> I do not think I can adjust the existing zpool on the fly. I think I >> need to copy everything elsewhere (i.e the 2 empty drives). Then start >> the new zpool from scratch. > You can, and you should (for educational purposes if not for fun :>), > unless you wish to change raidz1 to raidz2. Replace, wait for > resilver, if redoing used disk then offline it, wipe magic with dd > (16KB at the beginning and end of disk/partition will do), carry on > with GPT, rinse and repeat with next disk. When last vdev's replace > finishes, your pool will grow automagically. > If you do do it like this, be sure to leave the drive you are replacing attached to the array. Otherwise, in a raidz, if you were to suffer a disk failure on one of the other disks whilst replacing/growing the array, your raidz would be badly broken. Other than that, I can thoroughly recommend this method, I had data on 2 x 1.5 TB drives, and set up my raidz initially with 4 x 1.5 TB, 2 x 0.5 TB, copying data off the 1.5 TB drives onto the array and replacing each 0.5 TB drive when done. Cheers Tom ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On Fri, 23 Jul 2010, John Hawkes-Reed wrote: JH> Since I still have the medium-sized ZFS array on the bench, testing this GPT JH> setup seemed like a good idea. JH> JH> The hardware's a Supermicro X8DTL-iF m/b + 12Gb memory, 2x 5502 Xeons, 3x JH> Supermicro USASLP-L8I 3G SAS controllers and 24x Hitachi 2Tb drives. [snip] JH> For an apples/oranges comparison, here's the output from the other box we JH> built. The hardware's more or less the same - the drive controller's an JH> Areca-1280, but the OS was Solaris 10.latest: JH> JH>Sequential Output--- ---Sequential Input-- --Random-- JH>-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- JH> JH> GB M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU /sec %CPU JH> 5 116.8 75.0 524.7 65.4 156.3 20.3 161.6 99.2 2924.0 100.0 19 300.0 . ~~ Frakking Cylons! You have quite a beast! ;-) -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: ma...@freebsd.org ] *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- ma...@rinet.ru *** ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On 23/07/2010 19:04, Dmitry Morozovsky wrote: On Fri, 23 Jul 2010, John Hawkes-Reed wrote: JH> Since I still have the medium-sized ZFS array on the bench, testing this GPT JH> setup seemed like a good idea. JH> JH> The hardware's a Supermicro X8DTL-iF m/b + 12Gb memory, 2x 5502 Xeons, 3x JH> Supermicro USASLP-L8I 3G SAS controllers and 24x Hitachi 2Tb drives. [snip] JH> For an apples/oranges comparison, here's the output from the other box we JH> built. The hardware's more or less the same - the drive controller's an JH> Areca-1280, but the OS was Solaris 10.latest: JH> JH> Sequential Output--- ---Sequential Input-- --Random-- JH> -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- JH> JH> GB M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU M/sec %CPU /sec %CPU JH> 5 116.8 75.0 524.7 65.4 156.3 20.3 161.6 99.2 2924.0 100.0 19 300.0 . ~~ Frakking Cylons! You have quite a beast! ;-) :D Like I said, I think those numbers were the Bonnie test data fitting inside the cache. Making all the bits work together has been a bit of a nightmare, but we're really pleased with the performance and stability of 8.1 + ZFS. (Having said that, the kit will spit the drives out of the cab over the weekend for spite...) -- JH-R ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On 7/22/2010 8:47 PM, Dan Langille wrote: Thank you to all the helpful discussion. It's been very helpful and educational. Based on the advice and suggestions, I'm going to adjust my original plan as follows. NOTE: glabel will not be used. First, create a new GUID Partition Table partition scheme on the HDD: gpart create -s GPT ad0 Let's see how much space we have. This output will be used to determine SOMEVALUE in the next command. gpart show Create a new partition within that scheme: gpart add -b 1024 -s SOMEVALUE -t freebsd-zfs -l disk00 ad0 The -b 1024 ensures alignment on a 4KB boundary. SOMEVALUE will be set so approximately 200MB is left empty at the end of the HDD. That's part more than necessary to accommodate the different actualy size of 2TB HDD. Repeat the above with ad1 to get disk01. Repeat for all other HDD... Then create your zpool: zpool create bigtank gpt/disk00 gpt/disk02 ... etc This plan will be applied to an existing 5 HDD ZFS pool. I have two new empty HDD which will be added to this new array (giving me 7 x 2TB HDD). The array is raidz1 and I'm wondering if I want to go to raidz2. That would be about 10TB and I'm only using up 3.1TB at present. That represents about 4 months of backups. I do not think I can adjust the existing zpool on the fly. I think I need to copy everything elsewhere (i.e the 2 empty drives). Then start the new zpool from scratch. The risk: when the data is on the 2 spare HDD, there is no redundancy. I wonder if my friend Jerry has a spare 2TB HDD I could borrow for the evening. The work is in progress. Updates are at http://beta.freebsddiary.org/zfs-with-gpart.php which will be updated frequently as the work continues. -- Dan Langille - http://langille.org/ ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Floppy driver broken on 8.1-PRERELEASE?
Holm Tiffe wrote: > Why I can't read 1440K blocks from the floppy anymore? Perhaps something changed in the DMA driver, such that it is no longer able to handle a request exceeding 65K (which was the hardwired limit of the "original" PC DMA controller). I've long used bs=120b for floppies, and never had a problem. Why 120? # 120*512 = 61440, which is less than 65K. # For both 1.2MB and 1.44MB floppies, 120 sectors is a multiple of the track length. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On 7/22/2010 9:22 PM, Pawel Tyll wrote: I do not think I can adjust the existing zpool on the fly. I think I need to copy everything elsewhere (i.e the 2 empty drives). Then start the new zpool from scratch. You can, and you should (for educational purposes if not for fun :>), unless you wish to change raidz1 to raidz2. Replace, wait for resilver, if redoing used disk then offline it, wipe magic with dd (16KB at the beginning and end of disk/partition will do), carry on with GPT, rinse and repeat with next disk. When last vdev's replace finishes, your pool will grow automagically. Pawell and I had an online chat about part of my strategy. To be clear: I have a 5x2TB raidz1 array. I have 2x2TB empty HDD My goal was to go to raidz2 by: - copy data to empty HDD - redo the zpool to be raidz2 - copy back the data - add in the two previously empty HDD to the zpol I now understand that after a raidz array has been created, you can't add a new HDD to it. I'd like to, but it sounds like you cannot. "It is not possible to add a disk as a column to a RAID-Z, RAID-Z2, or RAID-Z3 vdev." http://en.wikipedia.org/wiki/ZFS#Limitations So, it seems I have a 5-HDD zpool and it's going to stay that way. -- Dan Langille - http://langille.org/ ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
FreeBSD 8.1-RELEASE Available
For those of you who don't subscribe to the freebsd-announce list: http://www.freebsd.org/releases/8.1R/announce.html Enjoy. -- Ken Smith - From there to here, from here to | kensm...@buffalo.edu there, funny things are everywhere. | - Theodore Geisel | signature.asc Description: This is a digitally signed message part
Re: Using GTP and glabel for ZFS arrays
On Fri, Jul 23, 2010 at 6:33 PM, Dan Langille wrote: > Pawell and I had an online chat about part of my strategy. To be clear: > > I have a 5x2TB raidz1 array. > > I have 2x2TB empty HDD > > My goal was to go to raidz2 by: > - copy data to empty HDD > - redo the zpool to be raidz2 > - copy back the data > - add in the two previously empty HDD to the zpol > > I now understand that after a raidz array has been created, you can't add a > new HDD to it. I'd like to, but it sounds like you cannot. > > "It is not possible to add a disk as a column to a RAID-Z, RAID-Z2, or > RAID-Z3 vdev." http://en.wikipedia.org/wiki/ZFS#Limitations > > So, it seems I have a 5-HDD zpool and it's going to stay that way. You can fake it out by using sparse files for members of the new raidz2 vdev (when creating the vdev), then offline the file-based members so that you are running a degraded pool, copy the data to the pool, then replace the file-based members with physical harddrives. I've posted a theoretical method for doing so here: http://forums.freebsd.org/showpost.php?p=93889&postcount=7 It's theoretical as I have not investigated how to create sparse files on FreeBSD, nor have I done this. It's based on several posts to the zfs-discuss mailing list where several people have done this on OpenSolaris. -- Freddie Cash fjwc...@gmail.com ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Unable to install 8.x on a PowerEdge R810
On Thu, 2010-07-22 at 17:51 -0700, Chuck Swiger wrote: > Hi, Mahlon-- > > On Jul 22, 2010, at 5:36 PM, Mahlon E. Smith wrote: > > Install worked great, though it appears I need to keep hyperthreading > > ("logical processors" bios option) disabled for it to boot reliably. > > Similar errors as before if I enable it. > > I believe FreeBSD ships with MAXCPU set to 32 by default (check "sysctl > kern.smp.maxcpus"); your machine with hyperthreading enabled probably goes > past that #, which is why it crashes with the topology error being > reported > > Regards, Kind of a large patch, but in order to make an omlette, you need to break a few servers. This is a diff against -CURRENT, not stable-8 as I didn't get a chance to test it. It is directly based off of changes that peter@ made to the Yahoo FreeBSD 7 tree. I have compile and boot tested this on my local machines, but I don't have 64 CPU machines to test upon. Sean Index: sys/kern/subr_smp.c === --- sys/kern/subr_smp.c (revision 210421) +++ sys/kern/subr_smp.c (working copy) @@ -181,7 +181,7 @@ id = td->td_oncpu; if (id == NOCPU) return; - ipi_selected(1 << id, IPI_AST); + ipi_selected(cputomask(id), IPI_AST); } /* @@ -318,7 +318,7 @@ CTR1(KTR_SMP, "restart_cpus(%x)", map); /* signal other cpus to restart */ - atomic_store_rel_int(&started_cpus, map); + atomic_store_rel_long(&started_cpus, map); /* wait for each to clear its bit */ while ((stopped_cpus & map) != 0) @@ -396,11 +396,11 @@ } CPU_FOREACH(i) { - if (((1 << i) & map) != 0) + if ((cputomask(i) & map) != 0) ncpus++; } if (ncpus == 0) - panic("ncpus is 0 with map=0x%x", map); + panic("ncpus is 0 with map=0x%lx", map); /* obtain rendezvous lock */ mtx_lock_spin(&smp_ipi_mtx); @@ -416,10 +416,10 @@ atomic_store_rel_int(&smp_rv_waiters[0], 0); /* signal other processors, which will enter the IPI with interrupts off */ - ipi_selected(map & ~(1 << curcpu), IPI_RENDEZVOUS); + ipi_selected(map & ~cputomask(curcpu), IPI_RENDEZVOUS); /* Check if the current CPU is in the map */ - if ((map & (1 << curcpu)) != 0) + if ((map & cputomask(curcpu)) != 0) smp_rendezvous_action(); if (teardown_func == smp_no_rendevous_barrier) @@ -491,7 +491,7 @@ panic("Built bad topology at %p. CPU count %d != %d", top, top->cg_count, mp_ncpus); if (top->cg_mask != all_cpus) - panic("Built bad topology at %p. CPU mask 0x%X != 0x%X", + panic("Built bad topology at %p. CPU mask 0x%lX != 0x%lX", top, top->cg_mask, all_cpus); return (top); } @@ -535,7 +535,7 @@ parent->cg_children++; for (; parent != NULL; parent = parent->cg_parent) { if ((parent->cg_mask & child->cg_mask) != 0) - panic("Duplicate children in %p. mask 0x%X child 0x%X", + panic("Duplicate children in %p. mask 0x%lX child 0x%lX", parent, parent->cg_mask, child->cg_mask); parent->cg_mask |= child->cg_mask; parent->cg_count += child->cg_count; Index: sys/kern/sched_ule.c === --- sys/kern/sched_ule.c (revision 210421) +++ sys/kern/sched_ule.c (working copy) @@ -851,7 +851,7 @@ * IPI the target cpu to force it to reschedule with the new * workload. */ - ipi_selected(1 << TDQ_ID(low), IPI_PREEMPT); + ipi_cpu(TDQ_ID(low), IPI_PREEMPT); } tdq_unlock_pair(high, low); return (moved); @@ -974,7 +974,7 @@ return; } tdq->tdq_ipipending = 1; - ipi_selected(1 << cpu, IPI_PREEMPT); + ipi_cpu(cpu, IPI_PREEMPT); } /* @@ -2411,7 +2411,7 @@ cpu = ts->ts_cpu; ts->ts_cpu = sched_pickcpu(td, 0); if (cpu != PCPU_GET(cpuid)) - ipi_selected(1 << cpu, IPI_PREEMPT); + ipi_cpu(cpu, IPI_PREEMPT); #endif } @@ -2642,11 +2642,11 @@ sbuf_printf(sb, "%*s\n", indent, "", indent, cg->cg_level); - sbuf_printf(sb, "%*s ", indent, "", + sbuf_printf(sb, "%*s ", indent, "", cg->cg_count, cg->cg_mask); first = TRUE; for (i = 0; i < MAXCPU; i++) { - if ((cg->cg_mask & (1 << i)) != 0) { + if ((cg->cg_mask & cputomask(i)) != 0) { if (!first) sbuf_printf(sb, ", "); else Index: sys/kern/kern_ktr.c === --- sys/kern/kern_ktr.c (revision 210421) +++ sys/kern/kern_ktr.c (working copy) @@ -211,7 +211,7 @@ if ((ktr_mask & mask) == 0) return; cpu = KTR_CPU; - if (((1 << cpu) & ktr_cpumask) == 0) + if ((cputomask(cpu) & ktr_cpumask) == 0) return; #if defined(KTR_VERBOSE) || defined(KTR_ALQ) td = curthread; Index: sys/kern/kern_pmc.c === --- sys/kern/kern_pmc.c (revision 210421) +++ sys/kern/kern_pmc.c (working copy) @@ -34,6 +34,7 @@ #include "opt_hwpmc_hooks.h" #include +#include #include #include #include @@ -110,7 +111,7 @@ { #ifdef SMP return (pmc_cpu_is_present(cpu) && - (hlt_cpus_mask & (1 << cpu)) == 0); + (hlt_cpus_mask
Re: Using GTP and glabel for ZFS arrays
On 7/23/2010 10:25 PM, Freddie Cash wrote: On Fri, Jul 23, 2010 at 6:33 PM, Dan Langille wrote: Pawell and I had an online chat about part of my strategy. To be clear: I have a 5x2TB raidz1 array. I have 2x2TB empty HDD My goal was to go to raidz2 by: - copy data to empty HDD - redo the zpool to be raidz2 - copy back the data - add in the two previously empty HDD to the zpol I now understand that after a raidz array has been created, you can't add a new HDD to it. I'd like to, but it sounds like you cannot. "It is not possible to add a disk as a column to a RAID-Z, RAID-Z2, or RAID-Z3 vdev." http://en.wikipedia.org/wiki/ZFS#Limitations So, it seems I have a 5-HDD zpool and it's going to stay that way. You can fake it out by using sparse files for members of the new raidz2 vdev (when creating the vdev), then offline the file-based members so that you are running a degraded pool, copy the data to the pool, then replace the file-based members with physical harddrives. So I'm creating a 7 drive pool, with 5 real drives members and two file-based members. I've posted a theoretical method for doing so here: http://forums.freebsd.org/showpost.php?p=93889&postcount=7 It's theoretical as I have not investigated how to create sparse files on FreeBSD, nor have I done this. It's based on several posts to the zfs-discuss mailing list where several people have done this on OpenSolaris. I see no downside. There is no risk that "it won't work and I'll lose all the data". -- Dan Langille - http://langille.org/ ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On 24/07/2010, at 11:55, Freddie Cash wrote: > It's theoretical as I have not investigated how to create sparse files > on FreeBSD, nor have I done this. It's based on several posts to the > zfs-discuss mailing list where several people have done this on > OpenSolaris. FYI you would do.. truncate -s 1T /tmp/fake-disk1 mdconfig -a -t vnode -f /tmp/fake-disk1 etc.. Although you'd want to determine the exact size of your real disks from geom and use that. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On 7/23/2010 10:42 PM, Daniel O'Connor wrote: On 24/07/2010, at 11:55, Freddie Cash wrote: It's theoretical as I have not investigated how to create sparse files on FreeBSD, nor have I done this. It's based on several posts to the zfs-discuss mailing list where several people have done this on OpenSolaris. FYI you would do.. truncate -s 1T /tmp/fake-disk1 mdconfig -a -t vnode -f /tmp/fake-disk1 etc.. Although you'd want to determine the exact size of your real disks from geom and use that. $ dd if=/dev/zero of=/tmp/sparsefile1.img bs=1 count=0 oseek=2000G 0+0 records in 0+0 records out 0 bytes transferred in 0.25 secs (0 bytes/sec) $ ls -l /tmp/sparsefile1.img -rw-r--r-- 1 dan wheel 2147483648000 Jul 23 22:49 /tmp/sparsefile1.img $ ls -lh /tmp/sparsefile1.img -rw-r--r-- 1 dan wheel 2.0T Jul 23 22:49 /tmp/sparsefile1.img -- Dan Langille - http://langille.org/ ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On 7/23/2010 10:51 PM, Dan Langille wrote: On 7/23/2010 10:42 PM, Daniel O'Connor wrote: On 24/07/2010, at 11:55, Freddie Cash wrote: It's theoretical as I have not investigated how to create sparse files on FreeBSD, nor have I done this. It's based on several posts to the zfs-discuss mailing list where several people have done this on OpenSolaris. FYI you would do.. truncate -s 1T /tmp/fake-disk1 mdconfig -a -t vnode -f /tmp/fake-disk1 etc.. Although you'd want to determine the exact size of your real disks from geom and use that. $ dd if=/dev/zero of=/tmp/sparsefile1.img bs=1 count=0 oseek=2000G 0+0 records in 0+0 records out 0 bytes transferred in 0.25 secs (0 bytes/sec) $ ls -l /tmp/sparsefile1.img -rw-r--r-- 1 dan wheel 2147483648000 Jul 23 22:49 /tmp/sparsefile1.img $ ls -lh /tmp/sparsefile1.img -rw-r--r-- 1 dan wheel 2.0T Jul 23 22:49 /tmp/sparsefile1.img Going a bit further, and actually putting 30MB of data in there: $ rm sparsefile1.img $ dd if=/dev/zero of=/tmp/sparsefile1.img bs=1 count=0 oseek=2000G 0+0 records in 0+0 records out 0 bytes transferred in 0.30 secs (0 bytes/sec) $ ls -lh /tmp/sparsefile1.img -rw-r--r-- 1 dan wheel 2.0T Jul 23 22:59 /tmp/sparsefile1.img $ dd if=/dev/zero of=sparsefile1.img bs=1M count=30 conv=notrunc 30+0 records in 30+0 records out 31457280 bytes transferred in 0.396570 secs (79323405 bytes/sec) $ ls -l sparsefile1.img -rw-r--r-- 1 dan wheel 2147483648000 Jul 23 23:00 sparsefile1.img $ ls -lh sparsefile1.img -rw-r--r-- 1 dan wheel 2.0T Jul 23 23:00 sparsefile1.img $ -- Dan Langille - http://langille.org/ ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: Using GTP and glabel for ZFS arrays
On Fri, Jul 23, 2010 at 9:25 PM, Freddie Cash wrote: > It's theoretical as I have not investigated how to create sparse files > on FreeBSD, nor have I done this. It's based on several posts to the > zfs-discuss mailing list where several people have done this on > OpenSolaris. > Easiest way to create sparse eg 20 GB assuming test.img doesn't exist already truncate -s 20g test.img ls -sk test.img 1 test.img The other standard dd method works fine too, trucate just makes it easy. -- Adam Vande More ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"