9.0-BETA1 installer issues
I've been trying out 9.0-BETA1: it's a lot easier to install than previous releases with bsdinstall, but I spotted a few issues: Typo - Resovler Configuration. If I leave the resolver window for a while it gets corrupted with: Aug 2 10:31:23 dhclient[973]: Bogus domain search list 15: lan, . In the documentation installation screen, it should say At a minimum... - the 'a' is missing. Also, there should perhaps be a semi-colon between English version and this is the original. The menu also doesn't appear to do anything once you select OK. The shell menu should perhaps have a newline after making, to avoid configuration wrapping. Also, the partitioning screen should maybe have Continue instead of Exit. The known issue with the installation not creating /home is still present in BETA1. -- Bruce Cran ___ 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: pflow(4) in 9.0 ?
On Aug 1, 2011, at 9:36 PM, Patrick Lamaiziere wrote: Hello, Will pflow(4) be available on 9.0 ? There is a if_pflow.h in pf's code but no manual page. No; the header file is only there to ease compiling of the rest of the code. /bz -- Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family. ___ 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
9.0 B1 Panic
9.0 Beta1 Panic Hi guys, I just downloaded and install 9.0 BETA1 but it panics on ACPI. Please view attached screenshot for the error. If you need more information, do let us know. Thanks. ___ 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
ZFS v28: kernel panics while reading an extended attribute
Hi! It seems, I've found a bug in the ZFS v28 on the latest stable: if we have a snapshot with some files having an extended attributes, then attempt to read an extended attributes's value leads to a well reproducible kernel panic. The part of backtrace follows: #6 0x804bbe44 in calltrap () at /usr/src/sys/amd64/amd64/exception.S:228 #7 0x80950ea7 in zil_commit (zilog=0x0, foid=5795917) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c:1497 #8 0x80979e6b in zfs_freebsd_read (ap=Variable ap is not available.) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:622 #9 0x80979750 in zfs_getextattr (ap=0xff80dd5d8820) at vnode_if.h:384 #10 0x8038921b in extattr_get_vp (vp=0xff0056a01588, attrnamespace=1, attrname=0xff80dd5d89a0 DOSATTRIB, data=Variable data is not available.) at vnode_if.h:1332 It seems that ZIL isn't available for snapshots, but zfs_freebsd_read doesn't check this when calling zil_commit. The attached patch fixes this issue. Can anybody confirm this? -- Alexander Zagrebin --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c.orig 2011-08-01 23:04:07.358173627 +0400 +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c 2011-08-02 00:10:02.674585604 +0400 @@ -618,7 +618,8 @@ zfs_read(vnode_t *vp, uio_t *uio, int io /* * If we're in FRSYNC mode, sync out this znode before reading it. */ - if (ioflag FRSYNC || zfsvfs-z_os-os_sync == ZFS_SYNC_ALWAYS) + if (zfsvfs-z_log + (ioflag FRSYNC || zfsvfs-z_os-os_sync == ZFS_SYNC_ALWAYS)) zil_commit(zfsvfs-z_log, zp-z_id); /* ___ 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: 9.0 B1 Panic
On Tuesday, August 02, 2011 12:41:29 am Martin Wilke wrote: 9.0 Beta1 Panic Hi guys, I just downloaded and install 9.0 BETA1 but it panics on ACPI. Please view attached screenshot for the error. If you need more information, do let us know. Thanks. Unfortunately the attachment was lost, can you post it to a URL? -- 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: 9.0 B1 Panic
On Aug 2, 2011, at 6:58 PM, Lystopad Olexandr wrote: Hello, Martin Wilke! On Tue, Aug 02, 2011 at 12:41:29PM +0800 m...@freebsd.org wrote about 9.0 B1 Panic: 9.0 Beta1 Panic Hi guys, I just downloaded and install 9.0 BETA1 but it panics on ACPI. Please view attached screenshot for the error. If you need more information, do let us know. There no attachments in your mail. Erms Sorry forgot about that. http://people.freebsd.org/~miwi/90b1.png -- Lystopad Olexandr ___ 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: 9.0-BETA1 installer issues
On 08/02/11 04:41, Bruce Cran wrote: I've been trying out 9.0-BETA1: it's a lot easier to install than previous releases with bsdinstall, but I spotted a few issues: Good! Thanks for checking. Typo - Resovler Configuration. If I leave the resolver window for a while it gets corrupted with: Aug 2 10:31:23 dhclient[973]: Bogus domain search list 15: lan, . Interesting. It looks like DHCP doesn't like your local setup... In the documentation installation screen, it should say At a minimum... - the 'a' is missing. Also, there should perhaps be a semi-colon between English version and this is the original. The menu also doesn't appear to do anything once you select OK. The spelling fixes are easy to fix. The documentation issue is more confusing. It should begin running pkg_add, after you press OK, assuming you selected something. Do you have the installer log handy? It will be in /tmp. The shell menu should perhaps have a newline after making, to avoid configuration wrapping. Also, the partitioning screen should maybe have Continue instead of Exit. These are good points. I'll fix them. The known issue with the installation not creating /home is still present in BETA1. This was caused by a change in behavior of pw(8) in mid-June, which has been reverted in r224535. This unfortunately missed BETA1... -Nathan ___ 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: [clang] (gpt)zfsboot is broken: zfs_alloc()/zfs_free() mismatch
On Aug 1, 2011, at 4:24 PM, Test Rat wrote: Anyone else? I can still reproduce with trunk r136607. boot and gptboot seem to be unaffected. IIRC, with previous clang import it just stuck during boot without any error messages. I have the same behavior. GCC build of gptzfsboot works fine. ___ 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 -- Alexey Tarasov (\__/) (='.'=) E[: | | | | :]З ()_() ___ 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: 9.0-BETA1 installer issues
On 02/08/2011 14:36, Nathan Whitehorn wrote: The spelling fixes are easy to fix. The documentation issue is more confusing. It should begin running pkg_add, after you press OK, assuming you selected something. Do you have the installer log handy? It will be in /tmp. I selected both English and French documentation sets but pressing OK just returns back to the final menu. I can't see any log files in /tmp, /root or /var/tmp. -- Bruce Cran ___ 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: 9.0 B1 Panic
On Tuesday, August 02, 2011 8:58:10 am Martin Wilke wrote: On Aug 2, 2011, at 6:58 PM, Lystopad Olexandr wrote: Hello, Martin Wilke! On Tue, Aug 02, 2011 at 12:41:29PM +0800 m...@freebsd.org wrote about 9.0 B1 Panic: 9.0 Beta1 Panic Hi guys, I just downloaded and install 9.0 BETA1 but it panics on ACPI. Please view attached screenshot for the error. If you need more information, do let us know. There no attachments in your mail. Erms Sorry forgot about that. http://people.freebsd.org/~miwi/90b1.png Can you get a stack trace? -- 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: 9.0 B1 Panic
On Aug 3, 2011, at 12:56 AM, John Baldwin wrote: On Tuesday, August 02, 2011 8:58:10 am Martin Wilke wrote: On Aug 2, 2011, at 6:58 PM, Lystopad Olexandr wrote: Hello, Martin Wilke! On Tue, Aug 02, 2011 at 12:41:29PM +0800 m...@freebsd.org wrote about 9.0 B1 Panic: 9.0 Beta1 Panic Hi guys, I just downloaded and install 9.0 BETA1 but it panics on ACPI. Please view attached screenshot for the error. If you need more information, do let us know. There no attachments in your mail. Erms Sorry forgot about that. http://people.freebsd.org/~miwi/90b1.png Can you get a stack trace? Hi, unfortunately no, because the system freeze few sec after the panic. - Martin -- 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
[head tinderbox] failure on powerpc/powerpc
TB --- 2011-08-02 19:26:51 - tinderbox 2.7 running on freebsd-current.sentex.ca TB --- 2011-08-02 19:26:51 - starting HEAD tinderbox run for powerpc/powerpc TB --- 2011-08-02 19:26:51 - cleaning the object tree TB --- 2011-08-02 19:27:10 - cvsupping the source tree TB --- 2011-08-02 19:27:10 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/powerpc/powerpc/supfile TB --- 2011-08-02 19:27:25 - building world TB --- 2011-08-02 19:27:25 - MAKEOBJDIRPREFIX=/obj TB --- 2011-08-02 19:27:25 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-08-02 19:27:25 - TARGET=powerpc TB --- 2011-08-02 19:27:25 - TARGET_ARCH=powerpc TB --- 2011-08-02 19:27:25 - TZ=UTC TB --- 2011-08-02 19:27:25 - __MAKE_CONF=/dev/null TB --- 2011-08-02 19:27:25 - cd /src TB --- 2011-08-02 19:27:25 - /usr/bin/make -B buildworld World build started on Tue Aug 2 19:27:25 UTC 2011 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 Tue Aug 2 21:17:17 UTC 2011 TB --- 2011-08-02 21:17:17 - generating LINT kernel config TB --- 2011-08-02 21:17:17 - cd /src/sys/powerpc/conf TB --- 2011-08-02 21:17:17 - /usr/bin/make -B LINT TB --- 2011-08-02 21:17:17 - building LINT kernel TB --- 2011-08-02 21:17:17 - MAKEOBJDIRPREFIX=/obj TB --- 2011-08-02 21:17:17 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-08-02 21:17:17 - TARGET=powerpc TB --- 2011-08-02 21:17:17 - TARGET_ARCH=powerpc TB --- 2011-08-02 21:17:17 - TZ=UTC TB --- 2011-08-02 21:17:17 - __MAKE_CONF=/dev/null TB --- 2011-08-02 21:17:17 - cd /src TB --- 2011-08-02 21:17:17 - /usr/bin/make -B buildkernel KERNCONF=LINT Kernel build for LINT started on Tue Aug 2 21:17:17 UTC 2011 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 Kernel build for LINT completed on Tue Aug 2 21:38:22 UTC 2011 TB --- 2011-08-02 21:38:22 - cd /src/sys/powerpc/conf TB --- 2011-08-02 21:38:22 - /usr/sbin/config -m GENERIC TB --- 2011-08-02 21:38:22 - building GENERIC kernel TB --- 2011-08-02 21:38:22 - MAKEOBJDIRPREFIX=/obj TB --- 2011-08-02 21:38:22 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-08-02 21:38:22 - TARGET=powerpc TB --- 2011-08-02 21:38:22 - TARGET_ARCH=powerpc TB --- 2011-08-02 21:38:22 - TZ=UTC TB --- 2011-08-02 21:38:22 - __MAKE_CONF=/dev/null TB --- 2011-08-02 21:38:22 - cd /src TB --- 2011-08-02 21:38:22 - /usr/bin/make -B buildkernel KERNCONF=GENERIC Kernel build for GENERIC started on Tue Aug 2 21:38:22 UTC 2011 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 Kernel build for GENERIC completed on Tue Aug 2 21:52:21 UTC 2011 TB --- 2011-08-02 21:52:21 - cd /src/sys/powerpc/conf TB --- 2011-08-02 21:52:21 - /usr/sbin/config -m GENERIC64 TB --- 2011-08-02 21:52:21 - skipping GENERIC64 kernel TB --- 2011-08-02 21:52:21 - cd /src/sys/powerpc/conf TB --- 2011-08-02 21:52:21 - /usr/sbin/config -m MPC85XX TB --- 2011-08-02 21:52:21 - building MPC85XX kernel TB --- 2011-08-02 21:52:21 - MAKEOBJDIRPREFIX=/obj TB --- 2011-08-02 21:52:21 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-08-02 21:52:21 - TARGET=powerpc TB --- 2011-08-02 21:52:21 - TARGET_ARCH=powerpc TB --- 2011-08-02 21:52:21 - TZ=UTC TB --- 2011-08-02 21:52:21 - __MAKE_CONF=/dev/null TB --- 2011-08-02 21:52:21 - cd /src TB --- 2011-08-02 21:52:21 - /usr/bin/make -B buildkernel KERNCONF=MPC85XX Kernel build for MPC85XX started on Tue Aug 2 21:52:21 UTC 2011 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 -- cd /obj/powerpc.powerpc/src/sys/MPC85XX; MAKEOBJDIRPREFIX=/obj/powerpc.powerpc MACHINE_ARCH=powerpc MACHINE=powerpc CPUTYPE= GROFF_BIN_PATH=/obj/powerpc.powerpc/src/tmp/legacy/usr/bin GROFF_FONT_PATH=/obj/powerpc.powerpc/src/tmp/legacy/usr/share/groff_font GROFF_TMAC_PATH=/obj/powerpc.powerpc/src/tmp/legacy/usr/share/tmac _SHLIBDIRPREFIX=/obj/powerpc.powerpc/src/tmp VERSION=FreeBSD 8.2-STABLE amd64 802508 INSTALL=sh /src/tools/install.sh PATH=/obj/powerpc.powerpc/src/tmp/legacy/usr/sbin:/obj/powerpc.powerpc/src/tmp/legacy/usr/bin:/obj/powerpc.powerpc/src/tmp/legacy/usr/games:/obj/powerpc.powerpc/src/tmp/usr/sbin:/obj/powerpc.powerpc/src/tmp/usr/bin:/obj/powerpc.powerpc/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin /usr/bin/make KERNEL=kernel all -DNO_MODULES_OBJ
Re: ichwd0: unable to reserve GCS registers
On Saturday, July 30, 2011 2:49:52 am Andriy Gapon wrote: on 19/07/2011 18:16 John Baldwin said the following: Hmm, can you get devinfo -r output from a working kernel with ichwd loaded? You might be able to just build the kernel with 'nooptions NEW_PCIB'. I believe that I've got a similar problem with amdsbwd(4). It needs some resources (I/O ports) that belong to ACPI. The problem is that the driver attaches to isa bus which is under isab-pci-pcib and those particular resources are not assigned to the Host-PCI bridge. I think that you already made a suggestion that perhaps isa bus should directly attach to acpi bus when acpi is available. Not sure if there are any alternative approaches. Can you try this: --- //depot/projects/pci/sys/dev/acpica/acpi.c 2011-06-25 12:05:19.0 +++ //depot/projects/pci/sys/dev/acpica/acpi.c 2011-08-02 20:21:42.0 @@ -1238,7 +1238,6 @@ struct resource_list_entry *rle; struct resource_list *rl; struct resource *res; -struct rman *rm; int isdefault = (start == 0UL end == ~0UL); /* @@ -1291,15 +1290,29 @@ } else res = BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, rid, start, end, count, flags); -if (res != NULL || start + count - 1 != end) - return (res); /* * If the first attempt failed and this is an allocation of a * specific range, try to satisfy the request via a suballocation - * from our system resource regions. Note that we only handle - * memory and I/O port system resources. + * from our system resource regions. */ +if (res == NULL start + count - 1 == end) + res = acpi_alloc_sysres(child, type, rid, start, end, count, flags); +return (res); +} + +/* + * Attempt to allocate a specific resource range from the system + * resource ranges. Note that we only handle memory and I/O port + * system resources. + */ +struct resource * +acpi_alloc_sysres(device_t child, int type, int *rid, u_long start, u_long end, +u_long count, u_int flags) +{ +struct rman *rm; +struct resource *res; + switch (type) { case SYS_RES_IOPORT: rm = acpi_rman_io; @@ -1311,6 +1324,7 @@ return (NULL); } +KASSERT(start + count - 1 == end, (wildcard resource range)); res = rman_reserve_resource(rm, start, end, count, flags ~RF_ACTIVE, child); if (res == NULL) --- //depot/projects/pci/sys/dev/acpica/acpi_pcib_acpi.c2011-07-22 18:19:55.0 +++ //depot/projects/pci/sys/dev/acpica/acpi_pcib_acpi.c2011-08-02 20:21:42.0 @@ -541,6 +541,7 @@ { #ifdef NEW_PCIB struct acpi_hpcib_softc *sc; +struct resource *res; #endif #if defined(__i386__) || defined(__amd64__) @@ -549,8 +550,11 @@ #ifdef NEW_PCIB sc = device_get_softc(dev); -return (pcib_host_res_alloc(sc-ap_host_res, child, type, rid, start, end, - count, flags)); +res = pcib_host_res_alloc(sc-ap_host_res, child, type, rid, start, end, + count, flags); +if (res == NULL start + count - 1 == end) + res = acpi_alloc_sysres(child, type, rid, start, end, count, flags); +return (res); #else return (bus_generic_alloc_resource(dev, child, type, rid, start, end, count, flags)); --- //depot/projects/pci/sys/dev/acpica/acpivar.h 2011-06-22 16:25:39.0 +++ //depot/projects/pci/sys/dev/acpica/acpivar.h 2011-08-02 20:21:42.0 @@ -382,6 +382,8 @@ struct resource *res, ACPI_RESOURCE *acpi_res); ACPI_STATUSacpi_parse_resources(device_t dev, ACPI_HANDLE handle, struct acpi_parse_resource_set *set, void *arg); +struct resource *acpi_alloc_sysres(device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags); /* ACPI event handling */ UINT32 acpi_event_power_button_sleep(void *context); -- 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
update from old current (october) to 9.0 beta fails in installworld
Hello, Looks like I've broke my soekris net5501 while doing installworld (built with clang) === libexec/rtld-elf (install) chflags noschg /usr/libexec/ld-elf.so.1 install -s -o root -g wheel -m 555 -C -b -fschg -S ld-elf.so.1 /libexec install -o root -g wheel -m 444 rtld.1.gz /usr/share/man/man1 *** Signal 4 Stop in /usr/src/libexec/rtld-elf. *** Error code 1 # ls Instruction interdite(core dumped) (instruction interdite = illegal/forbidden instruction) Are there known issues for updating (I didn't follow the single user step to install the world, as usual, because the box is only reachable via ssh) ? Thanks for 9.0, looks nice. Regards. ___ 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
Bug: devfs is sure to have the bug.
Hello, I think that devfs is sure to have the bug. I found that I couldn't open /dev/XXX though the kernel detected XXX device. dm-dm_generation is updated with devfs_generation in devfs_populate(), and the context holds only dm-dm_lock in devfs_populate(). On the other hand, devfs_generation is incremented in devfs_create() and devfs_destroy() the context holds only devmtx in devfs_create() and devfs_destroy(). If a context executes devfs_create() when other context is executing (***), then dm-dm_generation is updated incorrect value. As a result, we can not open the last detected device (we receive ENOENT). I think that we should change the lock method. May I have advice? void devfs_populate(struct devfs_mount *dm) { sx_assert(dm-dm_lock, SX_XLOCKED); if (dm-dm_generation == devfs_generation) return; while (devfs_populate_loop(dm, 0)) continue; (***) dm-dm_generation = devfs_generation; } void devfs_create(struct cdev *dev) { struct cdev_priv *cdp; mtx_assert(devmtx, MA_OWNED); cdp = cdev2priv(dev); cdp-cdp_flags |= CDP_ACTIVE; cdp-cdp_inode = alloc_unrl(devfs_inos); dev_refl(dev); TAILQ_INSERT_TAIL(cdevp_list, cdp, cdp_list); devfs_generation++; } void devfs_destroy(struct cdev *dev) { struct cdev_priv *cdp; mtx_assert(devmtx, MA_OWNED); cdp = cdev2priv(dev); cdp-cdp_flags = ~CDP_ACTIVE; devfs_generation++; } Thanks. -- Kohji Okuno (okuno.ko...@jp.panasonic.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: Bug: devfs is sure to have the bug.
Hello, Hello, I think that devfs is sure to have the bug. I found that I couldn't open /dev/XXX though the kernel detected XXX device. dm-dm_generation is updated with devfs_generation in devfs_populate(), and the context holds only dm-dm_lock in devfs_populate(). On the other hand, devfs_generation is incremented in devfs_create() and devfs_destroy() the context holds only devmtx in devfs_create() and devfs_destroy(). If a context executes devfs_create() when other context is executing (***), then dm-dm_generation is updated incorrect value. As a result, we can not open the last detected device (we receive ENOENT). I think that we should change the lock method. May I have advice? void devfs_populate(struct devfs_mount *dm) { sx_assert(dm-dm_lock, SX_XLOCKED); if (dm-dm_generation == devfs_generation) return; while (devfs_populate_loop(dm, 0)) continue; (***) dm-dm_generation = devfs_generation; } void devfs_create(struct cdev *dev) { struct cdev_priv *cdp; mtx_assert(devmtx, MA_OWNED); cdp = cdev2priv(dev); cdp-cdp_flags |= CDP_ACTIVE; cdp-cdp_inode = alloc_unrl(devfs_inos); dev_refl(dev); TAILQ_INSERT_TAIL(cdevp_list, cdp, cdp_list); devfs_generation++; } void devfs_destroy(struct cdev *dev) { struct cdev_priv *cdp; mtx_assert(devmtx, MA_OWNED); cdp = cdev2priv(dev); cdp-cdp_flags = ~CDP_ACTIVE; devfs_generation++; } Thanks. I propose the solution. May I have advice? void devfs_populate(struct devfs_mount *dm) { sx_assert(dm-dm_lock, SX_XLOCKED); #if 1 /* I propose... */ int tmp_generation; retry: tmp_generation = devfs_generation; if (dm-dm_generation == tmp_generation) return; while (devfs_populate_loop(dm, 0)) continue; if (tmp_generation != devfs_generation) goto retry; dm-dm_generation = tmp_generation; #else /* Original */ if (dm-dm_generation == devfs_generation) return; while (devfs_populate_loop(dm, 0)) continue; dm-dm_generation = devfs_generation; #endif } Thanks, Kohji Okuno (okuno.ko...@jp.panasonic.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