From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 00:36:29 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 96738CB0; Sun, 10 Mar 2013 00:36:29 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 704FA2A9; Sun, 10 Mar 2013 00:36:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A0aTWM074439; Sun, 10 Mar 2013 00:36:29 GMT (envelope-from bapt@svn.freebsd.org) Received: (from bapt@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A0aTGw074438; Sun, 10 Mar 2013 00:36:29 GMT (envelope-from bapt@svn.freebsd.org) Message-Id: <201303100036.r2A0aTGw074438@svn.freebsd.org> From: Baptiste Daroussin Date: Sun, 10 Mar 2013 00:36:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r248120 - stable/8/lib/libutil X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 00:36:29 -0000 Author: bapt Date: Sun Mar 10 00:36:28 2013 New Revision: 248120 URL: http://svnweb.freebsd.org/changeset/base/248120 Log: MFC r237268 Revert user comparison back to user names as some user can share uids (root/toor for example) get the username information from old_pw structures to still allow renaming of a user. Approved by: re (jpaetzel) Modified: stable/8/lib/libutil/pw_util.c Directory Properties: stable/8/lib/libutil/ (props changed) Modified: stable/8/lib/libutil/pw_util.c ============================================================================== --- stable/8/lib/libutil/pw_util.c Sat Mar 9 23:55:23 2013 (r248119) +++ stable/8/lib/libutil/pw_util.c Sun Mar 10 00:36:28 2013 (r248120) @@ -436,14 +436,21 @@ pw_copy(int ffd, int tfd, const struct p size_t len; int eof, readlen; - spw = pw; + if (old_pw == NULL && pw == NULL) + return (-1); + + spw = old_pw; + /* deleting a user */ if (pw == NULL) { line = NULL; - if (old_pw == NULL) + } else { + if ((line = pw_make(pw)) == NULL) return (-1); - spw = old_pw; - } else if ((line = pw_make(pw)) == NULL) - return (-1); + } + + /* adding a user */ + if (spw == NULL) + spw = pw; eof = 0; len = 0; @@ -510,7 +517,7 @@ pw_copy(int ffd, int tfd, const struct p */ *q = t; - if (fpw == NULL || fpw->pw_uid != spw->pw_uid) { + if (fpw == NULL || strcmp(fpw->pw_name, spw->pw_name) != 0) { /* nope */ if (fpw != NULL) free(fpw); From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 00:43:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 62CE5FA7; Sun, 10 Mar 2013 00:43:02 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3D2D12CE; Sun, 10 Mar 2013 00:43:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A0h2UO076957; Sun, 10 Mar 2013 00:43:02 GMT (envelope-from ian@svn.freebsd.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A0h1jC076955; Sun, 10 Mar 2013 00:43:01 GMT (envelope-from ian@svn.freebsd.org) Message-Id: <201303100043.r2A0h1jC076955@svn.freebsd.org> From: Ian Lepore Date: Sun, 10 Mar 2013 00:43:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248121 - in head/sys/boot: common fdt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 00:43:02 -0000 Author: ian Date: Sun Mar 10 00:43:01 2013 New Revision: 248121 URL: http://svnweb.freebsd.org/changeset/base/248121 Log: Attach the elf section headers to the loaded kernel as metadata, so they can easily be used by later post-processing. When searching for a compiled-in fdt blob, use the section headers to get the size and location of the .dynsym section to do a symbol search. This fixes a problem where the search could overshoot the symbol table and wander into the string table. Sometimes that was harmless and sometimes it lead to spurious panic messages about an offset bigger than the module size. Modified: head/sys/boot/common/load_elf.c head/sys/boot/fdt/fdt_loader_cmd.c Modified: head/sys/boot/common/load_elf.c ============================================================================== --- head/sys/boot/common/load_elf.c Sun Mar 10 00:36:28 2013 (r248120) +++ head/sys/boot/common/load_elf.c Sun Mar 10 00:43:01 2013 (r248121) @@ -397,6 +397,8 @@ __elfN(loadimage)(struct preloaded_file "_loadimage: failed to read section headers"); goto nosyms; } + file_addmetadata(fp, MODINFOMD_SHDR, chunk, shdr); + symtabindex = -1; symstrindex = -1; for (i = 0; i < ehdr->e_shnum; i++) { Modified: head/sys/boot/fdt/fdt_loader_cmd.c ============================================================================== --- head/sys/boot/fdt/fdt_loader_cmd.c Sun Mar 10 00:36:28 2013 (r248120) +++ head/sys/boot/fdt/fdt_loader_cmd.c Sun Mar 10 00:43:01 2013 (r248121) @@ -118,16 +118,17 @@ static char cwd[FDT_CWD_LEN] = "/"; static vm_offset_t fdt_find_static_dtb() { - Elf_Dyn dyn; + Elf_Ehdr *ehdr; + Elf_Shdr *shdr; Elf_Sym sym; - vm_offset_t dyntab, esym, strtab, symtab, fdt_start; + vm_offset_t strtab, symtab, fdt_start; uint64_t offs; struct preloaded_file *kfp; struct file_metadata *md; char *strp; - int sym_count; + int i, sym_count; - symtab = strtab = dyntab = esym = 0; + symtab = strtab = 0; strp = NULL; offs = __elfN(relocation_offset); @@ -136,42 +137,26 @@ fdt_find_static_dtb() if (kfp == NULL) return (0); - md = file_findmetadata(kfp, MODINFOMD_ESYM); + /* Locate the dynamic symbols and strtab. */ + md = file_findmetadata(kfp, MODINFOMD_ELFHDR); if (md == NULL) return (0); - bcopy(md->md_data, &esym, sizeof(esym)); - /* esym is already offset */ + ehdr = (Elf_Ehdr *)md->md_data; - md = file_findmetadata(kfp, MODINFOMD_DYNAMIC); + md = file_findmetadata(kfp, MODINFOMD_SHDR); if (md == NULL) return (0); - bcopy(md->md_data, &dyntab, sizeof(dyntab)); - dyntab += offs; + shdr = (Elf_Shdr *)md->md_data; - /* Locate STRTAB and DYNTAB */ - for (;;) { - COPYOUT(dyntab, &dyn, sizeof(dyn)); - if (dyn.d_tag == DT_STRTAB) { - strtab = (vm_offset_t)(dyn.d_un.d_ptr) + offs; - } else if (dyn.d_tag == DT_SYMTAB) { - symtab = (vm_offset_t)(dyn.d_un.d_ptr) + offs; - } else if (dyn.d_tag == DT_NULL) { - break; + for (i = 0; i < ehdr->e_shnum; ++i) { + if (shdr[i].sh_type == SHT_DYNSYM && symtab == 0) { + symtab = shdr[i].sh_addr + offs; + sym_count = shdr[i].sh_size / sizeof(Elf_Sym); + } else if (shdr[i].sh_type == SHT_STRTAB && strtab == 0) { + strtab = shdr[i].sh_addr + offs; } - dyntab += sizeof(dyn); } - if (symtab == 0 || strtab == 0) { - /* - * No symtab? No strtab? That should not happen here, - * and should have been verified during __elfN(loadimage). - * This must be some kind of a bug. - */ - return (0); - } - - sym_count = (int)(esym - symtab) / sizeof(Elf_Sym); - /* * The most efficent way to find a symbol would be to calculate a * hash, find proper bucket and chain, and thus find a symbol. From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 00:47:19 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E1703337; Sun, 10 Mar 2013 00:47:19 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D468E314; Sun, 10 Mar 2013 00:47:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A0lJXu077599; Sun, 10 Mar 2013 00:47:19 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A0lJht077598; Sun, 10 Mar 2013 00:47:19 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303100047.r2A0lJht077598@svn.freebsd.org> From: Andrew Turner Date: Sun, 10 Mar 2013 00:47:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248122 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 00:47:20 -0000 Author: andrew Date: Sun Mar 10 00:47:19 2013 New Revision: 248122 URL: http://svnweb.freebsd.org/changeset/base/248122 Log: Correctly align the unwind tables. Without this clang may incorrectly align them causing an alignment fault when producing a backtrace. Modified: head/sys/conf/ldscript.arm Modified: head/sys/conf/ldscript.arm ============================================================================== --- head/sys/conf/ldscript.arm Sun Mar 10 00:43:01 2013 (r248121) +++ head/sys/conf/ldscript.arm Sun Mar 10 00:47:19 2013 (r248122) @@ -56,6 +56,7 @@ SECTIONS .init : { *(.init) } =0x9090 .plt : { *(.plt) } + . = ALIGN(4); _extab_start = .; PROVIDE(extab_start = .); .ARM.extab : { *(.ARM.extab) } From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 02:38:36 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 071E8525; Sun, 10 Mar 2013 02:38:36 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D5C3F799; Sun, 10 Mar 2013 02:38:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A2cZAW011290; Sun, 10 Mar 2013 02:38:35 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A2cZqZ011287; Sun, 10 Mar 2013 02:38:35 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303100238.r2A2cZqZ011287@svn.freebsd.org> From: Andrew Turner Date: Sun, 10 Mar 2013 02:38:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248123 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 02:38:36 -0000 Author: andrew Date: Sun Mar 10 02:38:35 2013 New Revision: 248123 URL: http://svnweb.freebsd.org/changeset/base/248123 Log: Tell the unwinder we can't unwind swi_entry. This fixes an infinite loop when the kernel attempts to unwind through this function. The .fnstart and .fnend in this function should be moved to macros but we are currently missing an END macro on ARM. Modified: head/sys/arm/arm/exception.S Modified: head/sys/arm/arm/exception.S ============================================================================== --- head/sys/arm/arm/exception.S Sun Mar 10 00:47:19 2013 (r248122) +++ head/sys/arm/arm/exception.S Sun Mar 10 02:38:35 2013 (r248123) @@ -77,6 +77,9 @@ Lreset_panicmsg: * Handler for the Software Interrupt exception. */ ASENTRY_NP(swi_entry) + .fnstart + .cantunwind /* Don't unwind past here */ + PUSHFRAME mov r0, sp /* Pass the frame to any function */ @@ -88,6 +91,7 @@ ASENTRY_NP(swi_entry) DO_AST PULLFRAME movs pc, lr /* Exit */ + .fnend /* * prefetch_abort_entry: From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 02:40:50 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E5CB66D4; Sun, 10 Mar 2013 02:40:50 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D6D4A7AA; Sun, 10 Mar 2013 02:40:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A2eoUB013203; Sun, 10 Mar 2013 02:40:50 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A2eo2t013202; Sun, 10 Mar 2013 02:40:50 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303100240.r2A2eo2t013202@svn.freebsd.org> From: Andrew Turner Date: Sun, 10 Mar 2013 02:40:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248124 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 02:40:51 -0000 Author: andrew Date: Sun Mar 10 02:40:50 2013 New Revision: 248124 URL: http://svnweb.freebsd.org/changeset/base/248124 Log: Update how we read the stack pointer to work on both GCC and clang. Modified: head/sys/arm/arm/db_trace.c Modified: head/sys/arm/arm/db_trace.c ============================================================================== --- head/sys/arm/arm/db_trace.c Sun Mar 10 02:38:35 2013 (r248123) +++ head/sys/arm/arm/db_trace.c Sun Mar 10 02:40:50 2013 (r248124) @@ -612,10 +612,13 @@ db_trace_self(void) { #ifdef __ARM_EABI__ struct unwind_state state; - register uint32_t sp __asm__ ("sp"); + uint32_t sp; + + /* Read the stack pointer */ + __asm __volatile("mov %0, sp" : "=&r" (sp)); state.registers[FP] = (uint32_t)__builtin_frame_address(0); - state.registers[SP] = (uint32_t)sp; + state.registers[SP] = sp; state.registers[LR] = (uint32_t)__builtin_return_address(0); state.registers[PC] = (uint32_t)db_trace_self; From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 02:44:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 38BC1983; Sun, 10 Mar 2013 02:44:07 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 29DAF7CB; Sun, 10 Mar 2013 02:44:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A2i7ZJ013730; Sun, 10 Mar 2013 02:44:07 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A2i7Fr013729; Sun, 10 Mar 2013 02:44:07 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303100244.r2A2i7Fr013729@svn.freebsd.org> From: Andrew Turner Date: Sun, 10 Mar 2013 02:44:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248125 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 02:44:07 -0000 Author: andrew Date: Sun Mar 10 02:44:06 2013 New Revision: 248125 URL: http://svnweb.freebsd.org/changeset/base/248125 Log: Fix a typo where db_printf was spelt printf. Modified: head/sys/arm/arm/db_trace.c Modified: head/sys/arm/arm/db_trace.c ============================================================================== --- head/sys/arm/arm/db_trace.c Sun Mar 10 02:40:50 2013 (r248124) +++ head/sys/arm/arm/db_trace.c Sun Mar 10 02:44:06 2013 (r248125) @@ -377,7 +377,7 @@ db_stack_trace_cmd(struct unwind_state * index = db_find_index(state->start_pc); if (index->insn == EXIDX_CANTUNWIND) { - printf("Unable to unwind\n"); + db_printf("Unable to unwind\n"); break; } else if (index->insn & (1 << 31)) { /* The data is within the instruction */ From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 03:52:36 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 65599CBE; Sun, 10 Mar 2013 03:52:36 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 41B97A27; Sun, 10 Mar 2013 03:52:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A3qaaC035933; Sun, 10 Mar 2013 03:52:36 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A3qaJN035932; Sun, 10 Mar 2013 03:52:36 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303100352.r2A3qaJN035932@svn.freebsd.org> From: Andrew Turner Date: Sun, 10 Mar 2013 03:52:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248126 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 03:52:36 -0000 Author: andrew Date: Sun Mar 10 03:52:35 2013 New Revision: 248126 URL: http://svnweb.freebsd.org/changeset/base/248126 Log: - Clang doesn't understand the -mno-thumb-interwork. Only use it with gcc. - We need to add "-mllvm -arm-enable-ehabi" to clangs CFLAGS when generating the unwind tables to tell it to add the required directives to the assembly it generates. Modified: head/sys/conf/Makefile.arm Modified: head/sys/conf/Makefile.arm ============================================================================== --- head/sys/conf/Makefile.arm Sun Mar 10 02:44:06 2013 (r248125) +++ head/sys/conf/Makefile.arm Sun Mar 10 03:52:35 2013 (r248126) @@ -39,12 +39,18 @@ SYSTEM_DEP:= ${SYSTEM_DEP:$S/conf/ldscri STRIP_FLAGS = -S .endif +.if ${COMPILER_TYPE} != "clang" CFLAGS += -mno-thumb-interwork +.endif .if empty(DDB_ENABLED) CFLAGS += -mno-apcs-frame .elif defined(WITH_ARM_EABI) CFLAGS += -funwind-tables +.if ${COMPILER_TYPE} == "clang" +# clang requires us to tell it to emit assembly with unwind information +CFLAGS += -mllvm -arm-enable-ehabi +.endif .endif SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${LDFLAGS} \ From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 03:54:30 2013 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8B9D1E3A; Sun, 10 Mar 2013 03:54:30 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail13.syd.optusnet.com.au (mail13.syd.optusnet.com.au [211.29.132.194]) by mx1.freebsd.org (Postfix) with ESMTP id 2C4C8A32; Sun, 10 Mar 2013 03:54:29 +0000 (UTC) Received: from c211-30-173-106.carlnfd1.nsw.optusnet.com.au (c211-30-173-106.carlnfd1.nsw.optusnet.com.au [211.30.173.106]) by mail13.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id r2A3sJog027553 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 10 Mar 2013 14:54:21 +1100 Date: Sun, 10 Mar 2013 14:54:19 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Davide Italiano Subject: Re: svn commit: r248113 - head/sys/kern In-Reply-To: <201303092003.r29K3BPc089195@svn.freebsd.org> Message-ID: <20130310143353.G1358@besplex.bde.org> References: <201303092003.r29K3BPc089195@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.0 cv=bNdOu4CZ c=1 sm=1 a=_LPLbtEpN8oA:10 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=M4roAWbnUW4A:10 a=D8whqW29NONGbe-aHQ8A:9 a=CjuIK1q_8ugA:10 a=TEtd8y5WR3g2ypngnwZWYw==:117 Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 03:54:30 -0000 On Sat, 9 Mar 2013, Davide Italiano wrote: > Log: > Fixup r248032: > Change size requested to malloc(9) now that callwheel buckets are > callout_list and not callout_tailq anymore. This change was already > there but it seems it got lost after code churn in r248032. > > Reported by: alc, kib This still has the bad style that helped cause the bug. > Modified: head/sys/kern/kern_timeout.c > ============================================================================== > --- head/sys/kern/kern_timeout.c Sat Mar 9 20:01:35 2013 (r248112) > +++ head/sys/kern/kern_timeout.c Sat Mar 9 20:03:10 2013 (r248113) > @@ -294,7 +294,7 @@ callout_cpu_init(struct callout_cpu *cc) > > mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_RECURSE); > SLIST_INIT(&cc->cc_callfree); > - cc->cc_callwheel = malloc(sizeof(struct callout_tailq) * callwheelsize, > + cc->cc_callwheel = malloc(sizeof(struct callout_list) * callwheelsize, > M_CALLOUT, M_WAITOK); > for (i = 0; i < callwheelsize; i++) > LIST_INIT(&cc->cc_callwheel[i]); > sizeof(*cc->cc_callwheel) is less verbose and works irrespective of the type of *cc->cc_callwheel. In kern, not quite half the malloc()'s have this style bug. Also, at least in kern: - most style bugs in the form of using the MALLOC() obfuscation have been fixed - most style bugs in the form of casting the result of malloc() to support C++ have been fixed. The remaining ones are usually accompanied by the style bug of putting a space after the cast. Bruce From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 04:38:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 148DBB73; Sun, 10 Mar 2013 04:38:07 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F03C2B40; Sun, 10 Mar 2013 04:38:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A4c677049386; Sun, 10 Mar 2013 04:38:06 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A4c61V049385; Sun, 10 Mar 2013 04:38:06 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303100438.r2A4c61V049385@svn.freebsd.org> From: Adrian Chadd Date: Sun, 10 Mar 2013 04:38:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248127 - head/sys/net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 04:38:07 -0000 Author: adrian Date: Sun Mar 10 04:38:06 2013 New Revision: 248127 URL: http://svnweb.freebsd.org/changeset/base/248127 Log: Kill this, it's not needed at this point and (hopefully) the parent has correctly locked the ic/vap. Modified: head/sys/net80211/ieee80211_superg.c Modified: head/sys/net80211/ieee80211_superg.c ============================================================================== --- head/sys/net80211/ieee80211_superg.c Sun Mar 10 03:52:35 2013 (r248126) +++ head/sys/net80211/ieee80211_superg.c Sun Mar 10 04:38:06 2013 (r248127) @@ -534,8 +534,6 @@ ff_flush(struct mbuf *head, struct mbuf struct ieee80211_node *ni; struct ieee80211vap *vap; - IEEE80211_TX_LOCK_ASSERT(vap->iv_ic); - for (m = head; m != last; m = next) { next = m->m_nextpkt; m->m_nextpkt = NULL; From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 05:04:27 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7021E16F; Sun, 10 Mar 2013 05:04:27 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-we0-x231.google.com (mail-we0-x231.google.com [IPv6:2a00:1450:400c:c03::231]) by mx1.freebsd.org (Postfix) with ESMTP id 94024CB3; Sun, 10 Mar 2013 05:04:26 +0000 (UTC) Received: by mail-we0-f177.google.com with SMTP id d7so2395032wer.8 for ; Sat, 09 Mar 2013 21:04:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=iO5oMm7Z+N6X681iVmxwglrEtQCekphv9q8zMr39k6g=; b=OK7ZSwzmAgdeBaMeeCiFTKWm7ESgtgnUtlov5Q3iq1B/Pr4drRiZadT1ysT8JoNYwL lIyrumeCMPZttDIzAwrJJwsWU8kHvHBLli2ySDLjqSExbW8IANjM155hQYy+YyYdbiBD wdXX0UIiBytvqeNKnyUtYAmeqUEyGootvXE2fxgl0O//1JQ4IbPr90X4fwQ3f0eObgrI rYWhb9+yn75hkZT/TUK3LijOKjCGWCpjUJOLDfF1wMD0k1RwDwX3NVGScI4SJAeOmG8W CxsJMBaGfeNxotbse71cMrpgPOn433aw3AYlvCRJb1oI+XLEmyXOW/T3jUdZ3QkK1H/A 1YUw== MIME-Version: 1.0 X-Received: by 10.180.94.135 with SMTP id dc7mr5982973wib.11.1362891865796; Sat, 09 Mar 2013 21:04:25 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.216.111.201 with HTTP; Sat, 9 Mar 2013 21:04:25 -0800 (PST) In-Reply-To: <201303100438.r2A4c61V049385@svn.freebsd.org> References: <201303100438.r2A4c61V049385@svn.freebsd.org> Date: Sat, 9 Mar 2013 21:04:25 -0800 X-Google-Sender-Auth: m3fUlwh4x41pNVpb3hskmFhbMZ0 Message-ID: Subject: Re: svn commit: r248127 - head/sys/net80211 From: Adrian Chadd To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-current@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 05:04:27 -0000 if I break the build again before bsdcan, I promise I'll buy a nice bottle of scotch and distribute small quantities to developers who ask. Adrian On 9 March 2013 20:38, Adrian Chadd wrote: > Author: adrian > Date: Sun Mar 10 04:38:06 2013 > New Revision: 248127 > URL: http://svnweb.freebsd.org/changeset/base/248127 > > Log: > Kill this, it's not needed at this point and (hopefully) the parent > has correctly locked the ic/vap. > > Modified: > head/sys/net80211/ieee80211_superg.c > > Modified: head/sys/net80211/ieee80211_superg.c > ============================================================================== > --- head/sys/net80211/ieee80211_superg.c Sun Mar 10 03:52:35 2013 (r248126) > +++ head/sys/net80211/ieee80211_superg.c Sun Mar 10 04:38:06 2013 (r248127) > @@ -534,8 +534,6 @@ ff_flush(struct mbuf *head, struct mbuf > struct ieee80211_node *ni; > struct ieee80211vap *vap; > > - IEEE80211_TX_LOCK_ASSERT(vap->iv_ic); > - > for (m = head; m != last; m = next) { > next = m->m_nextpkt; > m->m_nextpkt = NULL; From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 07:55:41 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B32B3E17; Sun, 10 Mar 2013 07:55:41 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 823E111E; Sun, 10 Mar 2013 07:55:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A7tfBm008845; Sun, 10 Mar 2013 07:55:41 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A7tfZX008843; Sun, 10 Mar 2013 07:55:41 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303100755.r2A7tfZX008843@svn.freebsd.org> From: Andrew Turner Date: Sun, 10 Mar 2013 07:55:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248128 - in head/sys: conf libkern/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 07:55:41 -0000 Author: andrew Date: Sun Mar 10 07:55:40 2013 New Revision: 248128 URL: http://svnweb.freebsd.org/changeset/base/248128 Log: Add __aeabi_memcpy to libkern as clang may generate calls to it. Added: head/sys/libkern/arm/memcpy.S (contents, props changed) Modified: head/sys/conf/files.arm Modified: head/sys/conf/files.arm ============================================================================== --- head/sys/conf/files.arm Sun Mar 10 04:38:06 2013 (r248127) +++ head/sys/conf/files.arm Sun Mar 10 07:55:40 2013 (r248128) @@ -76,6 +76,7 @@ libkern/arm/divsi3.S standard libkern/arm/ffs.S standard libkern/arm/ldivmod.S standard libkern/arm/ldivmod_helper.c standard +libkern/arm/memcpy.S standard libkern/arm/muldi3.c standard libkern/ashldi3.c standard libkern/ashrdi3.c standard Added: head/sys/libkern/arm/memcpy.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/libkern/arm/memcpy.S Sun Mar 10 07:55:40 2013 (r248128) @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2012 Andrew Turner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#ifdef __ARM_EABI__ + +ENTRY_NP(__aeabi_memcpy) + b memcpy + +#endif + From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 09:03:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id DCC36B61; Sun, 10 Mar 2013 09:03:07 +0000 (UTC) Date: Sun, 10 Mar 2013 09:03:07 +0000 From: Alexey Dokuchaev To: Gleb Smirnoff Subject: Re: svn commit: r247910 - head/sys/dev/sound/pci/hda Message-ID: <20130310090307.GB66809@FreeBSD.org> References: <201303070754.r277soET065603@svn.freebsd.org> <20130308020050.GC83162@FreeBSD.org> <20130309114804.GI48089@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20130309114804.GI48089@FreeBSD.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 09:03:07 -0000 On Sat, Mar 09, 2013 at 03:48:04PM +0400, Gleb Smirnoff wrote: > On Fri, Mar 08, 2013 at 02:00:50AM +0000, Alexey Dokuchaev wrote: > A> On Thu, Mar 07, 2013 at 07:54:50AM +0000, Gleb Smirnoff wrote: > A> > New Revision: 247910 > A> > URL: http://svnweb.freebsd.org/changeset/base/247910 > A> > > A> > Log: > A> > Plug a memory leak. > A> > > A> > Reviewed by: mav > A> > Sponsored by: Nginx, Inc. > A> > A> Any MFCs planned? > > Yes, to stable/9. I've tested in on stable/8, also looks applicable. ./danfe From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 09:43:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7DD5B435; Sun, 10 Mar 2013 09:43:02 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 57E313EE; Sun, 10 Mar 2013 09:43:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2A9h2r8041962; Sun, 10 Mar 2013 09:43:02 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2A9h1sp041960; Sun, 10 Mar 2013 09:43:01 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303100943.r2A9h1sp041960@svn.freebsd.org> From: Adrian Chadd Date: Sun, 10 Mar 2013 09:43:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248129 - head/sys/dev/ath/ath_hal/ar5416 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 09:43:02 -0000 Author: adrian Date: Sun Mar 10 09:43:01 2013 New Revision: 248129 URL: http://svnweb.freebsd.org/changeset/base/248129 Log: Add another register definition bit - whether to populate EVM or PLCP data in the RX status descriptor. Obtained from: Qualcomm Atheros Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416reg.h ============================================================================== --- head/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Sun Mar 10 07:55:40 2013 (r248128) +++ head/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Sun Mar 10 09:43:01 2013 (r248129) @@ -521,6 +521,7 @@ #define AR_PCU_TBTT_PROTECT 0x00200000 /* no xmit upto tbtt+20 uS */ #define AR_PCU_CLEAR_VMF 0x01000000 /* clear vmf mode (fast cc)*/ #define AR_PCU_CLEAR_BA_VALID 0x04000000 /* clear ba state */ +#define AR_PCU_SEL_EVM 0x08000000 /* select EVM data or PLCP header */ #define AR_PCU_MISC_MODE2_MGMT_CRYPTO_ENABLE 0x00000002 #define AR_PCU_MISC_MODE2_NO_CRYPTO_FOR_NON_DATA_PKT 0x00000004 From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 10:13:06 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4D4AAB96; Sun, 10 Mar 2013 10:13:06 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: from vlakno.cz (mail.vlakno.cz [178.238.39.38]) by mx1.freebsd.org (Postfix) with ESMTP id 10A246B5; Sun, 10 Mar 2013 10:13:05 +0000 (UTC) Received: by vlakno.cz (Postfix, from userid 1002) id 737E21CC55A0; Sun, 10 Mar 2013 11:12:58 +0100 (CET) Date: Sun, 10 Mar 2013 11:12:58 +0100 From: Roman Divacky To: Andrew Turner Subject: Re: svn commit: r248119 - in head/sys/arm: arm include Message-ID: <20130310101258.GA50734@freebsd.org> References: <201303092355.r29NtORC061569@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201303092355.r29NtORC061569@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 10:13:06 -0000 Should clang define __FreeBSD_ARCH_armv6__ ? Any other define thats missing and should be defined? Roman On Sat, Mar 09, 2013 at 11:55:24PM +0000, Andrew Turner wrote: > Author: andrew > Date: Sat Mar 9 23:55:23 2013 > New Revision: 248119 > URL: http://svnweb.freebsd.org/changeset/base/248119 > > Log: > __FreeBSD_ARCH_armv6__ is undefined on clang. We can use __ARM_ARCH in > it's place. This makes 'uname -p' correctly output 'armv6' on a kernel > built with clang. > > Modified: > head/sys/arm/arm/disassem.c > head/sys/arm/include/param.h > > Modified: head/sys/arm/arm/disassem.c > ============================================================================== > --- head/sys/arm/arm/disassem.c Sat Mar 9 23:05:19 2013 (r248118) > +++ head/sys/arm/arm/disassem.c Sat Mar 9 23:55:23 2013 (r248119) > @@ -130,7 +130,7 @@ static const struct arm32_insn arm32_i[] > { 0x0c500000, 0x04100000, "ldr", "daW" }, > { 0x0c500000, 0x04400000, "strb", "daW" }, > { 0x0c500000, 0x04500000, "ldrb", "daW" }, > -#ifdef __FreeBSD_ARCH_armv6__ > +#if defined(__FreeBSD_ARCH_armv6__) || (defined(__ARM_ARCH) && __ARM_ARCH >= 6) > { 0xffffffff, 0xf57ff01f, "clrex", "c" }, > { 0x0ff00ff0, 0x01800f90, "strex", "dmo" }, > { 0x0ff00fff, 0x01900f9f, "ldrex", "do" }, > > Modified: head/sys/arm/include/param.h > ============================================================================== > --- head/sys/arm/include/param.h Sat Mar 9 23:05:19 2013 (r248118) > +++ head/sys/arm/include/param.h Sat Mar 9 23:55:23 2013 (r248119) > @@ -56,7 +56,7 @@ > #define MACHINE "arm" > #endif > #ifndef MACHINE_ARCH > -#ifdef __FreeBSD_ARCH_armv6__ > +#if defined(__FreeBSD_ARCH_armv6__) || (defined(__ARM_ARCH) && __ARM_ARCH >= 6) > #ifdef __ARMEB__ > #define MACHINE_ARCH "armv6eb" > #else From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 13:52:20 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BA6A585C; Sun, 10 Mar 2013 13:52:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A1B23DAB; Sun, 10 Mar 2013 13:52:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ADqKlm016744; Sun, 10 Mar 2013 13:52:20 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ADqKxj016743; Sun, 10 Mar 2013 13:52:20 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201303101352.r2ADqKxj016743@svn.freebsd.org> From: Alexander Motin Date: Sun, 10 Mar 2013 13:52:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248130 - stable/9/share/man/man4 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 13:52:20 -0000 Author: mav Date: Sun Mar 10 13:52:19 2013 New Revision: 248130 URL: http://svnweb.freebsd.org/changeset/base/248130 Log: MFC r247725: Fix typos in hint names. Modified: stable/9/share/man/man4/mvs.4 Directory Properties: stable/9/share/man/man4/ (props changed) Modified: stable/9/share/man/man4/mvs.4 ============================================================================== --- stable/9/share/man/man4/mvs.4 Sun Mar 10 09:43:01 2013 (r248129) +++ stable/9/share/man/man4/mvs.4 Sun Mar 10 13:52:19 2013 (r248130) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 27, 2010 +.Dd March 3, 2013 .Dt MVS 4 .Os .Sh NAME @@ -62,7 +62,7 @@ command latency. .It Va hint.mvs. Ns Ar X Ns Va .cccc defines number of completed commands for CCC, which trigger interrupt without waiting for specified coalescing timeout. -.It Va hint.mvs. Ns Ar X Ns Va .pm_level +.It Va hint.mvsch. Ns Ar X Ns Va .pm_level controls SATA interface Power Management for the specified channel, allowing some power to be saved at the cost of additional command latency. @@ -81,7 +81,7 @@ driver initiates SLUMBER PM state transi Note that interface Power Management is not compatible with device presence detection. A manual bus reset is needed on device hot-plug. -.It Va hint.mvs. Ns Ar X Ns Va .sata_rev +.It Va hint.mvsch. Ns Ar X Ns Va .sata_rev setting to nonzero value limits maximum SATA revision (speed). Values 1, 2 and 3 are respectively 1.5, 3 and 6Gbps. .El From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 15:01:06 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B9AA3788; Sun, 10 Mar 2013 15:01:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 93BE2F99; Sun, 10 Mar 2013 15:01:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AF16Hi038128; Sun, 10 Mar 2013 15:01:06 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AF16IP038127; Sun, 10 Mar 2013 15:01:06 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201303101501.r2AF16IP038127@svn.freebsd.org> From: Dimitry Andric Date: Sun, 10 Mar 2013 15:01:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248131 - stable/9/usr.bin/c89 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 15:01:06 -0000 Author: dim Date: Sun Mar 10 15:01:06 2013 New Revision: 248131 URL: http://svnweb.freebsd.org/changeset/base/248131 Log: MFC r247951: Make c89(1) invoke /usr/bin/cc with argv[0] also set to /usr/bin/cc, similar to what c99(1) does, to prevent "c89: illegal option -- 1" messages, when clang is /usr/bin/cc. Reported by: tijl Modified: stable/9/usr.bin/c89/c89.c Directory Properties: stable/9/usr.bin/c89/ (props changed) Modified: stable/9/usr.bin/c89/c89.c ============================================================================== --- stable/9/usr.bin/c89/c89.c Sun Mar 10 13:52:19 2013 (r248130) +++ stable/9/usr.bin/c89/c89.c Sun Mar 10 15:01:06 2013 (r248131) @@ -72,7 +72,7 @@ main(int argc, char **argv) Argv.a = malloc((argc + 1 + N_ARGS_PREPENDED) * sizeof *Argv.a); if (Argv.a == NULL) err(1, "malloc"); - Argv.a[Argc++] = argv[0]; + Argv.a[Argc++] = CC; for (j = 0; j < N_ARGS_PREPENDED; ++j) Argv.a[Argc++] = args_prepended[j]; while ((i = getopt(argc, argv, "cD:EgI:l:L:o:OsU:")) != -1) { From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 15:02:31 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5893B900; Sun, 10 Mar 2013 15:02:31 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9526AFA2; Sun, 10 Mar 2013 15:02:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AF2Uv7038403; Sun, 10 Mar 2013 15:02:30 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AF2Ubk038402; Sun, 10 Mar 2013 15:02:30 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201303101502.r2AF2Ubk038402@svn.freebsd.org> From: Dimitry Andric Date: Sun, 10 Mar 2013 15:02:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248132 - stable/9/usr.bin/c99 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 15:02:31 -0000 Author: dim Date: Sun Mar 10 15:02:30 2013 New Revision: 248132 URL: http://svnweb.freebsd.org/changeset/base/248132 Log: MFC r247953: Make c99(1) invoke /usr/bin/cc with argv[0] set to "/usr/bin/cc" instead of just "cc", since there is no reason to cause additional path searches in this case. Modified: stable/9/usr.bin/c99/c99.c Directory Properties: stable/9/usr.bin/c99/ (props changed) Modified: stable/9/usr.bin/c99/c99.c ============================================================================== --- stable/9/usr.bin/c99/c99.c Sun Mar 10 15:01:06 2013 (r248131) +++ stable/9/usr.bin/c99/c99.c Sun Mar 10 15:02:30 2013 (r248132) @@ -70,7 +70,7 @@ main(int argc, char *argv[]) usage(); } - addarg("cc"); + addarg("/usr/bin/cc"); addarg("-std=iso9899:1999"); addarg("-pedantic"); for (i = 1; i < optind; i++) From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 17:10:16 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C503C33F; Sun, 10 Mar 2013 17:10:16 +0000 (UTC) (envelope-from antoine@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AD05D79D; Sun, 10 Mar 2013 17:10:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AHAG7W075859; Sun, 10 Mar 2013 17:10:16 GMT (envelope-from antoine@svn.freebsd.org) Received: (from antoine@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AHAGSd075858; Sun, 10 Mar 2013 17:10:16 GMT (envelope-from antoine@svn.freebsd.org) Message-Id: <201303101710.r2AHAGSd075858@svn.freebsd.org> From: Antoine Brodin Date: Sun, 10 Mar 2013 17:10:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248133 - head/usr.sbin/pkg X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 17:10:16 -0000 Author: antoine Date: Sun Mar 10 17:10:16 2013 New Revision: 248133 URL: http://svnweb.freebsd.org/changeset/base/248133 Log: Fix a typo in DPADD. Modified: head/usr.sbin/pkg/Makefile Modified: head/usr.sbin/pkg/Makefile ============================================================================== --- head/usr.sbin/pkg/Makefile Sun Mar 10 15:02:30 2013 (r248132) +++ head/usr.sbin/pkg/Makefile Sun Mar 10 17:10:16 2013 (r248133) @@ -4,7 +4,7 @@ PROG= pkg SRCS= pkg.c dns_utils.c config.c NO_MAN= yes -DPADD= ${LIBARCHIVE} ${LIBELF} ${LIBFETCH} ${LIBBSDYML} ${LIBSUBF} +DPADD= ${LIBARCHIVE} ${LIBELF} ${LIBFETCH} ${LIBBSDYML} ${LIBSBUF} LDADD= -larchive -lelf -lfetch -lbsdyml -lsbuf .include From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 17:33:41 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B5B81925; Sun, 10 Mar 2013 17:33:41 +0000 (UTC) (envelope-from antoine@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8F9F9869; Sun, 10 Mar 2013 17:33:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AHXfi1083760; Sun, 10 Mar 2013 17:33:41 GMT (envelope-from antoine@svn.freebsd.org) Received: (from antoine@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AHXfsA083759; Sun, 10 Mar 2013 17:33:41 GMT (envelope-from antoine@svn.freebsd.org) Message-Id: <201303101733.r2AHXfsA083759@svn.freebsd.org> From: Antoine Brodin Date: Sun, 10 Mar 2013 17:33:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248135 - head/etc/mtree X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 17:33:41 -0000 Author: antoine Date: Sun Mar 10 17:33:41 2013 New Revision: 248135 URL: http://svnweb.freebsd.org/changeset/base/248135 Log: Finish portalfs removal. Modified: head/etc/mtree/BSD.include.dist Modified: head/etc/mtree/BSD.include.dist ============================================================================== --- head/etc/mtree/BSD.include.dist Sun Mar 10 17:30:57 2013 (r248134) +++ head/etc/mtree/BSD.include.dist Sun Mar 10 17:33:41 2013 (r248135) @@ -174,8 +174,6 @@ .. nullfs .. - portalfs - .. procfs .. udf From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 17:49:59 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AE4B4F00; Sun, 10 Mar 2013 17:49:59 +0000 (UTC) (envelope-from antoine@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A0CDA907; Sun, 10 Mar 2013 17:49:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AHnxSD087555; Sun, 10 Mar 2013 17:49:59 GMT (envelope-from antoine@svn.freebsd.org) Received: (from antoine@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AHnxZ3087554; Sun, 10 Mar 2013 17:49:59 GMT (envelope-from antoine@svn.freebsd.org) Message-Id: <201303101749.r2AHnxZ3087554@svn.freebsd.org> From: Antoine Brodin Date: Sun, 10 Mar 2013 17:49:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248136 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 17:49:59 -0000 Author: antoine Date: Sun Mar 10 17:49:59 2013 New Revision: 248136 URL: http://svnweb.freebsd.org/changeset/base/248136 Log: Add more obsolete files. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Mar 10 17:33:41 2013 (r248135) +++ head/ObsoleteFiles.inc Sun Mar 10 17:49:59 2013 (r248136) @@ -99,6 +99,12 @@ OLD_FILES+=usr/share/man/man8/mount_port OLD_FILES+=usr/share/man/man4/coda.4.gz # 20130302: XFS support removed OLD_FILES+=usr/share/man/man5/xfs.5.gz +# 20130302: Capsicum overhaul +OLD_FILES+=usr/share/man/man2/cap_getrights.2.gz +OLD_FILES+=usr/share/man/man2/cap_new.2.gz +# 20130213: OpenSSL 1.0.1e import +OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_verifyrecover.3.gz +OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_verifyrecover_init.3.gz # 20130116: removed long unused directories for .1aout section manpages OLD_FILES+=usr/share/man/en.ISO8859-1/man1aout OLD_FILES+=usr/share/man/en.UTF-8/man1aout From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 17:50:20 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 10C5D11E; Sun, 10 Mar 2013 17:50:20 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 039B490B; Sun, 10 Mar 2013 17:50:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AHoJH1087678; Sun, 10 Mar 2013 17:50:19 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AHoJ5B087677; Sun, 10 Mar 2013 17:50:19 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201303101750.r2AHoJ5B087677@svn.freebsd.org> From: Sergey Kandaurov Date: Sun, 10 Mar 2013 17:50:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248137 - stable/9/lib/libutil X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 17:50:20 -0000 Author: pluknet Date: Sun Mar 10 17:50:19 2013 New Revision: 248137 URL: http://svnweb.freebsd.org/changeset/base/248137 Log: MFC r247534 (by ru): Fixed documented prototype of kinfo_getproc(3). Modified: stable/9/lib/libutil/kinfo_getproc.3 Directory Properties: stable/9/lib/libutil/ (props changed) Modified: stable/9/lib/libutil/kinfo_getproc.3 ============================================================================== --- stable/9/lib/libutil/kinfo_getproc.3 Sun Mar 10 17:49:59 2013 (r248136) +++ stable/9/lib/libutil/kinfo_getproc.3 Sun Mar 10 17:50:19 2013 (r248137) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 25, 2012 +.Dd March 1, 2013 .Os .Dt KINFO_GETPROC 3 .Sh NAME @@ -37,7 +37,7 @@ .In sys/types.h .In libutil.h .Ft struct kinfo_proc * -.Fn kinfo_getproc "pid_t pid" "int *cntp" +.Fn kinfo_getproc "pid_t pid" .Sh DESCRIPTION This function is used for obtaining process information from the kernel. .Pp From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 18:28:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 4F0CE8CD; Sun, 10 Mar 2013 18:28:02 +0000 (UTC) (envelope-from antoine@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 379C3A28; Sun, 10 Mar 2013 18:28:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AIS2FA099789; Sun, 10 Mar 2013 18:28:02 GMT (envelope-from antoine@svn.freebsd.org) Received: (from antoine@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AIS2kL099788; Sun, 10 Mar 2013 18:28:02 GMT (envelope-from antoine@svn.freebsd.org) Message-Id: <201303101828.r2AIS2kL099788@svn.freebsd.org> From: Antoine Brodin Date: Sun, 10 Mar 2013 18:28:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248138 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 18:28:02 -0000 Author: antoine Date: Sun Mar 10 18:28:01 2013 New Revision: 248138 URL: http://svnweb.freebsd.org/changeset/base/248138 Log: Add 2 more obsolete files. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Mar 10 17:50:19 2013 (r248137) +++ head/ObsoleteFiles.inc Sun Mar 10 18:28:01 2013 (r248138) @@ -71,6 +71,8 @@ OLD_FILES+=usr/lib32/libncp.so OLD_LIBS+=usr/lib32/libncp.so.4 OLD_FILES+=usr/lib32/libncp_p.a OLD_FILES+=usr/sbin/mount_nwfs +OLD_FILES+=usr/share/examples/nwclient/dot.nwfsrc +OLD_FILES+=usr/share/examples/nwclient/nwfs.sh.sample OLD_FILES+=usr/share/man/man1/ncplist.1.gz OLD_FILES+=usr/share/man/man1/ncplogin.1.gz OLD_FILES+=usr/share/man/man1/ncplogout.1.gz From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 19:14:09 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 982881C8; Sun, 10 Mar 2013 19:14:09 +0000 (UTC) (envelope-from antoine@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 897C4B66; Sun, 10 Mar 2013 19:14:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AJE9K9015327; Sun, 10 Mar 2013 19:14:09 GMT (envelope-from antoine@svn.freebsd.org) Received: (from antoine@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AJE9s6015325; Sun, 10 Mar 2013 19:14:09 GMT (envelope-from antoine@svn.freebsd.org) Message-Id: <201303101914.r2AJE9s6015325@svn.freebsd.org> From: Antoine Brodin Date: Sun, 10 Mar 2013 19:14:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248139 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 19:14:09 -0000 Author: antoine Date: Sun Mar 10 19:14:09 2013 New Revision: 248139 URL: http://svnweb.freebsd.org/changeset/base/248139 Log: Correct a date, add an obsolete directory. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Mar 10 18:28:01 2013 (r248138) +++ head/ObsoleteFiles.inc Sun Mar 10 19:14:09 2013 (r248139) @@ -38,7 +38,7 @@ # xargs -n1 | sort | uniq -d; # done -# 20130902: NWFS and NCP supports removed +# 20130309: NWFS and NCP supports removed OLD_FILES+=usr/bin/ncplist OLD_FILES+=usr/bin/ncplogin OLD_FILES+=usr/bin/ncplogout @@ -73,6 +73,7 @@ OLD_FILES+=usr/lib32/libncp_p.a OLD_FILES+=usr/sbin/mount_nwfs OLD_FILES+=usr/share/examples/nwclient/dot.nwfsrc OLD_FILES+=usr/share/examples/nwclient/nwfs.sh.sample +OLD_DIRS+=usr/share/examples/nwclient OLD_FILES+=usr/share/man/man1/ncplist.1.gz OLD_FILES+=usr/share/man/man1/ncplogin.1.gz OLD_FILES+=usr/share/man/man1/ncplogout.1.gz From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 21:07:45 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2E6D2A89; Sun, 10 Mar 2013 21:07:45 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1C1ACFE3; Sun, 10 Mar 2013 21:07:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AL7imk048639; Sun, 10 Mar 2013 21:07:44 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AL7iCY048637; Sun, 10 Mar 2013 21:07:44 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201303102107.r2AL7iCY048637@svn.freebsd.org> From: Alan Cox Date: Sun, 10 Mar 2013 21:07:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248140 - in head/sys: amd64/amd64 i386/i386 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 21:07:45 -0000 Author: alc Date: Sun Mar 10 21:07:44 2013 New Revision: 248140 URL: http://svnweb.freebsd.org/changeset/base/248140 Log: The kernel pmap is statically allocated, so there is really no need to explicitly initialize its pm_root field to zero. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/amd64/amd64/pmap.c head/sys/i386/i386/pmap.c Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Sun Mar 10 19:14:09 2013 (r248139) +++ head/sys/amd64/amd64/pmap.c Sun Mar 10 21:07:44 2013 (r248140) @@ -669,7 +669,6 @@ pmap_bootstrap(vm_paddr_t *firstaddr) */ PMAP_LOCK_INIT(kernel_pmap); kernel_pmap->pm_pml4 = (pdp_entry_t *)PHYS_TO_DMAP(KPML4phys); - kernel_pmap->pm_root = NULL; CPU_FILL(&kernel_pmap->pm_active); /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); Modified: head/sys/i386/i386/pmap.c ============================================================================== --- head/sys/i386/i386/pmap.c Sun Mar 10 19:14:09 2013 (r248139) +++ head/sys/i386/i386/pmap.c Sun Mar 10 21:07:44 2013 (r248140) @@ -392,7 +392,6 @@ pmap_bootstrap(vm_paddr_t firstaddr) #ifdef PAE kernel_pmap->pm_pdpt = (pdpt_entry_t *) (KERNBASE + (u_int)IdlePDPT); #endif - kernel_pmap->pm_root = NULL; CPU_FILL(&kernel_pmap->pm_active); /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 21:44:14 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3A992713; Sun, 10 Mar 2013 21:44:14 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) by mx1.freebsd.org (Postfix) with ESMTP id E9F461AC; Sun, 10 Mar 2013 21:44:13 +0000 (UTC) Received: from JRE-MBP-2.local (c-98-210-232-101.hsd1.ca.comcast.net [98.210.232.101]) (authenticated bits=0) by vps1.elischer.org (8.14.5/8.14.5) with ESMTP id r2ALiCqk028695 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sun, 10 Mar 2013 14:44:13 -0700 (PDT) (envelope-from julian@freebsd.org) Message-ID: <513CFEAD.5060505@freebsd.org> Date: Sun, 10 Mar 2013 14:44:13 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/20130216 Thunderbird/17.0.3 MIME-Version: 1.0 To: Davide Italiano Subject: Re: svn commit: r247777 - in head/sys: conf kern netinet sys References: <201303041109.r24B9vbt022388@svn.freebsd.org> In-Reply-To: <201303041109.r24B9vbt022388@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 21:44:14 -0000 On 3/4/13 3:09 AM, Davide Italiano wrote: > Author: davide > Date: Mon Mar 4 11:09:56 2013 > New Revision: 247777 > URL: http://svnweb.freebsd.org/changeset/base/247777 > > Log: > - Make callout(9) tickless, relying on eventtimers(4) as backend for > precise time event generation. This greatly improves granularity of > callouts which are not anymore constrained to wait next tick to be > scheduled. [etc.] Will there be (or is there already) a paper/document somewhere/sometime outlining how this works? (with pictures) :-) Julian From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 22:18:13 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7DE545D8 for ; Sun, 10 Mar 2013 22:18:13 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id E9D7330E for ; Sun, 10 Mar 2013 22:18:12 +0000 (UTC) Received: (qmail 97337 invoked from network); 10 Mar 2013 23:31:03 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 10 Mar 2013 23:31:03 -0000 Message-ID: <513D06A3.6090304@freebsd.org> Date: Sun, 10 Mar 2013 23:18:11 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Davide Italiano Subject: Re: svn commit: r248113 - head/sys/kern References: <201303092003.r29K3BPc089195@svn.freebsd.org> In-Reply-To: <201303092003.r29K3BPc089195@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 22:18:13 -0000 On 09.03.2013 21:03, Davide Italiano wrote: > Author: davide > Date: Sat Mar 9 20:03:10 2013 > New Revision: 248113 > URL: http://svnweb.freebsd.org/changeset/base/248113 > > Log: > Fixup r248032: > Change size requested to malloc(9) now that callwheel buckets are > callout_list and not callout_tailq anymore. This change was already > there but it seems it got lost after code churn in r248032. Sorry, I have missed this change while forward-porting the patch. The (light) testing of the kernel didn't blow up. Actually I did the commit from it. :-/ -- Andre > Reported by: alc, kib > > Modified: > head/sys/kern/kern_timeout.c > > Modified: head/sys/kern/kern_timeout.c > ============================================================================== > --- head/sys/kern/kern_timeout.c Sat Mar 9 20:01:35 2013 (r248112) > +++ head/sys/kern/kern_timeout.c Sat Mar 9 20:03:10 2013 (r248113) > @@ -294,7 +294,7 @@ callout_cpu_init(struct callout_cpu *cc) > > mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_RECURSE); > SLIST_INIT(&cc->cc_callfree); > - cc->cc_callwheel = malloc(sizeof(struct callout_tailq) * callwheelsize, > + cc->cc_callwheel = malloc(sizeof(struct callout_list) * callwheelsize, > M_CALLOUT, M_WAITOK); > for (i = 0; i < callwheelsize; i++) > LIST_INIT(&cc->cc_callwheel[i]); > > From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 22:55:36 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 21DC2E42; Sun, 10 Mar 2013 22:55:36 +0000 (UTC) (envelope-from andre@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 09B2E63B; Sun, 10 Mar 2013 22:55:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2AMtZ0E081610; Sun, 10 Mar 2013 22:55:35 GMT (envelope-from andre@svn.freebsd.org) Received: (from andre@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2AMtZEt081609; Sun, 10 Mar 2013 22:55:35 GMT (envelope-from andre@svn.freebsd.org) Message-Id: <201303102255.r2AMtZEt081609@svn.freebsd.org> From: Andre Oppermann Date: Sun, 10 Mar 2013 22:55:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248141 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 22:55:36 -0000 Author: andre Date: Sun Mar 10 22:55:35 2013 New Revision: 248141 URL: http://svnweb.freebsd.org/changeset/base/248141 Log: Bring back the comment on the sizing of the callout array that got lost in r248031. Requested by: alc, alfred Modified: head/sys/kern/kern_timeout.c Modified: head/sys/kern/kern_timeout.c ============================================================================== --- head/sys/kern/kern_timeout.c Sun Mar 10 21:07:44 2013 (r248140) +++ head/sys/kern/kern_timeout.c Sun Mar 10 22:55:35 2013 (r248141) @@ -258,6 +258,8 @@ callout_callwheel_init(void *dummy) /* * Calculate the size of the callout wheel and the preallocated * timeout() structures. + * XXX: Clip callout to result of previous function of maxusers + * maximum 384. This is still huge, but acceptable. */ ncallout = imin(16 + maxproc + maxfiles, 18508); TUNABLE_INT_FETCH("kern.ncallout", &ncallout); From owner-svn-src-all@FreeBSD.ORG Sun Mar 10 22:56:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DF142FAE for ; Sun, 10 Mar 2013 22:56:02 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 56C6F640 for ; Sun, 10 Mar 2013 22:56:02 +0000 (UTC) Received: (qmail 97466 invoked from network); 11 Mar 2013 00:08:53 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 11 Mar 2013 00:08:53 -0000 Message-ID: <513D0F80.80405@freebsd.org> Date: Sun, 10 Mar 2013 23:56:00 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Alan Cox Subject: Re: svn commit: r248031 - in head/sys: kern sys References: <201303081014.r28AEwet053196@svn.freebsd.org> <513A2B3E.2070804@rice.edu> In-Reply-To: <513A2B3E.2070804@rice.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 22:56:02 -0000 On 08.03.2013 19:17, Alan Cox wrote: > On 03/08/2013 04:14, Andre Oppermann wrote: >> Author: andre >> Date: Fri Mar 8 10:14:58 2013 >> New Revision: 248031 >> URL: http://svnweb.freebsd.org/changeset/base/248031 >> >> Log: >> Move the auto-sizing of the callout array from init_param2() to >> kern_timeout_callwheel_alloc() where it is actually used. >> >> This is a mechanical move and no tuning parameters are changed. >> >> The pre-allocated callout array is only used for legacy timeout(9) >> calls and is only allocated and active on cpu0. Eventually all >> remaining users of timeout(9) should switch to the callout_* API. >> > > In the meantime, until all legacy timeout(9) users are updated, I think > that it would be wise to retain the comment that describes where the > magic number 18508 comes from. A valid point. Reintroduced in r248141. I was investigating the current users of timeout() and couldn't find any remaining direct relation to maxproc or maxfiles. The use of timeout(9) is almost entirely limited to drivers in the CAM/SCSI area to manage CCB's. The highest number of outstanding transactions and timers seems to be limited to around 256 per driver. The majority of those also seem to be rather easy and mostly mechanical callout_* conversion targets. This is only a preliminary finding though, I didn't attempt to convert any of those. -- Andre From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 00:42:24 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 5C18F53F; Mon, 11 Mar 2013 00:42:24 +0000 (UTC) (envelope-from alc@rice.edu) Received: from pp2.rice.edu (proofpoint2.mail.rice.edu [128.42.201.101]) by mx1.freebsd.org (Postfix) with ESMTP id 267DB9B8; Mon, 11 Mar 2013 00:42:23 +0000 (UTC) Received: from pps.filterd (pp2.rice.edu [127.0.0.1]) by pp2.rice.edu (8.14.5/8.14.5) with SMTP id r2B0Om7Z015492; Sun, 10 Mar 2013 19:42:17 -0500 Received: from mh3.mail.rice.edu (mh3.mail.rice.edu [128.42.199.10]) by pp2.rice.edu with ESMTP id 1ayt5drfee-1; Sun, 10 Mar 2013 19:42:17 -0500 X-Virus-Scanned: by amavis-2.7.0 at mh3.mail.rice.edu, auth channel Received: from adsl-216-63-78-18.dsl.hstntx.swbell.net (adsl-216-63-78-18.dsl.hstntx.swbell.net [216.63.78.18]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: alc) by mh3.mail.rice.edu (Postfix) with ESMTPSA id 86C4B40023; Sun, 10 Mar 2013 19:42:16 -0500 (CDT) Message-ID: <513D2867.2020206@rice.edu> Date: Sun, 10 Mar 2013 19:42:15 -0500 From: Alan Cox User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:17.0) Gecko/20130127 Thunderbird/17.0.2 MIME-Version: 1.0 To: Andre Oppermann Subject: Re: svn commit: r248031 - in head/sys: kern sys References: <201303081014.r28AEwet053196@svn.freebsd.org> <513A2B3E.2070804@rice.edu> <513D0F80.80405@freebsd.org> In-Reply-To: <513D0F80.80405@freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=nai engine=5400 definitions=5800 signatures=585085 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=4 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1111160001 definitions=main-1101130121 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 00:42:24 -0000 On 03/10/2013 17:56, Andre Oppermann wrote: > On 08.03.2013 19:17, Alan Cox wrote: >> On 03/08/2013 04:14, Andre Oppermann wrote: >>> Author: andre >>> Date: Fri Mar 8 10:14:58 2013 >>> New Revision: 248031 >>> URL: http://svnweb.freebsd.org/changeset/base/248031 >>> >>> Log: >>> Move the auto-sizing of the callout array from init_param2() to >>> kern_timeout_callwheel_alloc() where it is actually used. >>> >>> This is a mechanical move and no tuning parameters are changed. >>> >>> The pre-allocated callout array is only used for legacy timeout(9) >>> calls and is only allocated and active on cpu0. Eventually all >>> remaining users of timeout(9) should switch to the callout_* API. >>> >> >> In the meantime, until all legacy timeout(9) users are updated, I think >> that it would be wise to retain the comment that describes where the >> magic number 18508 comes from. > > A valid point. Reintroduced in r248141. Thank you! From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 04:19:11 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 29293FF4; Mon, 11 Mar 2013 04:19:11 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 11DAC2FE; Mon, 11 Mar 2013 04:19:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2B4JAxf079545; Mon, 11 Mar 2013 04:19:10 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2B4JAfo079544; Mon, 11 Mar 2013 04:19:10 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303110419.r2B4JAfo079544@svn.freebsd.org> From: Adrian Chadd Date: Mon, 11 Mar 2013 04:19:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248142 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 04:19:11 -0000 Author: adrian Date: Mon Mar 11 04:19:10 2013 New Revision: 248142 URL: http://svnweb.freebsd.org/changeset/base/248142 Log: Add three-stream EVM values. Modified: head/sys/dev/ath/if_ath_rx.c Modified: head/sys/dev/ath/if_ath_rx.c ============================================================================== --- head/sys/dev/ath/if_ath_rx.c Sun Mar 10 22:55:35 2013 (r248141) +++ head/sys/dev/ath/if_ath_rx.c Mon Mar 11 04:19:10 2013 (r248142) @@ -399,7 +399,9 @@ ath_rx_tap_vendor(struct ifnet *ifp, str sc->sc_rx_th.wr_v.evm[0] = rs->rs_evm0; sc->sc_rx_th.wr_v.evm[1] = rs->rs_evm1; sc->sc_rx_th.wr_v.evm[2] = rs->rs_evm2; - /* XXX TODO: extend this to include 3-stream EVM */ + /* These are only populated from the AR9300 or later */ + sc->sc_rx_th.wr_v.evm[3] = rs->rs_evm3; + sc->sc_rx_th.wr_v.evm[4] = rs->rs_evm4; /* phyerr info */ if (rs->rs_status & HAL_RXERR_PHY) From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 06:01:01 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6797ABB8; Mon, 11 Mar 2013 06:01:01 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5A2EC7E1; Mon, 11 Mar 2013 06:01:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2B611qw010750; Mon, 11 Mar 2013 06:01:01 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2B611hh010748; Mon, 11 Mar 2013 06:01:01 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303110601.r2B611hh010748@svn.freebsd.org> From: Adrian Chadd Date: Mon, 11 Mar 2013 06:01:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248143 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 06:01:01 -0000 Author: adrian Date: Mon Mar 11 06:01:00 2013 New Revision: 248143 URL: http://svnweb.freebsd.org/changeset/base/248143 Log: Bump the EVM array size up to fit the AR9380 EVM entries. Modified: head/sys/dev/ath/if_athioctl.h Modified: head/sys/dev/ath/if_athioctl.h ============================================================================== --- head/sys/dev/ath/if_athioctl.h Mon Mar 11 04:19:10 2013 (r248142) +++ head/sys/dev/ath/if_athioctl.h Mon Mar 11 06:01:00 2013 (r248143) @@ -273,6 +273,12 @@ struct ath_rateioctl { #define ATH_RADIOTAP_MAX_CHAINS 4 /* + * AR9380 and later chips are 3x3, which requires + * 5 EVM DWORDs in HT40 mode. + */ +#define ATH_RADIOTAP_MAX_EVM 5 + +/* * The vendor radiotap header data needs to be: * * + Aligned to a 4 byte address @@ -291,7 +297,7 @@ struct ath_radiotap_vendor_hdr { /* 30 uint8_t vh_rx_chainmask; /* 1 */ /* At this point it should be 4 byte aligned */ - uint32_t evm[ATH_RADIOTAP_MAX_CHAINS]; /* 4 * 4 = 16 */ + uint32_t evm[ATH_RADIOTAP_MAX_EVM]; /* 5 * 4 = 20 */ uint8_t rssi_ctl[ATH_RADIOTAP_MAX_CHAINS]; /* 4 */ uint8_t rssi_ext[ATH_RADIOTAP_MAX_CHAINS]; /* 4 */ From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 06:09:09 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AE18ED88; Mon, 11 Mar 2013 06:09:09 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0B0CF813; Mon, 11 Mar 2013 06:09:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2B698KO012223; Mon, 11 Mar 2013 06:09:08 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2B698xg012220; Mon, 11 Mar 2013 06:09:08 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <201303110609.r2B698xg012220@svn.freebsd.org> From: Lawrence Stewart Date: Mon, 11 Mar 2013 06:09:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248144 - stable/9/sys/netinet X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 06:09:09 -0000 Author: lstewart Date: Mon Mar 11 06:09:08 2013 New Revision: 248144 URL: http://svnweb.freebsd.org/changeset/base/248144 Log: MFC r247906: The hashmask returned by hashinit() is a valid index in the returned hash array. Fix a siftr(4) potential memory leak and INVARIANTS triggered kernel panic in hashdestroy() by ensuring the last array index in the flow counter hash table is flushed of entries. Modified: stable/9/sys/netinet/siftr.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/netinet/siftr.c ============================================================================== --- stable/9/sys/netinet/siftr.c Mon Mar 11 06:01:00 2013 (r248143) +++ stable/9/sys/netinet/siftr.c Mon Mar 11 06:09:08 2013 (r248144) @@ -1313,7 +1313,7 @@ siftr_manage_ops(uint8_t action) * flow seen and freeing any malloc'd memory. * The hash consists of an array of LISTs (man 3 queue). */ - for (i = 0; i < siftr_hashmask; i++) { + for (i = 0; i <= siftr_hashmask; i++) { LIST_FOREACH_SAFE(counter, counter_hash + i, nodes, tmp_counter) { key = counter->key; From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 06:17:47 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3F3E4F59; Mon, 11 Mar 2013 06:17:47 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 316B584F; Mon, 11 Mar 2013 06:17:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2B6HlCO015078; Mon, 11 Mar 2013 06:17:47 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2B6HlMq015076; Mon, 11 Mar 2013 06:17:47 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <201303110617.r2B6HlMq015076@svn.freebsd.org> From: Lawrence Stewart Date: Mon, 11 Mar 2013 06:17:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r248145 - stable/7/sys/netinet X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 06:17:47 -0000 Author: lstewart Date: Mon Mar 11 06:17:46 2013 New Revision: 248145 URL: http://svnweb.freebsd.org/changeset/base/248145 Log: MFC r247906: The hashmask returned by hashinit() is a valid index in the returned hash array. Fix a siftr(4) potential memory leak and INVARIANTS triggered kernel panic in hashdestroy() by ensuring the last array index in the flow counter hash table is flushed of entries. Modified: stable/7/sys/netinet/siftr.c Directory Properties: stable/7/sys/ (props changed) Modified: stable/7/sys/netinet/siftr.c ============================================================================== --- stable/7/sys/netinet/siftr.c Mon Mar 11 06:09:08 2013 (r248144) +++ stable/7/sys/netinet/siftr.c Mon Mar 11 06:17:46 2013 (r248145) @@ -1316,7 +1316,7 @@ siftr_manage_ops(uint8_t action) * flow seen and freeing any malloc'd memory. * The hash consists of an array of LISTs (man 3 queue). */ - for (i = 0; i < siftr_hashmask; i++) { + for (i = 0; i <= siftr_hashmask; i++) { LIST_FOREACH_SAFE(counter, counter_hash + i, nodes, tmp_counter) { key = counter->key; From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 06:54:59 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 34F764B3; Mon, 11 Mar 2013 06:54:59 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 04E0994B; Mon, 11 Mar 2013 06:54:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2B6swMZ026248; Mon, 11 Mar 2013 06:54:58 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2B6swnJ026246; Mon, 11 Mar 2013 06:54:58 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303110654.r2B6swnJ026246@svn.freebsd.org> From: Adrian Chadd Date: Mon, 11 Mar 2013 06:54:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248146 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 06:54:59 -0000 Author: adrian Date: Mon Mar 11 06:54:58 2013 New Revision: 248146 URL: http://svnweb.freebsd.org/changeset/base/248146 Log: Add a few new fields to the RX vendor radiotap header: * a flags field that lets me know what's going on; * the hardware ratecode, unmolested by conversion to a bitrate; * the HAL rs_flags field, useful for debugging; * specifically mark aggregate sub-frames. This stuff sorely needs tidying up - it's missing some important stuff (eg numdelims) and it would be nice to put the flags at the beginning rather than at the end. Tested: * AR9380, STA mode, 2x2 HT40, monitoring RSSI and EVM values Modified: head/sys/dev/ath/if_ath_rx.c head/sys/dev/ath/if_athioctl.h Modified: head/sys/dev/ath/if_ath_rx.c ============================================================================== --- head/sys/dev/ath/if_ath_rx.c Mon Mar 11 06:17:46 2013 (r248145) +++ head/sys/dev/ath/if_ath_rx.c Mon Mar 11 06:54:58 2013 (r248146) @@ -403,11 +403,27 @@ ath_rx_tap_vendor(struct ifnet *ifp, str sc->sc_rx_th.wr_v.evm[3] = rs->rs_evm3; sc->sc_rx_th.wr_v.evm[4] = rs->rs_evm4; + /* direction */ + sc->sc_rx_th.wr_v.vh_flags = ATH_VENDOR_PKT_RX; + + /* RX rate */ + sc->sc_rx_th.wr_v.vh_rx_hwrate = rs->rs_rate; + + /* RX flags */ + sc->sc_rx_th.wr_v.vh_rs_flags = rs->rs_flags; + + if (rs->rs_isaggr) + sc->sc_rx_th.wr_v.vh_flags |= ATH_VENDOR_PKT_ISAGGR; + if (rs->rs_moreaggr) + sc->sc_rx_th.wr_v.vh_flags |= ATH_VENDOR_PKT_MOREAGGR; + /* phyerr info */ - if (rs->rs_status & HAL_RXERR_PHY) + if (rs->rs_status & HAL_RXERR_PHY) { sc->sc_rx_th.wr_v.vh_phyerr_code = rs->rs_phyerr; - else + sc->sc_rx_th.wr_v.vh_flags |= ATH_VENDOR_PKT_RXPHYERR; + } else { sc->sc_rx_th.wr_v.vh_phyerr_code = 0xff; + } sc->sc_rx_th.wr_v.vh_rs_status = rs->rs_status; sc->sc_rx_th.wr_v.vh_rssi = rs->rs_rssi; } Modified: head/sys/dev/ath/if_athioctl.h ============================================================================== --- head/sys/dev/ath/if_athioctl.h Mon Mar 11 06:17:46 2013 (r248145) +++ head/sys/dev/ath/if_athioctl.h Mon Mar 11 06:54:58 2013 (r248146) @@ -305,7 +305,16 @@ struct ath_radiotap_vendor_hdr { /* 30 uint8_t vh_phyerr_code; /* Phy error code, or 0xff */ uint8_t vh_rs_status; /* RX status */ uint8_t vh_rssi; /* Raw RSSI */ - uint8_t vh_pad1[1]; /* Pad to 4 byte boundary */ + uint8_t vh_flags; /* General flags */ +#define ATH_VENDOR_PKT_RX 0x01 +#define ATH_VENDOR_PKT_TX 0x02 +#define ATH_VENDOR_PKT_RXPHYERR 0x04 +#define ATH_VENDOR_PKT_ISAGGR 0x08 +#define ATH_VENDOR_PKT_MOREAGGR 0x10 + + uint8_t vh_rx_hwrate; /* hardware RX ratecode */ + uint8_t vh_rs_flags; /* RX HAL flags */ + uint8_t vh_pad[2]; /* pad to DWORD boundary */ } __packed; #endif /* ATH_ENABLE_RADIOTAP_VENDOR_EXT */ From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 07:10:17 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2E5BA815; Mon, 11 Mar 2013 07:10:17 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1ED939B5; Mon, 11 Mar 2013 07:10:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2B7AGM9031859; Mon, 11 Mar 2013 07:10:16 GMT (envelope-from jpaetzel@svn.freebsd.org) Received: (from jpaetzel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2B7AGFg031858; Mon, 11 Mar 2013 07:10:16 GMT (envelope-from jpaetzel@svn.freebsd.org) Message-Id: <201303110710.r2B7AGFg031858@svn.freebsd.org> From: Josh Paetzel Date: Mon, 11 Mar 2013 07:10:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r248147 - stable/8/usr.sbin/pkg_install/add X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 07:10:17 -0000 Author: jpaetzel Date: Mon Mar 11 07:10:15 2013 New Revision: 248147 URL: http://svnweb.freebsd.org/changeset/base/248147 Log: Add the packages directory that will be used for the upcoming 8.4 release Approved by: re (implicit) Modified: stable/8/usr.sbin/pkg_install/add/main.c Modified: stable/8/usr.sbin/pkg_install/add/main.c ============================================================================== --- stable/8/usr.sbin/pkg_install/add/main.c Mon Mar 11 06:54:58 2013 (r248146) +++ stable/8/usr.sbin/pkg_install/add/main.c Mon Mar 11 07:10:15 2013 (r248147) @@ -88,6 +88,7 @@ struct { { 801000, 801499, "/packages-8.1-release" }, { 802000, 802499, "/packages-8.2-release" }, { 803000, 803499, "/packages-8.3-release" }, + { 804000, 804499, "/packages-8.4-release" }, { 900000, 900499, "/packages-9.0-release" }, { 901000, 901499, "/packages-9.1-release" }, { 300000, 399000, "/packages-3-stable" }, From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 07:38:23 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 876FAC4C; Mon, 11 Mar 2013 07:38:23 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from smtp5.clear.net.nz (smtp5.clear.net.nz [203.97.33.68]) by mx1.freebsd.org (Postfix) with ESMTP id 4F318A7B; Mon, 11 Mar 2013 07:38:23 +0000 (UTC) Received: from mxin2-orange.clear.net.nz (lb2-srcnat.clear.net.nz [203.97.32.237]) by smtp5.clear.net.nz (CLEAR Net Mail) with ESMTP id <0MJH00IUYJVQTJ20@smtp5.clear.net.nz>; Mon, 11 Mar 2013 20:38:16 +1300 (NZDT) Received: from 202-0-48-19.paradise.net.nz (HELO bender) ([202.0.48.19]) by smtpin2.paradise.net.nz with ESMTP; Mon, 11 Mar 2013 20:38:14 +1300 Date: Mon, 11 Mar 2013 20:37:49 +1300 From: Andrew Turner Subject: Re: svn commit: r248119 - in head/sys/arm: arm include In-reply-to: <20130310101258.GA50734@freebsd.org> To: Roman Divacky Message-id: <20130311203749.199bd1cc@bender> MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit References: <201303092355.r29NtORC061569@svn.freebsd.org> <20130310101258.GA50734@freebsd.org> Cc: Andrew Turner , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 07:38:23 -0000 On Sun, 10 Mar 2013 11:12:58 +0100 Roman Divacky wrote: > Should clang define __FreeBSD_ARCH_armv6__ ? Any other define thats > missing and should be defined? It was discussed when I added FreeBSD/ARM support to clang. I originally had it, however it was decided to remove it as __ARM_ARCH encodes the required information without adding a FreeBSD specific macro. __FreeBSD_ARCH_armv6__ is only defined in our copy of gcc so shouldn't be relied upon. Andrew From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 07:53:51 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C3919307; Mon, 11 Mar 2013 07:53:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B5097B49; Mon, 11 Mar 2013 07:53:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2B7rpBf044312; Mon, 11 Mar 2013 07:53:51 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2B7rpoE044310; Mon, 11 Mar 2013 07:53:51 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201303110753.r2B7rpoE044310@svn.freebsd.org> From: Alexander Motin Date: Mon, 11 Mar 2013 07:53:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248148 - stable/9/sys/dev/sound/pci/hda X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 07:53:51 -0000 Author: mav Date: Mon Mar 11 07:53:51 2013 New Revision: 248148 URL: http://svnweb.freebsd.org/changeset/base/248148 Log: MFC r247815: Add quirk to enable headphones redirection on Lenovo X220. PR: kern/174876 Modified: stable/9/sys/dev/sound/pci/hda/hdaa_patches.c stable/9/sys/dev/sound/pci/hda/hdac.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/sound/pci/hda/hdaa_patches.c ============================================================================== --- stable/9/sys/dev/sound/pci/hda/hdaa_patches.c Mon Mar 11 07:10:15 2013 (r248147) +++ stable/9/sys/dev/sound/pci/hda/hdaa_patches.c Mon Mar 11 07:53:51 2013 (r248148) @@ -333,6 +333,13 @@ hdac_pin_patch(struct hdaa_widget *w) patch = "as=1 seq=15"; break; } + } else if (id == HDA_CODEC_CX20590 && + subid == LENOVO_X220_SUBVENDOR) { + switch (nid) { + case 25: + patch = "as=1 seq=15"; + break; + } } if (patch != NULL) Modified: stable/9/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- stable/9/sys/dev/sound/pci/hda/hdac.h Mon Mar 11 07:10:15 2013 (r248147) +++ stable/9/sys/dev/sound/pci/hda/hdac.h Mon Mar 11 07:53:51 2013 (r248148) @@ -220,6 +220,7 @@ #define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e) #define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d) #define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015) +#define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da) #define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) #define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff) From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 08:21:44 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7C4D6996; Mon, 11 Mar 2013 08:21:44 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 56363D48; Mon, 11 Mar 2013 08:21:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2B8LiZI053401; Mon, 11 Mar 2013 08:21:44 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2B8LiA6053400; Mon, 11 Mar 2013 08:21:44 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <201303110821.r2B8LiA6053400@svn.freebsd.org> From: Lawrence Stewart Date: Mon, 11 Mar 2013 08:21:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r248150 - stable/8/sys/netinet X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 08:21:44 -0000 Author: lstewart Date: Mon Mar 11 08:21:43 2013 New Revision: 248150 URL: http://svnweb.freebsd.org/changeset/base/248150 Log: MFC r247906: The hashmask returned by hashinit() is a valid index in the returned hash array. Fix a siftr(4) potential memory leak and INVARIANTS triggered kernel panic in hashdestroy() by ensuring the last array index in the flow counter hash table is flushed of entries. Approved by: re (kib) Modified: stable/8/sys/netinet/siftr.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/netinet/ (props changed) Modified: stable/8/sys/netinet/siftr.c ============================================================================== --- stable/8/sys/netinet/siftr.c Mon Mar 11 07:55:49 2013 (r248149) +++ stable/8/sys/netinet/siftr.c Mon Mar 11 08:21:43 2013 (r248150) @@ -1319,7 +1319,7 @@ siftr_manage_ops(uint8_t action) * flow seen and freeing any malloc'd memory. * The hash consists of an array of LISTs (man 3 queue). */ - for (i = 0; i < siftr_hashmask; i++) { + for (i = 0; i <= siftr_hashmask; i++) { LIST_FOREACH_SAFE(counter, counter_hash + i, nodes, tmp_counter) { key = counter->key; From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 08:54:58 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2FB1E1E6; Mon, 11 Mar 2013 08:54:58 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) by mx1.freebsd.org (Postfix) with ESMTP id AFD99E93; Mon, 11 Mar 2013 08:54:57 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.6/8.14.6) with ESMTP id r2B8sruE003871; Mon, 11 Mar 2013 10:54:53 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.8.0 kib.kiev.ua r2B8sruE003871 Received: (from kostik@localhost) by tom.home (8.14.6/8.14.6/Submit) id r2B8srsg003870; Mon, 11 Mar 2013 10:54:53 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 11 Mar 2013 10:54:53 +0200 From: Konstantin Belousov To: Jean-S??bastien P??dron Subject: Re: svn commit: r248060 - in head/sys/dev/drm2: . ttm Message-ID: <20130311085453.GQ3794@kib.kiev.ua> References: <201303081811.r28IB2JI009017@svn.freebsd.org> <513D985F.40902@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wR9Y6Ks0OCEmDFVd" Content-Disposition: inline In-Reply-To: <513D985F.40902@FreeBSD.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on tom.home Cc: svn-src-head@freebsd.org, Konstantin Belousov , svn-src-all@freebsd.org, src-committers@freebsd.org, Eitan Adler X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 08:54:58 -0000 --wR9Y6Ks0OCEmDFVd Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Mar 11, 2013 at 09:39:59AM +0100, Jean-S??bastien P??dron wrote: > Hi Eitan! >=20 > On 08.03.2013 19:14, Eitan Adler wrote: > > On 8 March 2013 13:11, Jean-Sebastien Pedron wro= te: > >> @@ -125,8 +125,6 @@ static ssize_t ttm_mem_zone_store(struct > >> > >> static void ttm_mem_global_kobj_release(struct ttm_mem_global *glob) > >> { > >> - > >> - free(glob, M_TTM_ZONE); > >> } > >=20 > > Can this function now be removed, because it appears to be empty? >=20 > I guess we could get rid of the reference counting too, because we > already have a refcount in the struct drm_global_reference containing > struct ttm_mem_global or struct ttm_bo_global. This needs further > investigation though. >=20 > Konstantin, what do you think about this? I do not like neither removing the release method, nor reference counting. I made only absolutely neccessary changes to the TTM to get it into FreeBSD. What is proposed is a start of rewrite. --wR9Y6Ks0OCEmDFVd Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQIcBAEBAgAGBQJRPZvdAAoJEJDCuSvBvK1B7eYQAJ+JwopU75ukPp3X201Bmtnt bpZq340oO+NNheQ1nEVI0ObwPr/xPnME7H7cqj6p/JW+/ttk+SLKl7ZtgWVLw+QZ hjQzxwaXkJvgx/fwkFsfoKMy2KrxAssg2N9GdRAw30uO+nIVNHbOsiISPjKTUxWf cnoBEwxGdyILRsEAC1+WOqHDI5IaiN0d4eUl4VT2Jc8G69htP+Mjc1Slhle3MkKA 0j5KbpXPJsA76bI+Ltum+c/JdW5hSWq/ugiuIIs8/NYO4dDaY5kxmzpqmN4Yrz3h io1btt678UYKNpG1v6eyGZrEVu3+2vsSacpJAvEil67K6lXQ0ZeJGny7Aj/m+5SU qEAlnyslA3alrzqHoyKK3yK9rKtF26xJ1LyWd+nJ/x13pT4Pg7DntXf7rlgWWP+B 8DLkd8EFeFPVC2fM9r8wajbpFAim2LZviRA4Yvi1LgFTM/qDCfABAwztnz7F9Jm6 QMqkbQSH/RnZMjQw610Vv+0Au90q+uzjszRTdIDiH9VEJlXRKpkdQ5KI6ZOnQKE4 pYo855OXdVfnaly1yLNAoUl8T0CW4ElmT5gXcan8PjUSgr0SQsDF+/dktPUngMdt 2GI3B01FtZR6l1eb0LgFSU5iTcJXdUmNKbPaJirfhHrYn/n+RPEUToZkWKWTgl/G L1iIuNUJUv3ph81+GTeo =GuA1 -----END PGP SIGNATURE----- --wR9Y6Ks0OCEmDFVd-- From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 09:03:16 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 34BE043B; Mon, 11 Mar 2013 09:03:16 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (ns25270.ovh.net [91.121.29.24]) by mx1.freebsd.org (Postfix) with ESMTP id 757E7EDB; Mon, 11 Mar 2013 09:03:15 +0000 (UTC) Received: from [46.255.176.2] (helo=viking.yzserv.com) by mail.made4.biz with esmtpsa (TLSv1:DHE-RSA-CAMELLIA256-SHA:256) (Exim 4.80.1 (FreeBSD)) (envelope-from ) id 1UEyH7-000PX5-Kf; Mon, 11 Mar 2013 09:40:06 +0100 Message-ID: <513D985F.40902@FreeBSD.org> Date: Mon, 11 Mar 2013 09:39:59 +0100 From: =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130220 Thunderbird/17.0.3 MIME-Version: 1.0 To: Eitan Adler Subject: Re: svn commit: r248060 - in head/sys/dev/drm2: . ttm References: <201303081811.r28IB2JI009017@svn.freebsd.org> In-Reply-To: X-Enigmail-Version: 1.5.1 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="----enig2WTKXFMAQXWVIJSFLJVCE" Cc: svn-src-head@freebsd.org, Konstantin Belousov , svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 09:03:16 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2WTKXFMAQXWVIJSFLJVCE Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Eitan! On 08.03.2013 19:14, Eitan Adler wrote: > On 8 March 2013 13:11, Jean-Sebastien Pedron wro= te: >> @@ -125,8 +125,6 @@ static ssize_t ttm_mem_zone_store(struct >> >> static void ttm_mem_global_kobj_release(struct ttm_mem_global *glob) >> { >> - >> - free(glob, M_TTM_ZONE); >> } >=20 > Can this function now be removed, because it appears to be empty? I guess we could get rid of the reference counting too, because we already have a refcount in the struct drm_global_reference containing struct ttm_mem_global or struct ttm_bo_global. This needs further investigation though. Konstantin, what do you think about this? --=20 Jean-S=C3=A9bastien P=C3=A9dron ------enig2WTKXFMAQXWVIJSFLJVCE Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlE9mGUACgkQa+xGJsFYOlMQdgCfSDT94mj0xVoRz4DSDxa8Byfw qXEAn1wZFDZ486F62rLnH7X5omK276Nz =9sWL -----END PGP SIGNATURE----- ------enig2WTKXFMAQXWVIJSFLJVCE-- From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 10:48:27 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 67147D64; Mon, 11 Mar 2013 10:48:27 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4F1F967D; Mon, 11 Mar 2013 10:48:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BAmRkG096489; Mon, 11 Mar 2013 10:48:27 GMT (envelope-from bapt@svn.freebsd.org) Received: (from bapt@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BAmQNr096485; Mon, 11 Mar 2013 10:48:26 GMT (envelope-from bapt@svn.freebsd.org) Message-Id: <201303111048.r2BAmQNr096485@svn.freebsd.org> From: Baptiste Daroussin Date: Mon, 11 Mar 2013 10:48:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248151 - in head: . share/examples/cvsup X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 10:48:27 -0000 Author: bapt Date: Mon Mar 11 10:48:26 2013 New Revision: 248151 URL: http://svnweb.freebsd.org/changeset/base/248151 Log: Ports are no more exported via cvsup, remove cvsup examples and documentation refering to ports MFC after: 2 days Deleted: head/share/examples/cvsup/ports-supfile head/share/examples/cvsup/refuse head/share/examples/cvsup/refuse.README Modified: head/ObsoleteFiles.inc head/share/examples/cvsup/README head/share/examples/cvsup/cvs-supfile head/share/examples/cvsup/stable-supfile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Mon Mar 11 08:21:43 2013 (r248150) +++ head/ObsoleteFiles.inc Mon Mar 11 10:48:26 2013 (r248151) @@ -38,6 +38,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20130311: Ports are no more available via cvsup +OLD_FILES+=usr/share/examples/cvsup/ports-supfile +OLD_FILES+=usr/share/examples/cvsup/refuse +OLD_FILES+=usr/share/examples/cvsup/refuse.README # 20130309: NWFS and NCP supports removed OLD_FILES+=usr/bin/ncplist OLD_FILES+=usr/bin/ncplogin Modified: head/share/examples/cvsup/README ============================================================================== --- head/share/examples/cvsup/README Mon Mar 11 08:21:43 2013 (r248150) +++ head/share/examples/cvsup/README Mon Mar 11 10:48:26 2013 (r248151) @@ -19,8 +19,6 @@ To maintain the sources for the FreeBSD- standard-supfile Main source tree - ports-supfile Ports collection - To maintain the sources for the FreeBSD-stable release, use: stable-supfile Main source tree @@ -28,7 +26,7 @@ To maintain the sources for the FreeBSD- To maintain a copy of the CVS repository containing all versions of FreeBSD, use: - cvs-supfile Main source tree and ports collection + cvs-supfile Main source tree collection IMPORTANT: Before you use any of the supfiles in this directory, you will need to edit in an appropriate "host" setting. See: Modified: head/share/examples/cvsup/cvs-supfile ============================================================================== --- head/share/examples/cvsup/cvs-supfile Mon Mar 11 08:21:43 2013 (r248150) +++ head/share/examples/cvsup/cvs-supfile Mon Mar 11 10:48:26 2013 (r248151) @@ -43,9 +43,8 @@ # prefix=/home/ncvs # This specifies where to place the requested files. A # setting of "/home/ncvs" will place all of the files -# requested in /home/ncvs (e.g., "/home/ncvs/src/bin", -# "/home/ncvs/ports/archivers"). The prefix directory -# must exist in order to run CVSup. +# requested in /home/ncvs (e.g., "/home/ncvs/src/bin"). +# The prefix directory must exist in order to run CVSup. # Defaults that apply to all the collections # @@ -68,13 +67,6 @@ # mega-collection. It includes all of the individual "src-*" collections. src-all -## Ports Collection. -# -# The easiest way to get the ports tree is to use the "ports-all" -# mega-collection. It includes all of the individual "ports-*" -# collections, -ports-all - ## Projects # # This collection retrieves the projects tree of the FreeBSD Modified: head/share/examples/cvsup/stable-supfile ============================================================================== --- head/share/examples/cvsup/stable-supfile Mon Mar 11 08:21:43 2013 (r248150) +++ head/share/examples/cvsup/stable-supfile Mon Mar 11 10:48:26 2013 (r248151) @@ -46,21 +46,6 @@ # in "/usr/src" (e.g., "/usr/src/bin", "/usr/src/lib"). # The prefix directory must exist in order to run CVSup. # -############################################################################### -# -# DANGER! WARNING! LOOK OUT! VORSICHT! -# -# If you add any of the ports collections to this file, be sure to -# specify them with a "tag" value set to ".", like this: -# -# ports-all tag=. -# -# If you leave out the "tag=." portion, CVSup will delete all of -# the files in your ports. That is because the ports -# collections do not use the same tags as the main part of the FreeBSD -# source tree. -# -############################################################################### # Defaults that apply to all the collections # From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 10:56:47 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 00F461A1; Mon, 11 Mar 2013 10:56:46 +0000 (UTC) (envelope-from cognet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CF0356C7; Mon, 11 Mar 2013 10:56:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BAukbO099279; Mon, 11 Mar 2013 10:56:46 GMT (envelope-from cognet@svn.freebsd.org) Received: (from cognet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BAukIM099278; Mon, 11 Mar 2013 10:56:46 GMT (envelope-from cognet@svn.freebsd.org) Message-Id: <201303111056.r2BAukIM099278@svn.freebsd.org> From: Olivier Houchard Date: Mon, 11 Mar 2013 10:56:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248153 - head/sys/arm/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 10:56:47 -0000 Author: cognet Date: Mon Mar 11 10:56:46 2013 New Revision: 248153 URL: http://svnweb.freebsd.org/changeset/base/248153 Log: Don't use an empty struct. Modified: head/sys/arm/include/signal.h Modified: head/sys/arm/include/signal.h ============================================================================== --- head/sys/arm/include/signal.h Mon Mar 11 10:49:02 2013 (r248152) +++ head/sys/arm/include/signal.h Mon Mar 11 10:56:46 2013 (r248153) @@ -42,6 +42,7 @@ typedef long sig_atomic_t; #if __BSD_VISIBLE struct sigcontext { + int _dummy; }; #endif From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 12:02:04 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1EFAE69E; Mon, 11 Mar 2013 12:02:04 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0D154CDF; Mon, 11 Mar 2013 12:02:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BC23w5020233; Mon, 11 Mar 2013 12:02:03 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BC23HC020232; Mon, 11 Mar 2013 12:02:03 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201303111202.r2BC23HC020232@svn.freebsd.org> From: Alexander Motin Date: Mon, 11 Mar 2013 12:02:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248154 - head/sys/dev/acpica X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 12:02:04 -0000 Author: mav Date: Mon Mar 11 12:02:03 2013 New Revision: 248154 URL: http://svnweb.freebsd.org/changeset/base/248154 Log: Reduce HPET eventtimer priority on systems with 8 or more cores. Price of the lock congestion may be too high there (2.5% on 4x4 core AMD Opteron). Modified: head/sys/dev/acpica/acpi_hpet.c Modified: head/sys/dev/acpica/acpi_hpet.c ============================================================================== --- head/sys/dev/acpica/acpi_hpet.c Mon Mar 11 10:56:46 2013 (r248153) +++ head/sys/dev/acpica/acpi_hpet.c Mon Mar 11 12:02:03 2013 (r248154) @@ -675,7 +675,8 @@ hpet_attach(device_t dev) if (t->pcpu_master >= 0) { t->et.et_flags |= ET_FLAGS_PERCPU; t->et.et_quality += 100; - } + } if (mp_ncpus >= 8) + t->et.et_quality -= 100; if ((t->caps & HPET_TCAP_PER_INT) == 0) t->et.et_quality -= 10; t->et.et_frequency = sc->freq; From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 12:06:57 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 995B4874; Mon, 11 Mar 2013 12:06:57 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8C2EBD19; Mon, 11 Mar 2013 12:06:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BC6vgL021091; Mon, 11 Mar 2013 12:06:57 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BC6vwh021090; Mon, 11 Mar 2013 12:06:57 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303111206.r2BC6vwh021090@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 11 Mar 2013 12:06:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248155 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 12:06:57 -0000 Author: glebius Date: Mon Mar 11 12:06:57 2013 New Revision: 248155 URL: http://svnweb.freebsd.org/changeset/base/248155 Log: Reinitialize eh after pfil(9) processing. PR: 176764 Submitted by: adri Modified: head/sys/net/if_bridge.c Modified: head/sys/net/if_bridge.c ============================================================================== --- head/sys/net/if_bridge.c Mon Mar 11 12:02:03 2013 (r248154) +++ head/sys/net/if_bridge.c Mon Mar 11 12:06:57 2013 (r248155) @@ -2314,6 +2314,7 @@ bridge_input(struct ifnet *ifp, struct m BRIDGE_UNLOCK(sc); \ return (NULL); \ } \ + eh = mtod(m, struct ether_header *); \ } \ } \ if (bif->bif_flags & IFBIF_LEARNING) { \ From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 12:22:45 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 47C81325; Mon, 11 Mar 2013 12:22:45 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 34BF1DD9; Mon, 11 Mar 2013 12:22:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BCMjeI027062; Mon, 11 Mar 2013 12:22:45 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BCMjmZ027061; Mon, 11 Mar 2013 12:22:45 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303111222.r2BCMjmZ027061@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 11 Mar 2013 12:22:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248158 - head/sys/netinet/libalias X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 12:22:45 -0000 Author: glebius Date: Mon Mar 11 12:22:44 2013 New Revision: 248158 URL: http://svnweb.freebsd.org/changeset/base/248158 Log: Remove LIBALIAS_LOCK_ASSERT(), including a couple with an uninitialzed argument, in code that isn't compiled in kernel. PR: kern/176667 Sponsored by: Nginx, Inc. Modified: head/sys/netinet/libalias/alias_db.c Modified: head/sys/netinet/libalias/alias_db.c ============================================================================== --- head/sys/netinet/libalias/alias_db.c Mon Mar 11 12:14:20 2013 (r248157) +++ head/sys/netinet/libalias/alias_db.c Mon Mar 11 12:22:44 2013 (r248158) @@ -2729,7 +2729,6 @@ static void InitPunchFW(struct libalias *la) { - LIBALIAS_LOCK_ASSERT(la); la->fireWallField = malloc(la->fireWallNumNums); if (la->fireWallField) { memset(la->fireWallField, 0, la->fireWallNumNums); @@ -2745,7 +2744,6 @@ static void UninitPunchFW(struct libalias *la) { - LIBALIAS_LOCK_ASSERT(la); ClearAllFWHoles(la); if (la->fireWallFD >= 0) close(la->fireWallFD); @@ -2765,7 +2763,6 @@ PunchFWHole(struct alias_link *lnk) struct ip_fw rule; /* On-the-fly built rule */ int fwhole; /* Where to punch hole */ - LIBALIAS_LOCK_ASSERT(la); la = lnk->la; /* Don't do anything unless we are asked to */ @@ -2839,7 +2836,6 @@ ClearFWHole(struct alias_link *lnk) { struct libalias *la; - LIBALIAS_LOCK_ASSERT(la); la = lnk->la; if (lnk->link_type == LINK_TCP) { int fwhole = lnk->data.tcp->fwhole; /* Where is the firewall @@ -2864,7 +2860,6 @@ ClearAllFWHoles(struct libalias *la) struct ip_fw rule; /* On-the-fly built rule */ int i; - LIBALIAS_LOCK_ASSERT(la); if (la->fireWallFD < 0) return; @@ -2878,7 +2873,7 @@ ClearAllFWHoles(struct libalias *la) memset(la->fireWallField, 0, la->fireWallNumNums); } -#endif +#endif /* !NO_FW_PUNCH */ void LibAliasSetFWBase(struct libalias *la, unsigned int base, unsigned int num) From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 12:58:56 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8158074D; Mon, 11 Mar 2013 12:58:56 +0000 (UTC) (envelope-from jase@FreeBSD.org) Received: from svr06-mx.btshosting.co.uk (unknown [IPv6:2a01:4f8:121:2403:2::]) by mx1.freebsd.org (Postfix) with ESMTP id 405EBF8F; Mon, 11 Mar 2013 12:58:56 +0000 (UTC) Received: from [192.168.1.65] (5e0ec7ef.bb.sky.com [94.14.199.239]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by svr06-mx.btshosting.co.uk (Postfix) with ESMTPSA id 0CF8E4A9FF; Mon, 11 Mar 2013 12:58:47 +0000 (UTC) Message-ID: <513DD4FC.80203@FreeBSD.org> Date: Mon, 11 Mar 2013 12:58:36 +0000 From: Jase Thew Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 MIME-Version: 1.0 To: Baptiste Daroussin Subject: Re: svn commit: r248120 - stable/8/lib/libutil References: <201303100036.r2A0aTGw074438@svn.freebsd.org> In-Reply-To: <201303100036.r2A0aTGw074438@svn.freebsd.org> X-Enigmail-Version: 1.5.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 12:58:56 -0000 On 10/03/2013 00:36, Baptiste Daroussin wrote: > Author: bapt > Date: Sun Mar 10 00:36:28 2013 > New Revision: 248120 > URL: http://svnweb.freebsd.org/changeset/base/248120 > > Log: > MFC r237268 > > Revert user comparison back to user names as some user can share uids > (root/toor for example) > > get the username information from old_pw structures to still allow renaming > of a user. > > Approved by: re (jpaetzel) > Thanks! Jase. -- Jase Thew jase@FreeBSD.org FreeBSD Ports Committer From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 13:05:12 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7B3E29DE; Mon, 11 Mar 2013 13:05:12 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6DF14FE8; Mon, 11 Mar 2013 13:05:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BD5C8C040329; Mon, 11 Mar 2013 13:05:12 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BD5Ce4040328; Mon, 11 Mar 2013 13:05:12 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303111305.r2BD5Ce4040328@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 11 Mar 2013 13:05:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248159 - head/lib/libnetgraph X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 13:05:12 -0000 Author: glebius Date: Mon Mar 11 13:05:11 2013 New Revision: 248159 URL: http://svnweb.freebsd.org/changeset/base/248159 Log: Fix for quite a special case when userland emulates a netgraph node, and userland can reply to a message with NGM_HASREPLY bit set. In this case we should not wait for a response to a responce. PR: 176771 Submitted by: Keith Reynolds Modified: head/lib/libnetgraph/msg.c Modified: head/lib/libnetgraph/msg.c ============================================================================== --- head/lib/libnetgraph/msg.c Mon Mar 11 12:22:44 2013 (r248158) +++ head/lib/libnetgraph/msg.c Mon Mar 11 13:05:11 2013 (r248159) @@ -234,7 +234,7 @@ NgDeliverMsg(int cs, const char *path, } /* Wait for reply if there should be one. */ - if (msg->header.cmd & NGM_HASREPLY) { + if (msg->header.cmd & NGM_HASREPLY && !(msg->header.flags & NGF_RESP)) { struct pollfd rfds; int n; From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 13:08:32 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BF1ACEBD; Mon, 11 Mar 2013 13:08:32 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 94A10CC; Mon, 11 Mar 2013 13:08:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BD8WxU041059; Mon, 11 Mar 2013 13:08:32 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BD8WRg041058; Mon, 11 Mar 2013 13:08:32 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303111308.r2BD8WRg041058@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 11 Mar 2013 13:08:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248160 - head/usr.bin/ee/nls/ru_RU.KOI8-R X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 13:08:32 -0000 Author: glebius Date: Mon Mar 11 13:08:32 2013 New Revision: 248160 URL: http://svnweb.freebsd.org/changeset/base/248160 Log: Fix spelling. PR: 176777 Submitted by: Andrey Simonenko Modified: head/usr.bin/ee/nls/ru_RU.KOI8-R/ee.msg Modified: head/usr.bin/ee/nls/ru_RU.KOI8-R/ee.msg ============================================================================== Binary file (source and/or target). No diff available. From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 16:33:05 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C8C62EEA; Mon, 11 Mar 2013 16:33:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BA1F1E92; Mon, 11 Mar 2013 16:33:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BGX5ZQ007462; Mon, 11 Mar 2013 16:33:05 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BGX5lP007461; Mon, 11 Mar 2013 16:33:05 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201303111633.r2BGX5lP007461@svn.freebsd.org> From: John Baldwin Date: Mon, 11 Mar 2013 16:33:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248167 - head/usr.bin/top X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 16:33:05 -0000 Author: jhb Date: Mon Mar 11 16:33:05 2013 New Revision: 248167 URL: http://svnweb.freebsd.org/changeset/base/248167 Log: Fix the 'C' field for a running thread to match the behavior described in the manpage by having it display the current CPU (ki_oncpu) rather than the previously used CPU (ki_lastcpu). ki_lastcpu is still used for all other thread states. Reported by: Chris Ross MFC after: 1 week Modified: head/usr.bin/top/machine.c Modified: head/usr.bin/top/machine.c ============================================================================== --- head/usr.bin/top/machine.c Mon Mar 11 15:48:17 2013 (r248166) +++ head/usr.bin/top/machine.c Mon Mar 11 16:33:05 2013 (r248167) @@ -797,7 +797,7 @@ format_next_process(caddr_t handle, char double pct; struct handle *hp; char status[16]; - int state; + int cpu, state; struct rusage ru, *rup; long p_tot, s_tot; char *proc_fmt, thr_buf[6], jid_buf[6]; @@ -997,6 +997,13 @@ format_next_process(caddr_t handle, char } /* format this entry */ + if (smpmode) { + if (state == SRUN && pp->ki_oncpu != 0xff) + cpu = pp->ki_oncpu; + else + cpu = pp->ki_lastcpu; + } else + cpu = 0; proc_fmt = smpmode ? smp_Proc_format : up_Proc_format; if (ps.thread != 0) thr_buf[0] = '\0'; @@ -1014,7 +1021,7 @@ format_next_process(caddr_t handle, char format_k2(PROCSIZE(pp)), format_k2(pagetok(pp->ki_rssize)), status, - smpmode ? pp->ki_lastcpu : 0, + cpu, format_time(cputime), ps.wcpu ? 100.0 * weighted_cpu(pct, pp) : 100.0 * pct, screen_width > cmdlengthdelta ? screen_width - cmdlengthdelta : 0, From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 17:21:21 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C76164CA; Mon, 11 Mar 2013 17:21:21 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AF9BB1DE; Mon, 11 Mar 2013 17:21:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BHLLfM022702; Mon, 11 Mar 2013 17:21:21 GMT (envelope-from bapt@svn.freebsd.org) Received: (from bapt@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BHLLOO022701; Mon, 11 Mar 2013 17:21:21 GMT (envelope-from bapt@svn.freebsd.org) Message-Id: <201303111721.r2BHLLOO022701@svn.freebsd.org> From: Baptiste Daroussin Date: Mon, 11 Mar 2013 17:21:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248168 - head/share/examples X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 17:21:21 -0000 Author: bapt Date: Mon Mar 11 17:21:21 2013 New Revision: 248168 URL: http://svnweb.freebsd.org/changeset/base/248168 Log: Disconnect files removed in r248151 Modified: head/share/examples/Makefile Modified: head/share/examples/Makefile ============================================================================== --- head/share/examples/Makefile Mon Mar 11 16:33:05 2013 (r248167) +++ head/share/examples/Makefile Mon Mar 11 17:21:21 2013 (r248168) @@ -52,9 +52,6 @@ XFILES= BSD_daemon/FreeBSD.pfa \ csh/dot.cshrc \ cvsup/README \ cvsup/cvs-supfile \ - cvsup/ports-supfile \ - cvsup/refuse \ - cvsup/refuse.README \ cvsup/stable-supfile \ cvsup/standard-supfile \ diskless/ME \ From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 17:29:10 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 31DD2984; Mon, 11 Mar 2013 17:29:10 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 24775235; Mon, 11 Mar 2013 17:29:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BHTAN4023954; Mon, 11 Mar 2013 17:29:10 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BHTAWT023953; Mon, 11 Mar 2013 17:29:10 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201303111729.r2BHTAWT023953@svn.freebsd.org> From: Alexander Motin Date: Mon, 11 Mar 2013 17:29:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248170 - head/sys/dev/acpica X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 17:29:10 -0000 Author: mav Date: Mon Mar 11 17:29:09 2013 New Revision: 248170 URL: http://svnweb.freebsd.org/changeset/base/248170 Log: Add "else" missed at r248154. Modified: head/sys/dev/acpica/acpi_hpet.c Modified: head/sys/dev/acpica/acpi_hpet.c ============================================================================== --- head/sys/dev/acpica/acpi_hpet.c Mon Mar 11 17:21:52 2013 (r248169) +++ head/sys/dev/acpica/acpi_hpet.c Mon Mar 11 17:29:09 2013 (r248170) @@ -675,7 +675,7 @@ hpet_attach(device_t dev) if (t->pcpu_master >= 0) { t->et.et_flags |= ET_FLAGS_PERCPU; t->et.et_quality += 100; - } if (mp_ncpus >= 8) + } else if (mp_ncpus >= 8) t->et.et_quality -= 100; if ((t->caps & HPET_TCAP_PER_INT) == 0) t->et.et_quality -= 10; From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 17:36:37 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C885FD8A; Mon, 11 Mar 2013 17:36:37 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A40DE282; Mon, 11 Mar 2013 17:36:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BHabFv026603; Mon, 11 Mar 2013 17:36:37 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BHabAD026602; Mon, 11 Mar 2013 17:36:37 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201303111736.r2BHabAD026602@svn.freebsd.org> From: Neel Natu Date: Mon, 11 Mar 2013 17:36:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248171 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 17:36:37 -0000 Author: neel Date: Mon Mar 11 17:36:37 2013 New Revision: 248171 URL: http://svnweb.freebsd.org/changeset/base/248171 Log: Convert the offset into the bar that contains the MSI-X table to an offset into the MSI-X table before using it to calculate the table index. In the common case where the MSI-X table is located at the begining of the BAR these two offsets are identical and thus the code was working by accident. This change will fix the case where the MSI-X table is located in the middle or at the end of the BAR that contains it. Obtained from: NetApp Modified: head/usr.sbin/bhyve/pci_passthru.c Modified: head/usr.sbin/bhyve/pci_passthru.c ============================================================================== --- head/usr.sbin/bhyve/pci_passthru.c Mon Mar 11 17:29:09 2013 (r248170) +++ head/usr.sbin/bhyve/pci_passthru.c Mon Mar 11 17:36:37 2013 (r248171) @@ -279,6 +279,7 @@ msix_table_read(struct passthru_softc *s int index; pi = sc->psc_pi; + offset -= pi->pi_msix.table_offset; index = offset / MSIX_TABLE_ENTRY_SIZE; if (index >= pi->pi_msix.table_count) @@ -323,6 +324,8 @@ msix_table_write(struct vmctx *ctx, int int error, index; pi = sc->psc_pi; + offset -= pi->pi_msix.table_offset; + index = offset / MSIX_TABLE_ENTRY_SIZE; if (index >= pi->pi_msix.table_count) return; From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 17:43:56 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 96DC417C; Mon, 11 Mar 2013 17:43:56 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7E04A2E1; Mon, 11 Mar 2013 17:43:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BHhuNF029282; Mon, 11 Mar 2013 17:43:56 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BHhuCj029280; Mon, 11 Mar 2013 17:43:56 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <201303111743.r2BHhuCj029280@svn.freebsd.org> From: Michael Tuexen Date: Mon, 11 Mar 2013 17:43:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248172 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 17:43:56 -0000 Author: tuexen Date: Mon Mar 11 17:43:55 2013 New Revision: 248172 URL: http://svnweb.freebsd.org/changeset/base/248172 Log: Return an error if sctp_peeloff() fails because a socket can't be allocated. MFC after: 3 days Modified: head/sys/kern/uipc_socket.c head/sys/kern/uipc_syscalls.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Mon Mar 11 17:36:37 2013 (r248171) +++ head/sys/kern/uipc_socket.c Mon Mar 11 17:43:55 2013 (r248172) @@ -136,6 +136,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include @@ -565,8 +566,12 @@ sonewconn(struct socket *head, int conns /* * The accept socket may be tearing down but we just * won a race on the ACCEPT_LOCK. + * However, if sctp_peeloff() is called on a 1-to-many + * style socket, the SO_ACCEPTCONN doesn't need to be set. */ - if (!(head->so_options & SO_ACCEPTCONN)) { + if (!(head->so_options & SO_ACCEPTCONN) && + ((head->so_proto->pr_protocol != IPPROTO_SCTP) || + (head->so_type != SOCK_SEQPACKET))) { SOCK_LOCK(so); so->so_head = NULL; sofree(so); /* NB: returns ACCEPT_UNLOCK'ed. */ Modified: head/sys/kern/uipc_syscalls.c ============================================================================== --- head/sys/kern/uipc_syscalls.c Mon Mar 11 17:36:37 2013 (r248171) +++ head/sys/kern/uipc_syscalls.c Mon Mar 11 17:43:55 2013 (r248172) @@ -2386,8 +2386,10 @@ sys_sctp_peeloff(td, uap) CURVNET_SET(head->so_vnet); so = sonewconn(head, SS_ISCONNECTED); - if (so == NULL) + if (so == NULL) { + error = ENOMEM; goto noconnection; + } /* * Before changing the flags on the socket, we have to bump the * reference count. Otherwise, if the protocol calls sofree(), From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 17:47:56 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1DE43396; Mon, 11 Mar 2013 17:47:56 +0000 (UTC) (envelope-from tuexen@fh-muenster.de) Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by mx1.freebsd.org (Postfix) with ESMTP id 93D36310; Mon, 11 Mar 2013 17:47:55 +0000 (UTC) Received: from dhcp-9228.meeting.ietf.org (dhcp-9228.meeting.ietf.org [130.129.10.40]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 482241C0C0BF5; Mon, 11 Mar 2013 18:47:52 +0100 (CET) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1283) Subject: Re: svn commit: r248172 - head/sys/kern From: Michael Tuexen In-Reply-To: <201303111743.r2BHhuCj029280@svn.freebsd.org> Date: Mon, 11 Mar 2013 13:47:50 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201303111743.r2BHhuCj029280@svn.freebsd.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Mailer: Apple Mail (2.1283) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 17:47:56 -0000 On Mar 11, 2013, at 1:43 PM, Michael Tuexen wrote: > Author: tuexen > Date: Mon Mar 11 17:43:55 2013 > New Revision: 248172 > URL: http://svnweb.freebsd.org/changeset/base/248172 >=20 > Log: > Return an error if sctp_peeloff() fails because a socket can't be = allocated. Hmm. Just wanted to commit the change to uipc_syscalls.c and do the other fix separately. So the missing commit message is: sctp_peeloff() uses sonewconn() also in cases where listen() wasn't = called. So honor this use case. >=20 > MFC after: 3 days >=20 > Modified: > head/sys/kern/uipc_socket.c > head/sys/kern/uipc_syscalls.c >=20 > Modified: head/sys/kern/uipc_socket.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/kern/uipc_socket.c Mon Mar 11 17:36:37 2013 = (r248171) > +++ head/sys/kern/uipc_socket.c Mon Mar 11 17:43:55 2013 = (r248172) > @@ -136,6 +136,7 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#include >=20 > #include >=20 > @@ -565,8 +566,12 @@ sonewconn(struct socket *head, int conns > /* > * The accept socket may be tearing down but we just > * won a race on the ACCEPT_LOCK. > + * However, if sctp_peeloff() is called on a 1-to-many > + * style socket, the SO_ACCEPTCONN doesn't need to be set. > */ > - if (!(head->so_options & SO_ACCEPTCONN)) { > + if (!(head->so_options & SO_ACCEPTCONN) && > + ((head->so_proto->pr_protocol !=3D IPPROTO_SCTP) || > + (head->so_type !=3D SOCK_SEQPACKET))) { > SOCK_LOCK(so); > so->so_head =3D NULL; > sofree(so); /* NB: returns ACCEPT_UNLOCK'ed. = */ >=20 > Modified: head/sys/kern/uipc_syscalls.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/kern/uipc_syscalls.c Mon Mar 11 17:36:37 2013 = (r248171) > +++ head/sys/kern/uipc_syscalls.c Mon Mar 11 17:43:55 2013 = (r248172) > @@ -2386,8 +2386,10 @@ sys_sctp_peeloff(td, uap) >=20 > CURVNET_SET(head->so_vnet); > so =3D sonewconn(head, SS_ISCONNECTED); > - if (so =3D=3D NULL) > + if (so =3D=3D NULL) { > + error =3D ENOMEM; > goto noconnection; > + } > /* > * Before changing the flags on the socket, we have to bump the > * reference count. Otherwise, if the protocol calls sofree(), >=20 From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 18:01:56 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A015CA39; Mon, 11 Mar 2013 18:01:56 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 79C423F8; Mon, 11 Mar 2013 18:01:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BI1uTI035307; Mon, 11 Mar 2013 18:01:56 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BI1uLw035306; Mon, 11 Mar 2013 18:01:56 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <201303111801.r2BI1uLw035306@svn.freebsd.org> From: Michael Tuexen Date: Mon, 11 Mar 2013 18:01:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r248173 - stable/8/sys/netinet X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 18:01:56 -0000 Author: tuexen Date: Mon Mar 11 18:01:55 2013 New Revision: 248173 URL: http://svnweb.freebsd.org/changeset/base/248173 Log: Don't use SCTP checksum offloading for SCTP/IPv6. At least the loopback interface in stable/8 doesn't support it. Please note that this is a direct commit! Approved by: re@ Modified: stable/8/sys/netinet/sctp_output.c Modified: stable/8/sys/netinet/sctp_output.c ============================================================================== --- stable/8/sys/netinet/sctp_output.c Mon Mar 11 17:43:55 2013 (r248172) +++ stable/8/sys/netinet/sctp_output.c Mon Mar 11 18:01:55 2013 (r248173) @@ -4447,9 +4447,8 @@ sctp_lowlevel_chunk_output(struct sctp_i #if defined(SCTP_WITH_NO_CSUM) SCTP_STAT_INCR(sctps_sendnocrc); #else - m->m_pkthdr.csum_flags = CSUM_SCTP; - m->m_pkthdr.csum_data = 0; - SCTP_STAT_INCR(sctps_sendhwcrc); + sctphdr->checksum = sctp_calculate_cksum(m, sizeof(struct ip6_hdr)); + SCTP_STAT_INCR(sctps_sendswcrc); #endif } /* send it out. table id is taken from stcb */ @@ -11023,9 +11022,8 @@ sctp_send_resp_msg(struct sockaddr *src, #if defined(SCTP_WITH_NO_CSUM) SCTP_STAT_INCR(sctps_sendnocrc); #else - mout->m_pkthdr.csum_flags = CSUM_SCTP; - mout->m_pkthdr.csum_data = 0; - SCTP_STAT_INCR(sctps_sendhwcrc); + shout->checksum = sctp_calculate_cksum(mout, sizeof(struct ip6_hdr)); + SCTP_STAT_INCR(sctps_sendswcrc); #endif } #ifdef SCTP_PACKET_LOGGING From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 19:25:12 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DA169F1D; Mon, 11 Mar 2013 19:25:12 +0000 (UTC) (envelope-from uzimac@da3m0n8t3r.com) Received: from z.umatar.com (z.umatar.com [66.135.39.87]) by mx1.freebsd.org (Postfix) with ESMTP id 9A8B4A82; Mon, 11 Mar 2013 19:25:12 +0000 (UTC) Received: from z.umatar.com (localhost [127.0.0.1]) by z.umatar.com (8.14.5/8.14.3) with ESMTP id r2BIu7w0078397; Mon, 11 Mar 2013 11:56:07 -0700 (PDT) (envelope-from uzimac@da3m0n8t3r.com) Received: (from uzimac@localhost) by z.umatar.com (8.14.5/8.14.3/Submit) id r2BIu7I4078396; Mon, 11 Mar 2013 11:56:07 -0700 (PDT) (envelope-from uzimac@da3m0n8t3r.com) X-Authentication-Warning: z.umatar.com: uzimac set sender to uzimac@da3m0n8t3r.com using -f From: "Waitman Gobble" Subject: Re: svn commit: r248151 - in head: . share/examples/cvsup To: Baptiste Daroussin Message-Id: <1363028167.78116@da3m0n8t3r.com> X-Originating-IP: 70.90.171.37 X-Mailer: Usermin 1.510 In-Reply-To: <201303111048.r2BAmQNr096485@svn.freebsd.org> Date: Mon, 11 Mar 2013 11:56:07 -0700 (PDT) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="bound1363028167" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 19:25:12 -0000 This is a multi-part message in MIME format. --bound1363028167 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Baptiste Daroussin wrote .. > Author: bapt > Date: Mon Mar 11 10:48:26 2013 > New Revision: 248151 > URL: http://svnweb.freebsd.org/changeset/base/248151 > > Log: > Ports are no more exported via cvsup, remove cvsup examples and documentation > refering to ports > > MFC after: 2 days > > Deleted: > head/share/examples/cvsup/ports-supfile > head/share/examples/cvsup/refuse > head/share/examples/cvsup/refuse.README > Modified: > head/ObsoleteFiles.inc > head/share/examples/cvsup/README > head/share/examples/cvsup/cvs-supfile > head/share/examples/cvsup/stable-supfile > > Modified: head/ObsoleteFiles.inc > ============================================================================== > --- head/ObsoleteFiles.inc Mon Mar 11 08:21:43 2013 (r248150) > +++ head/ObsoleteFiles.inc Mon Mar 11 10:48:26 2013 (r248151) > @@ -38,6 +38,10 @@ > # xargs -n1 | sort | uniq -d; > # done > > +# 20130311: Ports are no more available via cvsup > +OLD_FILES+=usr/share/examples/cvsup/ports-supfile > +OLD_FILES+=usr/share/examples/cvsup/refuse > +OLD_FILES+=usr/share/examples/cvsup/refuse.README > # 20130309: NWFS and NCP supports removed > OLD_FILES+=usr/bin/ncplist > OLD_FILES+=usr/bin/ncplogin > > Modified: head/share/examples/cvsup/README > ============================================================================== > --- head/share/examples/cvsup/README Mon Mar 11 08:21:43 2013 (r248150) > +++ head/share/examples/cvsup/README Mon Mar 11 10:48:26 2013 (r248151) > @@ -19,8 +19,6 @@ To maintain the sources for the FreeBSD- > > standard-supfile Main source tree > > - ports-supfile Ports collection > - > To maintain the sources for the FreeBSD-stable release, use: > > stable-supfile Main source tree > @@ -28,7 +26,7 @@ To maintain the sources for the FreeBSD- > To maintain a copy of the CVS repository containing all versions of > FreeBSD, use: > > - cvs-supfile Main source tree and ports collection > + cvs-supfile Main source tree collection > > IMPORTANT: Before you use any of the supfiles in this directory, > you will need to edit in an appropriate "host" setting. See: > > Modified: head/share/examples/cvsup/cvs-supfile > ============================================================================== > --- head/share/examples/cvsup/cvs-supfile Mon Mar 11 08:21:43 2013 (r248150) > +++ head/share/examples/cvsup/cvs-supfile Mon Mar 11 10:48:26 2013 (r248151) > @@ -43,9 +43,8 @@ > # prefix=/home/ncvs > # This specifies where to place the requested files. A > # setting of "/home/ncvs" will place all of the files > -# requested in /home/ncvs (e.g., "/home/ncvs/src/bin", > -# "/home/ncvs/ports/archivers"). The prefix directory > -# must exist in order to run CVSup. > +# requested in /home/ncvs (e.g., "/home/ncvs/src/bin"). > +# The prefix directory must exist in order to run CVSup. > > # Defaults that apply to all the collections > # > @@ -68,13 +67,6 @@ > # mega-collection. It includes all of the individual "src-*" collections. > src-all > > -## Ports Collection. > -# > -# The easiest way to get the ports tree is to use the "ports-all" > -# mega-collection. It includes all of the individual "ports-*" > -# collections, > -ports-all > - > ## Projects > # > # This collection retrieves the projects tree of the FreeBSD > > Modified: head/share/examples/cvsup/stable-supfile > ============================================================================== > --- head/share/examples/cvsup/stable-supfile Mon Mar 11 08:21:43 2013 (r248150) > +++ head/share/examples/cvsup/stable-supfile Mon Mar 11 10:48:26 2013 (r248151) > @@ -46,21 +46,6 @@ > # in "/usr/src" (e.g., "/usr/src/bin", "/usr/src/lib"). > # The prefix directory must exist in order to run CVSup. > # > -############################################################################### > -# > -# DANGER! WARNING! LOOK OUT! VORSICHT! > -# > -# If you add any of the ports collections to this file, be sure to > -# specify them with a "tag" value set to ".", like this: > -# > -# ports-all tag=. > -# > -# If you leave out the "tag=." portion, CVSup will delete all of > -# the files in your ports. That is because the ports > -# collections do not use the same tags as the main part of the FreeBSD > -# source tree. > -# > -############################################################################### > > # Defaults that apply to all the collections > # > _______________________________________________ > svn-src-head@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" Hi, I'm getting > make installworld .. install -o root -g wheel -m 444 /usr/src/share/examples/cvsup/ports-supfile /usr/share/examples/cvsup/ports-supfile install: /usr/src/share/examples/cvsup/ports-supfile: No such file or directory *** [copies] Error code 71 Stop in /usr/src/share/examples. *** [realinstall] Error code 1 Stop in /usr/src/share. *** [realinstall] Error code 1 Stop in /usr/src. *** [reinstall] Error code 1 Stop in /usr/src. *** [installworld] Error code 1 Stop in /usr/src. *** [installworld] Error code 1 Stop in /usr/src. [48] > uname -a FreeBSD dx.burplex.com 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r248165: Mon Mar 11 18:20:30 PDT 2013 root@dx.burplex.com:/usr/obj/usr/src/sys/FURAHA amd64 [49] > Maybe I pulled the src at the wrong time ? or something to check out.. Thank you, -- Waitman Gobble San Jose California USA --bound1363028167-- From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 19:29:11 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3D3102D2; Mon, 11 Mar 2013 19:29:11 +0000 (UTC) (envelope-from marck@rinet.ru) Received: from woozle.rinet.ru (woozle.rinet.ru [195.54.192.68]) by mx1.freebsd.org (Postfix) with ESMTP id A335FAB0; Mon, 11 Mar 2013 19:29:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by woozle.rinet.ru (8.14.5/8.14.5) with ESMTP id r2BJSxaT025764; Mon, 11 Mar 2013 23:28:59 +0400 (MSK) (envelope-from marck@rinet.ru) Date: Mon, 11 Mar 2013 23:28:59 +0400 (MSK) From: Dmitry Morozovsky To: Waitman Gobble Subject: Re: svn commit: r248151 - in head: . share/examples/cvsup In-Reply-To: <1363028167.78116@da3m0n8t3r.com> Message-ID: References: <1363028167.78116@da3m0n8t3r.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-NCC-RegID: ru.rinet X-OpenPGP-Key-ID: 6B691B03 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (woozle.rinet.ru [0.0.0.0]); Mon, 11 Mar 2013 23:29:00 +0400 (MSK) Cc: svn-src-head@freebsd.org, Baptiste Daroussin , src-committers@freebsd.org, svn-src-all@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 19:29:11 -0000 On Mon, 11 Mar 2013, Waitman Gobble wrote: > Baptiste Daroussin wrote .. > > Author: bapt > > Date: Mon Mar 11 10:48:26 2013 > > New Revision: 248151 > > URL: http://svnweb.freebsd.org/changeset/base/248151 [snip] > I'm getting > > > make installworld > .. > install -o root -g wheel -m 444 /usr/src/share/examples/cvsup/ports-supfile /usr/share/examples/cvsup/ports-supfile > install: /usr/src/share/examples/cvsup/ports-supfile: No such file or directory > *** [copies] Error code 71 > Maybe I pulled the src at the wrong time ? or something to check out.. I seems so, rev 248168 possibly should be committed in ahead of 248151 -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck@FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------ From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 19:40:43 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2E3AD6BA; Mon, 11 Mar 2013 19:40:43 +0000 (UTC) (envelope-from uzimac@da3m0n8t3r.com) Received: from z.umatar.com (z.umatar.com [66.135.39.87]) by mx1.freebsd.org (Postfix) with ESMTP id EF04BB3D; Mon, 11 Mar 2013 19:40:42 +0000 (UTC) Received: from z.umatar.com (localhost [127.0.0.1]) by z.umatar.com (8.14.5/8.14.3) with ESMTP id r2BJeg9V025611; Mon, 11 Mar 2013 12:40:42 -0700 (PDT) (envelope-from uzimac@da3m0n8t3r.com) Received: (from uzimac@localhost) by z.umatar.com (8.14.5/8.14.3/Submit) id r2BJegha025610; Mon, 11 Mar 2013 12:40:42 -0700 (PDT) (envelope-from uzimac@da3m0n8t3r.com) X-Authentication-Warning: z.umatar.com: uzimac set sender to uzimac@da3m0n8t3r.com using -f From: "Waitman Gobble" Subject: Re: svn commit: r248151 - in head: . share/examples/cvsup To: Dmitry Morozovsky Message-Id: <1363030841.25605@da3m0n8t3r.com> X-Originating-IP: 70.90.171.37 X-Mailer: Usermin 1.510 In-Reply-To: Date: Mon, 11 Mar 2013 12:40:42 -0700 (PDT) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="bound1363030842" Cc: svn-src-head@freebsd.org, Baptiste Daroussin , src-committers@freebsd.org, svn-src-all@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 19:40:43 -0000 This is a multi-part message in MIME format. --bound1363030842 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Dmitry Morozovsky wrote .. > On Mon, 11 Mar 2013, Waitman Gobble wrote: > > > Baptiste Daroussin wrote .. > > > Author: bapt > > > Date: Mon Mar 11 10:48:26 2013 > > > New Revision: 248151 > > > URL: http://svnweb.freebsd.org/changeset/base/248151 > > [snip] > > > I'm getting > > > > > make installworld > > .. > > install -o root -g wheel -m 444 /usr/src/share/examples/cvsup/ports-supfile > /usr/share/examples/cvsup/ports-supfile > > install: /usr/src/share/examples/cvsup/ports-supfile: No such file or directory > > *** [copies] Error code 71 > > > Maybe I pulled the src at the wrong time ? or something to check out.. > > I seems so, rev 248168 possibly should be committed in ahead of 248151 > > -- > Sincerely, > D.Marck [DM5020, MCK-RIPE, DM3-RIPN] > [ FreeBSD committer: marck@FreeBSD.org ] > ------------------------------------------------------------------------ > *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** > ------------------------------------------------------------------------ > _______________________________________________ Thank you, got over the 'hump' [57] > touch /usr/src/share/examples/cvsup/ports-supfile [58] > touch /usr/src/share/examples/cvsup/refuse [59] > touch /usr/src/share/examples/cvsup/refuse.README [60] > make installworld {{OK}} I'll try grabbing src again. -- Waitman Gobble San Jose California USA --bound1363030842-- From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 20:01:35 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 73675894; Mon, 11 Mar 2013 20:01:35 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) by mx1.freebsd.org (Postfix) with ESMTP id B1701D2E; Mon, 11 Mar 2013 20:01:34 +0000 (UTC) Received: by mail-wg0-f47.google.com with SMTP id dr13so5473432wgb.14 for ; Mon, 11 Mar 2013 13:01:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=U4phjQpi/5k2ejFGTwzs/kKUiHmzQ54vYerZlsjbb58=; b=fIGL0q4Tw6LDH5bMrj9p94CfDKgl2b7VynVXePTCZinOkSRbRwAQSZwNhv7wBMktND O3miaL8/VnJHAp8bTVbrSm63WMgqdPJF9TnghP7YRgwNw/HObg1sPeQMsChlFFdYcwXE kgNh9Kdes5cktXflm2tsqsl70emapG6dlg9HeSKFw2ZGabHXH/Y9N0/BqroO4RUH+Y55 mltHzt4mc/2HZFNDPRNh9mrhKUArJhZ6oRsb/aWY959DVfF72mOpdRtlHyQiTrv1r+b8 BHg0qmVSNaNxyQ8Fx0AvxCdbTXv6gkUxp3AynVXPfcpmgkXLzX3Zoj4m6YlmgLJ0JtNS XdTg== X-Received: by 10.180.76.84 with SMTP id i20mr15360594wiw.9.1363032093606; Mon, 11 Mar 2013 13:01:33 -0700 (PDT) Received: from ithaqua.etoilebsd.net (ithaqua.etoilebsd.net. [37.59.37.188]) by mx.google.com with ESMTPS id c15sm19509946wiw.3.2013.03.11.13.01.31 (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 11 Mar 2013 13:01:32 -0700 (PDT) Sender: Baptiste Daroussin Date: Mon, 11 Mar 2013 21:01:29 +0100 From: Baptiste Daroussin To: Waitman Gobble Subject: Re: svn commit: r248151 - in head: . share/examples/cvsup Message-ID: <20130311200128.GE25215@ithaqua.etoilebsd.net> References: <1363030841.25605@da3m0n8t3r.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="G6nVm6DDWH/FONJq" Content-Disposition: inline In-Reply-To: <1363030841.25605@da3m0n8t3r.com> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Dmitry Morozovsky X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 20:01:35 -0000 --G6nVm6DDWH/FONJq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Mar 11, 2013 at 12:40:42PM -0700, Waitman Gobble wrote: > Dmitry Morozovsky wrote .. > > On Mon, 11 Mar 2013, Waitman Gobble wrote: > >=20 > > > Baptiste Daroussin wrote .. > > > > Author: bapt > > > > Date: Mon Mar 11 10:48:26 2013 > > > > New Revision: 248151 > > > > URL: http://svnweb.freebsd.org/changeset/base/248151 > >=20 > > [snip] > >=20 > > > I'm getting=20 > > >=20 > > > > make installworld > > > .. > > > install -o root -g wheel -m 444 /usr/src/share/examples/cvsup/ports-= supfile > > /usr/share/examples/cvsup/ports-supfile > > > install: /usr/src/share/examples/cvsup/ports-supfile: No such file or= directory > > > *** [copies] Error code 71 > >=20 > > > Maybe I pulled the src at the wrong time ? or something to check out.= =2E=20 > >=20 > > I seems so, rev 248168 possibly should be committed in ahead of 248151 > >=20 Yes sorry about that I have missed the Makefile in my svn ci line. regards Bapt --G6nVm6DDWH/FONJq Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlE+OBgACgkQ8kTtMUmk6EyzmwCfYfuGSXDA7EPSWbttp13YULXA 7XIAnjsCE71rVRFb8rh9b+YF16gIg3jN =j7QU -----END PGP SIGNATURE----- --G6nVm6DDWH/FONJq-- From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 21:32:04 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7CFCAC2F; Mon, 11 Mar 2013 21:32:04 +0000 (UTC) (envelope-from uzimac@da3m0n8t3r.com) Received: from z.umatar.com (z.umatar.com [66.135.39.87]) by mx1.freebsd.org (Postfix) with ESMTP id F284E328; Mon, 11 Mar 2013 21:32:03 +0000 (UTC) Received: from z.umatar.com (localhost [127.0.0.1]) by z.umatar.com (8.14.5/8.14.3) with ESMTP id r2BLW3ug075615; Mon, 11 Mar 2013 14:32:03 -0700 (PDT) (envelope-from uzimac@da3m0n8t3r.com) Received: (from uzimac@localhost) by z.umatar.com (8.14.5/8.14.3/Submit) id r2BLW2Fx075614; Mon, 11 Mar 2013 14:32:02 -0700 (PDT) (envelope-from uzimac@da3m0n8t3r.com) X-Authentication-Warning: z.umatar.com: uzimac set sender to uzimac@da3m0n8t3r.com using -f From: "Waitman Gobble" Subject: Re: svn commit: r248151 - in head: . share/examples/cvsup To: Baptiste Daroussin Message-Id: <1363037522.75609@da3m0n8t3r.com> X-Originating-IP: 70.90.171.37 X-Mailer: Usermin 1.510 In-Reply-To: <20130311200128.GE25215@ithaqua.etoilebsd.net> Date: Mon, 11 Mar 2013 14:32:02 -0700 (PDT) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="bound1363037522" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Dmitry Morozovsky X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 21:32:04 -0000 This is a multi-part message in MIME format. --bound1363037522 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Baptiste Daroussin wrote .. > On Mon, Mar 11, 2013 at 12:40:42PM -0700, Waitman Gobble wrote: > > Dmitry Morozovsky wrote .. > > > On Mon, 11 Mar 2013, Waitman Gobble wrote: > > > > > > > Baptiste Daroussin wrote .. > > > > > Author: bapt > > > > > Date: Mon Mar 11 10:48:26 2013 > > > > > New Revision: 248151 > > > > > URL: http://svnweb.freebsd.org/changeset/base/248151 > > > > > > [snip] > > > > > > > I'm getting > > > > > > > > > make installworld > > > > .. > > > > install -o root -g wheel -m 444 /usr/src/share/examples/cvsup/ports-supfile > > > /usr/share/examples/cvsup/ports-supfile > > > > install: /usr/src/share/examples/cvsup/ports-supfile: No such file or directory > > > > *** [copies] Error code 71 > > > > > > > Maybe I pulled the src at the wrong time ? or something to check out.. > > > > > > I seems so, rev 248168 possibly should be committed in ahead of 248151 > > > > > Yes sorry about that I have missed the Makefile in my svn ci line. > > regards > Bapt Thanks Baptiste, It's been awhile since I built -CURRENT. So I'm already breaking stuff. I think pkgng is still the way to go??? /usr/ports/ports-mgmt/pkg/ fetch.c:167:38 if (((&http_mirrors)->stqh_first == ((void *)0))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ fetch.c:167:38: note: remove extraneous parentheses around the comparison to silence this warning 1 error generated. *** [fetch.o] Error code 1 1 error *** [all] Error code 2 1 error *** [do-build] Error code 1 Stop in /usr/ports/ports-mgmt/pkg. *** [/usr/ports/ports-mgmt/pkg/work/.build_done.pkg._usr_local] Error code 1 Stop in /usr/ports/ports-mgmt/pkg. is this worthy of a pr? Thank you, -- Waitman Gobble San Jose California USA --bound1363037522-- From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 21:59:46 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9B95489D; Mon, 11 Mar 2013 21:59:46 +0000 (UTC) (envelope-from uzimac@da3m0n8t3r.com) Received: from z.umatar.com (z.umatar.com [66.135.39.87]) by mx1.freebsd.org (Postfix) with ESMTP id 4022D65C; Mon, 11 Mar 2013 21:59:46 +0000 (UTC) Received: from z.umatar.com (localhost [127.0.0.1]) by z.umatar.com (8.14.5/8.14.3) with ESMTP id r2BLxjJr021633; Mon, 11 Mar 2013 14:59:45 -0700 (PDT) (envelope-from uzimac@da3m0n8t3r.com) Received: (from uzimac@localhost) by z.umatar.com (8.14.5/8.14.3/Submit) id r2BLxjdp021632; Mon, 11 Mar 2013 14:59:45 -0700 (PDT) (envelope-from uzimac@da3m0n8t3r.com) X-Authentication-Warning: z.umatar.com: uzimac set sender to uzimac@da3m0n8t3r.com using -f From: "Waitman Gobble" Subject: Re: svn commit: r248151 - in head: . share/examples/cvsup To: "Waitman Gobble" Message-Id: <1363039185.21627@da3m0n8t3r.com> X-Originating-IP: 70.90.171.37 X-Mailer: Usermin 1.510 In-Reply-To: <1363037522.75609@da3m0n8t3r.com> Date: Mon, 11 Mar 2013 14:59:45 -0700 (PDT) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="bound1363039185" Cc: svn-src-head@freebsd.org, Baptiste Daroussin , src-committers@freebsd.org, svn-src-all@freebsd.org, Dmitry Morozovsky X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 21:59:46 -0000 This is a multi-part message in MIME format. --bound1363039185 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Waitman Gobble wrote .. > /usr/ports/ports-mgmt/pkg/ > fetch.c:167:38 > if (((&http_mirrors)->stqh_first == ((void *)0))) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ > fetch.c:167:38: note: remove extraneous parentheses around the comparison to silence > this warning OOPS. it's apparently ccache related. Sorry about that!! -- Waitman Gobble San Jose California USA --bound1363039185-- From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 22:17:40 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1DD18E5E; Mon, 11 Mar 2013 22:17:40 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E1CF3712; Mon, 11 Mar 2013 22:17:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BMHdf0014354; Mon, 11 Mar 2013 22:17:39 GMT (envelope-from gavin@svn.freebsd.org) Received: (from gavin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BMHdgS014351; Mon, 11 Mar 2013 22:17:39 GMT (envelope-from gavin@svn.freebsd.org) Message-Id: <201303112217.r2BMHdgS014351@svn.freebsd.org> From: Gavin Atkinson Date: Mon, 11 Mar 2013 22:17:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248175 - in head/sys/dev/usb: . serial X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 22:17:40 -0000 Author: gavin Date: Mon Mar 11 22:17:39 2013 New Revision: 248175 URL: http://svnweb.freebsd.org/changeset/base/248175 Log: Add support for Optoelectronics USB barcode readers to uftdi(4). Add entries for other Optoelectronics devices to usbdevs. MFC after: 1 week Modified: head/sys/dev/usb/serial/uftdi.c head/sys/dev/usb/usbdevs Modified: head/sys/dev/usb/serial/uftdi.c ============================================================================== --- head/sys/dev/usb/serial/uftdi.c Mon Mar 11 20:01:38 2013 (r248174) +++ head/sys/dev/usb/serial/uftdi.c Mon Mar 11 22:17:39 2013 (r248175) @@ -753,6 +753,8 @@ static const STRUCT_USB_HOST_ID uftdi_de UFTDI_DEV(MOBILITY, USB_SERIAL, UFTDI_TYPE_AUTO), UFTDI_DEV(OLIMEX, ARM_USB_OCD, UFTDI_TYPE_AUTO | UFTDI_FLAG_JTAG), UFTDI_DEV(OLIMEX, ARM_USB_OCD_H, UFTDI_TYPE_AUTO | UFTDI_FLAG_JTAG), + UFTDI_DEV(OPTO, CRD7734, UFTDI_TYPE_AUTO), + UFTDI_DEV(OPTO, CRD7734_1, UFTDI_TYPE_AUTO), UFTDI_DEV(PAPOUCH, AD4USB, UFTDI_TYPE_AUTO), UFTDI_DEV(PAPOUCH, AP485, UFTDI_TYPE_AUTO), UFTDI_DEV(PAPOUCH, AP485_2, UFTDI_TYPE_AUTO), Modified: head/sys/dev/usb/usbdevs ============================================================================== --- head/sys/dev/usb/usbdevs Mon Mar 11 20:01:38 2013 (r248174) +++ head/sys/dev/usb/usbdevs Mon Mar 11 22:17:39 2013 (r248175) @@ -323,6 +323,7 @@ vendor GUNZE 0x0637 Gunze Electronics U vendor AVISION 0x0638 Avision vendor TEAC 0x0644 TEAC vendor ACTON 0x0647 Acton Research Corp. +vendor OPTO 0x065a Optoelectronics Co., Ltd vendor SGI 0x065e Silicon Graphics vendor SANWASUPPLY 0x0663 Sanwa Supply vendor MEGATEC 0x0665 Megatec @@ -3150,6 +3151,13 @@ product OPTION ICON321 0xd031 Globetrot product OPTION ICON505 0xd055 Globetrotter iCON 505 product OPTION ICON452 0x7901 Globetrotter iCON 452 +/* Optoelectronics Co., Ltd */ +product OPTO BARCODE 0x0001 Barcode Reader +product OPTO OPTICONCODE 0x0009 Opticon Code Reader +product OPTO BARCODE_1 0xa002 Barcode Reader +product OPTO CRD7734 0xc000 USB Cradle CRD-7734-RU +product OPTO CRD7734_1 0xc001 USB Cradle CRD-7734-RU + /* OvisLink product */ product OVISLINK RT3072 0x3072 RT3072 From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 22:59:08 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9414C78E; Mon, 11 Mar 2013 22:59:08 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 63F9389D; Mon, 11 Mar 2013 22:59:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2BMx7VP026160; Mon, 11 Mar 2013 22:59:07 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2BMx7q1026159; Mon, 11 Mar 2013 22:59:07 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303112259.r2BMx7q1026159@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Mon, 11 Mar 2013 22:59:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248176 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 22:59:08 -0000 Author: pjd Date: Mon Mar 11 22:59:07 2013 New Revision: 248176 URL: http://svnweb.freebsd.org/changeset/base/248176 Log: Fix memory leak when one process send descriptor over UNIX domain socket, but the other process exited before receiving it. Modified: head/sys/kern/uipc_usrreq.c Modified: head/sys/kern/uipc_usrreq.c ============================================================================== --- head/sys/kern/uipc_usrreq.c Mon Mar 11 22:17:39 2013 (r248175) +++ head/sys/kern/uipc_usrreq.c Mon Mar 11 22:59:07 2013 (r248176) @@ -282,7 +282,7 @@ static void unp_dispose(struct mbuf *); static void unp_shutdown(struct unpcb *); static void unp_drop(struct unpcb *, int); static void unp_gc(__unused void *, int); -static void unp_scan(struct mbuf *, void (*)(struct file *)); +static void unp_scan(struct mbuf *, void (*)(struct filedescent **, int)); static void unp_discard(struct file *); static void unp_freerights(struct filedescent **, int); static void unp_init(void); @@ -2135,17 +2135,22 @@ static int unp_marked; static int unp_unreachable; static void -unp_accessable(struct file *fp) +unp_accessable(struct filedescent **fdep, int fdcount) { struct unpcb *unp; + struct file *fp; + int i; - if ((unp = fptounp(fp)) == NULL) - return; - if (unp->unp_gcflag & UNPGC_REF) - return; - unp->unp_gcflag &= ~UNPGC_DEAD; - unp->unp_gcflag |= UNPGC_REF; - unp_marked++; + for (i = 0; i < fdcount; i++) { + fp = fdep[i]->fde_file; + if ((unp = fptounp(fp)) == NULL) + continue; + if (unp->unp_gcflag & UNPGC_REF) + continue; + unp->unp_gcflag &= ~UNPGC_DEAD; + unp->unp_gcflag |= UNPGC_REF; + unp_marked++; + } } static void @@ -2292,19 +2297,16 @@ unp_dispose(struct mbuf *m) { if (m) - unp_scan(m, unp_discard); + unp_scan(m, unp_freerights); } static void -unp_scan(struct mbuf *m0, void (*op)(struct file *)) +unp_scan(struct mbuf *m0, void (*op)(struct filedescent **, int)) { struct mbuf *m; - struct filedescent **fdep; struct cmsghdr *cm; void *data; - int i; socklen_t clen, datalen; - int qfds; while (m0 != NULL) { for (m = m0; m; m = m->m_next) { @@ -2324,10 +2326,8 @@ unp_scan(struct mbuf *m0, void (*op)(str if (cm->cmsg_level == SOL_SOCKET && cm->cmsg_type == SCM_RIGHTS) { - qfds = datalen / sizeof(*fdep); - fdep = data; - for (i = 0; i < qfds; i++) - (*op)(fdep[i]->fde_file); + (*op)(data, datalen / + sizeof(struct filedescent *)); } if (CMSG_SPACE(datalen) < clen) { From owner-svn-src-all@FreeBSD.ORG Mon Mar 11 23:41:33 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4A8A927E; Mon, 11 Mar 2013 23:41:33 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-ea0-x22e.google.com (mail-ea0-x22e.google.com [IPv6:2a00:1450:4013:c01::22e]) by mx1.freebsd.org (Postfix) with ESMTP id 5FFA8A15; Mon, 11 Mar 2013 23:41:32 +0000 (UTC) Received: by mail-ea0-f174.google.com with SMTP id q10so1435527eaj.5 for ; Mon, 11 Mar 2013 16:41:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=r5/eLK802b3GDXroGP/yKNMeYU68awCvbQiPDt4c8lo=; b=KDR/YzcKhBH90k8epxeBO9yt9kahZWlCIHW+Fevkuo6wrNgLNfUj5yDGx+y5Rx+LJu oPDTj8smMMoqcTnesbF3x0xrUvRjbILrRy2p2YMIm2SCNCs7H4OSM3DxC1skDo8ZO90t hNl/hKhSPEfmQmA7nm6JdX2vOoV5ZgpB2BNpIBVr8fjvj4FqF3x7BV+55r39XuoOXdn8 Bjwj8dTWTU7bY26pkpD25lD2gOiwhJf1PJhNjrV/O0NcNXeAvHqNMuB+9dLrGW/z80le 7QNR6TPhsgxf3anoBifbFCc6s/BColCCBn22oY6UY+IexOq/K0jo9ZicSwis+s564NjO 5mcA== X-Received: by 10.15.34.198 with SMTP id e46mr41625293eev.27.1363045291481; Mon, 11 Mar 2013 16:41:31 -0700 (PDT) Received: from ithaqua.etoilebsd.net (ithaqua.etoilebsd.net. [37.59.37.188]) by mx.google.com with ESMTPS id q5sm26362174eep.11.2013.03.11.16.41.29 (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 11 Mar 2013 16:41:30 -0700 (PDT) Sender: Baptiste Daroussin Date: Tue, 12 Mar 2013 00:41:27 +0100 From: Baptiste Daroussin To: Waitman Gobble Subject: Re: svn commit: r248151 - in head: . share/examples/cvsup Message-ID: <20130311234127.GG25215@ithaqua.etoilebsd.net> References: <1363037522.75609@da3m0n8t3r.com> <1363039185.21627@da3m0n8t3r.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="JbKQpFqZXJ2T76Sg" Content-Disposition: inline In-Reply-To: <1363039185.21627@da3m0n8t3r.com> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Dmitry Morozovsky X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2013 23:41:33 -0000 --JbKQpFqZXJ2T76Sg Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Mar 11, 2013 at 02:59:45PM -0700, Waitman Gobble wrote: > Waitman Gobble wrote .. > > /usr/ports/ports-mgmt/pkg/ > > fetch.c:167:38 > > if (((&http_mirrors)->stqh_first =3D=3D ((void *)0))) > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ > > fetch.c:167:38: note: remove extraneous parentheses around the comparis= on to silence > > this warning >=20 >=20 > OOPS. it's apparently ccache related. Sorry about that!! >=20 CCACHE_CPP2 is the way to still use ccache with clang and sys/queue.h. regards, Bapt --JbKQpFqZXJ2T76Sg Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlE+a6cACgkQ8kTtMUmk6EwFTwCgvqCf1OkCdLm82rFWvYr/3BUx QbMAn2KA32nF1rJZmpF9ivygUFhzPGx+ =LOLQ -----END PGP SIGNATURE----- --JbKQpFqZXJ2T76Sg-- From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 02:20:21 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 92B19D93; Tue, 12 Mar 2013 02:20:21 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 74BCBFFC; Tue, 12 Mar 2013 02:20:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2C2KLM2088316; Tue, 12 Mar 2013 02:20:21 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2C2KL5x088315; Tue, 12 Mar 2013 02:20:21 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201303120220.r2C2KL5x088315@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 12 Mar 2013 02:20:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248180 - head/sys/netinet6 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 02:20:21 -0000 Author: ae Date: Tue Mar 12 02:20:20 2013 New Revision: 248180 URL: http://svnweb.freebsd.org/changeset/base/248180 Log: Take the inpcb rlock before calculating checksum, it was accidentally moved in r191672. Obtained from: Yandex LLC MFC after: 1 week Modified: head/sys/netinet6/raw_ip6.c Modified: head/sys/netinet6/raw_ip6.c ============================================================================== --- head/sys/netinet6/raw_ip6.c Tue Mar 12 02:12:47 2013 (r248179) +++ head/sys/netinet6/raw_ip6.c Tue Mar 12 02:20:20 2013 (r248180) @@ -197,6 +197,7 @@ rip6_input(struct mbuf **mp, int *offp, &ip6->ip6_dst) != 0) continue; } + INP_RLOCK(in6p); if (in6p->in6p_cksum != -1) { V_rip6stat.rip6s_isum++; if (in6_cksum(m, proto, *offp, @@ -206,7 +207,6 @@ rip6_input(struct mbuf **mp, int *offp, continue; } } - INP_RLOCK(in6p); /* * If this raw socket has multicast state, and we * have received a multicast, check if this socket From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 02:54:49 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D651F1C1; Tue, 12 Mar 2013 02:54:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BEE5C1A1; Tue, 12 Mar 2013 02:54:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2C2sn2d097771; Tue, 12 Mar 2013 02:54:49 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2C2sn6E097770; Tue, 12 Mar 2013 02:54:49 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303120254.r2C2sn6E097770@svn.freebsd.org> From: Adrian Chadd Date: Tue, 12 Mar 2013 02:54:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248181 - head/sys/modules/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 02:54:49 -0000 Author: adrian Date: Tue Mar 12 02:54:49 2013 New Revision: 248181 URL: http://svnweb.freebsd.org/changeset/base/248181 Log: Shift this over to a new location in contrib/, in preparation to push this public. Modified: head/sys/modules/ath/Makefile Modified: head/sys/modules/ath/Makefile ============================================================================== --- head/sys/modules/ath/Makefile Tue Mar 12 02:20:20 2013 (r248180) +++ head/sys/modules/ath/Makefile Tue Mar 12 02:54:49 2013 (r248181) @@ -124,7 +124,7 @@ SRCS+= ah_eeprom_9287.c SRCS+= ar9287.c ar9287_reset.c ar9287_attach.c ar9287_cal.c ar9287_olc.c # + AR9300 HAL -# .PATH: ${.CURDIR}/../../dev/ath/ath_hal/ar9003 +# .PATH: ${.CURDIR}/../../contrib/sys/dev/ath/ath_hal/ar9300 #SRCS+= ar9300_interrupts.c ar9300_radar.c ar9300_ani.c ar9300_keycache.c #SRCS+= ar9300_radio.c ar9300_xmit.c ar9300_attach.c ar9300_mci.c ar9300_stub.c #SRCS+= ar9300_xmit_ds.c ar9300_beacon.c ar9300_misc.c ar9300_recv.c @@ -149,6 +149,7 @@ SRCS+= amrr.c SRCS+= dfs_null.c CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal +# CFLAGS+= -I. -I${.CURDIR}/../../contrib/sys/dev/ath/ath_hal/ .if !defined(KERNBUILDDIR) opt_ah.h: From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 03:03:25 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 364CC47C; Tue, 12 Mar 2013 03:03:25 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2955628A; Tue, 12 Mar 2013 03:03:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2C33Ph9001842; Tue, 12 Mar 2013 03:03:25 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2C33PcC001841; Tue, 12 Mar 2013 03:03:25 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303120303.r2C33PcC001841@svn.freebsd.org> From: Adrian Chadd Date: Tue, 12 Mar 2013 03:03:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248182 - head/sys/dev/ath/ath_hal/ar9002 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 03:03:25 -0000 Author: adrian Date: Tue Mar 12 03:03:24 2013 New Revision: 248182 URL: http://svnweb.freebsd.org/changeset/base/248182 Log: Use the correct antenna configuration variable here. "diversity" just controls whether it's on or off. Found by: clang Modified: head/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c Modified: head/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c Tue Mar 12 02:54:49 2013 (r248181) +++ head/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c Tue Mar 12 03:03:24 2013 (r248182) @@ -50,7 +50,7 @@ ar9285BTCoexAntennaDiversity(struct ath_ if ((ahp->ah_btCoexFlag & HAL_BT_COEX_FLAG_ANT_DIV_ALLOW) || (AH5212(ah)->ah_diversity != HAL_ANT_VARIABLE)) { if ((ahp->ah_btCoexFlag & HAL_BT_COEX_FLAG_ANT_DIV_ENABLE) && - (AH5212(ah)->ah_diversity == HAL_ANT_VARIABLE)) { + (AH5212(ah)->ah_antControl == HAL_ANT_VARIABLE)) { /* Enable antenna diversity */ ant_div_control1 = HAL_BT_COEX_ANTDIV_CONTROL1_ENABLE; ant_div_control2 = HAL_BT_COEX_ANTDIV_CONTROL2_ENABLE; @@ -63,7 +63,7 @@ ar9285BTCoexAntennaDiversity(struct ath_ OS_REG_WRITE(ah, AR_PHY_SWITCH_COM, HAL_BT_COEX_ANT_DIV_SWITCH_COM); OS_REG_RMW(ah, AR_PHY_SWITCH_CHAIN_0, 0, 0xf0000000); - } else if (AH5212(ah)->ah_diversity == HAL_ANT_FIXED_B) { + } else if (AH5212(ah)->ah_antControl == HAL_ANT_FIXED_B) { /* Disable antenna diversity. Use antenna B(LNA2) only. */ ant_div_control1 = HAL_BT_COEX_ANTDIV_CONTROL1_FIXED_B; ant_div_control2 = HAL_BT_COEX_ANTDIV_CONTROL2_FIXED_B; From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 04:37:05 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1F7491A4; Tue, 12 Mar 2013 04:37:05 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id ECC22789; Tue, 12 Mar 2013 04:37:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2C4b454029429; Tue, 12 Mar 2013 04:37:04 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2C4b4MS029428; Tue, 12 Mar 2013 04:37:04 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201303120437.r2C4b4MS029428@svn.freebsd.org> From: Eitan Adler Date: Tue, 12 Mar 2013 04:37:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248184 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 04:37:05 -0000 Author: eadler Date: Tue Mar 12 04:37:04 2013 New Revision: 248184 URL: http://svnweb.freebsd.org/changeset/base/248184 Log: Remove two members of portmgr that have recently stepped down. Thank you for your time on portmgr. Remove one member from bugmeister that has stepped down recently. Thank you for your time on bugmeister. While here clean up the graph a bit (remove dead cvs repos) Modified: head/share/misc/organization.dot Modified: head/share/misc/organization.dot ============================================================================== --- head/share/misc/organization.dot Tue Mar 12 03:48:05 2013 (r248183) +++ head/share/misc/organization.dot Tue Mar 12 04:37:04 2013 (r248184) @@ -30,7 +30,7 @@ coresecretary [label="Core Team Secretar doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"] doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs"] portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"] -portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt, beat,\nerwin, linimon, pav,\nitetcu, miwi"] +portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt, \nerwin, pav,\nitetcu, miwi"] portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\ntabthorpe"] re [label="Primary Release Engineering Team\nre@FreeBSD.org\nkib, blackend, jpaetzel, hrs, kensmith"] secteam [label="Security Team\nsecteam@FreeBSD.org\nsimon, qingli, delphij,\nremko, philip, stas, cperciva,\ncsjp, rwatson, miwi, bz"] @@ -43,13 +43,12 @@ srccommitters [label="Src Committers\nsr accounts [label="Accounts Team\naccounts@FreeBSD.org\nmarkm, simon, kensmith,\ndhw"] backups [label="Backup Administrators\nbackups@FreeBSD.org\nsimon, kensmith,\ndhw"] -bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo, linimon"] +bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo"] clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbrd, simon, ps,\nkensmith, peter"] cvsupmaster [label="CVSup Mirror Site Coordinators\ncvsup-master@FreeBSD.org\nkuriyama, jdp,\nkensmith"] dnsadm [label="DNS Administrators\ndnsadm@FreeBSD.org\nbillf, dg, ps,\nkensmith, peter"] mirroradmin [label="FTP/WWW Mirror Site Coordinators\nmirror-admin@FreeBSD.org\nkuriyama, kensmith"] ncvs [label="CVS src Repository Managers\nncvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon, peter"] -pcvs [label="CVS ports Repository Managers\npcvs@FreeBSD.org\nmarcus, joe, kuriyama,\nmarkm, simon"] perforceadmin [label="Perforce Repository Administrators\nperforce-admin@FreeBSD.org\nscottl, kensmith, gordon,\nrwatson, peter, dhw"] postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, sahil, dhw"] refadm [label="Reference Systems Administrators\nrefadm@FreeBSD.org\njake, billf, markm, simon,\nobrien, ps, kensmith,\npeter, dhw"] @@ -70,8 +69,6 @@ _admin -> backups _admin -> bugmeister _admin -> clusteradm _admin -> ncvs -_admin -> pcvs -_admin -> dcvs _admin -> cvsupmaster _admin -> dnsadm _admin -> mirroradmin From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 06:58:50 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0FB4439B; Tue, 12 Mar 2013 06:58:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 00C3DBFA; Tue, 12 Mar 2013 06:58:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2C6wnoB071065; Tue, 12 Mar 2013 06:58:49 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2C6wnI8071062; Tue, 12 Mar 2013 06:58:49 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201303120658.r2C6wnI8071062@svn.freebsd.org> From: Alexander Motin Date: Tue, 12 Mar 2013 06:58:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248186 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 06:58:50 -0000 Author: mav Date: Tue Mar 12 06:58:49 2013 New Revision: 248186 URL: http://svnweb.freebsd.org/changeset/base/248186 Log: Make kern_nanosleep() and pause_sbt() to use per-CPU sleep queues. This removes significant sleep queue lock congestion on multithreaded microbenchmarks, making them scale to multiple CPUs almost linearly. Modified: head/sys/kern/kern_synch.c head/sys/kern/kern_time.c head/sys/kern/subr_sleepqueue.c Modified: head/sys/kern/kern_synch.c ============================================================================== --- head/sys/kern/kern_synch.c Tue Mar 12 06:14:31 2013 (r248185) +++ head/sys/kern/kern_synch.c Tue Mar 12 06:58:49 2013 (r248186) @@ -85,7 +85,7 @@ SYSINIT(synch_setup, SI_SUB_KICK_SCHEDUL NULL); int hogticks; -static int pause_wchan; +static uint8_t pause_wchan[MAXCPU]; static struct callout loadav_callout; @@ -198,7 +198,8 @@ _sleep(void *ident, struct lock_object * if (TD_ON_SLEEPQ(td)) sleepq_remove(td, td->td_wchan); - if (ident == &pause_wchan) + if ((uint8_t *)ident >= &pause_wchan[0] && + (uint8_t *)ident <= &pause_wchan[MAXCPU - 1]) sleepq_flags = SLEEPQ_PAUSE; else sleepq_flags = SLEEPQ_SLEEP; @@ -372,7 +373,7 @@ pause_sbt(const char *wmesg, sbintime_t DELAY((sbt & 0xffffffff) / SBT_1US); return (0); } - return (_sleep(&pause_wchan, NULL, 0, wmesg, sbt, pr, flags)); + return (_sleep(&pause_wchan[curcpu], NULL, 0, wmesg, sbt, pr, flags)); } /* Modified: head/sys/kern/kern_time.c ============================================================================== --- head/sys/kern/kern_time.c Tue Mar 12 06:14:31 2013 (r248185) +++ head/sys/kern/kern_time.c Tue Mar 12 06:58:49 2013 (r248186) @@ -477,7 +477,7 @@ kern_clock_getres(struct thread *td, clo return (0); } -static int nanowait; +static uint8_t nanowait[MAXCPU]; int kern_nanosleep(struct thread *td, struct timespec *rqt, struct timespec *rmt) @@ -503,8 +503,8 @@ kern_nanosleep(struct thread *td, struct if (TIMESEL(&sbt, tmp)) sbt += tc_tick_sbt; sbt += tmp; - error = tsleep_sbt(&nanowait, PWAIT | PCATCH, "nanslp", sbt, prec, - C_ABSOLUTE); + error = tsleep_sbt(&nanowait[curcpu], PWAIT | PCATCH, "nanslp", + sbt, prec, C_ABSOLUTE); if (error != EWOULDBLOCK) { if (error == ERESTART) error = EINTR; Modified: head/sys/kern/subr_sleepqueue.c ============================================================================== --- head/sys/kern/subr_sleepqueue.c Tue Mar 12 06:14:31 2013 (r248185) +++ head/sys/kern/subr_sleepqueue.c Tue Mar 12 06:58:49 2013 (r248186) @@ -88,16 +88,14 @@ __FBSDID("$FreeBSD$"); #endif /* - * Constants for the hash table of sleep queue chains. These constants are - * the same ones that 4BSD (and possibly earlier versions of BSD) used. - * Basically, we ignore the lower 8 bits of the address since most wait - * channel pointers are aligned and only look at the next 7 bits for the - * hash. SC_TABLESIZE must be a power of two for SC_MASK to work properly. + * Constants for the hash table of sleep queue chains. + * SC_TABLESIZE must be a power of two for SC_MASK to work properly. */ -#define SC_TABLESIZE 128 /* Must be power of 2. */ +#define SC_TABLESIZE 256 /* Must be power of 2. */ #define SC_MASK (SC_TABLESIZE - 1) #define SC_SHIFT 8 -#define SC_HASH(wc) (((uintptr_t)(wc) >> SC_SHIFT) & SC_MASK) +#define SC_HASH(wc) ((((uintptr_t)(wc) >> SC_SHIFT) ^ (uintptr_t)(wc)) & \ + SC_MASK) #define SC_LOOKUP(wc) &sleepq_chains[SC_HASH(wc)] #define NR_SLEEPQS 2 /* From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 08:45:43 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E1803115; Tue, 12 Mar 2013 08:45:43 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BC8D124C; Tue, 12 Mar 2013 08:45:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2C8jhEf004368; Tue, 12 Mar 2013 08:45:43 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2C8jhAn004366; Tue, 12 Mar 2013 08:45:43 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303120845.r2C8jhAn004366@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 08:45:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248187 - head/sys/dev/sound/pci/hda X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 08:45:44 -0000 Author: glebius Date: Tue Mar 12 08:45:42 2013 New Revision: 248187 URL: http://svnweb.freebsd.org/changeset/base/248187 Log: More Lenovo headphones redirection quirks: Lenovo T430, Lenovo T430S. Submitted by: Sergey Nasonov , T430 Submitted by: Johannes Dieterich , T430S Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c head/sys/dev/sound/pci/hda/hdac.h Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdaa_patches.c Tue Mar 12 06:58:49 2013 (r248186) +++ head/sys/dev/sound/pci/hda/hdaa_patches.c Tue Mar 12 08:45:42 2013 (r248187) @@ -344,7 +344,9 @@ hdac_pin_patch(struct hdaa_widget *w) break; } } else if (id == HDA_CODEC_ALC269 && - subid == LENOVO_X1CRBN_SUBVENDOR) { + (subid == LENOVO_X1CRBN_SUBVENDOR || + subid == LENOVO_T430_SUBVENDOR || + subid == LENOVO_T430S_SUBVENDOR)) { switch (nid) { case 21: patch = "as=1 seq=15"; Modified: head/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.h Tue Mar 12 06:58:49 2013 (r248186) +++ head/sys/dev/sound/pci/hda/hdac.h Tue Mar 12 08:45:42 2013 (r248187) @@ -225,6 +225,8 @@ #define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da) #define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) #define LENOVO_T420_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce) +#define LENOVO_T430_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3) +#define LENOVO_T430S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb) #define LENOVO_T520_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf) #define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff) From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 08:59:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 36520422; Tue, 12 Mar 2013 08:59:52 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1079C2D1; Tue, 12 Mar 2013 08:59:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2C8xpHq007969; Tue, 12 Mar 2013 08:59:51 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2C8xpa6007963; Tue, 12 Mar 2013 08:59:51 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303120859.r2C8xpa6007963@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 08:59:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248188 - in head/sys: dev/iscsi/initiator fs/nfs xdr X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 08:59:52 -0000 Author: glebius Date: Tue Mar 12 08:59:51 2013 New Revision: 248188 URL: http://svnweb.freebsd.org/changeset/base/248188 Log: Finish r243882: mechanically substitute flags from historic mbuf allocator with malloc(9) flags within sys. Sponsored by: Nginx, Inc. Modified: head/sys/dev/iscsi/initiator/isc_soc.c head/sys/fs/nfs/nfsport.h head/sys/xdr/xdr_mbuf.c Modified: head/sys/dev/iscsi/initiator/isc_soc.c ============================================================================== --- head/sys/dev/iscsi/initiator/isc_soc.c Tue Mar 12 08:45:42 2013 (r248187) +++ head/sys/dev/iscsi/initiator/isc_soc.c Tue Mar 12 08:59:51 2013 (r248188) @@ -91,7 +91,7 @@ isc_sendPDU(isc_session_t *sp, pduq_t *p /* | mbuf for the iSCSI header */ - MGETHDR(mh, M_TRYWAIT, MT_DATA); + MGETHDR(mh, M_WAITOK, MT_DATA); mh->m_pkthdr.rcvif = NULL; mh->m_next = NULL; mh->m_len = sizeof(union ipdu_u); @@ -132,7 +132,7 @@ isc_sendPDU(isc_session_t *sp, pduq_t *p while(len > 0) { int l; - MGET(md, M_TRYWAIT, MT_DATA); + MGET(md, M_WAITOK, MT_DATA); md->m_ext.ref_cnt = &ou_refcnt; l = min(MCLBYTES, len); debug(4, "setting ext_free(arg=%p len/l=%d/%d)", pq->buf, len, l); @@ -150,7 +150,7 @@ isc_sendPDU(isc_session_t *sp, pduq_t *p off += l; } if(((pp->ds_len & 03) != 0) || ISOK2DIG(sp->dataDigest, pp)) { - MGET(md, M_TRYWAIT, MT_DATA); + MGET(md, M_WAITOK, MT_DATA); if(pp->ds_len & 03) len = 4 - (pp->ds_len & 03); else Modified: head/sys/fs/nfs/nfsport.h ============================================================================== --- head/sys/fs/nfs/nfsport.h Tue Mar 12 08:45:42 2013 (r248187) +++ head/sys/fs/nfs/nfsport.h Tue Mar 12 08:59:51 2013 (r248188) @@ -140,32 +140,32 @@ * Allocate mbufs. Must succeed and never set the mbuf ptr to NULL. */ #define NFSMGET(m) do { \ - MGET((m), M_TRYWAIT, MT_DATA); \ + MGET((m), M_WAITOK, MT_DATA); \ while ((m) == NULL ) { \ (void) nfs_catnap(PZERO, 0, "nfsmget"); \ - MGET((m), M_TRYWAIT, MT_DATA); \ + MGET((m), M_WAITOK, MT_DATA); \ } \ } while (0) #define NFSMGETHDR(m) do { \ - MGETHDR((m), M_TRYWAIT, MT_DATA); \ + MGETHDR((m), M_WAITOK, MT_DATA); \ while ((m) == NULL ) { \ (void) nfs_catnap(PZERO, 0, "nfsmget"); \ - MGETHDR((m), M_TRYWAIT, MT_DATA); \ + MGETHDR((m), M_WAITOK, MT_DATA); \ } \ } while (0) #define NFSMCLGET(m, w) do { \ - MGET((m), M_TRYWAIT, MT_DATA); \ + MGET((m), M_WAITOK, MT_DATA); \ while ((m) == NULL ) { \ (void) nfs_catnap(PZERO, 0, "nfsmget"); \ - MGET((m), M_TRYWAIT, MT_DATA); \ + MGET((m), M_WAITOK, MT_DATA); \ } \ MCLGET((m), (w)); \ } while (0) #define NFSMCLGETHDR(m, w) do { \ - MGETHDR((m), M_TRYWAIT, MT_DATA); \ + MGETHDR((m), M_WAITOK, MT_DATA); \ while ((m) == NULL ) { \ (void) nfs_catnap(PZERO, 0, "nfsmget"); \ - MGETHDR((m), M_TRYWAIT, MT_DATA); \ + MGETHDR((m), M_WAITOK, MT_DATA); \ } \ } while (0) #define NFSMTOD mtod Modified: head/sys/xdr/xdr_mbuf.c ============================================================================== --- head/sys/xdr/xdr_mbuf.c Tue Mar 12 08:45:42 2013 (r248187) +++ head/sys/xdr/xdr_mbuf.c Tue Mar 12 08:59:51 2013 (r248188) @@ -228,9 +228,9 @@ xdrmbuf_putbytes(XDR *xdrs, const char * if (xdrs->x_handy == m->m_len && M_TRAILINGSPACE(m) == 0) { if (!m->m_next) { - MGET(n, M_TRYWAIT, m->m_type); + MGET(n, M_WAITOK, m->m_type); if (m->m_flags & M_EXT) - MCLGET(n, M_TRYWAIT); + MCLGET(n, M_WAITOK); m->m_next = n; } m = m->m_next; From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 10:05:37 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D06EBF58; Tue, 12 Mar 2013 10:05:37 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AAFA17F1; Tue, 12 Mar 2013 10:05:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CA5ak6028532; Tue, 12 Mar 2013 10:05:36 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CA5aL8028531; Tue, 12 Mar 2013 10:05:36 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303121005.r2CA5aL8028531@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 10:05:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248189 - head/sys/arm/at91 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 10:05:37 -0000 Author: glebius Date: Tue Mar 12 10:05:36 2013 New Revision: 248189 URL: http://svnweb.freebsd.org/changeset/base/248189 Log: Use m_get2() to get an mbuf of appropriate size. Reviewed by: marius Sponsored by: Nginx, Inc. Modified: head/sys/arm/at91/if_ate.c Modified: head/sys/arm/at91/if_ate.c ============================================================================== --- head/sys/arm/at91/if_ate.c Tue Mar 12 08:59:51 2013 (r248188) +++ head/sys/arm/at91/if_ate.c Tue Mar 12 10:05:36 2013 (r248189) @@ -899,12 +899,9 @@ ate_intr(void *xsc) /* FCS is not coppied into mbuf. */ remain = (sc->rx_descs[idx].status & ETH_LEN_MASK) - 4; - /* Get an appropriately sized mbuf */ - if (remain + ETHER_ALIGN >= MINCLSIZE) - mb = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); - else - MGETHDR(mb, M_NOWAIT, MT_DATA); - + /* Get an appropriately sized mbuf. */ + mb = m_get2(M_NOWAIT, MT_DATA, M_PKTHDR, + remain + ETHER_ALIGN); if (mb == NULL) { sc->ifp->if_iqdrops++; rxdhead->status = 0; From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 12:12:17 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B62F5B10; Tue, 12 Mar 2013 12:12:17 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9A71412D; Tue, 12 Mar 2013 12:12:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CCCHxq068658; Tue, 12 Mar 2013 12:12:17 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CCCGLd068655; Tue, 12 Mar 2013 12:12:16 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303121212.r2CCCGLd068655@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 12:12:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248193 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 12:12:17 -0000 Author: glebius Date: Tue Mar 12 12:12:16 2013 New Revision: 248193 URL: http://svnweb.freebsd.org/changeset/base/248193 Log: The m_extadd() can fail due to memory allocation failure, thus: - Make it return int, not void. - Add wait parameter. - Update MEXTADD() macro appropriately, defaults to M_NOWAIT, as before this change. Sponsored by: Nginx, Inc. Modified: head/sys/kern/uipc_mbuf.c head/sys/sys/mbuf.h Modified: head/sys/kern/uipc_mbuf.c ============================================================================== --- head/sys/kern/uipc_mbuf.c Tue Mar 12 12:10:32 2013 (r248192) +++ head/sys/kern/uipc_mbuf.c Tue Mar 12 12:12:16 2013 (r248193) @@ -255,25 +255,30 @@ m_freem(struct mbuf *mb) * Returns: * Nothing. */ -void +int m_extadd(struct mbuf *mb, caddr_t buf, u_int size, - void (*freef)(void *, void *), void *arg1, void *arg2, int flags, int type) + void (*freef)(void *, void *), void *arg1, void *arg2, int flags, int type, + int wait) { KASSERT(type != EXT_CLUSTER, ("%s: EXT_CLUSTER not allowed", __func__)); if (type != EXT_EXTREF) - mb->m_ext.ref_cnt = (u_int *)uma_zalloc(zone_ext_refcnt, M_NOWAIT); - if (mb->m_ext.ref_cnt != NULL) { - *(mb->m_ext.ref_cnt) = 1; - mb->m_flags |= (M_EXT | flags); - mb->m_ext.ext_buf = buf; - mb->m_data = mb->m_ext.ext_buf; - mb->m_ext.ext_size = size; - mb->m_ext.ext_free = freef; - mb->m_ext.ext_arg1 = arg1; - mb->m_ext.ext_arg2 = arg2; - mb->m_ext.ext_type = type; - } + mb->m_ext.ref_cnt = uma_zalloc(zone_ext_refcnt, wait); + + if (mb->m_ext.ref_cnt == NULL) + return (ENOMEM); + + *(mb->m_ext.ref_cnt) = 1; + mb->m_flags |= (M_EXT | flags); + mb->m_ext.ext_buf = buf; + mb->m_data = mb->m_ext.ext_buf; + mb->m_ext.ext_size = size; + mb->m_ext.ext_free = freef; + mb->m_ext.ext_arg1 = arg1; + mb->m_ext.ext_arg2 = arg2; + mb->m_ext.ext_type = type; + + return (0); } /* Modified: head/sys/sys/mbuf.h ============================================================================== --- head/sys/sys/mbuf.h Tue Mar 12 12:10:32 2013 (r248192) +++ head/sys/sys/mbuf.h Tue Mar 12 12:12:16 2013 (r248193) @@ -655,7 +655,8 @@ m_last(struct mbuf *m) #define MGETHDR(m, how, type) ((m) = m_gethdr((how), (type))) #define MCLGET(m, how) m_clget((m), (how)) #define MEXTADD(m, buf, size, free, arg1, arg2, flags, type) \ - m_extadd((m), (caddr_t)(buf), (size), (free),(arg1),(arg2),(flags), (type)) + (void )m_extadd((m), (caddr_t)(buf), (size), (free), (arg1), (arg2),\ + (flags), (type), M_NOWAIT) #define m_getm(m, len, how, type) \ m_getm2((m), (len), (how), (type), M_PKTHDR) @@ -780,8 +781,8 @@ int m_apply(struct mbuf *, int, int, int (*)(void *, void *, u_int), void *); int m_append(struct mbuf *, int, c_caddr_t); void m_cat(struct mbuf *, struct mbuf *); -void m_extadd(struct mbuf *, caddr_t, u_int, - void (*)(void *, void *), void *, void *, int, int); +int m_extadd(struct mbuf *, caddr_t, u_int, + void (*)(void *, void *), void *, void *, int, int, int); struct mbuf *m_collapse(struct mbuf *, int, int); void m_copyback(struct mbuf *, int, int, c_caddr_t); void m_copydata(const struct mbuf *, int, int, caddr_t); From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 12:15:24 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id EA961DE2; Tue, 12 Mar 2013 12:15:24 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DD344170; Tue, 12 Mar 2013 12:15:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CCFOeW069193; Tue, 12 Mar 2013 12:15:24 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CCFOpw069192; Tue, 12 Mar 2013 12:15:24 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303121215.r2CCFOpw069192@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 12:15:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248194 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 12:15:25 -0000 Author: glebius Date: Tue Mar 12 12:15:24 2013 New Revision: 248194 URL: http://svnweb.freebsd.org/changeset/base/248194 Log: In kern_sendfile() use m_extadd() instead of MEXTADD() macro, supplying appropriate wait argument and checking return value. Before this change m_extadd() could fail, and kern_sendfile() ignored that. Sponsored by: Nginx, Inc. Modified: head/sys/kern/uipc_syscalls.c Modified: head/sys/kern/uipc_syscalls.c ============================================================================== --- head/sys/kern/uipc_syscalls.c Tue Mar 12 12:12:16 2013 (r248193) +++ head/sys/kern/uipc_syscalls.c Tue Mar 12 12:15:24 2013 (r248194) @@ -2222,8 +2222,14 @@ retry_space: sf_buf_mext((void *)sf_buf_kva(sf), sf); break; } - MEXTADD(m0, sf_buf_kva(sf), PAGE_SIZE, sf_buf_mext, - sfs, sf, M_RDONLY, EXT_SFBUF); + if (m_extadd(m0, (caddr_t )sf_buf_kva(sf), PAGE_SIZE, + sf_buf_mext, sfs, sf, M_RDONLY, EXT_SFBUF, + (mnw ? M_NOWAIT : M_WAITOK)) != 0) { + error = (mnw ? EAGAIN : ENOBUFS); + sf_buf_mext((void *)sf_buf_kva(sf), sf); + m_freem(m0); + break; + } m0->m_data = (char *)sf_buf_kva(sf) + pgoff; m0->m_len = xfsize; From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 12:17:21 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 378E0F7D; Tue, 12 Mar 2013 12:17:21 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2A67D18F; Tue, 12 Mar 2013 12:17:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CCHK7H069488; Tue, 12 Mar 2013 12:17:20 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CCHJ2J069478; Tue, 12 Mar 2013 12:17:19 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303121217.r2CCHJ2J069478@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 12:17:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248195 - head/sys/rpc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 12:17:21 -0000 Author: glebius Date: Tue Mar 12 12:17:19 2013 New Revision: 248195 URL: http://svnweb.freebsd.org/changeset/base/248195 Log: Use m_get(), m_gethdr() and m_getcl() instead of historic macros. Sponsored by: Nginx, Inc. Modified: head/sys/rpc/clnt_dg.c head/sys/rpc/clnt_vc.c head/sys/rpc/rpc_generic.c head/sys/rpc/rpcm_subs.h head/sys/rpc/svc.c head/sys/rpc/svc_dg.c head/sys/rpc/svc_vc.c Modified: head/sys/rpc/clnt_dg.c ============================================================================== --- head/sys/rpc/clnt_dg.c Tue Mar 12 12:15:24 2013 (r248194) +++ head/sys/rpc/clnt_dg.c Tue Mar 12 12:17:19 2013 (r248195) @@ -431,7 +431,7 @@ call_again: send_again: mtx_unlock(&cs->cs_lock); - MGETHDR(mreq, M_WAITOK, MT_DATA); + mreq = m_gethdr(M_WAITOK, MT_DATA); KASSERT(cu->cu_mcalllen <= MHLEN, ("RPC header too big")); bcopy(cu->cu_mcallc, mreq->m_data, cu->cu_mcalllen); mreq->m_len = cu->cu_mcalllen; Modified: head/sys/rpc/clnt_vc.c ============================================================================== --- head/sys/rpc/clnt_vc.c Tue Mar 12 12:15:24 2013 (r248194) +++ head/sys/rpc/clnt_vc.c Tue Mar 12 12:17:19 2013 (r248195) @@ -349,7 +349,7 @@ call_again: /* * Leave space to pre-pend the record mark. */ - MGETHDR(mreq, M_WAITOK, MT_DATA); + mreq = m_gethdr(M_WAITOK, MT_DATA); mreq->m_data += sizeof(uint32_t); KASSERT(ct->ct_mpos + sizeof(uint32_t) <= MHLEN, ("RPC header too big")); Modified: head/sys/rpc/rpc_generic.c ============================================================================== --- head/sys/rpc/rpc_generic.c Tue Mar 12 12:15:24 2013 (r248194) +++ head/sys/rpc/rpc_generic.c Tue Mar 12 12:17:19 2013 (r248195) @@ -750,9 +750,7 @@ clnt_call_private( struct mbuf *mrep; enum clnt_stat stat; - MGET(mreq, M_WAITOK, MT_DATA); - MCLGET(mreq, M_WAITOK); - mreq->m_len = 0; + mreq = m_getcl(M_WAITOK, MT_DATA, 0); xdrmbuf_create(&xdrs, mreq, XDR_ENCODE); if (!xargs(&xdrs, argsp)) { Modified: head/sys/rpc/rpcm_subs.h ============================================================================== --- head/sys/rpc/rpcm_subs.h Tue Mar 12 12:15:24 2013 (r248194) +++ head/sys/rpc/rpcm_subs.h Tue Mar 12 12:17:19 2013 (r248195) @@ -80,7 +80,7 @@ #define rpcm_build(a,c,s) \ { if ((s) > M_TRAILINGSPACE(mb)) { \ - MGET(mb2, M_WAITOK, MT_DATA); \ + mb2 = m_get(M_WAITOK, MT_DATA); \ if ((s) > MLEN) \ panic("build > MLEN"); \ mb->m_next = mb2; \ Modified: head/sys/rpc/svc.c ============================================================================== --- head/sys/rpc/svc.c Tue Mar 12 12:15:24 2013 (r248194) +++ head/sys/rpc/svc.c Tue Mar 12 12:17:19 2013 (r248195) @@ -563,9 +563,7 @@ svc_sendreply(struct svc_req *rqstp, xdr rply.acpted_rply.ar_results.where = NULL; rply.acpted_rply.ar_results.proc = (xdrproc_t) xdr_void; - MGET(m, M_WAITOK, MT_DATA); - MCLGET(m, M_WAITOK); - m->m_len = 0; + m = m_getcl(M_WAITOK, MT_DATA, 0); xdrmbuf_create(&xdrs, m, XDR_ENCODE); ok = xdr_results(&xdrs, xdr_location); XDR_DESTROY(&xdrs); Modified: head/sys/rpc/svc_dg.c ============================================================================== --- head/sys/rpc/svc_dg.c Tue Mar 12 12:15:24 2013 (r248194) +++ head/sys/rpc/svc_dg.c Tue Mar 12 12:17:19 2013 (r248195) @@ -238,8 +238,7 @@ svc_dg_reply(SVCXPRT *xprt, struct rpc_m bool_t stat = TRUE; int error; - MGETHDR(mrep, M_WAITOK, MT_DATA); - mrep->m_len = 0; + mrep = m_gethdr(M_WAITOK, MT_DATA); xdrmbuf_create(&xdrs, mrep, XDR_ENCODE); Modified: head/sys/rpc/svc_vc.c ============================================================================== --- head/sys/rpc/svc_vc.c Tue Mar 12 12:15:24 2013 (r248194) +++ head/sys/rpc/svc_vc.c Tue Mar 12 12:17:19 2013 (r248195) @@ -796,8 +796,7 @@ svc_vc_reply(SVCXPRT *xprt, struct rpc_m /* * Leave space for record mark. */ - MGETHDR(mrep, M_WAITOK, MT_DATA); - mrep->m_len = 0; + mrep = m_gethdr(M_WAITOK, MT_DATA); mrep->m_data += sizeof(uint32_t); xdrmbuf_create(&xdrs, mrep, XDR_ENCODE); @@ -850,8 +849,7 @@ svc_vc_backchannel_reply(SVCXPRT *xprt, /* * Leave space for record mark. */ - MGETHDR(mrep, M_WAITOK, MT_DATA); - mrep->m_len = 0; + mrep = m_gethdr(M_WAITOK, MT_DATA); mrep->m_data += sizeof(uint32_t); xdrmbuf_create(&xdrs, mrep, XDR_ENCODE); From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 12:19:23 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 98C5A1BA; Tue, 12 Mar 2013 12:19:23 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8C77E1B3; Tue, 12 Mar 2013 12:19:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CCJNQ6069790; Tue, 12 Mar 2013 12:19:23 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CCJN5Z069789; Tue, 12 Mar 2013 12:19:23 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303121219.r2CCJN5Z069789@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 12:19:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248196 - head/sys/nfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 12:19:23 -0000 Author: glebius Date: Tue Mar 12 12:19:23 2013 New Revision: 248196 URL: http://svnweb.freebsd.org/changeset/base/248196 Log: Use m_get2() to get mbuf of appropriate size. Sponsored by: Nginx, Inc. Modified: head/sys/nfs/krpc_subr.c Modified: head/sys/nfs/krpc_subr.c ============================================================================== --- head/sys/nfs/krpc_subr.c Tue Mar 12 12:17:19 2013 (r248195) +++ head/sys/nfs/krpc_subr.c Tue Mar 12 12:19:23 2013 (r248196) @@ -459,9 +459,7 @@ xdr_string_encode(char *str, int len) if (mlen > MCLBYTES) /* If too big, we just can't do it. */ return (NULL); - m = m_get(M_WAITOK, MT_DATA); - if (mlen > MLEN) - MCLGET(m, M_WAITOK); + m = m_get2(M_WAITOK, MT_DATA, 0, mlen); xs = mtod(m, struct xdr_string *); m->m_len = mlen; xs->len = txdr_unsigned(len); From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 12:20:50 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3930C36D; Tue, 12 Mar 2013 12:20:50 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2782F1C9; Tue, 12 Mar 2013 12:20:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CCKo3G070183; Tue, 12 Mar 2013 12:20:50 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CCKo8w070182; Tue, 12 Mar 2013 12:20:50 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201303121220.r2CCKo8w070182@svn.freebsd.org> From: Attilio Rao Date: Tue, 12 Mar 2013 12:20:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248197 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 12:20:50 -0000 Author: attilio Date: Tue Mar 12 12:20:49 2013 New Revision: 248197 URL: http://svnweb.freebsd.org/changeset/base/248197 Log: Simplify vm_page_is_valid(). Sponsored by: EMC / Isilon storage division Reviewed by: alc Modified: head/sys/vm/vm_page.c Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Tue Mar 12 12:19:23 2013 (r248196) +++ head/sys/vm/vm_page.c Tue Mar 12 12:20:49 2013 (r248197) @@ -2898,10 +2898,7 @@ vm_page_is_valid(vm_page_t m, int base, VM_OBJECT_ASSERT_WLOCKED(m->object); bits = vm_page_bits(base, size); - if (m->valid && ((m->valid & bits) == bits)) - return 1; - else - return 0; + return (m->valid != 0 && (m->valid & bits) == bits); } /* From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 12:23:48 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C85AA536; Tue, 12 Mar 2013 12:23:48 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B502A1FA; Tue, 12 Mar 2013 12:23:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CCNmVn072054; Tue, 12 Mar 2013 12:23:48 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CCNluc072050; Tue, 12 Mar 2013 12:23:47 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303121223.r2CCNluc072050@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 12:23:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248198 - head/sys/nfsclient X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 12:23:48 -0000 Author: glebius Date: Tue Mar 12 12:23:47 2013 New Revision: 248198 URL: http://svnweb.freebsd.org/changeset/base/248198 Log: - Use m_get2() instead of nfsm_reqhead(). - Use m_get(), m_getcl() instead of historic macros. Sponsored by: Nginx, Inc. Modified: head/sys/nfsclient/nfs_subs.c head/sys/nfsclient/nfs_vfsops.c head/sys/nfsclient/nfs_vnops.c head/sys/nfsclient/nfsm_subs.h Modified: head/sys/nfsclient/nfs_subs.c ============================================================================== --- head/sys/nfsclient/nfs_subs.c Tue Mar 12 12:20:49 2013 (r248197) +++ head/sys/nfsclient/nfs_subs.c Tue Mar 12 12:23:47 2013 (r248198) @@ -172,23 +172,6 @@ nfs_xid_gen(void) } /* - * Create the header for an rpc request packet - * The hsiz is the size of the rest of the nfs request header. - * (just used to decide if a cluster is a good idea) - */ -struct mbuf * -nfsm_reqhead(struct vnode *vp, u_long procid, int hsiz) -{ - struct mbuf *mb; - - MGET(mb, M_WAITOK, MT_DATA); - if (hsiz >= MINCLSIZE) - MCLGET(mb, M_WAITOK); - mb->m_len = 0; - return (mb); -} - -/* * copies a uio scatter/gather list to an mbuf chain. * NOTE: can ony handle iovcnt == 1 */ @@ -218,10 +201,10 @@ nfsm_uiotombuf(struct uio *uiop, struct while (left > 0) { mlen = M_TRAILINGSPACE(mp); if (mlen == 0) { - MGET(mp, M_WAITOK, MT_DATA); if (clflg) - MCLGET(mp, M_WAITOK); - mp->m_len = 0; + mp = m_getcl(M_WAITOK, MT_DATA, 0); + else + mp = m_get(M_WAITOK, MT_DATA); mp2->m_next = mp; mp2 = mp; mlen = M_TRAILINGSPACE(mp); @@ -251,8 +234,7 @@ nfsm_uiotombuf(struct uio *uiop, struct } if (rem > 0) { if (rem > M_TRAILINGSPACE(mp)) { - MGET(mp, M_WAITOK, MT_DATA); - mp->m_len = 0; + mp = m_get(M_WAITOK, MT_DATA); mp2->m_next = mp; } cp = mtod(mp, caddr_t)+mp->m_len; @@ -296,10 +278,13 @@ nfsm_strtmbuf(struct mbuf **mb, char **b } /* Loop around adding mbufs */ while (siz > 0) { - MGET(m1, M_WAITOK, MT_DATA); - if (siz > MLEN) - MCLGET(m1, M_WAITOK); - m1->m_len = NFSMSIZ(m1); + if (siz > MLEN) { + m1 = m_getcl(M_WAITOK, MT_DATA, 0); + m1->m_len = MCLBYTES; + } else { + m1 = m_get(M_WAITOK, MT_DATA); + m1->m_len = MLEN; + } m2->m_next = m1; m2 = m1; tl = mtod(m1, u_int32_t *); Modified: head/sys/nfsclient/nfs_vfsops.c ============================================================================== --- head/sys/nfsclient/nfs_vfsops.c Tue Mar 12 12:20:49 2013 (r248197) +++ head/sys/nfsclient/nfs_vfsops.c Tue Mar 12 12:23:47 2013 (r248198) @@ -298,7 +298,7 @@ nfs_statfs(struct mount *mp, struct stat } else mtx_unlock(&nmp->nm_mtx); nfsstats.rpccnt[NFSPROC_FSSTAT]++; - mreq = nfsm_reqhead(vp, NFSPROC_FSSTAT, NFSX_FH(v3)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -356,7 +356,7 @@ nfs_fsinfo(struct nfsmount *nmp, struct u_int64_t maxfsize; nfsstats.rpccnt[NFSPROC_FSINFO]++; - mreq = nfsm_reqhead(vp, NFSPROC_FSINFO, NFSX_FH(1)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(1)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, 1); Modified: head/sys/nfsclient/nfs_vnops.c ============================================================================== --- head/sys/nfsclient/nfs_vnops.c Tue Mar 12 12:20:49 2013 (r248197) +++ head/sys/nfsclient/nfs_vnops.c Tue Mar 12 12:23:47 2013 (r248198) @@ -294,7 +294,7 @@ nfs3_access_otw(struct vnode *vp, int wm struct nfsnode *np = VTONFS(vp); nfsstats.rpccnt[NFSPROC_ACCESS]++; - mreq = nfsm_reqhead(vp, NFSPROC_ACCESS, NFSX_FH(v3) + NFSX_UNSIGNED); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + NFSX_UNSIGNED); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -714,7 +714,7 @@ nfs_getattr(struct vop_getattr_args *ap) goto nfsmout; } nfsstats.rpccnt[NFSPROC_GETATTR]++; - mreq = nfsm_reqhead(vp, NFSPROC_GETATTR, NFSX_FH(v3)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -873,7 +873,7 @@ nfs_setattrrpc(struct vnode *vp, struct int v3 = NFS_ISV3(vp); nfsstats.rpccnt[NFSPROC_SETATTR]++; - mreq = nfsm_reqhead(vp, NFSPROC_SETATTR, NFSX_FH(v3) + NFSX_SATTR(v3)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + NFSX_SATTR(v3)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -1037,8 +1037,8 @@ nfs_lookup(struct vop_lookup_args *ap) nfsstats.lookupcache_misses++; nfsstats.rpccnt[NFSPROC_LOOKUP]++; len = cnp->cn_namelen; - mreq = nfsm_reqhead(dvp, NFSPROC_LOOKUP, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -1251,7 +1251,7 @@ nfs_readlinkrpc(struct vnode *vp, struct int v3 = NFS_ISV3(vp); nfsstats.rpccnt[NFSPROC_READLINK]++; - mreq = nfsm_reqhead(vp, NFSPROC_READLINK, NFSX_FH(v3)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -1306,7 +1306,8 @@ nfs_readrpc(struct vnode *vp, struct uio while (tsiz > 0) { nfsstats.rpccnt[NFSPROC_READ]++; len = (tsiz > rsize) ? rsize : tsiz; - mreq = nfsm_reqhead(vp, NFSPROC_READ, NFSX_FH(v3) + NFSX_UNSIGNED * 3); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3) + NFSX_UNSIGNED * 3); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -1378,8 +1379,8 @@ nfs_writerpc(struct vnode *vp, struct ui while (tsiz > 0) { nfsstats.rpccnt[NFSPROC_WRITE]++; len = (tsiz > wsize) ? wsize : tsiz; - mreq = nfsm_reqhead(vp, NFSPROC_WRITE, - NFSX_FH(v3) + 5 * NFSX_UNSIGNED + nfsm_rndup(len)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3) + 5 * NFSX_UNSIGNED + nfsm_rndup(len)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -1501,8 +1502,8 @@ nfs_mknodrpc(struct vnode *dvp, struct v if ((error = VOP_GETATTR(dvp, &vattr, cnp->cn_cred)) != 0) return (error); nfsstats.rpccnt[NFSPROC_MKNOD]++; - mreq = nfsm_reqhead(dvp, NFSPROC_MKNOD, NFSX_FH(v3) + 4 * NFSX_UNSIGNED + - + nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + 4 * NFSX_UNSIGNED + + nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -1605,8 +1606,8 @@ nfs_create(struct vop_create_args *ap) fmode |= O_EXCL; again: nfsstats.rpccnt[NFSPROC_CREATE]++; - mreq = nfsm_reqhead(dvp, NFSPROC_CREATE, NFSX_FH(v3) + 2 * NFSX_UNSIGNED + - nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + 2 * NFSX_UNSIGNED + + nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -1787,8 +1788,8 @@ nfs_removerpc(struct vnode *dvp, const c int v3 = NFS_ISV3(dvp); nfsstats.rpccnt[NFSPROC_REMOVE]++; - mreq = nfsm_reqhead(dvp, NFSPROC_REMOVE, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(namelen)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(namelen)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -1923,9 +1924,8 @@ nfs_renamerpc(struct vnode *fdvp, const int v3 = NFS_ISV3(fdvp); nfsstats.rpccnt[NFSPROC_RENAME]++; - mreq = nfsm_reqhead(fdvp, NFSPROC_RENAME, - (NFSX_FH(v3) + NFSX_UNSIGNED)*2 + nfsm_rndup(fnamelen) + - nfsm_rndup(tnamelen)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, (NFSX_FH(v3) + NFSX_UNSIGNED)*2 + + nfsm_rndup(fnamelen) + nfsm_rndup(tnamelen)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(fdvp, v3); @@ -1983,8 +1983,8 @@ nfs_link(struct vop_link_args *ap) v3 = NFS_ISV3(vp); nfsstats.rpccnt[NFSPROC_LINK]++; - mreq = nfsm_reqhead(vp, NFSPROC_LINK, - NFSX_FH(v3)*2 + NFSX_UNSIGNED + nfsm_rndup(cnp->cn_namelen)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3)*2 + NFSX_UNSIGNED + nfsm_rndup(cnp->cn_namelen)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -2029,7 +2029,7 @@ nfs_symlink(struct vop_symlink_args *ap) nfsstats.rpccnt[NFSPROC_SYMLINK]++; slen = strlen(ap->a_target); - mreq = nfsm_reqhead(dvp, NFSPROC_SYMLINK, NFSX_FH(v3) + 2*NFSX_UNSIGNED + + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + 2*NFSX_UNSIGNED + nfsm_rndup(cnp->cn_namelen) + nfsm_rndup(slen) + NFSX_SATTR(v3)); mb = mreq; bpos = mtod(mb, caddr_t); @@ -2123,8 +2123,8 @@ nfs_mkdir(struct vop_mkdir_args *ap) return (error); len = cnp->cn_namelen; nfsstats.rpccnt[NFSPROC_MKDIR]++; - mreq = nfsm_reqhead(dvp, NFSPROC_MKDIR, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len) + NFSX_SATTR(v3)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len) + NFSX_SATTR(v3)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -2188,8 +2188,8 @@ nfs_rmdir(struct vop_rmdir_args *ap) if (dvp == vp) return (EINVAL); nfsstats.rpccnt[NFSPROC_RMDIR]++; - mreq = nfsm_reqhead(dvp, NFSPROC_RMDIR, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(cnp->cn_namelen)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(cnp->cn_namelen)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -2307,8 +2307,8 @@ nfs_readdirrpc(struct vnode *vp, struct */ while (more_dirs && bigenough) { nfsstats.rpccnt[NFSPROC_READDIR]++; - mreq = nfsm_reqhead(vp, NFSPROC_READDIR, NFSX_FH(v3) + - NFSX_READDIR(v3)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3) + NFSX_READDIR(v3)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -2513,8 +2513,8 @@ nfs_readdirplusrpc(struct vnode *vp, str */ while (more_dirs && bigenough) { nfsstats.rpccnt[NFSPROC_READDIRPLUS]++; - mreq = nfsm_reqhead(vp, NFSPROC_READDIRPLUS, - NFSX_FH(1) + 6 * NFSX_UNSIGNED); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(1) + 6 * NFSX_UNSIGNED); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, 1); @@ -2818,8 +2818,8 @@ nfs_lookitup(struct vnode *dvp, const ch int v3 = NFS_ISV3(dvp); nfsstats.rpccnt[NFSPROC_LOOKUP]++; - mreq = nfsm_reqhead(dvp, NFSPROC_LOOKUP, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, + NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -2897,7 +2897,7 @@ nfs_commit(struct vnode *vp, u_quad_t of } mtx_unlock(&nmp->nm_mtx); nfsstats.rpccnt[NFSPROC_COMMIT]++; - mreq = nfsm_reqhead(vp, NFSPROC_COMMIT, NFSX_FH(1)); + mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(1)); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, 1); Modified: head/sys/nfsclient/nfsm_subs.h ============================================================================== --- head/sys/nfsclient/nfsm_subs.h Tue Mar 12 12:20:49 2013 (r248197) +++ head/sys/nfsclient/nfsm_subs.h Tue Mar 12 12:23:47 2013 (r248198) @@ -53,34 +53,6 @@ struct vnode; * First define what the actual subs. return */ u_int32_t nfs_xid_gen(void); -struct mbuf *nfsm_reqhead(struct vnode *vp, u_long procid, int hsiz); - -#define M_HASCL(m) ((m)->m_flags & M_EXT) -#define NFSMINOFF(m) \ - do { \ - if (M_HASCL(m)) \ - (m)->m_data = (m)->m_ext.ext_buf; \ - else if ((m)->m_flags & M_PKTHDR) \ - (m)->m_data = (m)->m_pktdat; \ - else \ - (m)->m_data = (m)->m_dat; \ - } while (0) -#define NFSMSIZ(m) ((M_HASCL(m))?MCLBYTES: \ - (((m)->m_flags & M_PKTHDR)?MHLEN:MLEN)) - -/* - * Now for the macros that do the simple stuff and call the functions - * for the hard stuff. - * These macros use several vars. declared in nfsm_reqhead and these - * vars. must not be used elsewhere unless you are careful not to corrupt - * them. The vars. starting with pN and tN (N=1,2,3,..) are temporaries - * that may be used so long as the value is not expected to retained - * after a macro. - * I know, this is kind of dorkey, but it makes the actual op functions - * fairly clean and deals with the mess caused by the xdr discriminating - * unions. - */ - /* *********************************** */ /* Request generation phase macros */ From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 12:35:03 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0C801899; Tue, 12 Mar 2013 12:35:03 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C474F267; Tue, 12 Mar 2013 12:35:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CCZ2L8075217; Tue, 12 Mar 2013 12:35:02 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CCZ2k7075216; Tue, 12 Mar 2013 12:35:02 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201303121235.r2CCZ2k7075216@svn.freebsd.org> From: John Baldwin Date: Tue, 12 Mar 2013 12:35:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248200 - head/games/fortune/datfiles X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 12:35:03 -0000 Author: jhb Date: Tue Mar 12 12:35:02 2013 New Revision: 248200 URL: http://svnweb.freebsd.org/changeset/base/248200 Log: Remove fortunes-o from the base system. Debating what does or does not belong in this file is not a useful exercise or conducive to producing a high quality advanced operating system. While here, simplify the make rules to autocompute BLDS and FILES from a single DB variable. Approved by: core MFC after: 1 week Deleted: head/games/fortune/datfiles/fortunes-o.fake head/games/fortune/datfiles/fortunes-o.real head/games/fortune/datfiles/fortunes-o.sp.ok Modified: head/games/fortune/datfiles/Makefile Modified: head/games/fortune/datfiles/Makefile ============================================================================== --- head/games/fortune/datfiles/Makefile Tue Mar 12 12:33:50 2013 (r248199) +++ head/games/fortune/datfiles/Makefile Tue Mar 12 12:35:02 2013 (r248200) @@ -1,37 +1,22 @@ # @(#)Makefile 8.2 (Berkeley) 4/19/94 # $FreeBSD$ -FILES= fortunes freebsd-tips murphy startrek zippy -BLDS= fortunes.dat murphy.dat startrek.dat zippy.dat \ - fortunes-o fortunes-o.dat freebsd-tips.dat +DB= fortunes freebsd-tips murphy startrek zippy # TO AVOID INSTALLING THE POTENTIALLY OFFENSIVE FORTUNES, COMMENT OUT THE -# THREE LINES AND UNCOMMENT THE FOURTH LINE. +# NEXT LINE. +DB+= limerick murphy-o gerrold.limerick -# THE THREE LINES: -FILES+= limerick murphy-o gerrold.limerick -BLDS+= limerick.dat murphy-o.dat gerrold.limerick.dat -TYPE= real - -# THE FOURTH LINE: -#TYPE= fake - -FILES+= ${BLDS} +BLDS= ${DB:S/$/.dat/} +FILES= ${DB} ${BLDS} CLEANFILES+=${BLDS} FILESDIR= ${SHAREDIR}/games/fortune -.for f in fortunes freebsd-tips gerrold.limerick limerick murphy murphy-o startrek zippy +.for f in ${DB} $f.dat: $f PATH=$$PATH:/usr/games:${.OBJDIR}/../strfile \ strfile -Cs ${.ALLSRC} ${.TARGET} .endfor -fortunes-o.dat: fortunes-o - PATH=$$PATH:/usr/games:${.OBJDIR}/../strfile \ - strfile -Csx ${.ALLSRC} ${.TARGET} - -fortunes-o: fortunes-o.${TYPE} - LC_ALL=C tr a-zA-Z n-za-mN-ZA-M < ${.ALLSRC} > ${.TARGET} - .include From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 13:03:32 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 23A55DD5; Tue, 12 Mar 2013 13:03:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0CED537A; Tue, 12 Mar 2013 13:03:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CD3VVB083872; Tue, 12 Mar 2013 13:03:31 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CD3VcI083871; Tue, 12 Mar 2013 13:03:31 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201303121303.r2CD3VcI083871@svn.freebsd.org> From: Eitan Adler Date: Tue, 12 Mar 2013 13:03:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248201 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 13:03:32 -0000 Author: eadler Date: Tue Mar 12 13:03:31 2013 New Revision: 248201 URL: http://svnweb.freebsd.org/changeset/base/248201 Log: Update Ruslan's last name per request. Submitted by: rm Modified: head/share/misc/committers-ports.dot Modified: head/share/misc/committers-ports.dot ============================================================================== --- head/share/misc/committers-ports.dot Tue Mar 12 12:35:02 2013 (r248200) +++ head/share/misc/committers-ports.dot Tue Mar 12 13:03:31 2013 (r248201) @@ -171,7 +171,7 @@ philip [label="Philip Paeps\nphilip@Free rafan [label="Rong-En Fan\nrafan@FreeBSD.org\n2006/06/23"] rakuco [label="Raphael Kubo da Costa\nrakuco@FreeBSD.org\n2011/08/22"] rene [label="Rene Ladan\nrene@FreeBSD.org\n2010/04/11"] -rm [label="Ruslan Mahmatkhanov\nrm@FreeBSD.org\n2011/11/06"] +rm [label="Ruslan Makhmatkhanov\nrm@FreeBSD.org\n2011/11/06"] rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/07/21"] romain [label="Romain Tartiere\nromain@FreeBSD.org\n2010/01/24"] sahil [label="Sahil Tandon\nsahil@FreeBSD.org\n2010/04/11"] From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 13:42:49 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A912F313; Tue, 12 Mar 2013 13:42:49 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8D11EA23; Tue, 12 Mar 2013 13:42:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CDgnfd096144; Tue, 12 Mar 2013 13:42:49 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CDgl72096130; Tue, 12 Mar 2013 13:42:47 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303121342.r2CDgl72096130@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 12 Mar 2013 13:42:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248207 - in head/sys: arm/at91 kern net netinet/libalias netpfil/pf nfs nfsclient sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 13:42:49 -0000 Author: glebius Date: Tue Mar 12 13:42:47 2013 New Revision: 248207 URL: http://svnweb.freebsd.org/changeset/base/248207 Log: Functions m_getm2() and m_get2() have different order of arguments, and that can drive someone crazy. While m_get2() is young and not documented yet, change its order of arguments to match m_getm2(). Sorry for churn, but better now than later. Modified: head/sys/arm/at91/if_ate.c head/sys/kern/uipc_mbuf.c head/sys/net/bpf.c head/sys/netinet/libalias/alias.c head/sys/netpfil/pf/if_pfsync.c head/sys/nfs/krpc_subr.c head/sys/nfsclient/nfs_vfsops.c head/sys/nfsclient/nfs_vnops.c head/sys/sys/mbuf.h Modified: head/sys/arm/at91/if_ate.c ============================================================================== --- head/sys/arm/at91/if_ate.c Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/arm/at91/if_ate.c Tue Mar 12 13:42:47 2013 (r248207) @@ -900,8 +900,8 @@ ate_intr(void *xsc) remain = (sc->rx_descs[idx].status & ETH_LEN_MASK) - 4; /* Get an appropriately sized mbuf. */ - mb = m_get2(M_NOWAIT, MT_DATA, M_PKTHDR, - remain + ETHER_ALIGN); + mb = m_get2(remain + ETHER_ALIGN, M_NOWAIT, MT_DATA, + M_PKTHDR); if (mb == NULL) { sc->ifp->if_iqdrops++; rxdhead->status = 0; Modified: head/sys/kern/uipc_mbuf.c ============================================================================== --- head/sys/kern/uipc_mbuf.c Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/kern/uipc_mbuf.c Tue Mar 12 13:42:47 2013 (r248207) @@ -88,7 +88,7 @@ SYSCTL_INT(_kern_ipc, OID_AUTO, m_defrag * m_get2() allocates minimum mbuf that would fit "size" argument. */ struct mbuf * -m_get2(int how, short type, int flags, int size) +m_get2(int size, int how, short type, int flags) { struct mb_args args; struct mbuf *m, *n; Modified: head/sys/net/bpf.c ============================================================================== --- head/sys/net/bpf.c Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/net/bpf.c Tue Mar 12 13:42:47 2013 (r248207) @@ -525,7 +525,7 @@ bpf_movein(struct uio *uio, int linktype if (len < hlen || len - hlen > ifp->if_mtu) return (EMSGSIZE); - m = m_get2(M_WAITOK, MT_DATA, M_PKTHDR, len); + m = m_get2(len, M_WAITOK, MT_DATA, M_PKTHDR); if (m == NULL) return (EIO); m->m_pkthdr.len = m->m_len = len; Modified: head/sys/netinet/libalias/alias.c ============================================================================== --- head/sys/netinet/libalias/alias.c Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/netinet/libalias/alias.c Tue Mar 12 13:42:47 2013 (r248207) @@ -1760,7 +1760,7 @@ m_megapullup(struct mbuf *m, int len) { if (m->m_next == NULL && M_WRITABLE(m) && M_TRAILINGSPACE(m) >= RESERVE) return (m); - mcl = m_get2(M_NOWAIT, MT_DATA, M_PKTHDR, len + RESERVE); + mcl = m_get2(len + RESERVE, M_NOWAIT, MT_DATA, M_PKTHDR); if (mcl == NULL) goto bad; Modified: head/sys/netpfil/pf/if_pfsync.c ============================================================================== --- head/sys/netpfil/pf/if_pfsync.c Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/netpfil/pf/if_pfsync.c Tue Mar 12 13:42:47 2013 (r248207) @@ -1505,7 +1505,7 @@ pfsync_sendout(int schedswi) return; } - m = m_get2(M_NOWAIT, MT_DATA, M_PKTHDR, max_linkhdr + sc->sc_len); + m = m_get2(max_linkhdr + sc->sc_len, M_NOWAIT, MT_DATA, M_PKTHDR); if (m == NULL) { sc->sc_ifp->if_oerrors++; V_pfsyncstats.pfsyncs_onomem++; Modified: head/sys/nfs/krpc_subr.c ============================================================================== --- head/sys/nfs/krpc_subr.c Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/nfs/krpc_subr.c Tue Mar 12 13:42:47 2013 (r248207) @@ -459,7 +459,7 @@ xdr_string_encode(char *str, int len) if (mlen > MCLBYTES) /* If too big, we just can't do it. */ return (NULL); - m = m_get2(M_WAITOK, MT_DATA, 0, mlen); + m = m_get2(mlen, M_WAITOK, MT_DATA, 0); xs = mtod(m, struct xdr_string *); m->m_len = mlen; xs->len = txdr_unsigned(len); Modified: head/sys/nfsclient/nfs_vfsops.c ============================================================================== --- head/sys/nfsclient/nfs_vfsops.c Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/nfsclient/nfs_vfsops.c Tue Mar 12 13:42:47 2013 (r248207) @@ -298,7 +298,7 @@ nfs_statfs(struct mount *mp, struct stat } else mtx_unlock(&nmp->nm_mtx); nfsstats.rpccnt[NFSPROC_FSSTAT]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3)); + mreq = m_get2(NFSX_FH(v3), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -356,7 +356,7 @@ nfs_fsinfo(struct nfsmount *nmp, struct u_int64_t maxfsize; nfsstats.rpccnt[NFSPROC_FSINFO]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(1)); + mreq = m_get2(NFSX_FH(1), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, 1); Modified: head/sys/nfsclient/nfs_vnops.c ============================================================================== --- head/sys/nfsclient/nfs_vnops.c Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/nfsclient/nfs_vnops.c Tue Mar 12 13:42:47 2013 (r248207) @@ -294,7 +294,7 @@ nfs3_access_otw(struct vnode *vp, int wm struct nfsnode *np = VTONFS(vp); nfsstats.rpccnt[NFSPROC_ACCESS]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + NFSX_UNSIGNED); + mreq = m_get2(NFSX_FH(v3) + NFSX_UNSIGNED, M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -714,7 +714,7 @@ nfs_getattr(struct vop_getattr_args *ap) goto nfsmout; } nfsstats.rpccnt[NFSPROC_GETATTR]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3)); + mreq = m_get2(NFSX_FH(v3), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -873,7 +873,7 @@ nfs_setattrrpc(struct vnode *vp, struct int v3 = NFS_ISV3(vp); nfsstats.rpccnt[NFSPROC_SETATTR]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + NFSX_SATTR(v3)); + mreq = m_get2(NFSX_FH(v3) + NFSX_SATTR(v3), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -1037,8 +1037,8 @@ nfs_lookup(struct vop_lookup_args *ap) nfsstats.lookupcache_misses++; nfsstats.rpccnt[NFSPROC_LOOKUP]++; len = cnp->cn_namelen; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len)); + mreq = m_get2(NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len), M_WAITOK, + MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -1251,7 +1251,7 @@ nfs_readlinkrpc(struct vnode *vp, struct int v3 = NFS_ISV3(vp); nfsstats.rpccnt[NFSPROC_READLINK]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3)); + mreq = m_get2(NFSX_FH(v3), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -1306,8 +1306,8 @@ nfs_readrpc(struct vnode *vp, struct uio while (tsiz > 0) { nfsstats.rpccnt[NFSPROC_READ]++; len = (tsiz > rsize) ? rsize : tsiz; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3) + NFSX_UNSIGNED * 3); + mreq = m_get2(NFSX_FH(v3) + NFSX_UNSIGNED * 3, M_WAITOK, + MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -1379,8 +1379,8 @@ nfs_writerpc(struct vnode *vp, struct ui while (tsiz > 0) { nfsstats.rpccnt[NFSPROC_WRITE]++; len = (tsiz > wsize) ? wsize : tsiz; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3) + 5 * NFSX_UNSIGNED + nfsm_rndup(len)); + mreq = m_get2(NFSX_FH(v3) + 5 * NFSX_UNSIGNED + nfsm_rndup(len), + M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -1502,8 +1502,8 @@ nfs_mknodrpc(struct vnode *dvp, struct v if ((error = VOP_GETATTR(dvp, &vattr, cnp->cn_cred)) != 0) return (error); nfsstats.rpccnt[NFSPROC_MKNOD]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + 4 * NFSX_UNSIGNED + - nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3)); + mreq = m_get2(NFSX_FH(v3) + 4 * NFSX_UNSIGNED + + nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -1606,8 +1606,8 @@ nfs_create(struct vop_create_args *ap) fmode |= O_EXCL; again: nfsstats.rpccnt[NFSPROC_CREATE]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + 2 * NFSX_UNSIGNED + - nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3)); + mreq = m_get2(NFSX_FH(v3) + 2 * NFSX_UNSIGNED + + nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -1788,8 +1788,8 @@ nfs_removerpc(struct vnode *dvp, const c int v3 = NFS_ISV3(dvp); nfsstats.rpccnt[NFSPROC_REMOVE]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(namelen)); + mreq = m_get2(NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(namelen), + M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -1924,8 +1924,8 @@ nfs_renamerpc(struct vnode *fdvp, const int v3 = NFS_ISV3(fdvp); nfsstats.rpccnt[NFSPROC_RENAME]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, (NFSX_FH(v3) + NFSX_UNSIGNED)*2 + - nfsm_rndup(fnamelen) + nfsm_rndup(tnamelen)); + mreq = m_get2((NFSX_FH(v3) + NFSX_UNSIGNED)*2 + nfsm_rndup(fnamelen) + + nfsm_rndup(tnamelen), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(fdvp, v3); @@ -1983,8 +1983,8 @@ nfs_link(struct vop_link_args *ap) v3 = NFS_ISV3(vp); nfsstats.rpccnt[NFSPROC_LINK]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3)*2 + NFSX_UNSIGNED + nfsm_rndup(cnp->cn_namelen)); + mreq = m_get2(NFSX_FH(v3)*2 + NFSX_UNSIGNED + + nfsm_rndup(cnp->cn_namelen), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -2029,8 +2029,9 @@ nfs_symlink(struct vop_symlink_args *ap) nfsstats.rpccnt[NFSPROC_SYMLINK]++; slen = strlen(ap->a_target); - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(v3) + 2*NFSX_UNSIGNED + - nfsm_rndup(cnp->cn_namelen) + nfsm_rndup(slen) + NFSX_SATTR(v3)); + mreq = m_get2(NFSX_FH(v3) + 2*NFSX_UNSIGNED + + nfsm_rndup(cnp->cn_namelen) + nfsm_rndup(slen) + NFSX_SATTR(v3), + M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -2123,8 +2124,8 @@ nfs_mkdir(struct vop_mkdir_args *ap) return (error); len = cnp->cn_namelen; nfsstats.rpccnt[NFSPROC_MKDIR]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len) + NFSX_SATTR(v3)); + mreq = m_get2(NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len) + + NFSX_SATTR(v3), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -2188,8 +2189,8 @@ nfs_rmdir(struct vop_rmdir_args *ap) if (dvp == vp) return (EINVAL); nfsstats.rpccnt[NFSPROC_RMDIR]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(cnp->cn_namelen)); + mreq = m_get2(NFSX_FH(v3) + NFSX_UNSIGNED + + nfsm_rndup(cnp->cn_namelen), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -2307,8 +2308,8 @@ nfs_readdirrpc(struct vnode *vp, struct */ while (more_dirs && bigenough) { nfsstats.rpccnt[NFSPROC_READDIR]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3) + NFSX_READDIR(v3)); + mreq = m_get2(NFSX_FH(v3) + NFSX_READDIR(v3), M_WAITOK, + MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, v3); @@ -2513,8 +2514,8 @@ nfs_readdirplusrpc(struct vnode *vp, str */ while (more_dirs && bigenough) { nfsstats.rpccnt[NFSPROC_READDIRPLUS]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(1) + 6 * NFSX_UNSIGNED); + mreq = m_get2(NFSX_FH(1) + 6 * NFSX_UNSIGNED, M_WAITOK, + MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, 1); @@ -2818,8 +2819,8 @@ nfs_lookitup(struct vnode *dvp, const ch int v3 = NFS_ISV3(dvp); nfsstats.rpccnt[NFSPROC_LOOKUP]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, - NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len)); + mreq = m_get2(NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len), + M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(dvp, v3); @@ -2897,7 +2898,7 @@ nfs_commit(struct vnode *vp, u_quad_t of } mtx_unlock(&nmp->nm_mtx); nfsstats.rpccnt[NFSPROC_COMMIT]++; - mreq = m_get2(M_WAITOK, MT_DATA, 0, NFSX_FH(1)); + mreq = m_get2(NFSX_FH(1), M_WAITOK, MT_DATA, 0); mb = mreq; bpos = mtod(mb, caddr_t); nfsm_fhtom(vp, 1); Modified: head/sys/sys/mbuf.h ============================================================================== --- head/sys/sys/mbuf.h Tue Mar 12 13:29:24 2013 (r248206) +++ head/sys/sys/mbuf.h Tue Mar 12 13:42:47 2013 (r248207) @@ -801,7 +801,7 @@ int m_dup_pkthdr(struct mbuf *, struct u_int m_fixhdr(struct mbuf *); struct mbuf *m_fragment(struct mbuf *, int, int); void m_freem(struct mbuf *); -struct mbuf *m_get2(int, short, int, int); +struct mbuf *m_get2(int, int, short, int); struct mbuf *m_getjcl(int, short, int, int); struct mbuf *m_getm2(struct mbuf *, int, int, short, int); struct mbuf *m_getptr(struct mbuf *, int, int *); From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 14:21:53 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 220CAF07; Tue, 12 Mar 2013 14:21:53 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1502CCB1; Tue, 12 Mar 2013 14:21:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CELqEK008669; Tue, 12 Mar 2013 14:21:52 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CELqQQ008668; Tue, 12 Mar 2013 14:21:52 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201303121421.r2CELqQQ008668@svn.freebsd.org> From: Bryan Venteicher Date: Tue, 12 Mar 2013 14:21:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248209 - head/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 14:21:53 -0000 Author: bryanv Date: Tue Mar 12 14:21:52 2013 New Revision: 248209 URL: http://svnweb.freebsd.org/changeset/base/248209 Log: Remove netncp cscope entry missed in r248097 Reviewed by: attilio Modified: head/sys/Makefile Modified: head/sys/Makefile ============================================================================== --- head/sys/Makefile Tue Mar 12 13:46:30 2013 (r248208) +++ head/sys/Makefile Tue Mar 12 14:21:52 2013 (r248209) @@ -10,7 +10,7 @@ SUBDIR= boot # Directories to include in cscope name file and TAGS. CSCOPEDIRS= boot bsm cam cddl compat conf contrib crypto ddb dev fs gdb \ geom gnu isa kern libkern modules net net80211 netatalk \ - netgraph netinet netinet6 netipsec netipx netnatm netncp \ + netgraph netinet netinet6 netipsec netipx netnatm \ netsmb nfs nfsclient nfsserver nlm ofed opencrypto \ pci rpc security sys ufs vm xdr xen ${CSCOPE_ARCHDIR} .if !defined(CSCOPE_ARCHDIR) From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 14:23:27 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3C17F120 for ; Tue, 12 Mar 2013 14:23:27 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id A88C0CC8 for ; Tue, 12 Mar 2013 14:23:26 +0000 (UTC) Received: (qmail 10735 invoked from network); 12 Mar 2013 15:35:52 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 12 Mar 2013 15:35:52 -0000 Message-ID: <513F3A54.3090702@freebsd.org> Date: Tue, 12 Mar 2013 15:23:16 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r248196 - head/sys/nfs References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> In-Reply-To: <201303121219.r2CCJN5Z069789@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 14:23:27 -0000 On 12.03.2013 13:19, Gleb Smirnoff wrote: > Author: glebius > Date: Tue Mar 12 12:19:23 2013 > New Revision: 248196 > URL: http://svnweb.freebsd.org/changeset/base/248196 > > Log: > Use m_get2() to get mbuf of appropriate size. The problem with m_get2() is that it will attempt to use jumbo mbufs larger than PAGE_SIZE if the request size is sufficiently large. In light of the recent issues with jumbo > PAGE_SIZE allocations on loaded systems I don't think it is appropriate to extend this practice further. Anything that needs more than PAGE_SIZE (where PAGE_SIZE == 4K) mbuf space should allocate an mbuf chain with m_getm2(). That is what we have mbuf chains for. Sufficient availability of mbufs > PAGE_SIZE cannot be guaranteed after some uptime and/or a loaded system due to memory fragmentation. Allocation can fail non-deterministically for mbufs > PAGE_SIZE long before smaller mbufs become unavailable due to overall (kernel) memory exhaustion. Mbufs > PAGE_SIZE are not only contiguous in kernel address space but also in real memory address space. They are intended jumbo frames on poor NIC's without scatter-capable DMA engines. When you put the m_get2() function proposal for review and comments I already highlighted these issues and put forward serious concerns about this. Please change m_get2() to limit itself to mbuf allocations <= PAGE_SIZE. -- Andre Please note that I applaud your general clean up of mbuf related allocation functions and users thereof. :-) From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 14:30:36 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D31B730B; Tue, 12 Mar 2013 14:30:36 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C4D81D14; Tue, 12 Mar 2013 14:30:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CEUaiQ011472; Tue, 12 Mar 2013 14:30:36 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CEUa71011471; Tue, 12 Mar 2013 14:30:36 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201303121430.r2CEUa71011471@svn.freebsd.org> From: Attilio Rao Date: Tue, 12 Mar 2013 14:30:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248210 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 14:30:36 -0000 Author: attilio Date: Tue Mar 12 14:30:36 2013 New Revision: 248210 URL: http://svnweb.freebsd.org/changeset/base/248210 Log: Bump __FreeBSD_version after r248084, breaking VM KPI to introduce read/write lockers. Sponsored by: EMC / Isilon storage division Requested by: flo Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Tue Mar 12 14:21:52 2013 (r248209) +++ head/sys/sys/param.h Tue Mar 12 14:30:36 2013 (r248210) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1000029 /* Master, propagated to newvers */ +#define __FreeBSD_version 1000030 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 15:01:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8AD178F7; Tue, 12 Mar 2013 15:01:02 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id 09BD1E53; Tue, 12 Mar 2013 15:01:01 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.6/8.14.6) with ESMTP id r2CF0rZv096936; Tue, 12 Mar 2013 19:00:53 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.6/8.14.6/Submit) id r2CF0rm7096935; Tue, 12 Mar 2013 19:00:53 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Tue, 12 Mar 2013 19:00:53 +0400 From: Gleb Smirnoff To: Andre Oppermann Subject: Re: svn commit: r248196 - head/sys/nfs Message-ID: <20130312150053.GI48089@FreeBSD.org> References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="vkEkAx9hr54EJ73W" Content-Disposition: inline In-Reply-To: <513F3A54.3090702@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 15:01:02 -0000 --vkEkAx9hr54EJ73W Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Andre, On Tue, Mar 12, 2013 at 03:23:16PM +0100, Andre Oppermann wrote: A> On 12.03.2013 13:19, Gleb Smirnoff wrote: A> > Author: glebius A> > Date: Tue Mar 12 12:19:23 2013 A> > New Revision: 248196 A> > URL: http://svnweb.freebsd.org/changeset/base/248196 A> > A> > Log: A> > Use m_get2() to get mbuf of appropriate size. A> A> The problem with m_get2() is that it will attempt to use jumbo mbufs A> larger than PAGE_SIZE if the request size is sufficiently large. A> A> In light of the recent issues with jumbo > PAGE_SIZE allocations on A> loaded systems I don't think it is appropriate to extend this practice A> further. A> A> Anything that needs more than PAGE_SIZE (where PAGE_SIZE == 4K) mbuf A> space should allocate an mbuf chain with m_getm2(). That is what we A> have mbuf chains for. A> A> Sufficient availability of mbufs > PAGE_SIZE cannot be guaranteed after A> some uptime and/or a loaded system due to memory fragmentation. Allocation A> can fail non-deterministically for mbufs > PAGE_SIZE long before smaller A> mbufs become unavailable due to overall (kernel) memory exhaustion. A> A> Mbufs > PAGE_SIZE are not only contiguous in kernel address space but A> also in real memory address space. They are intended jumbo frames on A> poor NIC's without scatter-capable DMA engines. A> A> When you put the m_get2() function proposal for review and comments I A> already highlighted these issues and put forward serious concerns about A> this. A> A> Please change m_get2() to limit itself to mbuf allocations <= PAGE_SIZE. I already got similar patch in my queue. We have a lot of code that could benefit from using both m_get2() and m_getm2() that are limited to not use jumbos at all. If you are concerned about using jumbos that are > PAGE_SIZE, then I can extend API in my patch. ... done. Patch attached. The NFS code itself guarantees that it won't request > than MCLBYTES, so using bare m_get2() here is safe. I can add flag there later for clarity. -- Totus tuus, Glebius. --vkEkAx9hr54EJ73W Content-Type: text/x-diff; charset=koi8-r Content-Disposition: attachment; filename="m_get2,m_getm2.diff" Index: kern/uipc_mbuf.c =================================================================== --- kern/uipc_mbuf.c (revision 248207) +++ kern/uipc_mbuf.c (working copy) @@ -93,15 +93,20 @@ m_get2(int size, int how, short type, int flags) struct mb_args args; struct mbuf *m, *n; uma_zone_t zone; + int nojumbos, pgjumbos; - args.flags = flags; + nojumbos = (flags & M_NOJUMBO) ? 1 : 0; + pgjumbos = (flags & M_PGJUMBONLY) ? 1 : 0; + + args.flags = flags & (M_PKTHDR | M_EOR); args.type = type; if (size <= MHLEN || (size <= MLEN && (flags & M_PKTHDR) == 0)) return (uma_zalloc_arg(zone_mbuf, &args, how)); if (size <= MCLBYTES) return (uma_zalloc_arg(zone_pack, &args, how)); - if (size > MJUM16BYTES) + + if (nojumbos || (pgjumbos && size > MJUMPAGESIZE) || size > MJUM16BYTES) return (NULL); m = uma_zalloc_arg(zone_mbuf, &args, how); @@ -168,9 +173,12 @@ struct mbuf * m_getm2(struct mbuf *m, int len, int how, short type, int flags) { struct mbuf *mb, *nm = NULL, *mtail = NULL; + int usejumbos; KASSERT(len >= 0, ("%s: len is < 0", __func__)); + usejumbos = (flags & M_NOJUMBO) ? 0 : 1; + /* Validate flags. */ flags &= (M_PKTHDR | M_EOR); @@ -180,7 +188,7 @@ m_getm2(struct mbuf *m, int len, int how, short ty /* Loop and append maximum sized mbufs to the chain tail. */ while (len > 0) { - if (len > MCLBYTES) + if (usejumbos && len > MCLBYTES) mb = m_getjcl(how, type, (flags & M_PKTHDR), MJUMPAGESIZE); else if (len >= MINCLSIZE) Index: sys/mbuf.h =================================================================== --- sys/mbuf.h (revision 248207) +++ sys/mbuf.h (working copy) @@ -206,6 +206,13 @@ struct mbuf { #define M_HASHTYPEBITS 0x0F000000 /* mask of bits holding flowid hash type */ /* + * Flags to pass with mbuf flags to some functions, not written in + * an mbuf itself. + */ +#define M_NOJUMBO M_PROTO1 +#define M_PGJUMBONLY M_PROTO2 + +/* * For RELENG_{6,7} steal these flags for limited multiple routing table * support. In RELENG_8 and beyond, use just one flag and a tag. */ --vkEkAx9hr54EJ73W-- From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 15:31:09 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AA09A5BB for ; Tue, 12 Mar 2013 15:31:09 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 08D4431D for ; Tue, 12 Mar 2013 15:31:08 +0000 (UTC) Received: (qmail 10962 invoked from network); 12 Mar 2013 16:43:41 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 12 Mar 2013 16:43:41 -0000 Message-ID: <513F4A39.8040107@freebsd.org> Date: Tue, 12 Mar 2013 16:31:05 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r248196 - head/sys/nfs References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> <20130312150053.GI48089@FreeBSD.org> In-Reply-To: <20130312150053.GI48089@FreeBSD.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 15:31:09 -0000 On 12.03.2013 16:00, Gleb Smirnoff wrote: > Andre, > > On Tue, Mar 12, 2013 at 03:23:16PM +0100, Andre Oppermann wrote: > A> On 12.03.2013 13:19, Gleb Smirnoff wrote: > A> > Author: glebius > A> > Date: Tue Mar 12 12:19:23 2013 > A> > New Revision: 248196 > A> > URL: http://svnweb.freebsd.org/changeset/base/248196 > A> > > A> > Log: > A> > Use m_get2() to get mbuf of appropriate size. > A> > A> The problem with m_get2() is that it will attempt to use jumbo mbufs > A> larger than PAGE_SIZE if the request size is sufficiently large. > A> > A> In light of the recent issues with jumbo > PAGE_SIZE allocations on > A> loaded systems I don't think it is appropriate to extend this practice > A> further. > A> > A> Anything that needs more than PAGE_SIZE (where PAGE_SIZE == 4K) mbuf > A> space should allocate an mbuf chain with m_getm2(). That is what we > A> have mbuf chains for. > A> > A> Sufficient availability of mbufs > PAGE_SIZE cannot be guaranteed after > A> some uptime and/or a loaded system due to memory fragmentation. Allocation > A> can fail non-deterministically for mbufs > PAGE_SIZE long before smaller > A> mbufs become unavailable due to overall (kernel) memory exhaustion. > A> > A> Mbufs > PAGE_SIZE are not only contiguous in kernel address space but > A> also in real memory address space. They are intended jumbo frames on > A> poor NIC's without scatter-capable DMA engines. > A> > A> When you put the m_get2() function proposal for review and comments I > A> already highlighted these issues and put forward serious concerns about > A> this. > A> > A> Please change m_get2() to limit itself to mbuf allocations <= PAGE_SIZE. > > I already got similar patch in my queue. We have a lot of code that could > benefit from using both m_get2() and m_getm2() that are limited to not > use jumbos at all. Indeed. That's why I applaud your work in converting them. > If you are concerned about using jumbos that are > PAGE_SIZE, then I can > extend API in my patch. ... done. > > Patch attached. > > The NFS code itself guarantees that it won't request > than MCLBYTES, > so using bare m_get2() here is safe. I can add flag there later for > clarity. Using PAGE_SIZE clusters is perfectly fine and no flag to prevent that is necessary. In fact we're doing it for years on socket writes without complaints (through m_getm2()). However I think that m_get2() should never ever even try to attempt to allocate mbuf clusters larger than PAGE_SIZE. Not even with flags. All mbufs > PAGE_SIZE should be exclusively and only ever be used by drivers for NIC's with "challenged" DMA engines. Possibly only available through a dedicated API to prevent all other uses of it. -- Andre From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 15:50:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 164D1D11; Tue, 12 Mar 2013 15:50:07 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id 7F24D739; Tue, 12 Mar 2013 15:50:05 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.6/8.14.6) with ESMTP id r2CFo53C097176; Tue, 12 Mar 2013 19:50:05 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.6/8.14.6/Submit) id r2CFo5ix097175; Tue, 12 Mar 2013 19:50:05 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Tue, 12 Mar 2013 19:50:05 +0400 From: Gleb Smirnoff To: Andre Oppermann Subject: Re: svn commit: r248196 - head/sys/nfs Message-ID: <20130312155005.GJ48089@FreeBSD.org> References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> <20130312150053.GI48089@FreeBSD.org> <513F4A39.8040107@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <513F4A39.8040107@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 15:50:07 -0000 On Tue, Mar 12, 2013 at 04:31:05PM +0100, Andre Oppermann wrote: A> > If you are concerned about using jumbos that are > PAGE_SIZE, then I can A> > extend API in my patch. ... done. A> > A> > Patch attached. A> > A> > The NFS code itself guarantees that it won't request > than MCLBYTES, A> > so using bare m_get2() here is safe. I can add flag there later for A> > clarity. A> A> Using PAGE_SIZE clusters is perfectly fine and no flag to prevent that A> is necessary. In fact we're doing it for years on socket writes without A> complaints (through m_getm2()). mbuf usage isn't limited to sockets. There is some code that right now utilizes only mbufs and standard clusters, netipsec for example. I'd like to remove a lot of handmade mbuf allocating, in different places in kernel and this can be done with M_NOJUMBO flag. I don't have time to dig more deep into large chunks of code trying to understand whether it is possible to convert them into using PAGE_SIZE clusters or not, I just want to reduce amount of pasted hand allocating. We have very common case when we allocate either mbuf or mbuf + cluster, depending on size. Everywhere this is made by hand, but can be substituted with m_get2(len, ..., M_NOJUMBO); A> However I think that m_get2() should never ever even try to attempt to A> allocate mbuf clusters larger than PAGE_SIZE. Not even with flags. A> A> All mbufs > PAGE_SIZE should be exclusively and only ever be used by drivers A> for NIC's with "challenged" DMA engines. Possibly only available through a A> dedicated API to prevent all other uses of it. Have you done any benchmarking that proves that scatter-gather on the level of busdma is any worse than chaining on mbuf level? Dealing with contiguous in virtual memory mbuf is handy, for protocols that look through entire payload, for example pfsync. I guess NFS may also benefit from that. P.S. Ok about the patch? -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 16:33:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D79DBBFC for ; Tue, 12 Mar 2013 16:33:07 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 5A556B34 for ; Tue, 12 Mar 2013 16:33:07 +0000 (UTC) Received: (qmail 11216 invoked from network); 12 Mar 2013 17:45:38 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 12 Mar 2013 17:45:38 -0000 Message-ID: <513F58C0.4050302@freebsd.org> Date: Tue, 12 Mar 2013 17:33:04 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r248196 - head/sys/nfs References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> <20130312150053.GI48089@FreeBSD.org> <513F4A39.8040107@freebsd.org> <20130312155005.GJ48089@FreeBSD.org> In-Reply-To: <20130312155005.GJ48089@FreeBSD.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 16:33:08 -0000 On 12.03.2013 16:50, Gleb Smirnoff wrote: > On Tue, Mar 12, 2013 at 04:31:05PM +0100, Andre Oppermann wrote: > A> > If you are concerned about using jumbos that are > PAGE_SIZE, then I can > A> > extend API in my patch. ... done. > A> > > A> > Patch attached. > A> > > A> > The NFS code itself guarantees that it won't request > than MCLBYTES, > A> > so using bare m_get2() here is safe. I can add flag there later for > A> > clarity. > A> > A> Using PAGE_SIZE clusters is perfectly fine and no flag to prevent that > A> is necessary. In fact we're doing it for years on socket writes without > A> complaints (through m_getm2()). > > mbuf usage isn't limited to sockets. There is some code that right now utilizes > only mbufs and standard clusters, netipsec for example. Yes, I understand that. > I'd like to remove a lot of handmade mbuf allocating, in different places in > kernel and this can be done with M_NOJUMBO flag. I don't have time to dig more > deep into large chunks of code trying to understand whether it is possible to > convert them into using PAGE_SIZE clusters or not, I just want to reduce > amount of pasted hand allocating. Reducing the amount of hand allocation is very good. > We have very common case when we allocate either mbuf or mbuf + cluster, > depending on size. Everywhere this is made by hand, but can be substituted > with m_get2(len, ..., M_NOJUMBO); I guess what I'm trying to say is that not wanting jumbo > PAGE_SIZE is normal and shouldn't be specified all the time. This makes the API look like this: m_get2(len, ..., 0); /* w/o flags I get at most MJUMPAGESIZE */ If someone really, really, really knows what he is doing he can say he wants jumbo > PAGE_SIZE returned with M_JUMBOOK or such. However IMHO even that shouldn't be offered and m_getm2() should be used for a chain. > A> However I think that m_get2() should never ever even try to attempt to > A> allocate mbuf clusters larger than PAGE_SIZE. Not even with flags. > A> > A> All mbufs > PAGE_SIZE should be exclusively and only ever be used by drivers > A> for NIC's with "challenged" DMA engines. Possibly only available through a > A> dedicated API to prevent all other uses of it. > > Have you done any benchmarking that proves that scatter-gather on the level of > busdma is any worse than chaining on mbuf level? The problem is different. With our current jumbo mbufs > PAGE_SIZE there isn't any scatter-gather at busdma level because they are contiguous at physical *and* KVA level. Allocating such jumbo mbufs shifts the burden of mbuf chains to the VM and pmap layer in trying to come up with such contiguous patches of physical memory. This fails quickly after some activity and memory fragmentation on the machine as we've seen in recent days even with 96GB of RAM available. It gets worse the more load the machine has. Which is exactly what we *don't* want. > Dealing with contiguous in virtual memory mbuf is handy, for protocols that > look through entire payload, for example pfsync. I guess NFS may also benefit > from that. Of course it is handy. However that carries other tradeoffs, some significant, in other parts of the system. And then for incoming packets it depends on the MTU size. For NFS, as far as I've read through the code today, the control messages tend to be rather small. The vast bulk of the data is transported between mbuf and VFS/filesystem. > P.S. Ok about the patch? No. m_getm2() doesn't need the flag at all. PAGE_SIZE mbufs are always good. Calling m_get2() without flag should return at most a PAGE_SIZE mbuf. The (ab)use of M_PROTO1|2 flags is icky and may conflict with protocol specific uses. -- Andre From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 18:57:12 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BDF3CF8B; Tue, 12 Mar 2013 18:57:12 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AE8851C9; Tue, 12 Mar 2013 18:57:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CIvCce091954; Tue, 12 Mar 2013 18:57:12 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CIvCGb091953; Tue, 12 Mar 2013 18:57:12 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201303121857.r2CIvCGb091953@svn.freebsd.org> From: Xin LI Date: Tue, 12 Mar 2013 18:57:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r248213 - stable/8/sys/conf X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 18:57:12 -0000 Author: delphij Date: Tue Mar 12 18:57:12 2013 New Revision: 248213 URL: http://svnweb.freebsd.org/changeset/base/248213 Log: Identify as 8.4-PRERELEASE. Approved by: re (kib) Modified: stable/8/sys/conf/newvers.sh Modified: stable/8/sys/conf/newvers.sh ============================================================================== --- stable/8/sys/conf/newvers.sh Tue Mar 12 17:23:23 2013 (r248212) +++ stable/8/sys/conf/newvers.sh Tue Mar 12 18:57:12 2013 (r248213) @@ -31,8 +31,8 @@ # $FreeBSD$ TYPE="FreeBSD" -REVISION="8.3" -BRANCH="STABLE" +REVISION="8.4" +BRANCH="PRERELEASE" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 19:18:10 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D738CE20; Tue, 12 Mar 2013 19:18:10 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C9ABA85C; Tue, 12 Mar 2013 19:18:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CJIABL098660; Tue, 12 Mar 2013 19:18:10 GMT (envelope-from markj@svn.freebsd.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CJIAHK098658; Tue, 12 Mar 2013 19:18:10 GMT (envelope-from markj@svn.freebsd.org) Message-Id: <201303121918.r2CJIAHK098658@svn.freebsd.org> From: Mark Johnston Date: Tue, 12 Mar 2013 19:18:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248214 - head/usr.bin/grep/regex X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 19:18:10 -0000 Author: markj Date: Tue Mar 12 19:18:10 2013 New Revision: 248214 URL: http://svnweb.freebsd.org/changeset/base/248214 Log: Revert r246917, as it is causing incorrect behaviour as reported on freebsd-current. PR: bin/175213 Approved by: emaste (co-mentor) Modified: head/usr.bin/grep/regex/tre-fastmatch.c Modified: head/usr.bin/grep/regex/tre-fastmatch.c ============================================================================== --- head/usr.bin/grep/regex/tre-fastmatch.c Tue Mar 12 18:57:12 2013 (r248213) +++ head/usr.bin/grep/regex/tre-fastmatch.c Tue Mar 12 19:18:10 2013 (r248214) @@ -103,7 +103,7 @@ static int fastcmp(const fastmatch_t *fg ((!fg->reversed \ ? ((type == STR_WIDE) ? ((j + fg->wlen) > len) \ : ((j + fg->len) > len)) \ - : (j <= 0))) + : (j < 0))) /* * Checks whether the new position after shifting in the input string From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 19:28:42 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7038962C; Tue, 12 Mar 2013 19:28:42 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 61FA9ACD; Tue, 12 Mar 2013 19:28:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CJSgDT001772; Tue, 12 Mar 2013 19:28:42 GMT (envelope-from markj@svn.freebsd.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CJSgZP001771; Tue, 12 Mar 2013 19:28:42 GMT (envelope-from markj@svn.freebsd.org) Message-Id: <201303121928.r2CJSgZP001771@svn.freebsd.org> From: Mark Johnston Date: Tue, 12 Mar 2013 19:28:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248215 - stable/9/usr.bin/grep/regex X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 19:28:42 -0000 Author: markj Date: Tue Mar 12 19:28:41 2013 New Revision: 248215 URL: http://svnweb.freebsd.org/changeset/base/248215 Log: MFC r248214: Revert r246917, as it is causing incorrect behaviour as reported on freebsd-current. Approved by: emaste (co-mentor) Modified: stable/9/usr.bin/grep/regex/tre-fastmatch.c Directory Properties: stable/9/usr.bin/grep/ (props changed) Modified: stable/9/usr.bin/grep/regex/tre-fastmatch.c ============================================================================== --- stable/9/usr.bin/grep/regex/tre-fastmatch.c Tue Mar 12 19:18:10 2013 (r248214) +++ stable/9/usr.bin/grep/regex/tre-fastmatch.c Tue Mar 12 19:28:41 2013 (r248215) @@ -103,7 +103,7 @@ static int fastcmp(const fastmatch_t *fg ((!fg->reversed \ ? ((type == STR_WIDE) ? ((j + fg->wlen) > len) \ : ((j + fg->len) > len)) \ - : (j <= 0))) + : (j < 0))) /* * Checks whether the new position after shifting in the input string From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 19:49:47 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2E17B55A; Tue, 12 Mar 2013 19:49:47 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id 9F8CD1E6; Tue, 12 Mar 2013 19:49:45 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.6/8.14.6) with ESMTP id r2CJnaN9097986; Tue, 12 Mar 2013 23:49:36 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.6/8.14.6/Submit) id r2CJna8X097985; Tue, 12 Mar 2013 23:49:36 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Tue, 12 Mar 2013 23:49:36 +0400 From: Gleb Smirnoff To: Andre Oppermann Subject: Re: svn commit: r248196 - head/sys/nfs Message-ID: <20130312194936.GL48089@FreeBSD.org> References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> <20130312150053.GI48089@FreeBSD.org> <513F4A39.8040107@freebsd.org> <20130312155005.GJ48089@FreeBSD.org> <513F58C0.4050302@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <513F58C0.4050302@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 19:49:47 -0000 Andre, On Tue, Mar 12, 2013 at 05:33:04PM +0100, Andre Oppermann wrote: A> > We have very common case when we allocate either mbuf or mbuf + cluster, A> > depending on size. Everywhere this is made by hand, but can be substituted A> > with m_get2(len, ..., M_NOJUMBO); A> A> I guess what I'm trying to say is that not wanting jumbo > PAGE_SIZE is A> normal and shouldn't be specified all the time. A> A> This makes the API look like this: A> A> m_get2(len, ..., 0); /* w/o flags I get at most MJUMPAGESIZE */ A> A> If someone really, really, really knows what he is doing he can say A> he wants jumbo > PAGE_SIZE returned with M_JUMBOOK or such. However A> IMHO even that shouldn't be offered and m_getm2() should be used for A> a chain. Once again: there are cases when chain is not anticipated, a single contigous mbuf is. A> > A> However I think that m_get2() should never ever even try to attempt to A> > A> allocate mbuf clusters larger than PAGE_SIZE. Not even with flags. A> > A> A> > A> All mbufs > PAGE_SIZE should be exclusively and only ever be used by drivers A> > A> for NIC's with "challenged" DMA engines. Possibly only available through a A> > A> dedicated API to prevent all other uses of it. A> > A> > Have you done any benchmarking that proves that scatter-gather on the level of A> > busdma is any worse than chaining on mbuf level? A> A> The problem is different. With our current jumbo mbufs > PAGE_SIZE there A> isn't any scatter-gather at busdma level because they are contiguous at A> physical *and* KVA level. Allocating such jumbo mbufs shifts the burden A> of mbuf chains to the VM and pmap layer in trying to come up with such A> contiguous patches of physical memory. This fails quickly after some A> activity and memory fragmentation on the machine as we've seen in recent A> days even with 96GB of RAM available. It gets worse the more load the A> machine has. Which is exactly what we *don't* want. I somehow missed the r174247. How did that work since jumbo clusters were introduced and up to r174247 (3 years)? AFAIK, it worked fine before jumbos were not physically contigous. Most modern NICs can use several descriptors per one packet, and that's what we do when using PAGE_SIZE clusters. But we arm it manually. With a virtually contigous single mbuf we can just do bus_dmamap_load_mbuf_sg() and do not care about physical continuity in the stack and upper part of a driver. I should probably consult gallatin@ and youngari@ on this. A> > Dealing with contiguous in virtual memory mbuf is handy, for protocols that A> > look through entire payload, for example pfsync. I guess NFS may also benefit A> > from that. A> A> Of course it is handy. However that carries other tradeoffs, some significant, A> in other parts of the system. And then for incoming packets it depends on the A> MTU size. For NFS, as far as I've read through the code today, the control A> messages tend to be rather small. The vast bulk of the data is transported A> between mbuf and VFS/filesystem. A> A> > P.S. Ok about the patch? A> A> No. m_getm2() doesn't need the flag at all. PAGE_SIZE mbufs are always A> good. Let me repeat: there is a lot of code, that does handmade allocation of an mbuf chain of an arbitrary length using mbufs and common clusters. This code can be cut and use m_getm2(), if we can restrict it to avoid page size clusters. I don't have time to dig deeper in the code and analyze and test whether it can support page sized clusters in chains. Example: netipsec/key.c:key_alloc_mbuf(). A> Calling m_get2() without flag should return at most a PAGE_SIZE A> mbuf. This is not logical. A default limit in the middle of possible values isn't logical. A> The (ab)use of M_PROTO1|2 flags is icky and may conflict with A> protocol specific uses. Please review the patch. The flag isn't stored anywhere, it is just extension of m_getm2() and m_get2() API. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 21:07:55 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DFF3470C; Tue, 12 Mar 2013 21:07:55 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (garage.dawidek.net [91.121.88.72]) by mx1.freebsd.org (Postfix) with ESMTP id 8AFE382B; Tue, 12 Mar 2013 21:07:55 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id D34A034D; Tue, 12 Mar 2013 22:04:36 +0100 (CET) Date: Tue, 12 Mar 2013 22:09:21 +0100 From: Pawel Jakub Dawidek To: "Kenneth D. Merry" Subject: Re: svn commit: r247814 - in head: . sys/amd64/conf sys/cam/ctl sys/conf sys/i386/conf Message-ID: <20130312210921.GB1390@garage.freebsd.pl> References: <201303042118.r24LIj5e008913@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="SkvwRMAIpAhPCcCJ" Content-Disposition: inline In-Reply-To: <201303042118.r24LIj5e008913@svn.freebsd.org> X-OS: FreeBSD 10.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 21:07:56 -0000 --SkvwRMAIpAhPCcCJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Mar 04, 2013 at 09:18:45PM +0000, Kenneth D. Merry wrote: > Author: ken > Date: Mon Mar 4 21:18:45 2013 > New Revision: 247814 > URL: http://svnweb.freebsd.org/changeset/base/247814 >=20 > Log: > Re-enable CTL in GENERIC on i386 and amd64, but turn on the CTL disable > tunable by default. > =20 > This will allow GENERIC configurations to boot on small memory boxes, b= ut > not require end users who want to use CTL to recompile their kernel. T= hey > can simply set kern.cam.ctl.disable=3D0 in loader.conf. Could you rename it to kern.cam.ctl.enable(d)? There was discussion at some point about sysctl/tunable names and the consensus was, AFAIR, to use positive(?) names as they are more obvious. --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://tupytaj.pl --SkvwRMAIpAhPCcCJ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlE/mYEACgkQForvXbEpPzTPNQCbByKCcJAr3xt8N55TmyItV6u1 ZVkAoM5Mn08IMIKhJKYqYzm53T1TnO7S =SnX/ -----END PGP SIGNATURE----- --SkvwRMAIpAhPCcCJ-- From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 21:12:06 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D9FF6A67; Tue, 12 Mar 2013 21:12:04 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id DB69B853; Tue, 12 Mar 2013 21:12:03 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 3713BB972; Tue, 12 Mar 2013 17:12:03 -0400 (EDT) From: John Baldwin To: Andre Oppermann Subject: Re: svn commit: r248196 - head/sys/nfs Date: Tue, 12 Mar 2013 13:27:57 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p25; KDE/4.5.5; amd64; ; ) References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <20130312155005.GJ48089@FreeBSD.org> <513F58C0.4050302@freebsd.org> In-Reply-To: <513F58C0.4050302@freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="koi8-r" Content-Transfer-Encoding: 7bit Message-Id: <201303121327.58164.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 12 Mar 2013 17:12:03 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 21:12:06 -0000 On Tuesday, March 12, 2013 12:33:04 pm Andre Oppermann wrote: > On 12.03.2013 16:50, Gleb Smirnoff wrote: > > On Tue, Mar 12, 2013 at 04:31:05PM +0100, Andre Oppermann wrote: > > A> > If you are concerned about using jumbos that are > PAGE_SIZE, then I can > > A> > extend API in my patch. ... done. > > A> > > > A> > Patch attached. > > A> > > > A> > The NFS code itself guarantees that it won't request > than MCLBYTES, > > A> > so using bare m_get2() here is safe. I can add flag there later for > > A> > clarity. > > A> > > A> Using PAGE_SIZE clusters is perfectly fine and no flag to prevent that > > A> is necessary. In fact we're doing it for years on socket writes without > > A> complaints (through m_getm2()). > > > > mbuf usage isn't limited to sockets. There is some code that right now utilizes > > only mbufs and standard clusters, netipsec for example. > > Yes, I understand that. > > > I'd like to remove a lot of handmade mbuf allocating, in different places in > > kernel and this can be done with M_NOJUMBO flag. I don't have time to dig more > > deep into large chunks of code trying to understand whether it is possible to > > convert them into using PAGE_SIZE clusters or not, I just want to reduce > > amount of pasted hand allocating. > > Reducing the amount of hand allocation is very good. > > > We have very common case when we allocate either mbuf or mbuf + cluster, > > depending on size. Everywhere this is made by hand, but can be substituted > > with m_get2(len, ..., M_NOJUMBO); > > I guess what I'm trying to say is that not wanting jumbo > PAGE_SIZE is > normal and shouldn't be specified all the time. > > This makes the API look like this: > > m_get2(len, ..., 0); /* w/o flags I get at most MJUMPAGESIZE */ > > If someone really, really, really knows what he is doing he can say > he wants jumbo > PAGE_SIZE returned with M_JUMBOOK or such. However > IMHO even that shouldn't be offered and m_getm2() should be used for > a chain. I agree, large clusters should require opting-in, they should not be provided by default (if at all as Andre suggests). -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 21:19:10 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 32ED1EC3 for ; Tue, 12 Mar 2013 21:19:10 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 68B9A8CA for ; Tue, 12 Mar 2013 21:19:09 +0000 (UTC) Received: (qmail 12203 invoked from network); 12 Mar 2013 22:31:38 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 12 Mar 2013 22:31:38 -0000 Message-ID: <513F9BC9.3060300@freebsd.org> Date: Tue, 12 Mar 2013 22:19:05 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r248196 - head/sys/nfs References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> <20130312150053.GI48089@FreeBSD.org> <513F4A39.8040107@freebsd.org> <20130312155005.GJ48089@FreeBSD.org> <513F58C0.4050302@freebsd.org> <20130312194936.GL48089@FreeBSD.org> In-Reply-To: <20130312194936.GL48089@FreeBSD.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 21:19:10 -0000 On 12.03.2013 20:49, Gleb Smirnoff wrote: > Andre, > > On Tue, Mar 12, 2013 at 05:33:04PM +0100, Andre Oppermann wrote: > A> > We have very common case when we allocate either mbuf or mbuf + cluster, > A> > depending on size. Everywhere this is made by hand, but can be substituted > A> > with m_get2(len, ..., M_NOJUMBO); > A> > A> I guess what I'm trying to say is that not wanting jumbo > PAGE_SIZE is > A> normal and shouldn't be specified all the time. > A> > A> This makes the API look like this: > A> > A> m_get2(len, ..., 0); /* w/o flags I get at most MJUMPAGESIZE */ > A> > A> If someone really, really, really knows what he is doing he can say > A> he wants jumbo > PAGE_SIZE returned with M_JUMBOOK or such. However > A> IMHO even that shouldn't be offered and m_getm2() should be used for > A> a chain. > > Once again: there are cases when chain is not anticipated, a single > contigous mbuf is. My statement was at a design level. So far only 2K sized contiguous mbufs (as in classic clusters) were available. This can be relaxed to 4K page sized mbuf clusters without any trouble. Not that we have any of those requiring more than 2K clusters today. What I'm saying is that everything that requires > 4K clusters is broken by design. It should be designed differently to use chains of mbufs not more than 4K each. There are architectures whose page size is larger than 4K. However the majority is at 4K. > A> > A> However I think that m_get2() should never ever even try to attempt to > A> > A> allocate mbuf clusters larger than PAGE_SIZE. Not even with flags. > A> > A> > A> > A> All mbufs > PAGE_SIZE should be exclusively and only ever be used by drivers > A> > A> for NIC's with "challenged" DMA engines. Possibly only available through a > A> > A> dedicated API to prevent all other uses of it. > A> > > A> > Have you done any benchmarking that proves that scatter-gather on the level of > A> > busdma is any worse than chaining on mbuf level? > A> > A> The problem is different. With our current jumbo mbufs > PAGE_SIZE there > A> isn't any scatter-gather at busdma level because they are contiguous at > A> physical *and* KVA level. Allocating such jumbo mbufs shifts the burden > A> of mbuf chains to the VM and pmap layer in trying to come up with such > A> contiguous patches of physical memory. This fails quickly after some > A> activity and memory fragmentation on the machine as we've seen in recent > A> days even with 96GB of RAM available. It gets worse the more load the > A> machine has. Which is exactly what we *don't* want. > > I somehow missed the r174247. How did that work since jumbo clusters were > introduced and up to r174247 (3 years)? jumbo != jumbo. They are simply called jumbo because they are larger than the traditional 2K cluster. The PAGE_SIZE jumbo is special in that it is the largest mbuf that doesn't require any special VM or physical trickery to be allocated. This it is available as long as you have a single free page in the system. A page can be divided into two classic 2K clusters. The only difference to a 4K PAGE_SIZE jumbo being that it requires two 256B mbuf for descriptors instead of one. > AFAIK, it worked fine before jumbos were not physically contigous. Most > modern NICs can use several descriptors per one packet, and that's what > we do when using PAGE_SIZE clusters. But we arm it manually. With a virtually > contigous single mbuf we can just do bus_dmamap_load_mbuf_sg() and do not > care about physical continuity in the stack and upper part of a driver. Jumbos always were physically contiguous. That was the very reason for their existence. They were invented to allow early NIC's with limited DMA capabilities to handle jumbo ethernet frames. Today they should only be used for DMA challenged NIC's and nothing else. For PAGE_SIZE jumbo's there is only one descriptor being used. A page is largest physical unit on the CPU architecture that always is contiguous. What you apparently want is a new type of jumbo mbuf that is only contiguous in virtual address space but not physically. In theory that could be done, but it's totally different from the current jumbo mbufs we already have. While you get rid of the severe physical memory fragmentation problem the KVA fragmentation problem remains lurking somewhere in the back. Actually you could probably even do arbitrarily sized KVM contiguous-only mbufs on demand. The overhead cost is then simply shifted to the VM from the mbuf user that had to work with mbuf chains. > I should probably consult gallatin@ and youngari@ on this. > > A> > Dealing with contiguous in virtual memory mbuf is handy, for protocols that > A> > look through entire payload, for example pfsync. I guess NFS may also benefit > A> > from that. > A> > A> Of course it is handy. However that carries other tradeoffs, some significant, > A> in other parts of the system. And then for incoming packets it depends on the > A> MTU size. For NFS, as far as I've read through the code today, the control > A> messages tend to be rather small. The vast bulk of the data is transported > A> between mbuf and VFS/filesystem. > A> > A> > P.S. Ok about the patch? > A> > A> No. m_getm2() doesn't need the flag at all. PAGE_SIZE mbufs are always > A> good. > > Let me repeat: there is a lot of code, that does handmade allocation of > an mbuf chain of an arbitrary length using mbufs and common clusters. This > code can be cut and use m_getm2(), if we can restrict it to avoid page size > clusters. I don't have time to dig deeper in the code and analyze and test > whether it can support page sized clusters in chains. m_getm2() can be used in any such case and doesn't have to avoid PAGE_SIZE clusters. PAGE_SIZE jumbo clusters are fine. Larger than PAGE_SIZE is not. When the code is able to work with mbuf chains the exact size of each cluster isn't important anymore. We can use the optimal size. > Example: netipsec/key.c:key_alloc_mbuf(). > > A> Calling m_get2() without flag should return at most a PAGE_SIZE > A> mbuf. > > This is not logical. A default limit in the middle of possible values > isn't logical. It is very logical based on the fact that a page sized cluster can always be allocated as long as there is an available free page in the system. This isn't true for jumbo clusters larger than page size due to the additional constrains. The largest "natural" size of an mbuf (jumbo) cluster is equal the page size, typically 4K. > A> The (ab)use of M_PROTO1|2 flags is icky and may conflict with > A> protocol specific uses. > > Please review the patch. The flag isn't stored anywhere, it is just > extension of m_getm2() and m_get2() API. OK. However it's the wrong way around. Not allocating > page size jumbos should be normal when no flags are set. -- Andre From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 21:42:56 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 169565F8; Tue, 12 Mar 2013 21:42:56 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E558A9D3; Tue, 12 Mar 2013 21:42:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CLgt7d043224; Tue, 12 Mar 2013 21:42:55 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CLgtqg043223; Tue, 12 Mar 2013 21:42:55 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303122142.r2CLgtqg043223@svn.freebsd.org> From: Martin Matuska Date: Tue, 12 Mar 2013 21:42:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r248216 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 21:42:56 -0000 Author: mm Date: Tue Mar 12 21:42:55 2013 New Revision: 248216 URL: http://svnweb.freebsd.org/changeset/base/248216 Log: Update vendor-sys/illumos/dist to illumos-gate 13979:b01a4832cdf9 Illumos ZFS issues: 3517 importing pool with autoreplace=on and "hole" vdevs crashes syseventd Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Tue Mar 12 19:28:41 2013 (r248215) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Tue Mar 12 21:42:55 2013 (r248216) @@ -21,8 +21,8 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* @@ -1556,7 +1556,8 @@ spa_check_removed(vdev_t *vd) for (int c = 0; c < vd->vdev_children; c++) spa_check_removed(vd->vdev_child[c]); - if (vd->vdev_ops->vdev_op_leaf && vdev_is_dead(vd)) { + if (vd->vdev_ops->vdev_op_leaf && vdev_is_dead(vd) && + !vd->vdev_ishole) { zfs_post_autoreplace(vd->vdev_spa, vd); spa_event_notify(vd->vdev_spa, vd, ESC_ZFS_VDEV_CHECK); } From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 21:46:31 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id F3BEE792; Tue, 12 Mar 2013 21:46:30 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E38079FF; Tue, 12 Mar 2013 21:46:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CLkUNU043780; Tue, 12 Mar 2013 21:46:30 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CLkTwK043769; Tue, 12 Mar 2013 21:46:29 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303122146.r2CLkTwK043769@svn.freebsd.org> From: Martin Matuska Date: Tue, 12 Mar 2013 21:46:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r248217 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor/illumos/dist/lib/libzpool/common vendor/illumos/dist/lib/libzpool/common/sys X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 21:46:31 -0000 Author: mm Date: Tue Mar 12 21:46:29 2013 New Revision: 248217 URL: http://svnweb.freebsd.org/changeset/base/248217 Log: Update vendor/illumos/dist and vendor-sys/illumos/dist to illumos-gate 13980:d7059eb1884c Illumos ZFS issues: 3598 want to dtrace when errors are generated in zfs Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c vendor-sys/illumos/dist/uts/common/fs/zfs/ddt.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_diff.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c vendor-sys/illumos/dist/uts/common/fs/zfs/dnode.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_deleg.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_destroy.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_prop.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_synctask.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_userhold.c vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c vendor-sys/illumos/dist/uts/common/fs/zfs/sa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_errlog.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c vendor-sys/illumos/dist/uts/common/fs/zfs/uberblock.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_cache.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_disk.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_label.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_mirror.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_missing.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_raidz.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_root.c vendor-sys/illumos/dist/uts/common/fs/zfs/zap.c vendor-sys/illumos/dist/uts/common/fs/zfs/zap_leaf.c vendor-sys/illumos/dist/uts/common/fs/zfs/zap_micro.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfeature.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_acl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ctldir.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_dir.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_onexit.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_replay.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vfsops.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_znode.c vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_checksum.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_compress.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_inject.c vendor-sys/illumos/dist/uts/common/fs/zfs/zvol.c Changes in other areas also in this revision: Added: vendor/illumos/dist/lib/libzpool/common/zfs.d Modified: vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Tue Mar 12 21:42:55 2013 (r248216) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Tue Mar 12 21:46:29 2013 (r248217) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ /* @@ -3466,14 +3466,14 @@ arc_memory_throttle(uint64_t reserve, ui */ if (curproc == proc_pageout) { if (page_load > MAX(ptob(minfree), available_memory) / 4) - return (ERESTART); + return (SET_ERROR(ERESTART)); /* Note: reserve is inflated, so we deflate */ page_load += reserve / 8; return (0); } else if (page_load > 0 && arc_reclaim_needed()) { /* memory is low, delay before restarting */ ARCSTAT_INCR(arcstat_memory_throttle_count, 1); - return (EAGAIN); + return (SET_ERROR(EAGAIN)); } page_load = 0; @@ -3488,7 +3488,7 @@ arc_memory_throttle(uint64_t reserve, ui if (inflight_data > available_memory / 4) { ARCSTAT_INCR(arcstat_memory_throttle_count, 1); - return (ERESTART); + return (SET_ERROR(ERESTART)); } #endif return (0); @@ -3513,13 +3513,13 @@ arc_tempreserve_space(uint64_t reserve, */ if (spa_get_random(10000) == 0) { dprintf("forcing random failure\n"); - return (ERESTART); + return (SET_ERROR(ERESTART)); } #endif if (reserve > arc_c/4 && !arc_no_grow) arc_c = MIN(arc_c_max, reserve * 4); if (reserve > arc_c) - return (ENOMEM); + return (SET_ERROR(ENOMEM)); /* * Don't count loaned bufs as in flight dirty data to prevent long @@ -3552,7 +3552,7 @@ arc_tempreserve_space(uint64_t reserve, arc_anon->arcs_lsize[ARC_BUFC_METADATA]>>10, arc_anon->arcs_lsize[ARC_BUFC_DATA]>>10, reserve>>10, arc_c>>10); - return (ERESTART); + return (SET_ERROR(ERESTART)); } atomic_add_64(&arc_tempreserve, reserve); return (0); @@ -4145,7 +4145,7 @@ l2arc_read_done(zio_t *zio) if (zio->io_error != 0) { ARCSTAT_BUMP(arcstat_l2_io_error); } else { - zio->io_error = EIO; + zio->io_error = SET_ERROR(EIO); } if (!equal) ARCSTAT_BUMP(arcstat_l2_cksum_bad); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Tue Mar 12 21:42:55 2013 (r248216) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Tue Mar 12 21:46:29 2013 (r248217) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ #include @@ -598,7 +598,7 @@ dbuf_read(dmu_buf_impl_t *db, zio_t *zio ASSERT(!refcount_is_zero(&db->db_holds)); if (db->db_state == DB_NOFILL) - return (EIO); + return (SET_ERROR(EIO)); DB_DNODE_ENTER(db); dn = DB_DNODE(db); @@ -655,7 +655,7 @@ dbuf_read(dmu_buf_impl_t *db, zio_t *zio cv_wait(&db->db_changed, &db->db_mtx); } if (db->db_state == DB_UNCACHED) - err = EIO; + err = SET_ERROR(EIO); } mutex_exit(&db->db_mtx); } @@ -1593,7 +1593,7 @@ dbuf_findbp(dnode_t *dn, int level, uint if (level >= nlevels || (blkid > (dn->dn_phys->dn_maxblkid >> (level * epbs)))) { /* the buffer has no parent yet */ - return (ENOENT); + return (SET_ERROR(ENOENT)); } else if (level < nlevels-1) { /* this block is referenced from an indirect block */ int err = dbuf_hold_impl(dn, level+1, @@ -1844,7 +1844,7 @@ top: err = dbuf_findbp(dn, level, blkid, fail_sparse, &parent, &bp); if (fail_sparse) { if (err == 0 && bp && BP_IS_HOLE(bp)) - err = ENOENT; + err = SET_ERROR(ENOENT); if (err) { if (parent) dbuf_rele(parent, NULL); @@ -1941,7 +1941,7 @@ dbuf_spill_set_blksz(dmu_buf_t *db_fake, dnode_t *dn; if (db->db_blkid != DMU_SPILL_BLKID) - return (ENOTSUP); + return (SET_ERROR(ENOTSUP)); if (blksz == 0) blksz = SPA_MINBLOCKSIZE; if (blksz > SPA_MAXBLOCKSIZE) Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/ddt.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/ddt.c Tue Mar 12 21:42:55 2013 (r248216) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/ddt.c Tue Mar 12 21:46:29 2013 (r248217) @@ -21,7 +21,7 @@ /* * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ #include @@ -160,7 +160,7 @@ ddt_object_lookup(ddt_t *ddt, enum ddt_t ddt_entry_t *dde) { if (!ddt_object_exists(ddt, type, class)) - return (ENOENT); + return (SET_ERROR(ENOENT)); return (ddt_ops[type]->ddt_op_lookup(ddt->ddt_os, ddt->ddt_object[type][class], dde)); @@ -221,7 +221,7 @@ ddt_object_info(ddt_t *ddt, enum ddt_typ dmu_object_info_t *doi) { if (!ddt_object_exists(ddt, type, class)) - return (ENOENT); + return (SET_ERROR(ENOENT)); return (dmu_object_info(ddt->ddt_os, ddt->ddt_object[type][class], doi)); @@ -1141,5 +1141,5 @@ ddt_walk(spa_t *spa, ddt_bookmark_t *ddb ddb->ddb_type = 0; } while (++ddb->ddb_class < DDT_CLASSES); - return (ENOENT); + return (SET_ERROR(ENOENT)); } Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c Tue Mar 12 21:42:55 2013 (r248216) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c Tue Mar 12 21:46:29 2013 (r248217) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ #include @@ -143,7 +143,7 @@ dmu_buf_hold(objset_t *os, uint64_t obje db = dbuf_hold(dn, blkid, tag); rw_exit(&dn->dn_struct_rwlock); if (db == NULL) { - err = EIO; + err = SET_ERROR(EIO); } else { err = dbuf_read(db, NULL, db_flags); if (err) { @@ -174,9 +174,9 @@ dmu_set_bonus(dmu_buf_t *db_fake, int ne dn = DB_DNODE(db); if (dn->dn_bonus != db) { - error = EINVAL; + error = SET_ERROR(EINVAL); } else if (newsize < 0 || newsize > db_fake->db_size) { - error = EINVAL; + error = SET_ERROR(EINVAL); } else { dnode_setbonuslen(dn, newsize, tx); error = 0; @@ -197,9 +197,9 @@ dmu_set_bonustype(dmu_buf_t *db_fake, dm dn = DB_DNODE(db); if (!DMU_OT_IS_VALID(type)) { - error = EINVAL; + error = SET_ERROR(EINVAL); } else if (dn->dn_bonus != db) { - error = EINVAL; + error = SET_ERROR(EINVAL); } else { dnode_setbonus_type(dn, type, tx); error = 0; @@ -326,12 +326,12 @@ dmu_spill_hold_existing(dmu_buf_t *bonus dn = DB_DNODE(db); if (spa_version(dn->dn_objset->os_spa) < SPA_VERSION_SA) { - err = EINVAL; + err = SET_ERROR(EINVAL); } else { rw_enter(&dn->dn_struct_rwlock, RW_READER); if (!dn->dn_have_spill) { - err = ENOENT; + err = SET_ERROR(ENOENT); } else { err = dmu_spill_hold_by_dnode(dn, DB_RF_HAVESTRUCT | DB_RF_CANFAIL, tag, dbp); @@ -397,7 +397,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn, (longlong_t)dn->dn_object, dn->dn_datablksz, (longlong_t)offset, (longlong_t)length); rw_exit(&dn->dn_struct_rwlock); - return (EIO); + return (SET_ERROR(EIO)); } nblks = 1; } @@ -414,7 +414,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn, rw_exit(&dn->dn_struct_rwlock); dmu_buf_rele_array(dbp, nblks, tag); zio_nowait(zio); - return (EIO); + return (SET_ERROR(EIO)); } /* initiate async i/o */ if (read) { @@ -443,7 +443,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn, db->db_state == DB_FILL) cv_wait(&db->db_changed, &db->db_mtx); if (db->db_state == DB_UNCACHED) - err = EIO; + err = SET_ERROR(EIO); mutex_exit(&db->db_mtx); if (err) { dmu_buf_rele_array(dbp, nblks, tag); @@ -1353,7 +1353,8 @@ dmu_sync_late_arrival(zio_t *pio, objset dmu_tx_hold_space(tx, zgd->zgd_db->db_size); if (dmu_tx_assign(tx, TXG_WAIT) != 0) { dmu_tx_abort(tx); - return (EIO); /* Make zl_get_data do txg_waited_synced() */ + /* Make zl_get_data do txg_waited_synced() */ + return (SET_ERROR(EIO)); } dsa = kmem_alloc(sizeof (dmu_sync_arg_t), KM_SLEEP); @@ -1438,7 +1439,7 @@ dmu_sync(zio_t *pio, uint64_t txg, dmu_s * This txg has already synced. There's nothing to do. */ mutex_exit(&db->db_mtx); - return (EEXIST); + return (SET_ERROR(EEXIST)); } if (txg <= spa_syncing_txg(os->os_spa)) { @@ -1460,7 +1461,7 @@ dmu_sync(zio_t *pio, uint64_t txg, dmu_s * There's no need to log writes to freed blocks, so we're done. */ mutex_exit(&db->db_mtx); - return (ENOENT); + return (SET_ERROR(ENOENT)); } ASSERT(dr->dr_next == NULL || dr->dr_next->dr_txg < txg); @@ -1489,7 +1490,7 @@ dmu_sync(zio_t *pio, uint64_t txg, dmu_s * have been dirtied since, or we would have cleared the state. */ mutex_exit(&db->db_mtx); - return (EALREADY); + return (SET_ERROR(EALREADY)); } ASSERT(dr->dt.dl.dr_override_state == DR_NOT_OVERRIDDEN); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_diff.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_diff.c Tue Mar 12 21:42:55 2013 (r248216) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_diff.c Tue Mar 12 21:46:29 2013 (r248217) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ #include @@ -113,7 +113,7 @@ diff_cb(spa_t *spa, zilog_t *zilog, cons int err = 0; if (issig(JUSTLOOKING) && issig(FORREAL)) - return (EINTR); + return (SET_ERROR(EINTR)); if (zb->zb_object != DMU_META_DNODE_OBJECT) return (0); @@ -136,7 +136,7 @@ diff_cb(spa_t *spa, zilog_t *zilog, cons if (arc_read(NULL, spa, bp, arc_getbuf_func, &abuf, ZIO_PRIORITY_ASYNC_READ, ZIO_FLAG_CANFAIL, &aflags, zb) != 0) - return (EIO); + return (SET_ERROR(EIO)); blk = abuf->b_data; for (i = 0; i < blksz >> DNODE_SHIFT; i++) { @@ -168,7 +168,7 @@ dmu_diff(const char *tosnap_name, const if (strchr(tosnap_name, '@') == NULL || strchr(fromsnap_name, '@') == NULL) - return (EINVAL); + return (SET_ERROR(EINVAL)); error = dsl_pool_hold(tosnap_name, FTAG, &dp); if (error != 0) @@ -191,7 +191,7 @@ dmu_diff(const char *tosnap_name, const dsl_dataset_rele(fromsnap, FTAG); dsl_dataset_rele(tosnap, FTAG); dsl_pool_rele(dp, FTAG); - return (EXDEV); + return (SET_ERROR(EXDEV)); } fromtxg = fromsnap->ds_phys->ds_creation_txg; Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c Tue Mar 12 21:42:55 2013 (r248216) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c Tue Mar 12 21:46:29 2013 (r248217) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ #include @@ -90,7 +91,7 @@ dmu_object_claim(objset_t *os, uint64_t int err; if (object == DMU_META_DNODE_OBJECT && !dmu_tx_private_ok(tx)) - return (EBADF); + return (SET_ERROR(EBADF)); err = dnode_hold_impl(os, object, DNODE_MUST_BE_FREE, FTAG, &dn); if (err) @@ -112,7 +113,7 @@ dmu_object_reclaim(objset_t *os, uint64_ int err; if (object == DMU_META_DNODE_OBJECT) - return (EBADF); + return (SET_ERROR(EBADF)); err = dnode_hold_impl(os, object, DNODE_MUST_BE_ALLOCATED, FTAG, &dn); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c Tue Mar 12 21:42:55 2013 (r248216) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c Tue Mar 12 21:46:29 2013 (r248217) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ /* Portions Copyright 2010 Robert Milkowski */ @@ -285,7 +285,7 @@ dmu_objset_open_impl(spa_t *spa, dsl_dat kmem_free(os, sizeof (objset_t)); /* convert checksum errors into IO errors */ if (err == ECKSUM) - err = EIO; + err = SET_ERROR(EIO); return (err); } @@ -498,10 +498,10 @@ dmu_objset_own(const char *name, dmu_obj dsl_dataset_disown(ds, tag); } else if (type != DMU_OST_ANY && type != (*osp)->os_phys->os_type) { dsl_dataset_disown(ds, tag); - return (EINVAL); + return (SET_ERROR(EINVAL)); } else if (!readonly && dsl_dataset_is_snapshot(ds)) { dsl_dataset_disown(ds, tag); - return (EROFS); + return (SET_ERROR(EROFS)); } return (err); } @@ -714,14 +714,14 @@ dmu_objset_create_check(void *arg, dmu_t int error; if (strchr(doca->doca_name, '@') != NULL) - return (EINVAL); + return (SET_ERROR(EINVAL)); error = dsl_dir_hold(dp, doca->doca_name, FTAG, &pdd, &tail); if (error != 0) return (error); if (tail == NULL) { dsl_dir_rele(pdd, FTAG); - return (EEXIST); + return (SET_ERROR(EEXIST)); } dsl_dir_rele(pdd, FTAG); @@ -795,19 +795,19 @@ dmu_objset_clone_check(void *arg, dmu_tx dsl_pool_t *dp = dmu_tx_pool(tx); if (strchr(doca->doca_clone, '@') != NULL) - return (EINVAL); + return (SET_ERROR(EINVAL)); error = dsl_dir_hold(dp, doca->doca_clone, FTAG, &pdd, &tail); if (error != 0) return (error); if (tail == NULL) { dsl_dir_rele(pdd, FTAG); - return (EEXIST); + return (SET_ERROR(EEXIST)); } /* You can't clone across pools. */ if (pdd->dd_pool != dp) { dsl_dir_rele(pdd, FTAG); - return (EXDEV); + return (SET_ERROR(EXDEV)); } dsl_dir_rele(pdd, FTAG); @@ -818,13 +818,13 @@ dmu_objset_clone_check(void *arg, dmu_tx /* You can't clone across pools. */ if (origin->ds_dir->dd_pool != dp) { dsl_dataset_rele(origin, FTAG); - return (EXDEV); + return (SET_ERROR(EXDEV)); } /* You can only clone snapshots, not the head datasets. */ if (!dsl_dataset_is_snapshot(origin)) { dsl_dataset_rele(origin, FTAG); - return (EINVAL); + return (SET_ERROR(EINVAL)); } dsl_dataset_rele(origin, FTAG); @@ -1302,9 +1302,9 @@ dmu_objset_userspace_upgrade(objset_t *o if (dmu_objset_userspace_present(os)) return (0); if (!dmu_objset_userused_enabled(os)) - return (ENOTSUP); + return (SET_ERROR(ENOTSUP)); if (dmu_objset_is_snapshot(os)) - return (EINVAL); + return (SET_ERROR(EINVAL)); /* * We simply need to mark every object dirty, so that it will be @@ -1320,7 +1320,7 @@ dmu_objset_userspace_upgrade(objset_t *o int objerr; if (issig(JUSTLOOKING) && issig(FORREAL)) - return (EINTR); + return (SET_ERROR(EINTR)); objerr = dmu_bonus_hold(os, obj, FTAG, &db); if (objerr != 0) @@ -1396,7 +1396,7 @@ dmu_snapshot_realname(objset_t *os, char uint64_t ignored; if (ds->ds_phys->ds_snapnames_zapobj == 0) - return (ENOENT); + return (SET_ERROR(ENOENT)); return (zap_lookup_norm(ds->ds_dir->dd_pool->dp_meta_objset, ds->ds_phys->ds_snapnames_zapobj, name, 8, 1, &ignored, MT_FIRST, @@ -1414,7 +1414,7 @@ dmu_snapshot_list_next(objset_t *os, int ASSERT(dsl_pool_config_held(dmu_objset_pool(os))); if (ds->ds_phys->ds_snapnames_zapobj == 0) - return (ENOENT); + return (SET_ERROR(ENOENT)); zap_cursor_init_serialized(&cursor, ds->ds_dir->dd_pool->dp_meta_objset, @@ -1422,12 +1422,12 @@ dmu_snapshot_list_next(objset_t *os, int if (zap_cursor_retrieve(&cursor, &attr) != 0) { zap_cursor_fini(&cursor); - return (ENOENT); + return (SET_ERROR(ENOENT)); } if (strlen(attr.za_name) + 1 > namelen) { zap_cursor_fini(&cursor); - return (ENAMETOOLONG); + return (SET_ERROR(ENAMETOOLONG)); } (void) strcpy(name, attr.za_name); @@ -1453,7 +1453,7 @@ dmu_dir_list_next(objset_t *os, int name /* there is no next dir on a snapshot! */ if (os->os_dsl_dataset->ds_object != dd->dd_phys->dd_head_dataset_obj) - return (ENOENT); + return (SET_ERROR(ENOENT)); zap_cursor_init_serialized(&cursor, dd->dd_pool->dp_meta_objset, @@ -1461,12 +1461,12 @@ dmu_dir_list_next(objset_t *os, int name if (zap_cursor_retrieve(&cursor, &attr) != 0) { zap_cursor_fini(&cursor); - return (ENOENT); + return (SET_ERROR(ENOENT)); } if (strlen(attr.za_name) + 1 > namelen) { zap_cursor_fini(&cursor); - return (ENAMETOOLONG); + return (SET_ERROR(ENAMETOOLONG)); } (void) strcpy(name, attr.za_name); @@ -1733,9 +1733,9 @@ dmu_fsname(const char *snapname, char *b { char *atp = strchr(snapname, '@'); if (atp == NULL) - return (EINVAL); + return (SET_ERROR(EINVAL)); if (atp - snapname >= MAXNAMELEN) - return (ENAMETOOLONG); + return (SET_ERROR(ENAMETOOLONG)); (void) strlcpy(buf, snapname, atp - snapname + 1); return (0); } Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Tue Mar 12 21:42:55 2013 (r248216) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Tue Mar 12 21:46:29 2013 (r248217) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. * Copyright (c) 2012, Joyent, Inc. All rights reserved. */ @@ -94,7 +94,7 @@ dump_free(dmu_sendarg_t *dsp, uint64_t o dsp->dsa_pending_op != PENDING_FREE) { if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); dsp->dsa_pending_op = PENDING_NONE; } @@ -118,7 +118,7 @@ dump_free(dmu_sendarg_t *dsp, uint64_t o /* not a continuation. Push out pending record */ if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); dsp->dsa_pending_op = PENDING_NONE; } } @@ -132,7 +132,7 @@ dump_free(dmu_sendarg_t *dsp, uint64_t o if (length == -1ULL) { if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); } else { dsp->dsa_pending_op = PENDING_FREE; } @@ -156,7 +156,7 @@ dump_data(dmu_sendarg_t *dsp, dmu_object if (dsp->dsa_pending_op != PENDING_NONE) { if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); dsp->dsa_pending_op = PENDING_NONE; } /* write a DATA record */ @@ -176,9 +176,9 @@ dump_data(dmu_sendarg_t *dsp, dmu_object drrw->drr_key.ddk_cksum = bp->blk_cksum; if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); if (dump_bytes(dsp, data, blksz) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); return (0); } @@ -190,7 +190,7 @@ dump_spill(dmu_sendarg_t *dsp, uint64_t if (dsp->dsa_pending_op != PENDING_NONE) { if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); dsp->dsa_pending_op = PENDING_NONE; } @@ -202,9 +202,9 @@ dump_spill(dmu_sendarg_t *dsp, uint64_t drrs->drr_toguid = dsp->dsa_toguid; if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t))) - return (EINTR); + return (SET_ERROR(EINTR)); if (dump_bytes(dsp, data, blksz)) - return (EINTR); + return (SET_ERROR(EINTR)); return (0); } @@ -224,7 +224,7 @@ dump_freeobjects(dmu_sendarg_t *dsp, uin dsp->dsa_pending_op != PENDING_FREEOBJECTS) { if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); dsp->dsa_pending_op = PENDING_NONE; } if (dsp->dsa_pending_op == PENDING_FREEOBJECTS) { @@ -239,7 +239,7 @@ dump_freeobjects(dmu_sendarg_t *dsp, uin /* can't be aggregated. Push out pending record */ if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); dsp->dsa_pending_op = PENDING_NONE; } } @@ -267,7 +267,7 @@ dump_dnode(dmu_sendarg_t *dsp, uint64_t if (dsp->dsa_pending_op != PENDING_NONE) { if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); dsp->dsa_pending_op = PENDING_NONE; } @@ -284,17 +284,17 @@ dump_dnode(dmu_sendarg_t *dsp, uint64_t drro->drr_toguid = dsp->dsa_toguid; if (dump_bytes(dsp, dsp->dsa_drr, sizeof (dmu_replay_record_t)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); if (dump_bytes(dsp, DN_BONUS(dnp), P2ROUNDUP(dnp->dn_bonuslen, 8)) != 0) - return (EINTR); + return (SET_ERROR(EINTR)); /* free anything past the end of the file */ if (dump_free(dsp, object, (dnp->dn_maxblkid + 1) * (dnp->dn_datablkszsec << SPA_MINBLOCKSHIFT), -1ULL)) - return (EINTR); + return (SET_ERROR(EINTR)); if (dsp->dsa_err != 0) - return (EINTR); + return (SET_ERROR(EINTR)); return (0); } @@ -312,7 +312,7 @@ backup_cb(spa_t *spa, zilog_t *zilog, co int err = 0; if (issig(JUSTLOOKING) && issig(FORREAL)) - return (EINTR); + return (SET_ERROR(EINTR)); if (zb->zb_object != DMU_META_DNODE_OBJECT && DMU_OBJECT_IS_SPECIAL(zb->zb_object)) { @@ -336,7 +336,7 @@ backup_cb(spa_t *spa, zilog_t *zilog, co if (arc_read(NULL, spa, bp, arc_getbuf_func, &abuf, ZIO_PRIORITY_ASYNC_READ, ZIO_FLAG_CANFAIL, &aflags, zb) != 0) - return (EIO); + return (SET_ERROR(EIO)); blk = abuf->b_data; for (i = 0; i < blksz >> DNODE_SHIFT; i++) { @@ -355,7 +355,7 @@ backup_cb(spa_t *spa, zilog_t *zilog, co if (arc_read(NULL, spa, bp, arc_getbuf_func, &abuf, ZIO_PRIORITY_ASYNC_READ, ZIO_FLAG_CANFAIL, &aflags, zb) != 0) - return (EIO); + return (SET_ERROR(EIO)); err = dump_spill(dsp, zb->zb_object, blksz, abuf->b_data); (void) arc_buf_remove_ref(abuf, &abuf); @@ -377,7 +377,7 @@ backup_cb(spa_t *spa, zilog_t *zilog, co ptr++) *ptr = 0x2f5baddb10c; } else { - return (EIO); + return (SET_ERROR(EIO)); } } @@ -407,7 +407,7 @@ dmu_send_impl(void *tag, dsl_pool_t *dp, dsl_dataset_rele(fromds, tag); dsl_dataset_rele(ds, tag); dsl_pool_rele(dp, tag); - return (EXDEV); + return (SET_ERROR(EXDEV)); } err = dmu_objset_from_ds(ds, &os); @@ -434,7 +434,7 @@ dmu_send_impl(void *tag, dsl_pool_t *dp, dsl_dataset_rele(fromds, tag); dsl_dataset_rele(ds, tag); dsl_pool_rele(dp, tag); - return (EINVAL); + return (SET_ERROR(EINVAL)); } if (version >= ZPL_VERSION_SA) { DMU_SET_FEATUREFLAGS( @@ -492,7 +492,7 @@ dmu_send_impl(void *tag, dsl_pool_t *dp, if (dsp->dsa_pending_op != PENDING_NONE) if (dump_bytes(dsp, drr, sizeof (dmu_replay_record_t)) != 0) - err = EINTR; + err = SET_ERROR(EINTR); if (err != 0) { if (err == EINTR && dsp->dsa_err != 0) @@ -565,9 +565,9 @@ dmu_send(const char *tosnap, const char int err; if (strchr(tosnap, '@') == NULL) - return (EINVAL); + return (SET_ERROR(EINVAL)); if (fromsnap != NULL && strchr(fromsnap, '@') == NULL) - return (EINVAL); + return (SET_ERROR(EINVAL)); err = dsl_pool_hold(tosnap, FTAG, &dp); if (err != 0) @@ -601,14 +601,14 @@ dmu_send_estimate(dsl_dataset_t *ds, dsl /* tosnap must be a snapshot */ if (!dsl_dataset_is_snapshot(ds)) - return (EINVAL); + return (SET_ERROR(EINVAL)); /* * fromsnap must be an earlier snapshot from the same fs as tosnap, * or the origin's fs. */ if (fromds != NULL && !dsl_dataset_is_before(ds, fromds)) - return (EXDEV); + return (SET_ERROR(EXDEV)); /* Get uncompressed size estimate of changed data. */ if (fromds == NULL) { @@ -667,7 +667,7 @@ recv_begin_check_existing_impl(dmu_recv_ /* must not have any changes since most recent snapshot */ if (!drba->drba_cookie->drc_force && dsl_dataset_modified_since_lastsnap(ds)) - return (ETXTBSY); + return (SET_ERROR(ETXTBSY)); /* temporary clone name must not exist */ error = zap_lookup(dp->dp_meta_objset, @@ -686,7 +686,7 @@ recv_begin_check_existing_impl(dmu_recv_ if (fromguid != 0) { /* if incremental, most recent snapshot must match fromguid */ if (ds->ds_prev == NULL) - return (ENODEV); + return (SET_ERROR(ENODEV)); /* * most recent snapshot must match fromguid, or there are no @@ -700,10 +700,10 @@ recv_begin_check_existing_impl(dmu_recv_ error = dsl_dataset_hold_obj(dp, obj, FTAG, &snap); if (error != 0) - return (ENODEV); + return (SET_ERROR(ENODEV)); if (snap->ds_phys->ds_creation_txg < birth) { dsl_dataset_rele(snap, FTAG); - return (ENODEV); + return (SET_ERROR(ENODEV)); } if (snap->ds_phys->ds_guid == fromguid) { dsl_dataset_rele(snap, FTAG); @@ -713,12 +713,12 @@ recv_begin_check_existing_impl(dmu_recv_ dsl_dataset_rele(snap, FTAG); } if (obj == 0) - return (ENODEV); + return (SET_ERROR(ENODEV)); } } else { /* if full, most recent snapshot must be $ORIGIN */ if (ds->ds_phys->ds_prev_snap_txg >= TXG_INITIAL) - return (ENODEV); + return (SET_ERROR(ENODEV)); } return (0); @@ -744,13 +744,13 @@ dmu_recv_begin_check(void *arg, dmu_tx_t DMU_COMPOUNDSTREAM || drrb->drr_type >= DMU_OST_NUMTYPES || ((flags & DRR_FLAG_CLONE) && drba->drba_origin == NULL)) - return (EINVAL); + return (SET_ERROR(EINVAL)); /* Verify pool version supports SA if SA_SPILL feature set */ if ((DMU_GET_FEATUREFLAGS(drrb->drr_versioninfo) & DMU_BACKUP_FEATURE_SA_SPILL) && spa_version(dp->dp_spa) < SPA_VERSION_SA) { - return (ENOTSUP); + return (SET_ERROR(ENOTSUP)); } error = dsl_dataset_hold(dp, tofs, FTAG, &ds); @@ -760,7 +760,7 @@ dmu_recv_begin_check(void *arg, dmu_tx_t /* Can't recv a clone into an existing fs */ if (flags & DRR_FLAG_CLONE) { dsl_dataset_rele(ds, FTAG); - return (EINVAL); + return (SET_ERROR(EINVAL)); } error = recv_begin_check_existing_impl(drba, ds, fromguid); @@ -774,7 +774,7 @@ dmu_recv_begin_check(void *arg, dmu_tx_t * target fs, so fail the recv. */ if (fromguid != 0 && !(flags & DRR_FLAG_CLONE)) - return (ENOENT); + return (SET_ERROR(ENOENT)); /* Open the parent of tofs */ ASSERT3U(strlen(tofs), <, MAXNAMELEN); @@ -794,12 +794,12 @@ dmu_recv_begin_check(void *arg, dmu_tx_t if (!dsl_dataset_is_snapshot(origin)) { dsl_dataset_rele(origin, FTAG); dsl_dataset_rele(ds, FTAG); - return (EINVAL); + return (SET_ERROR(EINVAL)); } if (origin->ds_phys->ds_guid != fromguid) { dsl_dataset_rele(origin, FTAG); dsl_dataset_rele(ds, FTAG); - return (ENODEV); + return (SET_ERROR(ENODEV)); } dsl_dataset_rele(origin, FTAG); } @@ -890,7 +890,7 @@ dmu_recv_begin(char *tofs, char *tosnap, if (drrb->drr_magic == BSWAP_64(DMU_BACKUP_MAGIC)) drc->drc_byteswap = B_TRUE; else if (drrb->drr_magic != DMU_BACKUP_MAGIC) - return (EINVAL); + return (SET_ERROR(EINVAL)); drr = kmem_zalloc(sizeof (dmu_replay_record_t), KM_SLEEP); drr->drr_type = DRR_BEGIN; @@ -984,7 +984,7 @@ restore_read(struct restorearg *ra, int RLIM64_INFINITY, CRED(), &resid); if (resid == len - done) - ra->err = EINVAL; + ra->err = SET_ERROR(EINVAL); ra->voff += len - done - resid; done = len - resid; if (ra->err != 0) @@ -1096,13 +1096,13 @@ restore_object(struct restorearg *ra, ob drro->drr_blksz < SPA_MINBLOCKSIZE || drro->drr_blksz > SPA_MAXBLOCKSIZE || drro->drr_bonuslen > DN_MAX_BONUSLEN) { - return (EINVAL); + return (SET_ERROR(EINVAL)); } err = dmu_object_info(os, drro->drr_object, NULL); if (err != 0 && err != ENOENT) - return (EINVAL); + return (SET_ERROR(EINVAL)); if (drro->drr_bonuslen) { data = restore_read(ra, P2ROUNDUP(drro->drr_bonuslen, 8)); @@ -1130,7 +1130,7 @@ restore_object(struct restorearg *ra, ob drro->drr_bonustype, drro->drr_bonuslen); } if (err != 0) { - return (EINVAL); + return (SET_ERROR(EINVAL)); } tx = dmu_tx_create(os); @@ -1173,7 +1173,7 @@ restore_freeobjects(struct restorearg *r uint64_t obj; if (drrfo->drr_firstobj + drrfo->drr_numobjs < drrfo->drr_firstobj) - return (EINVAL); + return (SET_ERROR(EINVAL)); for (obj = drrfo->drr_firstobj; obj < drrfo->drr_firstobj + drrfo->drr_numobjs; @@ -1200,14 +1200,14 @@ restore_write(struct restorearg *ra, obj if (drrw->drr_offset + drrw->drr_length < drrw->drr_offset || !DMU_OT_IS_VALID(drrw->drr_type)) - return (EINVAL); + return (SET_ERROR(EINVAL)); data = restore_read(ra, drrw->drr_length); if (data == NULL) return (ra->err); if (dmu_object_info(os, drrw->drr_object, NULL) != 0) - return (EINVAL); + return (SET_ERROR(EINVAL)); tx = dmu_tx_create(os); @@ -1249,7 +1249,7 @@ restore_write_byref(struct restorearg *r dmu_buf_t *dbp; if (drrwbr->drr_offset + drrwbr->drr_length < drrwbr->drr_offset) - return (EINVAL); + return (SET_ERROR(EINVAL)); /* * If the GUID of the referenced dataset is different from the @@ -1259,10 +1259,10 @@ restore_write_byref(struct restorearg *r gmesrch.guid = drrwbr->drr_refguid; if ((gmep = avl_find(ra->guid_to_ds_map, &gmesrch, &where)) == NULL) { - return (EINVAL); + return (SET_ERROR(EINVAL)); } if (dmu_objset_from_ds(gmep->gme_ds, &ref_os)) - return (EINVAL); + return (SET_ERROR(EINVAL)); } else { ref_os = os; } @@ -1297,14 +1297,14 @@ restore_spill(struct restorearg *ra, obj if (drrs->drr_length < SPA_MINBLOCKSIZE || drrs->drr_length > SPA_MAXBLOCKSIZE) - return (EINVAL); + return (SET_ERROR(EINVAL)); data = restore_read(ra, drrs->drr_length); if (data == NULL) return (ra->err); if (dmu_object_info(os, drrs->drr_object, NULL) != 0) - return (EINVAL); + return (SET_ERROR(EINVAL)); VERIFY(0 == dmu_bonus_hold(os, drrs->drr_object, FTAG, &db)); if ((err = dmu_spill_hold_by_bonus(db, FTAG, &db_spill)) != 0) { @@ -1346,10 +1346,10 @@ restore_free(struct restorearg *ra, objs if (drrf->drr_length != -1ULL && drrf->drr_offset + drrf->drr_length < drrf->drr_offset) - return (EINVAL); + return (SET_ERROR(EINVAL)); if (dmu_object_info(os, drrf->drr_object, NULL) != 0) - return (EINVAL); + return (SET_ERROR(EINVAL)); err = dmu_free_long_range(os, drrf->drr_object, drrf->drr_offset, drrf->drr_length); @@ -1405,7 +1405,7 @@ dmu_recv_stream(dmu_recv_cookie_t *drc, minor_t minor; if (cleanup_fd == -1) { - ra.err = EBADF; + ra.err = SET_ERROR(EBADF); goto out; } ra.err = zfs_onexit_fd_hold(cleanup_fd, &minor); @@ -1442,7 +1442,7 @@ dmu_recv_stream(dmu_recv_cookie_t *drc, while (ra.err == 0 && NULL != (drr = restore_read(&ra, sizeof (*drr)))) { if (issig(JUSTLOOKING) && issig(FORREAL)) { - ra.err = EINTR; + ra.err = SET_ERROR(EINTR); goto out; } @@ -1496,7 +1496,7 @@ dmu_recv_stream(dmu_recv_cookie_t *drc, * everything before the DRR_END record. */ if (!ZIO_CHECKSUM_EQUAL(drre.drr_checksum, pcksum)) - ra.err = ECKSUM; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 21:46:31 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 826C5796; Tue, 12 Mar 2013 21:46:31 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 732E9A00; Tue, 12 Mar 2013 21:46:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CLkVJM043788; Tue, 12 Mar 2013 21:46:31 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CLkV29043785; Tue, 12 Mar 2013 21:46:31 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303122146.r2CLkV29043785@svn.freebsd.org> From: Martin Matuska Date: Tue, 12 Mar 2013 21:46:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r248217 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor/illumos/dist/lib/libzpool/common vendor/illumos/dist/lib/libzpool/common/sys X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 21:46:31 -0000 Author: mm Date: Tue Mar 12 21:46:29 2013 New Revision: 248217 URL: http://svnweb.freebsd.org/changeset/base/248217 Log: Update vendor/illumos/dist and vendor-sys/illumos/dist to illumos-gate 13980:d7059eb1884c Illumos ZFS issues: 3598 want to dtrace when errors are generated in zfs Added: vendor/illumos/dist/lib/libzpool/common/zfs.d Modified: vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Changes in other areas also in this revision: Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c vendor-sys/illumos/dist/uts/common/fs/zfs/ddt.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_diff.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c vendor-sys/illumos/dist/uts/common/fs/zfs/dnode.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_deleg.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_destroy.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_prop.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_synctask.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_userhold.c vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c vendor-sys/illumos/dist/uts/common/fs/zfs/sa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_errlog.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c vendor-sys/illumos/dist/uts/common/fs/zfs/uberblock.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_cache.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_disk.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_label.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_mirror.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_missing.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_raidz.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_root.c vendor-sys/illumos/dist/uts/common/fs/zfs/zap.c vendor-sys/illumos/dist/uts/common/fs/zfs/zap_leaf.c vendor-sys/illumos/dist/uts/common/fs/zfs/zap_micro.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfeature.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_acl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ctldir.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_dir.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_onexit.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_replay.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vfsops.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_znode.c vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_checksum.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_compress.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_inject.c vendor-sys/illumos/dist/uts/common/fs/zfs/zvol.c Modified: vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h ============================================================================== --- vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Tue Mar 12 21:42:55 2013 (r248216) +++ vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Tue Mar 12 21:46:29 2013 (r248217) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. * Copyright (c) 2012, Joyent, Inc. All rights reserved. */ @@ -81,6 +81,7 @@ extern "C" { #include #include #include +#include "zfs.h" /* * Debugging @@ -121,28 +122,43 @@ extern int aok; #ifdef DTRACE_PROBE #undef DTRACE_PROBE -#define DTRACE_PROBE(a) ((void)0) #endif /* DTRACE_PROBE */ +#define DTRACE_PROBE(a) \ + ZFS_PROBE0(#a) #ifdef DTRACE_PROBE1 #undef DTRACE_PROBE1 -#define DTRACE_PROBE1(a, b, c) ((void)0) #endif /* DTRACE_PROBE1 */ +#define DTRACE_PROBE1(a, b, c) \ + ZFS_PROBE1(#a, (unsigned long)c) #ifdef DTRACE_PROBE2 #undef DTRACE_PROBE2 -#define DTRACE_PROBE2(a, b, c, d, e) ((void)0) #endif /* DTRACE_PROBE2 */ +#define DTRACE_PROBE2(a, b, c, d, e) \ + ZFS_PROBE2(#a, (unsigned long)c, (unsigned long)e) #ifdef DTRACE_PROBE3 #undef DTRACE_PROBE3 -#define DTRACE_PROBE3(a, b, c, d, e, f, g) ((void)0) #endif /* DTRACE_PROBE3 */ +#define DTRACE_PROBE3(a, b, c, d, e, f, g) \ + ZFS_PROBE3(#a, (unsigned long)c, (unsigned long)e, (unsigned long)g) #ifdef DTRACE_PROBE4 #undef DTRACE_PROBE4 -#define DTRACE_PROBE4(a, b, c, d, e, f, g, h, i) ((void)0) #endif /* DTRACE_PROBE4 */ +#define DTRACE_PROBE4(a, b, c, d, e, f, g, h, i) \ + ZFS_PROBE4(#a, (unsigned long)c, (unsigned long)e, (unsigned long)g, \ + (unsigned long)i) + +/* + * We use the comma operator so that this macro can be used without much + * additional code. For example, "return (EINVAL);" becomes + * "return (SET_ERROR(EINVAL));". Note that the argument will be evaluated + * twice, so it should not have side effects (e.g. something like: + * "return (SET_ERROR(log_error(EINVAL, info)));" would log the error twice). + */ +#define SET_ERROR(err) (ZFS_SET_ERROR(err), err) /* * Threads Added: vendor/illumos/dist/lib/libzpool/common/zfs.d ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/lib/libzpool/common/zfs.d Tue Mar 12 21:46:29 2013 (r248217) @@ -0,0 +1,36 @@ +/* + * CDDL HEADER START + * + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + * + * CDDL HEADER END + */ + +/* + * Copyright (c) 2013 by Delphix. All rights reserved. + */ + +provider zfs { + probe probe0(char *probename); + probe probe1(char *probename, unsigned long arg1); + probe probe2(char *probename, unsigned long arg1, unsigned long arg2); + probe probe3(char *probename, unsigned long arg1, unsigned long arg2, + unsigned long arg3); + probe probe4(char *probename, unsigned long arg1, unsigned long arg2, + unsigned long arg3, unsigned long arg4); + + probe set__error(int err); +}; + +#pragma D attributes Evolving/Evolving/ISA provider zfs provider +#pragma D attributes Private/Private/Unknown provider zfs module +#pragma D attributes Private/Private/Unknown provider zfs function +#pragma D attributes Evolving/Evolving/ISA provider zfs name +#pragma D attributes Evolving/Evolving/ISA provider zfs args From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 23:07:35 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 944ABAF0; Tue, 12 Mar 2013 23:07:35 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7C3D0F3E; Tue, 12 Mar 2013 23:07:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CN7ZpH068822; Tue, 12 Mar 2013 23:07:35 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CN7ZGW068821; Tue, 12 Mar 2013 23:07:35 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201303122307.r2CN7ZGW068821@svn.freebsd.org> From: Eitan Adler Date: Tue, 12 Mar 2013 23:07:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248219 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 23:07:35 -0000 Author: eadler Date: Tue Mar 12 23:07:34 2013 New Revision: 248219 URL: http://svnweb.freebsd.org/changeset/base/248219 Log: Welcome Bryan to the team. Modified: head/share/misc/organization.dot Modified: head/share/misc/organization.dot ============================================================================== --- head/share/misc/organization.dot Tue Mar 12 22:18:31 2013 (r248218) +++ head/share/misc/organization.dot Tue Mar 12 23:07:34 2013 (r248219) @@ -30,7 +30,7 @@ coresecretary [label="Core Team Secretar doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"] doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs"] portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"] -portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt, \nerwin, pav,\nitetcu, miwi"] +portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt,\nerwin, pav, bdrewery,\nitetcu, miwi"] portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\ntabthorpe"] re [label="Primary Release Engineering Team\nre@FreeBSD.org\nkib, blackend, jpaetzel, hrs, kensmith"] secteam [label="Security Team\nsecteam@FreeBSD.org\nsimon, qingli, delphij,\nremko, philip, stas, cperciva,\ncsjp, rwatson, miwi, bz"] From owner-svn-src-all@FreeBSD.ORG Tue Mar 12 23:14:19 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6AA90DA3; Tue, 12 Mar 2013 23:14:19 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5C432FA2; Tue, 12 Mar 2013 23:14:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2CNEJVO071601; Tue, 12 Mar 2013 23:14:19 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2CNEJdF071599; Tue, 12 Mar 2013 23:14:19 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201303122314.r2CNEJdF071599@svn.freebsd.org> From: Eitan Adler Date: Tue, 12 Mar 2013 23:14:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248220 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 23:14:19 -0000 Author: eadler Date: Tue Mar 12 23:14:18 2013 New Revision: 248220 URL: http://svnweb.freebsd.org/changeset/base/248220 Log: Remove pav from portmgr whom had also stepped down a few months ago. Thank you for your years of service. Reported by: rene Modified: head/share/misc/organization.dot Modified: head/share/misc/organization.dot ============================================================================== --- head/share/misc/organization.dot Tue Mar 12 23:07:34 2013 (r248219) +++ head/share/misc/organization.dot Tue Mar 12 23:14:18 2013 (r248220) @@ -30,7 +30,7 @@ coresecretary [label="Core Team Secretar doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"] doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs"] portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"] -portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt,\nerwin, pav, bdrewery,\nitetcu, miwi"] +portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt,\nerwin, bdrewery,\nitetcu, miwi"] portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\ntabthorpe"] re [label="Primary Release Engineering Team\nre@FreeBSD.org\nkib, blackend, jpaetzel, hrs, kensmith"] secteam [label="Security Team\nsecteam@FreeBSD.org\nsimon, qingli, delphij,\nremko, philip, stas, cperciva,\ncsjp, rwatson, miwi, bz"] From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 01:40:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 285F837E; Wed, 13 Mar 2013 01:40:02 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E01007F5; Wed, 13 Mar 2013 01:40:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2D1e1QC014816; Wed, 13 Mar 2013 01:40:01 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2D1e15p014815; Wed, 13 Mar 2013 01:40:01 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201303130140.r2D1e15p014815@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 13 Mar 2013 01:40:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248226 - head/sys/dev/bge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 01:40:02 -0000 Author: yongari Date: Wed Mar 13 01:40:01 2013 New Revision: 248226 URL: http://svnweb.freebsd.org/changeset/base/248226 Log: r241438 broke IPMI access on Sun Fire X2200 M2(BCM5715). Fix the IPMI regression by sending BGE_FW_DRV_STATE_UNLOAD to ASF/IPMI firmware in driver attach phase. Sending heartheat to ASF/IPMI is enabled only after upping interface so setting driver state to BGE_FW_DRV_STATE_START in attach phase broke IPMI access. While I'm here, add NVRAM arbitration lock before performing controller reset. ASF/IPMI firmware may be able to access the NVRAM while controller reset is in progress. Without the arbitration lock before resetting the controller, ASF/IPMI may not initialize properly. Special thanks to Miroslav Lachman who provided full remote debugging environments. Modified: head/sys/dev/bge/if_bge.c Modified: head/sys/dev/bge/if_bge.c ============================================================================== --- head/sys/dev/bge/if_bge.c Wed Mar 13 01:38:32 2013 (r248225) +++ head/sys/dev/bge/if_bge.c Wed Mar 13 01:40:01 2013 (r248226) @@ -3594,15 +3594,15 @@ bge_attach(device_t dev) } bge_stop_fw(sc); - bge_sig_pre_reset(sc, BGE_RESET_START); + bge_sig_pre_reset(sc, BGE_RESET_SHUTDOWN); if (bge_reset(sc)) { device_printf(sc->bge_dev, "chip reset failed\n"); error = ENXIO; goto fail; } - bge_sig_legacy(sc, BGE_RESET_START); - bge_sig_post_reset(sc, BGE_RESET_START); + bge_sig_legacy(sc, BGE_RESET_SHUTDOWN); + bge_sig_post_reset(sc, BGE_RESET_SHUTDOWN); if (bge_chipinit(sc)) { device_printf(sc->bge_dev, "chip initialization failed\n"); @@ -3960,6 +3960,20 @@ bge_reset(struct bge_softc *sc) } else write_op = bge_writereg_ind; + if (sc->bge_asicrev != BGE_ASICREV_BCM5700 && + sc->bge_asicrev != BGE_ASICREV_BCM5701) { + CSR_WRITE_4(sc, BGE_NVRAM_SWARB, BGE_NVRAMSWARB_SET1); + for (i = 0; i < 8000; i++) { + if (CSR_READ_4(sc, BGE_NVRAM_SWARB) & + BGE_NVRAMSWARB_GNT1) + break; + DELAY(20); + } + if (i == 8000) { + if (bootverbose) + device_printf(dev, "NVRAM lock timedout!\n"); + } + } /* Take APE lock when performing reset. */ bge_ape_lock(sc, BGE_APE_LOCK_GRC); From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 02:11:46 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B5DDFD97; Wed, 13 Mar 2013 02:11:46 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8A7A5917; Wed, 13 Mar 2013 02:11:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2D2Bk4B026116; Wed, 13 Mar 2013 02:11:46 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2D2Bk0O026115; Wed, 13 Mar 2013 02:11:46 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201303130211.r2D2Bk0O026115@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 13 Mar 2013 02:11:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248227 - head/sys/dev/re X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 02:11:46 -0000 Author: yongari Date: Wed Mar 13 02:11:45 2013 New Revision: 248227 URL: http://svnweb.freebsd.org/changeset/base/248227 Log: Disable TX IP header checksum offloading on RL_HWREV_8168CP. The controller generates wrong checksummed frame if the IP packet has IP options. Submitted by: Alexander Bluhm via brad@openbsd Modified: head/sys/dev/re/if_re.c Modified: head/sys/dev/re/if_re.c ============================================================================== --- head/sys/dev/re/if_re.c Wed Mar 13 01:40:01 2013 (r248226) +++ head/sys/dev/re/if_re.c Wed Mar 13 02:11:45 2013 (r248227) @@ -1587,7 +1587,8 @@ re_attach(device_t dev) * packet has IP options so disable TX IP checksum offloading. */ if (sc->rl_hwrev->rl_rev == RL_HWREV_8168C || - sc->rl_hwrev->rl_rev == RL_HWREV_8168C_SPIN2) + sc->rl_hwrev->rl_rev == RL_HWREV_8168C_SPIN2 || + sc->rl_hwrev->rl_rev == RL_HWREV_8168CP) ifp->if_hwassist = CSUM_TCP | CSUM_UDP; else ifp->if_hwassist = CSUM_IP | CSUM_TCP | CSUM_UDP; @@ -3419,7 +3420,8 @@ re_ioctl(struct ifnet *ifp, u_long comma if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) { rev = sc->rl_hwrev->rl_rev; if (rev == RL_HWREV_8168C || - rev == RL_HWREV_8168C_SPIN2) + rev == RL_HWREV_8168C_SPIN2 || + rev == RL_HWREV_8168CP) ifp->if_hwassist |= CSUM_TCP | CSUM_UDP; else ifp->if_hwassist |= RE_CSUM_FEATURES; From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 06:42:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 47B16F66; Wed, 13 Mar 2013 06:42:02 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 303C2689; Wed, 13 Mar 2013 06:42:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2D6g2eL009486; Wed, 13 Mar 2013 06:42:02 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2D6g2JL009485; Wed, 13 Mar 2013 06:42:02 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201303130642.r2D6g2JL009485@svn.freebsd.org> From: Alexander Motin Date: Wed, 13 Mar 2013 06:42:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248230 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 06:42:02 -0000 Author: mav Date: Wed Mar 13 06:42:01 2013 New Revision: 248230 URL: http://svnweb.freebsd.org/changeset/base/248230 Log: Fix incorrect assertion that caused panic when periodic-only timers used. Modified: head/sys/kern/kern_et.c Modified: head/sys/kern/kern_et.c ============================================================================== --- head/sys/kern/kern_et.c Wed Mar 13 03:27:32 2013 (r248229) +++ head/sys/kern/kern_et.c Wed Mar 13 06:42:01 2013 (r248230) @@ -168,7 +168,7 @@ et_start(struct eventtimer *et, sbintime KASSERT(period >= 0, ("et_start: negative period")); KASSERT((et->et_flags & ET_FLAGS_PERIODIC) || period == 0, ("et_start: period specified for oneshot-only timer")); - KASSERT((et->et_flags & ET_FLAGS_ONESHOT) && period == 0, + KASSERT((et->et_flags & ET_FLAGS_ONESHOT) || period != 0, ("et_start: period not specified for periodic-only timer")); if (period != 0) { if (period < et->et_min_period) From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 09:41:55 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AC4132F4; Wed, 13 Mar 2013 09:41:55 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9F40AFC; Wed, 13 Mar 2013 09:41:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2D9ftY7065314; Wed, 13 Mar 2013 09:41:55 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2D9ftfp065313; Wed, 13 Mar 2013 09:41:55 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201303130941.r2D9ftfp065313@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Wed, 13 Mar 2013 09:41:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248231 - head/crypto/openssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 09:41:55 -0000 Author: des Date: Wed Mar 13 09:41:55 2013 New Revision: 248231 URL: http://svnweb.freebsd.org/changeset/base/248231 Log: Unlike OpenBSD's, our setusercontext() will intentionally ignore the user's own umask setting (from ~/.login.conf) unless running with the user's UID. Therefore, we need to call it again with LOGIN_SETUMASK after changing UID. PR: bin/176740 Submitted by: John Marshall MFC after: 1 week Modified: head/crypto/openssh/session.c Modified: head/crypto/openssh/session.c ============================================================================== --- head/crypto/openssh/session.c Wed Mar 13 06:42:01 2013 (r248230) +++ head/crypto/openssh/session.c Wed Mar 13 09:41:55 2013 (r248231) @@ -1533,6 +1533,12 @@ do_setusercontext(struct passwd *pw) perror("unable to set user context (setuser)"); exit(1); } + + /* + * FreeBSD's setusercontext() will not apply the user's + * own umask setting unless running with the user's UID. + */ + setusercontext(lc, pw, pw->pw_uid, LOGIN_SETUMASK); #else /* Permanently switch to the desired uid. */ permanently_set_uid(pw); From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 09:54:11 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CD0688CF; Wed, 13 Mar 2013 09:54:11 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BDDDB1B8; Wed, 13 Mar 2013 09:54:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2D9sBCP068900; Wed, 13 Mar 2013 09:54:11 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2D9sBcP068899; Wed, 13 Mar 2013 09:54:11 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303130954.r2D9sBcP068899@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 13 Mar 2013 09:54:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248232 - stable/9/sys/sys X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 09:54:11 -0000 Author: kib Date: Wed Mar 13 09:54:11 2013 New Revision: 248232 URL: http://svnweb.freebsd.org/changeset/base/248232 Log: MFC r233463 (by trasz): Remove unused define. Modified: stable/9/sys/sys/vnode.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/sys/vnode.h ============================================================================== --- stable/9/sys/sys/vnode.h Wed Mar 13 09:41:55 2013 (r248231) +++ stable/9/sys/sys/vnode.h Wed Mar 13 09:54:11 2013 (r248232) @@ -383,7 +383,6 @@ extern int vttoif_tab[]; #define SKIPSYSTEM 0x0001 /* vflush: skip vnodes marked VSYSTEM */ #define FORCECLOSE 0x0002 /* vflush: force file closure */ #define WRITECLOSE 0x0004 /* vflush: only close writable files */ -#define DOCLOSE 0x0008 /* vclean: close active files */ #define V_SAVE 0x0001 /* vinvalbuf: sync file first */ #define V_ALT 0x0002 /* vinvalbuf: invalidate only alternate bufs */ #define V_NORMAL 0x0004 /* vinvalbuf: invalidate only regular bufs */ From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 10:01:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 41A15AE9; Wed, 13 Mar 2013 10:01:07 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2E5C4215; Wed, 13 Mar 2013 10:01:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DA177p071597; Wed, 13 Mar 2013 10:01:07 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DA16lL071592; Wed, 13 Mar 2013 10:01:06 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303131001.r2DA16lL071592@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 13 Mar 2013 10:01:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248233 - in stable/9/sys: sys ufs/ffs ufs/ufs X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 10:01:07 -0000 Author: kib Date: Wed Mar 13 10:01:05 2013 New Revision: 248233 URL: http://svnweb.freebsd.org/changeset/base/248233 Log: MFC r247388: Work around the hold of references to the struct dquot by the freeblk workitems for some time at unmount. Modified: stable/9/sys/sys/vnode.h stable/9/sys/ufs/ffs/ffs_softdep.c stable/9/sys/ufs/ffs/ffs_vfsops.c stable/9/sys/ufs/ufs/ufs_quota.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/sys/vnode.h ============================================================================== --- stable/9/sys/sys/vnode.h Wed Mar 13 09:54:11 2013 (r248232) +++ stable/9/sys/sys/vnode.h Wed Mar 13 10:01:05 2013 (r248233) @@ -383,6 +383,7 @@ extern int vttoif_tab[]; #define SKIPSYSTEM 0x0001 /* vflush: skip vnodes marked VSYSTEM */ #define FORCECLOSE 0x0002 /* vflush: force file closure */ #define WRITECLOSE 0x0004 /* vflush: only close writable files */ +#define EARLYFLUSH 0x0008 /* vflush: early call for ffs_flushfiles */ #define V_SAVE 0x0001 /* vinvalbuf: sync file first */ #define V_ALT 0x0002 /* vinvalbuf: invalidate only alternate bufs */ #define V_NORMAL 0x0004 /* vinvalbuf: invalidate only regular bufs */ Modified: stable/9/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- stable/9/sys/ufs/ffs/ffs_softdep.c Wed Mar 13 09:54:11 2013 (r248232) +++ stable/9/sys/ufs/ffs/ffs_softdep.c Wed Mar 13 10:01:05 2013 (r248233) @@ -1914,7 +1914,12 @@ softdep_flushfiles(oldmnt, flags, td) int flags; struct thread *td; { - int error, depcount, loopcnt, retry_flush_count, retry; +#ifdef QUOTA + struct ufsmount *ump; + int i; +#endif + int error, early, depcount, loopcnt, retry_flush_count, retry; + int morework; loopcnt = 10; retry_flush_count = 3; @@ -1932,7 +1937,9 @@ retry_flush: * Do another flush in case any vnodes were brought in * as part of the cleanup operations. */ - if ((error = ffs_flushfiles(oldmnt, flags, td)) != 0) + early = retry_flush_count == 1 || (oldmnt->mnt_kern_flag & + MNTK_UNMOUNT) == 0 ? 0 : EARLYFLUSH; + if ((error = ffs_flushfiles(oldmnt, flags | early, td)) != 0) break; if ((error = softdep_flushworklist(oldmnt, &depcount, td)) != 0 || depcount == 0) @@ -1956,7 +1963,17 @@ retry_flush: MNT_ILOCK(oldmnt); KASSERT((oldmnt->mnt_kern_flag & MNTK_NOINSMNTQ) != 0, ("softdep_flushfiles: !MNTK_NOINSMNTQ")); - if (oldmnt->mnt_nvnodelistsize > 0) { + morework = oldmnt->mnt_nvnodelistsize > 0; +#ifdef QUOTA + ump = VFSTOUFS(oldmnt); + UFS_LOCK(ump); + for (i = 0; i < MAXQUOTAS; i++) { + if (ump->um_quotas[i] != NULLVP) + morework = 1; + } + UFS_UNLOCK(ump); +#endif + if (morework) { if (--retry_flush_count > 0) { retry = 1; loopcnt = 3; Modified: stable/9/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- stable/9/sys/ufs/ffs/ffs_vfsops.c Wed Mar 13 09:54:11 2013 (r248232) +++ stable/9/sys/ufs/ffs/ffs_vfsops.c Wed Mar 13 10:01:05 2013 (r248233) @@ -1355,9 +1355,10 @@ ffs_flushfiles(mp, flags, td) struct thread *td; { struct ufsmount *ump; - int error; + int qerror, error; ump = VFSTOUFS(mp); + qerror = 0; #ifdef QUOTA if (mp->mnt_flag & MNT_QUOTA) { int i; @@ -1365,11 +1366,19 @@ ffs_flushfiles(mp, flags, td) if (error) return (error); for (i = 0; i < MAXQUOTAS; i++) { - quotaoff(td, mp, i); + error = quotaoff(td, mp, i); + if (error != 0) { + if ((flags & EARLYFLUSH) == 0) + return (error); + else + qerror = error; + } } + /* - * Here we fall through to vflush again to ensure - * that we have gotten rid of all the system vnodes. + * Here we fall through to vflush again to ensure that + * we have gotten rid of all the system vnodes, unless + * quotas must not be closed. */ } #endif @@ -1384,11 +1393,21 @@ ffs_flushfiles(mp, flags, td) * that we have gotten rid of all the system vnodes. */ } - /* - * Flush all the files. + + /* + * Do not close system files if quotas were not closed, to be + * able to sync the remaining dquots. The freeblks softupdate + * workitems might hold a reference on a dquot, preventing + * quotaoff() from completing. Next round of + * softdep_flushworklist() iteration should process the + * blockers, allowing the next run of quotaoff() to finally + * flush held dquots. + * + * Otherwise, flush all the files. */ - if ((error = vflush(mp, 0, flags, td)) != 0) + if (qerror == 0 && (error = vflush(mp, 0, flags, td)) != 0) return (error); + /* * Flush filesystem metadata. */ Modified: stable/9/sys/ufs/ufs/ufs_quota.c ============================================================================== --- stable/9/sys/ufs/ufs/ufs_quota.c Wed Mar 13 09:54:11 2013 (r248232) +++ stable/9/sys/ufs/ufs/ufs_quota.c Wed Mar 13 10:01:05 2013 (r248233) @@ -80,7 +80,7 @@ static int dqopen(struct vnode *, struct static int dqget(struct vnode *, u_long, struct ufsmount *, int, struct dquot **); static int dqsync(struct vnode *, struct dquot *); -static void dqflush(struct vnode *); +static int dqflush(struct vnode *); static int quotaoff1(struct thread *td, struct mount *mp, int type); static int quotaoff_inchange(struct thread *td, struct mount *mp, int type); @@ -680,8 +680,12 @@ again: vrele(vp); } - dqflush(qvp); - /* Clear um_quotas before closing the quota vnode to prevent + error = dqflush(qvp); + if (error != 0) + return (error); + + /* + * Clear um_quotas before closing the quota vnode to prevent * access to the closed vnode from dqget/dqsync */ UFS_LOCK(ump); @@ -1615,17 +1619,19 @@ out: /* * Flush all entries from the cache for a particular vnode. */ -static void +static int dqflush(struct vnode *vp) { struct dquot *dq, *nextdq; struct dqhash *dqh; + int error; /* * Move all dquot's that used to refer to this quota * file off their hash chains (they will eventually * fall off the head of the free list and be re-used). */ + error = 0; DQH_LOCK(); for (dqh = &dqhashtbl[dqhash]; dqh >= dqhashtbl; dqh--) { for (dq = LIST_FIRST(dqh); dq; dq = nextdq) { @@ -1633,12 +1639,15 @@ dqflush(struct vnode *vp) if (dq->dq_ump->um_quotas[dq->dq_type] != vp) continue; if (dq->dq_cnt) - panic("dqflush: stray dquot"); - LIST_REMOVE(dq, dq_hash); - dq->dq_ump = (struct ufsmount *)0; + error = EBUSY; + else { + LIST_REMOVE(dq, dq_hash); + dq->dq_ump = NULL; + } } } DQH_UNLOCK(); + return (error); } /* From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 10:04:48 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 50FFACC0; Wed, 13 Mar 2013 10:04:48 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 39052252; Wed, 13 Mar 2013 10:04:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DA4mjx072247; Wed, 13 Mar 2013 10:04:48 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DA4m2j072246; Wed, 13 Mar 2013 10:04:48 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303131004.r2DA4m2j072246@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 13 Mar 2013 10:04:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248234 - stable/9/sys/kern X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 10:04:48 -0000 Author: kib Date: Wed Mar 13 10:04:47 2013 New Revision: 248234 URL: http://svnweb.freebsd.org/changeset/base/248234 Log: MFC r247389: Make recursive getblk() slightly more useful. Modified: stable/9/sys/kern/vfs_bio.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/kern/vfs_bio.c ============================================================================== --- stable/9/sys/kern/vfs_bio.c Wed Mar 13 10:01:05 2013 (r248233) +++ stable/9/sys/kern/vfs_bio.c Wed Mar 13 10:04:47 2013 (r248234) @@ -1252,6 +1252,15 @@ brelse(struct buf *bp) KASSERT(!(bp->b_flags & (B_CLUSTER|B_PAGING)), ("brelse: inappropriate B_PAGING or B_CLUSTER bp %p", bp)); + if (BUF_LOCKRECURSED(bp)) { + /* + * Do not process, in particular, do not handle the + * B_INVAL/B_RELBUF and do not release to free list. + */ + BUF_UNLOCK(bp); + return; + } + if (bp->b_flags & B_MANAGED) { bqrelse(bp); return; @@ -1428,12 +1437,6 @@ brelse(struct buf *bp) brelvp(bp); } - if (BUF_LOCKRECURSED(bp)) { - /* do not release to free list */ - BUF_UNLOCK(bp); - return; - } - /* enqueue */ mtx_lock(&bqlock); /* Handle delayed bremfree() processing. */ @@ -2683,6 +2686,9 @@ loop: /* We timed out or were interrupted. */ else if (error) return (NULL); + /* If recursed, assume caller knows the rules. */ + else if (BUF_LOCKRECURSED(bp)) + goto end; /* * The buffer is locked. B_CACHE is cleared if the buffer is @@ -2862,6 +2868,7 @@ loop: } CTR4(KTR_BUF, "getblk(%p, %ld, %d) = %p", vp, (long)blkno, size, bp); BUF_ASSERT_HELD(bp); +end: KASSERT(bp->b_bufobj == bo, ("bp %p wrong b_bufobj %p should be %p", bp, bp->b_bufobj, bo)); return (bp); From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 10:45:37 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 037F2A2D; Wed, 13 Mar 2013 10:45:37 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EA6666F4; Wed, 13 Mar 2013 10:45:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DAjaVA084565; Wed, 13 Mar 2013 10:45:36 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DAjaaW084564; Wed, 13 Mar 2013 10:45:36 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201303131045.r2DAjaaW084564@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 13 Mar 2013 10:45:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248235 - stable/9/sys/sys X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 10:45:37 -0000 Author: ae Date: Wed Mar 13 10:45:36 2013 New Revision: 248235 URL: http://svnweb.freebsd.org/changeset/base/248235 Log: MFC r244209: Add an #include guard to the sys/fnv_hash.h. Modified: stable/9/sys/sys/fnv_hash.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/sys/fnv_hash.h ============================================================================== --- stable/9/sys/sys/fnv_hash.h Wed Mar 13 10:04:47 2013 (r248234) +++ stable/9/sys/sys/fnv_hash.h Wed Mar 13 10:45:36 2013 (r248235) @@ -7,6 +7,8 @@ * * $FreeBSD$ */ +#ifndef _SYS_FNV_HASH_H_ +#define _SYS_FNV_HASH_H_ typedef u_int32_t Fnv32_t; typedef u_int64_t Fnv64_t; @@ -66,3 +68,4 @@ fnv_64_str(const char *str, Fnv64_t hval } return hval; } +#endif /* _SYS_FNV_HASH_H_ */ From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 12:23:17 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 81EBB8C5; Wed, 13 Mar 2013 12:23:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 734F9DC3; Wed, 13 Mar 2013 12:23:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DCNHTh016860; Wed, 13 Mar 2013 12:23:17 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DCNELe016844; Wed, 13 Mar 2013 12:23:14 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201303131223.r2DCNELe016844@svn.freebsd.org> From: Hans Petter Selasky Date: Wed, 13 Mar 2013 12:23:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248236 - in head: lib/libusb usr.sbin/usbconfig X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 12:23:17 -0000 Author: hselasky Date: Wed Mar 13 12:23:14 2013 New Revision: 248236 URL: http://svnweb.freebsd.org/changeset/base/248236 Log: - Make the FreeBSD's USB library compile under Linux. - Fix a compile warning where the return value of a call to a write() function was ignored. - Remove redundant include files from userland USB header files. - Add some now needed include files to various C-files. Added: head/lib/libusb/libusb_global_linux.h (contents, props changed) Modified: head/lib/libusb/Makefile head/lib/libusb/libusb.h head/lib/libusb/libusb01.c head/lib/libusb/libusb10.c head/lib/libusb/libusb10.h head/lib/libusb/libusb10_desc.c head/lib/libusb/libusb10_io.c head/lib/libusb/libusb20.c head/lib/libusb/libusb20.h head/lib/libusb/libusb20_desc.c head/lib/libusb/libusb20_desc.h head/lib/libusb/libusb20_ugen20.c head/lib/libusb/usb.h head/usr.sbin/usbconfig/usbconfig.c Modified: head/lib/libusb/Makefile ============================================================================== --- head/lib/libusb/Makefile Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/Makefile Wed Mar 13 12:23:14 2013 (r248236) @@ -37,6 +37,19 @@ SRCS+= libusb10_io.c CFLAGS+= -DCOMPAT_32BIT .endif +# +# Cross platform support +# +# Examples: +# make LIBUSB_GLOBAL_INCLUDE_FILE=libusb_global_linux.h +# make COMPAT_32BIT=YES LIBUSB_GLOBAL_INCLUDE_FILE=libusb_global_linux.h +# +.if defined(LIBUSB_GLOBAL_INCLUDE_FILE) +CFLAGS+= -DLIBUSB_GLOBAL_INCLUDE_FILE=\"${LIBUSB_GLOBAL_INCLUDE_FILE}\" +CFLAGS+= -DUSB_GLOBAL_INCLUDE_FILE=\"${LIBUSB_GLOBAL_INCLUDE_FILE}\" +CFLAGS+= -I ../../sys +.endif + .include # LibUSB v1.0 Modified: head/lib/libusb/libusb.h ============================================================================== --- head/lib/libusb/libusb.h Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb.h Wed Mar 13 12:23:14 2013 (r248236) @@ -27,8 +27,11 @@ #ifndef __LIBUSB_H__ #define __LIBUSB_H__ +#ifndef LIBUSB_GLOBAL_INCLUDE_FILE +#include #include #include +#endif #ifdef __cplusplus extern "C" { Modified: head/lib/libusb/libusb01.c ============================================================================== --- head/lib/libusb/libusb01.c Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb01.c Wed Mar 13 12:23:14 2013 (r248236) @@ -28,11 +28,16 @@ * This file contains the emulation layer for LibUSB v0.1 from sourceforge. */ -#include - +#ifdef LIBUSB_GLOBAL_INCLUDE_FILE +#include LIBUSB_GLOBAL_INCLUDE_FILE +#else #include #include #include +#include +#include +#include +#endif #include "libusb20.h" #include "libusb20_desc.h" Modified: head/lib/libusb/libusb10.c ============================================================================== --- head/lib/libusb/libusb10.c Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb10.c Wed Mar 13 12:23:14 2013 (r248236) @@ -25,17 +25,23 @@ * SUCH DAMAGE. */ -#include -#include -#include - +#ifdef LIBUSB_GLOBAL_INCLUDE_FILE +#include LIBUSB_GLOBAL_INCLUDE_FILE +#else #include #include #include #include #include #include +#include #include +#include +#include +#include +#include +#include +#endif #define libusb_device_handle libusb20_device @@ -1331,7 +1337,7 @@ failure: /* make sure our event loop spins the done handler */ dummy = 0; - write(dev->ctx->ctrl_pipe[1], &dummy, sizeof(dummy)); + err = write(dev->ctx->ctrl_pipe[1], &dummy, sizeof(dummy)); } /* The following function must be called unlocked */ Modified: head/lib/libusb/libusb10.h ============================================================================== --- head/lib/libusb/libusb10.h Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb10.h Wed Mar 13 12:23:14 2013 (r248236) @@ -27,7 +27,9 @@ #ifndef __LIBUSB10_H__ #define __LIBUSB10_H__ +#ifndef LIBUSB_GLOBAL_INCLUDE_FILE #include +#endif #define GET_CONTEXT(ctx) (((ctx) == NULL) ? usbi_default_context : (ctx)) #define UNEXPORTED __attribute__((__visibility__("hidden"))) Modified: head/lib/libusb/libusb10_desc.c ============================================================================== --- head/lib/libusb/libusb10_desc.c Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb10_desc.c Wed Mar 13 12:23:14 2013 (r248236) @@ -24,10 +24,15 @@ * SUCH DAMAGE. */ -#include - +#ifdef LIBUSB_GLOBAL_INCLUDE_FILE +#include LIBUSB_GLOBAL_INCLUDE_FILE +#else #include #include +#include +#include +#include +#endif #define libusb_device_handle libusb20_device Modified: head/lib/libusb/libusb10_io.c ============================================================================== --- head/lib/libusb/libusb10_io.c Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb10_io.c Wed Mar 13 12:23:14 2013 (r248236) @@ -24,15 +24,20 @@ * SUCH DAMAGE. */ -#include - +#ifdef LIBUSB_GLOBAL_INCLUDE_FILE +#include LIBUSB_GLOBAL_INCLUDE_FILE +#else #include #include #include #include #include +#include #include #include +#include +#include +#endif #define libusb_device_handle libusb20_device Modified: head/lib/libusb/libusb20.c ============================================================================== --- head/lib/libusb/libusb20.c Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb20.c Wed Mar 13 12:23:14 2013 (r248236) @@ -24,13 +24,17 @@ * SUCH DAMAGE. */ -#include - +#ifdef LIBUSB_GLOBAL_INCLUDE_FILE +#include LIBUSB_GLOBAL_INCLUDE_FILE +#else #include #include #include #include #include +#include +#include +#endif #include "libusb20.h" #include "libusb20_desc.h" Modified: head/lib/libusb/libusb20.h ============================================================================== --- head/lib/libusb/libusb20.h Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb20.h Wed Mar 13 12:23:14 2013 (r248236) @@ -29,13 +29,9 @@ #ifndef _LIBUSB20_H_ #define _LIBUSB20_H_ -#include -#include -#include - +#ifndef LIBUSB_GLOBAL_INCLUDE_FILE #include -#include -#include +#endif #ifdef __cplusplus extern "C" { Modified: head/lib/libusb/libusb20_desc.c ============================================================================== --- head/lib/libusb/libusb20_desc.c Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb20_desc.c Wed Mar 13 12:23:14 2013 (r248236) @@ -24,11 +24,15 @@ * SUCH DAMAGE. */ -#include - +#ifdef LIBUSB_GLOBAL_INCLUDE_FILE +#include LIBUSB_GLOBAL_INCLUDE_FILE +#else #include #include #include +#include +#include +#endif #include "libusb20.h" #include "libusb20_desc.h" Modified: head/lib/libusb/libusb20_desc.h ============================================================================== --- head/lib/libusb/libusb20_desc.h Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb20_desc.h Wed Mar 13 12:23:14 2013 (r248236) @@ -45,6 +45,10 @@ #ifndef _LIBUSB20_DESC_H_ #define _LIBUSB20_DESC_H_ +#ifndef LIBUSB_GLOBAL_INCLUDE_FILE +#include +#endif + #ifdef __cplusplus extern "C" { #endif Modified: head/lib/libusb/libusb20_ugen20.c ============================================================================== --- head/lib/libusb/libusb20_ugen20.c Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/libusb20_ugen20.c Wed Mar 13 12:23:14 2013 (r248236) @@ -24,24 +24,28 @@ * SUCH DAMAGE. */ -#include -#include - +#ifdef LIBUSB_GLOBAL_INCLUDE_FILE +#include LIBUSB_GLOBAL_INCLUDE_FILE +#else #include #include #include #include #include #include - -#include "libusb20.h" -#include "libusb20_desc.h" -#include "libusb20_int.h" +#include +#include +#include +#endif #include #include #include +#include "libusb20.h" +#include "libusb20_desc.h" +#include "libusb20_int.h" + static libusb20_init_backend_t ugen20_init_backend; static libusb20_open_device_t ugen20_open_device; static libusb20_close_device_t ugen20_close_device; Added: head/lib/libusb/libusb_global_linux.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libusb/libusb_global_linux.h Wed Mar 13 12:23:14 2013 (r248236) @@ -0,0 +1,69 @@ +/* $FreeBSD$ */ +/*- + * Copyright (c) 2013 Hans Petter Selasky. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _LIBUSB_GLOBAL_LINUX_H_ +#define _LIBUSB_GLOBAL_LINUX_H_ + +#define _XOPEN_SOURCE +#define _BSD_SOURCE +#define _POSIX_SOURCE +#define _POSIX_C_SOURCE 200809 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef __aligned +#define __aligned(x) __attribute__((__aligned__(x))) +#endif + +#ifndef __packed +#define __packed __attribute__((__packed__)) +#endif + +#ifndef strlcpy +#define strlcpy(d,s,len) do { \ + strncpy(d,s,len); \ + ((char *)d)[(len) - 1] = 0; \ +} while (0) +#endif + +#endif /* _LIBUSB_GLOBAL_LINUX_H_ */ Modified: head/lib/libusb/usb.h ============================================================================== --- head/lib/libusb/usb.h Wed Mar 13 10:45:36 2013 (r248235) +++ head/lib/libusb/usb.h Wed Mar 13 12:23:14 2013 (r248236) @@ -27,10 +27,11 @@ #ifndef _LIBUSB20_COMPAT_01_H_ #define _LIBUSB20_COMPAT_01_H_ +#ifndef LIBUSB_GLOBAL_INCLUDE_FILE +#include #include #include - -#include +#endif /* USB interface class codes */ Modified: head/usr.sbin/usbconfig/usbconfig.c ============================================================================== --- head/usr.sbin/usbconfig/usbconfig.c Wed Mar 13 10:45:36 2013 (r248235) +++ head/usr.sbin/usbconfig/usbconfig.c Wed Mar 13 12:23:14 2013 (r248236) @@ -33,6 +33,7 @@ #include #include #include +#include #include #include From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 13:41:30 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 58A57670; Wed, 13 Mar 2013 13:41:30 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 436AD5E7; Wed, 13 Mar 2013 13:41:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DDfURg040882; Wed, 13 Mar 2013 13:41:30 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DDfSL9040874; Wed, 13 Mar 2013 13:41:28 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201303131341.r2DDfSL9040874@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 13 Mar 2013 13:41:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248237 - in stable/9/usr.sbin/bsdinstall: . partedit scripts X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 13:41:30 -0000 Author: nwhitehorn Date: Wed Mar 13 13:41:28 2013 New Revision: 248237 URL: http://svnweb.freebsd.org/changeset/base/248237 Log: MFC miscellaneous bug fixes (r228042,228192,230522,232531,233473,233904, 235228,239500,241902,242188,243832,243854,244858,245333). This is mostly documentation fixes and updates to the default FTP list that got left behind in -CURRENT. Modified: stable/9/usr.sbin/bsdinstall/bsdinstall stable/9/usr.sbin/bsdinstall/bsdinstall.8 stable/9/usr.sbin/bsdinstall/partedit/gpart_ops.c stable/9/usr.sbin/bsdinstall/partedit/partedit.c stable/9/usr.sbin/bsdinstall/partedit/partedit_powerpc.c stable/9/usr.sbin/bsdinstall/scripts/auto stable/9/usr.sbin/bsdinstall/scripts/mirrorselect stable/9/usr.sbin/bsdinstall/scripts/services Directory Properties: stable/9/usr.sbin/bsdinstall/ (props changed) stable/9/usr.sbin/bsdinstall/scripts/ (props changed) Modified: stable/9/usr.sbin/bsdinstall/bsdinstall ============================================================================== --- stable/9/usr.sbin/bsdinstall/bsdinstall Wed Mar 13 12:23:14 2013 (r248236) +++ stable/9/usr.sbin/bsdinstall/bsdinstall Wed Mar 13 13:41:28 2013 (r248237) @@ -32,12 +32,8 @@ : ${BSDINSTALL_DISTDIR="/usr/freebsd-dist"}; export BSDINSTALL_DISTDIR : ${BSDINSTALL_CHROOT="/mnt"}; export BSDINSTALL_CHROOT -VERB=$1; shift +VERB=${1:-auto}; shift -if [ -z "$VERB" ]; then - VERB=auto -fi - -test -d "$BSDINSTALL_TMPETC" || mkdir "$BSDINSTALL_TMPETC" +[ -d "$BSDINSTALL_TMPETC" ] || mkdir -p "$BSDINSTALL_TMPETC" echo "Running installation step: $VERB $@" >> "$BSDINSTALL_LOG" -exec "/usr/libexec/bsdinstall/$VERB" "$@" 2>>"$BSDINSTALL_LOG" +exec "/usr/libexec/bsdinstall/$VERB" "$@" 2>> "$BSDINSTALL_LOG" Modified: stable/9/usr.sbin/bsdinstall/bsdinstall.8 ============================================================================== --- stable/9/usr.sbin/bsdinstall/bsdinstall.8 Wed Mar 13 12:23:14 2013 (r248236) +++ stable/9/usr.sbin/bsdinstall/bsdinstall.8 Wed Mar 13 13:41:28 2013 (r248237) @@ -26,7 +26,7 @@ .\" $FreeBSD$ .\" .Dd June 11, 2011 -.Dt bsdinstall 8 +.Dt BSDINSTALL 8 .Os .Sh NAME .Nm bsdinstall Modified: stable/9/usr.sbin/bsdinstall/partedit/gpart_ops.c ============================================================================== --- stable/9/usr.sbin/bsdinstall/partedit/gpart_ops.c Wed Mar 13 12:23:14 2013 (r248236) +++ stable/9/usr.sbin/bsdinstall/partedit/gpart_ops.c Wed Mar 13 13:41:28 2013 (r248237) @@ -147,7 +147,7 @@ newfs_command(const char *fstype, char * strcat(command, "-F 32 "); else if (strcmp(items[i].name, "FAT16") == 0) strcat(command, "-F 16 "); - else if (strcmp(items[i].name, "SUJ") == 0) + else if (strcmp(items[i].name, "FAT12") == 0) strcat(command, "-F 12 "); } } else { Modified: stable/9/usr.sbin/bsdinstall/partedit/partedit.c ============================================================================== --- stable/9/usr.sbin/bsdinstall/partedit/partedit.c Wed Mar 13 12:23:14 2013 (r248236) +++ stable/9/usr.sbin/bsdinstall/partedit/partedit.c Wed Mar 13 13:41:28 2013 (r248237) @@ -41,6 +41,7 @@ #include "partedit.h" struct pmetadata_head part_metadata; +static int sade_mode = 0; static int apply_changes(struct gmesh *mesh); static struct partedit_item *read_geom_mesh(struct gmesh *mesh, int *nitems); @@ -75,12 +76,15 @@ main(int argc, const char **argv) int i, op, nitems, nscroll; int error; + if (strcmp(basename(argv[0]), "sade") == 0) + sade_mode = 1; + TAILQ_INIT(&part_metadata); init_fstab_metadata(); init_dialog(stdin, stdout); - if (strcmp(basename(argv[0]), "sade") != 0) + if (!sade_mode) dialog_vars.backtitle = __DECONST(char *, "FreeBSD Installer"); dialog_vars.item_help = TRUE; nscroll = i = 0; @@ -261,7 +265,7 @@ validate_setup(void) * Check for root partitions that we aren't formatting, which is * usually a mistake */ - if (root->newfs == NULL) { + if (root->newfs == NULL && !sade_mode) { dialog_vars.defaultno = TRUE; cancel = dialog_yesno("Warning", "The chosen root partition " "has a preexisting filesystem. If it contains an existing " Modified: stable/9/usr.sbin/bsdinstall/partedit/partedit_powerpc.c ============================================================================== --- stable/9/usr.sbin/bsdinstall/partedit/partedit_powerpc.c Wed Mar 13 12:23:14 2013 (r248236) +++ stable/9/usr.sbin/bsdinstall/partedit/partedit_powerpc.c Wed Mar 13 13:41:28 2013 (r248237) @@ -67,7 +67,7 @@ is_scheme_bootable(const char *part_type size_t bootpart_size(const char *part_type) { - if (strcmp(part_type, "APM") == 0) + if (strcmp(part_type, "APM") == 0 || strcmp(part_type, "MBR") == 0) return (800*1024); return (0); } @@ -81,6 +81,8 @@ const char * partcode_path(const char *part_type) { if (strcmp(part_type, "APM") == 0) return ("/boot/boot1.hfs"); + if (strcmp(part_type, "MBR") == 0) + return ("/boot/boot1.elf"); return (NULL); } Modified: stable/9/usr.sbin/bsdinstall/scripts/auto ============================================================================== --- stable/9/usr.sbin/bsdinstall/scripts/auto Wed Mar 13 12:23:14 2013 (r248236) +++ stable/9/usr.sbin/bsdinstall/scripts/auto Wed Mar 13 13:41:28 2013 (r248237) @@ -53,15 +53,15 @@ bsdinstall hostname || error export DISTRIBUTIONS="base.txz kernel.txz" if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then - DISTMENU=`cut -f 4,5,6 $BSDINSTALL_DISTDIR/MANIFEST | grep -v -e ^kernel -e ^base` + DISTMENU=`awk -F'\t' '!/^(kernel|base)/{print $4,$5,$6}' $BSDINSTALL_DISTDIR/MANIFEST` exec 3>&1 - EXTRA_DISTS=$(echo $DISTMENU | xargs dialog \ - --backtitle "FreeBSD Installer" \ - --title "Distribution Select" --nocancel --separate-output \ - --checklist "Choose optional system components to install:" \ - 0 0 0 \ - 2>&1 1>&3) + EXTRA_DISTS=$( eval dialog \ + --backtitle \"FreeBSD Installer\" \ + --title \"Distribution Select\" --nocancel --separate-output \ + --checklist \"Choose optional system components to install:\" \ + 0 0 0 $DISTMENU \ + 2>&1 1>&3 ) for dist in $EXTRA_DISTS; do export DISTRIBUTIONS="$DISTRIBUTIONS $dist.txz" done @@ -216,6 +216,7 @@ dialog --backtitle "FreeBSD Installer" - --yesno "The installation is now finished. Before exiting the installer, would you like to open a shell in the new system to make any final manual modifications?" 0 0 if [ $? -eq 0 ]; then clear + mount -t devfs devfs "$BSDINSTALL_CHROOT/dev" echo This shell is operating in a chroot in the new system. \ When finished making configuration changes, type \"exit\". chroot "$BSDINSTALL_CHROOT" /bin/sh 2>&1 Modified: stable/9/usr.sbin/bsdinstall/scripts/mirrorselect ============================================================================== --- stable/9/usr.sbin/bsdinstall/scripts/mirrorselect Wed Mar 13 12:23:14 2013 (r248236) +++ stable/9/usr.sbin/bsdinstall/scripts/mirrorselect Wed Mar 13 13:41:28 2013 (r248237) @@ -39,8 +39,6 @@ MIRROR=`dialog --backtitle "FreeBSD Inst --menu "Please select the site closest to you or \"other\" if you'd like to specify a different choice. Also note that not every site listed here carries more than the base distribution kits. Only Primary sites are guaranteed to carry the full range of possible distributions. Select a site that's close!" \ 0 0 0 \ ftp://ftp.freebsd.org "Main Site"\ - ftp://snapshots.jp.freebsd.org "Snapshots Server Japan"\ - ftp://snapshots.se.freebsd.org "Snapshots Server Sweden"\ ftp://ftp.freebsd.org "IPv6 Main Site"\ ftp://ftp3.ie.freebsd.org "IPv6 Ireland"\ ftp://ftp.il.freebsd.org "IPv6 Israel"\ @@ -87,7 +85,7 @@ MIRROR=`dialog --backtitle "FreeBSD Inst ftp://ftp.fr.freebsd.org "France"\ ftp://ftp2.fr.freebsd.org "IPv6 France #2"\ ftp://ftp3.fr.freebsd.org "France #3"\ - ftp://ftp4.fr.freebsd.org "France #4"\ + ftp://ftp4.fr.freebsd.org "IPv6 France #4"\ ftp://ftp5.fr.freebsd.org "France #5"\ ftp://ftp6.fr.freebsd.org "France #6"\ ftp://ftp8.fr.freebsd.org "IPv6 France #8"\ @@ -151,6 +149,7 @@ MIRROR=`dialog --backtitle "FreeBSD Inst ftp://ftp3.se.freebsd.org "Sweden #3"\ ftp://ftp4.se.freebsd.org "Sweden #4"\ ftp://ftp5.se.freebsd.org "Sweden #5"\ + ftp://ftp6.se.freebsd.org "Sweden #6"\ ftp://ftp.ch.freebsd.org "Switzerland"\ ftp://ftp2.ch.freebsd.org "Switzerland #2"\ ftp://ftp.tw.freebsd.org "Taiwan"\ Modified: stable/9/usr.sbin/bsdinstall/scripts/services ============================================================================== --- stable/9/usr.sbin/bsdinstall/scripts/services Wed Mar 13 12:23:14 2013 (r248236) +++ stable/9/usr.sbin/bsdinstall/scripts/services Wed Mar 13 13:41:28 2013 (r248237) @@ -45,7 +45,7 @@ DAEMONS=$(dialog --backtitle "FreeBSD In sshd "Secure shell daemon" ${sshd_enable:-off} \ moused "PS/2 mouse pointer on console" ${moused_enable:-off} \ ntpd "Synchronize system and network time" ${ntpd_enable:-off} \ - powerd "Adjust CPU frequency dynamically" ${powerd_enable:-off} \ + powerd "Adjust CPU frequency dynamically if supported" ${powerd_enable:-off} \ 2>&1 1>&3) exec 3>&- From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 13:44:08 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C139489F; Wed, 13 Mar 2013 13:44:08 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 960E564F; Wed, 13 Mar 2013 13:44:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DDi8SA041338; Wed, 13 Mar 2013 13:44:08 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DDi83s041337; Wed, 13 Mar 2013 13:44:08 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201303131344.r2DDi83s041337@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 13 Mar 2013 13:44:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248238 - stable/9/usr.sbin/bsdinstall X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 13:44:08 -0000 Author: nwhitehorn Date: Wed Mar 13 13:44:08 2013 New Revision: 248238 URL: http://svnweb.freebsd.org/changeset/base/248238 Log: Record merge of r228048. Modified: Directory Properties: stable/9/usr.sbin/bsdinstall/ (props changed) From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 13:45:47 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CBF3CC7D; Wed, 13 Mar 2013 13:45:47 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BDC54692; Wed, 13 Mar 2013 13:45:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DDjl8b041811; Wed, 13 Mar 2013 13:45:47 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DDjl6g041810; Wed, 13 Mar 2013 13:45:47 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201303131345.r2DDjl6g041810@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 13 Mar 2013 13:45:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248239 - stable/9/usr.sbin/bsdinstall/partedit X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 13:45:47 -0000 Author: nwhitehorn Date: Wed Mar 13 13:45:47 2013 New Revision: 248239 URL: http://svnweb.freebsd.org/changeset/base/248239 Log: MFC r245680: Make "Finish" the default choice in the partition editor. This lets you successfully complete an installation with all defaults by pressing Enter repeatedly until your machine reboots. Modified: stable/9/usr.sbin/bsdinstall/partedit/diskeditor.c Directory Properties: stable/9/usr.sbin/bsdinstall/ (props changed) Modified: stable/9/usr.sbin/bsdinstall/partedit/diskeditor.c ============================================================================== --- stable/9/usr.sbin/bsdinstall/partedit/diskeditor.c Wed Mar 13 13:44:08 2013 (r248238) +++ stable/9/usr.sbin/bsdinstall/partedit/diskeditor.c Wed Mar 13 13:45:47 2013 (r248239) @@ -77,7 +77,7 @@ diskeditor_show(const char *title, const int partlist_height, partlist_width; int cur_scroll = 0; int key, fkey; - int cur_button = 0, cur_part = 0; + int cur_button = 5, cur_part = 0; int result = DLG_EXIT_UNKNOWN; static DLG_KEYS_BINDING binding[] = { From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 13:50:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 72A53E79; Wed, 13 Mar 2013 13:50:52 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 461856D4; Wed, 13 Mar 2013 13:50:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DDoqtk044131; Wed, 13 Mar 2013 13:50:52 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DDoo7G044118; Wed, 13 Mar 2013 13:50:50 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201303131350.r2DDoo7G044118@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 13 Mar 2013 13:50:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248240 - in stable/9: release usr.sbin/bsdinstall usr.sbin/bsdinstall/partedit usr.sbin/bsdinstall/scripts X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 13:50:52 -0000 Author: nwhitehorn Date: Wed Mar 13 13:50:50 2013 New Revision: 248240 URL: http://svnweb.freebsd.org/changeset/base/248240 Log: MFC r245700,245701,245702,245706,245707,245758,245759,245760,245792,245796, 245980,246013: Automated installation support for bsdinstall. Added: stable/9/usr.sbin/bsdinstall/partedit/scripted.c - copied, changed from r245700, head/usr.sbin/bsdinstall/partedit/scripted.c stable/9/usr.sbin/bsdinstall/scripts/script - copied, changed from r245702, head/usr.sbin/bsdinstall/scripts/script Modified: stable/9/release/rc.local stable/9/usr.sbin/bsdinstall/bsdinstall.8 stable/9/usr.sbin/bsdinstall/partedit/Makefile stable/9/usr.sbin/bsdinstall/partedit/part_wizard.c stable/9/usr.sbin/bsdinstall/partedit/partedit.c stable/9/usr.sbin/bsdinstall/partedit/partedit.h stable/9/usr.sbin/bsdinstall/scripts/Makefile stable/9/usr.sbin/bsdinstall/scripts/wlanconfig Directory Properties: stable/9/release/ (props changed) stable/9/usr.sbin/bsdinstall/ (props changed) stable/9/usr.sbin/bsdinstall/scripts/ (props changed) Modified: stable/9/release/rc.local ============================================================================== --- stable/9/release/rc.local Wed Mar 13 13:45:47 2013 (r248239) +++ stable/9/release/rc.local Wed Mar 13 13:50:50 2013 (r248240) @@ -45,6 +45,17 @@ else fi export TERM +if [ -f /etc/installerconfig ]; then + bsdinstall script /etc/installerconfig + if [ $? -eq 0]; then + dialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10 + reboot + else + dialog --backtitle "FreeBSD Installer" --title "Error" --textbox /tmp/bsdinstall_log 0 0 + fi + exit +fi + dialog --backtitle "FreeBSD Installer" --title "Welcome" --extra-button --extra-label "Shell" --ok-label "Install" --cancel-label "Live CD" --yesno "Welcome to FreeBSD! Would you like to begin an installation or use the live CD?" 0 0 case $? in Modified: stable/9/usr.sbin/bsdinstall/bsdinstall.8 ============================================================================== --- stable/9/usr.sbin/bsdinstall/bsdinstall.8 Wed Mar 13 13:45:47 2013 (r248239) +++ stable/9/usr.sbin/bsdinstall/bsdinstall.8 Wed Mar 13 13:50:50 2013 (r248240) @@ -1,5 +1,5 @@ .\"- -.\" Copyright (c) 2011 Nathan Whitehorn +.\" Copyright (c) 2011-2013 Nathan Whitehorn .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 11, 2011 +.Dd January 21, 2013 .Dt BSDINSTALL 8 .Os .Sh NAME @@ -52,9 +52,10 @@ can be invoked separately by an installa .Sh TARGETS Most of the following targets are only useful for scripting the installer. For interactive use, most users will be interested only in the -.Cm auto +.Cm auto , +.Cm jail , and -.Cm jail +.Cm script targets. .Bl -tag -width ".Cm jail Ar destination" .It Cm auto @@ -68,6 +69,12 @@ Behavior is generally similar to .Cm auto , except that disk partitioning and network setup are skipped and a kernel is not installed into the new system. +.It Cm script Ar script +Runs the installation script at +.Pa script . +See +.Sx SCRIPTING +for more information on this target. .It Cm keymap If the current controlling TTY is a .Xr syscons 4 @@ -104,11 +111,64 @@ partition schemes. Partitions disks, run .Xr newfs 8 , and writes the new system's .Pa fstab . +.It Cm scriptedpart Ar parameters +Sets up disks like +.Cm autopart +and +.Cm partedit , +but non-interactively according to the disk setup specified in +.Ar parameters . +Each disk setup is specified by a three-part argument: +.Pp +.Ar disk +.Op Ar scheme +.Op Ar {partitions} +.Pp +Multiple disk setups are separated by semicolons. The +.Ar disk +argument specifies the disk on which to operate (which will be erased), +while the +.Ar scheme +argument specifies the +.Xr gpart 8 +partition scheme to apply to the disk. If +.Ar scheme +is unspecified, +.Cm scriptedpart +will apply the default bootable scheme on your platform. +The +.Ar partitions +argument is also optional and specifies how to partition +.Ar disk . +It consists of a comma-separated list of partitions to create enclosed in +curly braces. Each partition declaration takes the form +.Pp +.Ar size +.Ar type +.Op Ar mount point +.Pp +.Ar size +specifies the partition size to create in bytes (K, M, and G suffixes +can be appended to specify kilobytes, megabytes, and gigabytes respectively), +while the +.Em auto +keyword causes the partition to take all the remaining space on the disk. The +.Ar type +option chooses the +.Xr gpart 8 +filesystem type (e.g. freebsd-ufs or freebsd-swap). +The optional +.Ar mount point +argument sets where the created partition is to be mounted in the installed +system. As an example, a typical invocation looks like: +.Pp +bsdinstall scriptedpart ada0 { 20G freebsd-ufs /, 4G freebsd-swap, 20G freebsd-ufs /var, auto freebsd-ufs /usr } .It Cm mount Mounts the file systems previously configured by -.Cm autopart +.Cm autopart , +.Cm partedit , or -.Cm partedit +.Cm scriptedpart under .Ev BSDINSTALL_CHROOT . .It Cm distfetch @@ -153,13 +213,27 @@ process. Many are used internally during default values for most installation scenarios. Others are set by various interactive user prompts, and can be usefully overridden when making scripted or customized installers. -.Bl -tag -width ".Ev BSDINSTALL_DISTDIR" +.Bl -tag -width ".Ev BSDINSTALL_DISTSITE" .It Ev DISTRIBUTIONS The set of distributions to install (e.g. "base kernel ports"). Default: none .It Ev BSDINSTALL_DISTDIR The directory in which the distribution files can be found (or to which they should be downloaded). Default: .Pa /usr/freebsd-dist +.It Ev BSDINSTALL_DISTSITE +URL from which the distribution files should be downloaded if they are not +already present in the directory defined by +.Ev BSDINSTALL_DISTDIR . +This should be a full path to the files, including architecture and release +names. Most targets (e.g. +.Cm auto +and +.Cm jail ) +that prompt for a +.Fx +mirror will skip that step if this variable is already defined in the +environment. Example: +.Pa ftp://ftp.freebsd.org/pub/FreeBSD/releases/powerpc/powerpc64/9.1-RELEASE .It Ev BSDINSTALL_CHROOT The directory into which the distribution files should be unpacked and the directory at which the root file system of the new system should be mounted. @@ -177,6 +251,67 @@ target is executed. If this directory do created. Default: .Pa /tmp/bsdinstall_etc .El +.Sh SCRIPTING +.Nm +scripts consist of two parts: a +.Em preamble +and a +.Em setup script . +The preamble sets up the options for the installation (how to partition the +disk[s], which distributions to install, etc.) and the optional second part is +a shell script run under +.Xr chroot 8 +in the newly installed system before +.Nm +exits. The two parts are separated by the usual script header (#!), which +also sets the interpreter for the setup script. +.Pp +A typical bsdinstall script looks like this: +.Bd -literal -offset indent +PARTITIONS=ada0 +DISTRIBUTIONS="kernel.txz base.txz" + +#!/bin/sh +echo "ifconfig_em0=DHCP" >> /etc/rc.conf +echo "sshd_enable=YES" >> /etc/rc.conf +pkg install puppet +.Ed +.Pp +On +.Fx +release media, such a script placed at +.Pa /etc/installerconfig +will be run at boot time and the system will be rebooted automatically after +the installation has completed. This can be used for unattended network +installation of new systems; see +.Xr diskless 8 +for details. +.Ss PREAMBLE +The preamble consists of installer settings. These control global installation +parameters (see +.Sx ENVIRONMENT VARIABLES ) +as well as disk partitioning. The preamble is interpreted as a +.Xr sh 1 +script run at the very beginning of the install. If more complicated behavior +than setting these variables is desired, arbitrary commands can be run here +to extend the installer. In addition to the variables in +.Sx ENVIRONMENT VARIABLES , +in particular +.Ev DISTRIBUTIONS , +the preamble can contain a variable +.Ev PARTITIONS +which is passed to the +.Cm scriptedpart +target to control disk setup. +.Ss SETUP SCRIPT +Following the preamble is an optional shell script, beginning with a #! +declaration. This script will be run at the end of the installation process +inside a +.Xr chroot 8 +environment in the newly installed system and can be used to set up +configuration files, install packages, etc. Note that newly configured +system services (e.g. networking) have not been started in the installed +system at this time and only installation host services are available. .Sh HISTORY This version of .Nm Modified: stable/9/usr.sbin/bsdinstall/partedit/Makefile ============================================================================== --- stable/9/usr.sbin/bsdinstall/partedit/Makefile Wed Mar 13 13:45:47 2013 (r248239) +++ stable/9/usr.sbin/bsdinstall/partedit/Makefile Wed Mar 13 13:50:50 2013 (r248240) @@ -2,7 +2,8 @@ BINDIR= /usr/libexec/bsdinstall PROG= partedit -LINKS= ${BINDIR}/partedit ${BINDIR}/autopart +LINKS= ${BINDIR}/partedit ${BINDIR}/autopart \ + ${BINDIR}/partedit ${BINDIR}/scriptedpart LDADD= -lgeom -lncursesw -lutil -ldialog -lm PARTEDIT_ARCH= ${MACHINE} @@ -14,7 +15,7 @@ PARTEDIT_ARCH= generic .endif SRCS= diskeditor.c partedit.c gpart_ops.c partedit_${PARTEDIT_ARCH}.c \ - part_wizard.c + part_wizard.c scripted.c WARNS?= 3 NO_MAN= true Modified: stable/9/usr.sbin/bsdinstall/partedit/part_wizard.c ============================================================================== --- stable/9/usr.sbin/bsdinstall/partedit/part_wizard.c Wed Mar 13 13:45:47 2013 (r248239) +++ stable/9/usr.sbin/bsdinstall/partedit/part_wizard.c Wed Mar 13 13:50:50 2013 (r248240) @@ -42,7 +42,6 @@ static char *boot_disk(struct gmesh *mesh); static char *wizard_partition(struct gmesh *mesh, const char *disk); -static int wizard_makeparts(struct gmesh *mesh, const char *disk); int part_wizard(void) { @@ -71,7 +70,7 @@ startwizard: dlg_put_backtitle(); error = geom_gettree(&mesh); - error = wizard_makeparts(&mesh, schemeroot); + error = wizard_makeparts(&mesh, schemeroot, 1); if (error) goto startwizard; free(schemeroot); @@ -168,12 +167,6 @@ provider_for_name(struct gmesh *mesh, co struct ggeom *gp; LIST_FOREACH(classp, &mesh->lg_class, lg_class) { - if (strcmp(classp->lg_name, "DISK") != 0 && - strcmp(classp->lg_name, "PART") != 0 && - strcmp(classp->lg_name, "RAID") != 0 && - strcmp(classp->lg_name, "MD") != 0) - continue; - LIST_FOREACH(gp, &classp->lg_geom, lg_geom) { if (LIST_EMPTY(&gp->lg_provider)) continue; @@ -288,8 +281,8 @@ query: return (retval); } -static int -wizard_makeparts(struct gmesh *mesh, const char *disk) +int +wizard_makeparts(struct gmesh *mesh, const char *disk, int interactive) { struct gmesh submesh; struct gclass *classp; @@ -310,7 +303,7 @@ wizard_makeparts(struct gmesh *mesh, con pp = provider_for_name(mesh, disk); available = gpart_max_free(gp, NULL)*pp->lg_sectorsize; - if (available < MIN_FREE_SPACE) { + if (interactive && available < MIN_FREE_SPACE) { char availablestr[10], neededstr[10], message[512]; humanize_number(availablestr, 7, available, "B", HN_AUTOSCALE, HN_DECIMAL); Modified: stable/9/usr.sbin/bsdinstall/partedit/partedit.c ============================================================================== --- stable/9/usr.sbin/bsdinstall/partedit/partedit.c Wed Mar 13 13:45:47 2013 (r248239) +++ stable/9/usr.sbin/bsdinstall/partedit/partedit.c Wed Mar 13 13:50:50 2013 (r248240) @@ -96,13 +96,20 @@ main(int argc, const char **argv) prompt = "Please review the disk setup. When complete, press " "the Finish button."; part_wizard(); + } else if (strcmp(basename(argv[0]), "scriptedpart") == 0) { + error = scripted_editor(argc, argv); + prompt = NULL; + if (error != 0) { + end_dialog(); + return (error); + } } else { prompt = "Create partitions for FreeBSD. No changes will be " "made until you select Finish."; } /* Show the part editor either immediately, or to confirm wizard */ - while (1) { + while (prompt != NULL) { dlg_clear(); dlg_put_backtitle(); @@ -189,6 +196,15 @@ main(int argc, const char **argv) free(items); } + if (prompt == NULL) { + error = geom_gettree(&mesh); + if (validate_setup()) { + error = apply_changes(&mesh); + } else { + gpart_revert_all(&mesh); + error = -1; + } + } geom_deletetree(&mesh); free(items); Modified: stable/9/usr.sbin/bsdinstall/partedit/partedit.h ============================================================================== --- stable/9/usr.sbin/bsdinstall/partedit/partedit.h Wed Mar 13 13:45:47 2013 (r248239) +++ stable/9/usr.sbin/bsdinstall/partedit/partedit.h Wed Mar 13 13:50:50 2013 (r248240) @@ -55,6 +55,8 @@ struct partition_metadata *get_part_meta void delete_part_metadata(const char *name); int part_wizard(void); +int scripted_editor(int argc, const char **argv); +int wizard_makeparts(struct gmesh *mesh, const char *disk, int interactive); /* gpart operations */ void gpart_delete(struct gprovider *pp); Copied and modified: stable/9/usr.sbin/bsdinstall/partedit/scripted.c (from r245700, head/usr.sbin/bsdinstall/partedit/scripted.c) ============================================================================== --- head/usr.sbin/bsdinstall/partedit/scripted.c Sun Jan 20 22:25:58 2013 (r245700, copy source) +++ stable/9/usr.sbin/bsdinstall/partedit/scripted.c Wed Mar 13 13:50:50 2013 (r248240) @@ -45,12 +45,6 @@ provider_for_name(struct gmesh *mesh, co struct ggeom *gp; LIST_FOREACH(classp, &mesh->lg_class, lg_class) { - if (strcmp(classp->lg_name, "DISK") != 0 && - strcmp(classp->lg_name, "PART") != 0 && - strcmp(classp->lg_name, "RAID") != 0 && - strcmp(classp->lg_name, "MD") != 0) - continue; - LIST_FOREACH(gp, &classp->lg_geom, lg_geom) { if (LIST_EMPTY(&gp->lg_provider)) continue; @@ -81,6 +75,11 @@ part_config(char *disk, const char *sche scheme = default_scheme(); error = geom_gettree(&mesh); + if (provider_for_name(&mesh, disk) == NULL) { + fprintf(stderr, "GEOM provider %s not found\n", disk); + geom_deletetree(&mesh); + return (-1); + } /* Remove any existing partitioning and create new scheme */ LIST_FOREACH(classp, &mesh.lg_class, lg_class) @@ -109,6 +108,11 @@ part_config(char *disk, const char *sche error = geom_gettree(&mesh); /* Create partitions */ + if (config == NULL) { + wizard_makeparts(&mesh, disk, 0); + goto finished; + } + while ((partition = strsep(&config, ",")) != NULL) { while ((ap = strsep(&partition, " \t\n")) != NULL) { if (*ap == '\0') @@ -131,6 +135,7 @@ part_config(char *disk, const char *sche size = type = mount = NULL; } +finished: geom_deletetree(&mesh); free(disk); @@ -177,7 +182,7 @@ int parse_disk_config(char *input) } while (input != NULL && *input != 0); if (disk != NULL) - part_config(disk, scheme, partconfig); + return (part_config(disk, scheme, partconfig)); return (0); } @@ -186,7 +191,7 @@ int scripted_editor(int argc, const char **argv) { char *token; - int i, len = 0; + int i, error = 0, len = 0; for (i = 1; i < argc; i++) len += strlen(argv[i]) + 1; @@ -197,8 +202,11 @@ scripted_editor(int argc, const char **a strcat(input, argv[i]); } - while ((token = strsep(&input, ";")) != NULL) - parse_disk_config(token); + while ((token = strsep(&input, ";")) != NULL) { + error = parse_disk_config(token); + if (error != 0) + return (error); + } return (0); } Modified: stable/9/usr.sbin/bsdinstall/scripts/Makefile ============================================================================== --- stable/9/usr.sbin/bsdinstall/scripts/Makefile Wed Mar 13 13:45:47 2013 (r248239) +++ stable/9/usr.sbin/bsdinstall/scripts/Makefile Wed Mar 13 13:50:50 2013 (r248240) @@ -2,7 +2,7 @@ SCRIPTS= auto adduser checksum config docsinstall hostname jail keymap \ mirrorselect mount netconfig netconfig_ipv4 netconfig_ipv6 rootpass \ - services time umount wlanconfig + script services time umount wlanconfig BINDIR= /usr/libexec/bsdinstall NO_MAN= true Copied and modified: stable/9/usr.sbin/bsdinstall/scripts/script (from r245702, head/usr.sbin/bsdinstall/scripts/script) ============================================================================== --- head/usr.sbin/bsdinstall/scripts/script Mon Jan 21 01:01:32 2013 (r245702, copy source) +++ stable/9/usr.sbin/bsdinstall/scripts/script Wed Mar 13 13:50:50 2013 (r248240) @@ -50,10 +50,8 @@ rm -rf $BSDINSTALL_TMPETC mkdir $BSDINSTALL_TMPETC split -a 2 -p '^#!.*' "$SCRIPT" /tmp/bsdinstall-installscript- -cd /tmp -echo BORK -. bsdinstall-installscript-aa +. /tmp/bsdinstall-installscript-aa : ${DISTRIBUTIONS="kernel.txz base.txz"}; export DISTRIBUTIONS export BSDINSTALL_DISTDIR @@ -70,6 +68,11 @@ bsdinstall distextract # Finalize install bsdinstall config +# Make sure networking is functional, if we can arrange that +if [ ! -f $BSDINSTALL_CHROOT/etc/resolv.conf -a -f /etc/resolv.conf ]; then + cp /etc/resolv.conf $BSDINSTALL_CHROOT/etc/resolv.conf +fi + # Run post-install script if [ -f /tmp/bsdinstall-installscript-ab ]; then cp /tmp/bsdinstall-installscript-ab $BSDINSTALL_CHROOT/tmp/installscript Modified: stable/9/usr.sbin/bsdinstall/scripts/wlanconfig ============================================================================== --- stable/9/usr.sbin/bsdinstall/scripts/wlanconfig Wed Mar 13 13:45:47 2013 (r248239) +++ stable/9/usr.sbin/bsdinstall/scripts/wlanconfig Wed Mar 13 13:50:50 2013 (r248240) @@ -60,7 +60,7 @@ NETWORKS=`echo "$SCAN_RESULTS" | awk -F '/..:..:..:..:..:../ {if (length($5) > 0) printf("\"%s\"\t%s\n", $5, $4);}' | sort | uniq` -if [ -z $NETWORKS ]; then +if [ -z "$NETWORKS" ]; then dialog --backtitle "FreeBSD Installer" --title "Error" \ --yesno "No wireless networks were found. Rescan?" 0 0 && \ exec $0 $@ From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 14:01:58 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BF51D85D; Wed, 13 Mar 2013 14:01:58 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B15807D8; Wed, 13 Mar 2013 14:01:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DE1wEo047701; Wed, 13 Mar 2013 14:01:58 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DE1wmw047700; Wed, 13 Mar 2013 14:01:58 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201303131401.r2DE1wmw047700@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 13 Mar 2013 14:01:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248241 - stable/9/release X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 14:01:58 -0000 Author: nwhitehorn Date: Wed Mar 13 14:01:58 2013 New Revision: 248241 URL: http://svnweb.freebsd.org/changeset/base/248241 Log: MFC r245742: Fix typo and simplify condition. Submitted by: Christoph Mallon Missed MFC pointed out by: Garrett Cooper Modified: stable/9/release/rc.local Directory Properties: stable/9/release/ (props changed) Modified: stable/9/release/rc.local ============================================================================== --- stable/9/release/rc.local Wed Mar 13 13:50:50 2013 (r248240) +++ stable/9/release/rc.local Wed Mar 13 14:01:58 2013 (r248241) @@ -46,8 +46,7 @@ fi export TERM if [ -f /etc/installerconfig ]; then - bsdinstall script /etc/installerconfig - if [ $? -eq 0]; then + if bsdinstall script /etc/installerconfig; then dialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10 reboot else From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 15:18:46 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 103E0E99; Wed, 13 Mar 2013 15:18:46 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id 67B87DBD; Wed, 13 Mar 2013 15:18:44 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.6/8.14.6) with ESMTP id r2DFIhMw070964; Wed, 13 Mar 2013 19:18:43 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.6/8.14.6/Submit) id r2DFIhbN070963; Wed, 13 Mar 2013 19:18:43 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Wed, 13 Mar 2013 19:18:43 +0400 From: Gleb Smirnoff To: Andre Oppermann Subject: Re: svn commit: r248196 - head/sys/nfs Message-ID: <20130313151843.GS48089@FreeBSD.org> References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> <20130312150053.GI48089@FreeBSD.org> <513F4A39.8040107@freebsd.org> <20130312155005.GJ48089@FreeBSD.org> <513F58C0.4050302@freebsd.org> <20130312194936.GL48089@FreeBSD.org> <513F9BC9.3060300@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <513F9BC9.3060300@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 15:18:46 -0000 Okay, I will redo my patch to make default not to allow > PAGE_SIZE clusters. On Tue, Mar 12, 2013 at 10:19:05PM +0100, Andre Oppermann wrote: A> Jumbos always were physically contiguous. That was the very reason for A> their existence. They were invented to allow early NIC's with limited A> DMA capabilities to handle jumbo ethernet frames. Today they should only A> be used for DMA challenged NIC's and nothing else. They definitely were not physically contigous prior to r174247. A> > Let me repeat: there is a lot of code, that does handmade allocation of A> > an mbuf chain of an arbitrary length using mbufs and common clusters. This A> > code can be cut and use m_getm2(), if we can restrict it to avoid page size A> > clusters. I don't have time to dig deeper in the code and analyze and test A> > whether it can support page sized clusters in chains. A> A> m_getm2() can be used in any such case and doesn't have to avoid PAGE_SIZE A> clusters. PAGE_SIZE jumbo clusters are fine. Larger than PAGE_SIZE is not. A> A> When the code is able to work with mbuf chains the exact size of each cluster A> isn't important anymore. We can use the optimal size. Do you volunteer to fix if anything is broken? If not, I'd prefer to be conservative and make m_getm() capable to produce chains without clusters bigger than MCLBYTES. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 15:37:49 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B29F5959 for ; Wed, 13 Mar 2013 15:37:49 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 0FF69F2D for ; Wed, 13 Mar 2013 15:37:48 +0000 (UTC) Received: (qmail 27386 invoked from network); 13 Mar 2013 16:50:02 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 13 Mar 2013 16:50:02 -0000 Message-ID: <51409D40.5050408@freebsd.org> Date: Wed, 13 Mar 2013 16:37:36 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r248196 - head/sys/nfs References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> <20130312150053.GI48089@FreeBSD.org> <513F4A39.8040107@freebsd.org> <20130312155005.GJ48089@FreeBSD.org> <513F58C0.4050302@freebsd.org> <20130312194936.GL48089@FreeBSD.org> <513F9BC9.3060300@freebsd.org> <20130313151843.GS48089@FreeBSD.org> In-Reply-To: <20130313151843.GS48089@FreeBSD.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 15:37:49 -0000 On 13.03.2013 16:18, Gleb Smirnoff wrote: > Okay, > > I will redo my patch to make default not to allow > PAGE_SIZE > clusters. Thanks. > On Tue, Mar 12, 2013 at 10:19:05PM +0100, Andre Oppermann wrote: > A> Jumbos always were physically contiguous. That was the very reason for > A> their existence. They were invented to allow early NIC's with limited > A> DMA capabilities to handle jumbo ethernet frames. Today they should only > A> be used for DMA challenged NIC's and nothing else. > > They definitely were not physically contigous prior to r174247. I'm pretty sure they were but implemented differently. Maybe this aspect got lost for a moment during the UMA transition of the mbuf allocator. Otherwise the Tigeon and other early GigE cards wouldn't have worked with jumbo frames on receive. They were not capable of, or very limited, on scatter DMA. For this particular purpose jumbo frames were introduced at the time. I added PAGE_SIZE jumbo frames around 2005 to make use of larger clusters but without getting into DMA and memory fragmentation trouble. > A> > Let me repeat: there is a lot of code, that does handmade allocation of > A> > an mbuf chain of an arbitrary length using mbufs and common clusters. This > A> > code can be cut and use m_getm2(), if we can restrict it to avoid page size > A> > clusters. I don't have time to dig deeper in the code and analyze and test > A> > whether it can support page sized clusters in chains. > A> > A> m_getm2() can be used in any such case and doesn't have to avoid PAGE_SIZE > A> clusters. PAGE_SIZE jumbo clusters are fine. Larger than PAGE_SIZE is not. > A> > A> When the code is able to work with mbuf chains the exact size of each cluster > A> isn't important anymore. We can use the optimal size. > > Do you volunteer to fix if anything is broken? If not, I'd prefer to > be conservative and make m_getm() capable to produce chains without > clusters bigger than MCLBYTES. There is nothing to fix. It works just fine and in fact is in use for all socket i/o (write) for about 6 years since r163916 and 163916. :-) Yes, if there is anything broken with PAGE_SIZE mbuf chains returned by m_getm2() I'm volunteering to fix it. -- Andre From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 15:38:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E9F3FACD; Wed, 13 Mar 2013 15:38:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A755EF37; Wed, 13 Mar 2013 15:38:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DFc2oh075973; Wed, 13 Mar 2013 15:38:02 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DFc2RS075971; Wed, 13 Mar 2013 15:38:02 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201303131538.r2DFc2RS075971@svn.freebsd.org> From: Hans Petter Selasky Date: Wed, 13 Mar 2013 15:38:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248246 - head/sys/dev/usb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 15:38:03 -0000 Author: hselasky Date: Wed Mar 13 15:38:01 2013 New Revision: 248246 URL: http://svnweb.freebsd.org/changeset/base/248246 Log: - Make quirk for reading device descriptor from broken USB devices. Else they won't enumerate at all: hw.usb.full_ddesc=1 - Reduce the USB descriptor read timeout from 1000ms to 500ms. Typical value for LOW speed devices is 50-100ms. - Enumerate USB device a maximum of 3 times when a port connection change event is detected, before giving up. MFC after: 1 month Modified: head/sys/dev/usb/usb_device.c head/sys/dev/usb/usb_request.c Modified: head/sys/dev/usb/usb_device.c ============================================================================== --- head/sys/dev/usb/usb_device.c Wed Mar 13 15:20:18 2013 (r248245) +++ head/sys/dev/usb/usb_device.c Wed Mar 13 15:38:01 2013 (r248246) @@ -1698,10 +1698,14 @@ usb_alloc_device(device_t parent_dev, st err = usbd_setup_device_desc(udev, NULL); if (err != 0) { - /* XXX try to re-enumerate the device */ + /* try to enumerate two more times */ err = usbd_req_re_enumerate(udev, NULL); - if (err) - goto done; + if (err != 0) { + err = usbd_req_re_enumerate(udev, NULL); + if (err != 0) { + goto done; + } + } } /* Modified: head/sys/dev/usb/usb_request.c ============================================================================== --- head/sys/dev/usb/usb_request.c Wed Mar 13 15:20:18 2013 (r248245) +++ head/sys/dev/usb/usb_request.c Wed Mar 13 15:38:01 2013 (r248246) @@ -76,6 +76,11 @@ static int usb_no_cs_fail; SYSCTL_INT(_hw_usb, OID_AUTO, no_cs_fail, CTLFLAG_RW, &usb_no_cs_fail, 0, "USB clear stall failures are ignored, if set"); +static int usb_full_ddesc; + +SYSCTL_INT(_hw_usb, OID_AUTO, full_ddesc, CTLFLAG_RW, + &usb_full_ddesc, 0, "USB always read complete device descriptor, if set"); + #ifdef USB_DEBUG #ifdef USB_REQ_DEBUG /* The following structures are used in connection to fault injection. */ @@ -1002,7 +1007,7 @@ usbd_req_get_desc(struct usb_device *ude USETW(req.wLength, min_len); err = usbd_do_request_flags(udev, mtx, &req, - desc, 0, NULL, 1000); + desc, 0, NULL, 500 /* ms */); if (err) { if (!retries) { @@ -1887,32 +1892,41 @@ usbd_setup_device_desc(struct usb_device */ switch (udev->speed) { case USB_SPEED_FULL: - case USB_SPEED_LOW: + if (usb_full_ddesc != 0) { + /* get full device descriptor */ + err = usbd_req_get_device_desc(udev, mtx, &udev->ddesc); + if (err == 0) + break; + } + + /* get partial device descriptor, some devices crash on this */ err = usbd_req_get_desc(udev, mtx, NULL, &udev->ddesc, USB_MAX_IPACKET, USB_MAX_IPACKET, 0, UDESC_DEVICE, 0, 0); - if (err != 0) { - DPRINTFN(0, "getting device descriptor " - "at addr %d failed, %s\n", udev->address, - usbd_errstr(err)); - return (err); - } + if (err != 0) + break; + + /* get the full device descriptor */ + err = usbd_req_get_device_desc(udev, mtx, &udev->ddesc); break; + default: DPRINTF("Minimum MaxPacketSize is large enough " - "to hold the complete device descriptor\n"); - break; - } + "to hold the complete device descriptor or " + "only once MaxPacketSize choice\n"); - /* get the full device descriptor */ - err = usbd_req_get_device_desc(udev, mtx, &udev->ddesc); - - /* try one more time, if error */ - if (err) + /* get the full device descriptor */ err = usbd_req_get_device_desc(udev, mtx, &udev->ddesc); - if (err) { - DPRINTF("addr=%d, getting full desc failed\n", - udev->address); + /* try one more time, if error */ + if (err != 0) + err = usbd_req_get_device_desc(udev, mtx, &udev->ddesc); + break; + } + + if (err != 0) { + DPRINTFN(0, "getting device descriptor " + "at addr %d failed, %s\n", udev->address, + usbd_errstr(err)); return (err); } From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 15:42:05 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3829CEDB; Wed, 13 Mar 2013 15:42:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2AA19FA1; Wed, 13 Mar 2013 15:42:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DFg52O078218; Wed, 13 Mar 2013 15:42:05 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DFg5bl078217; Wed, 13 Mar 2013 15:42:05 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201303131542.r2DFg5bl078217@svn.freebsd.org> From: Hans Petter Selasky Date: Wed, 13 Mar 2013 15:42:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248247 - head/sys/dev/usb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 15:42:05 -0000 Author: hselasky Date: Wed Mar 13 15:42:04 2013 New Revision: 248247 URL: http://svnweb.freebsd.org/changeset/base/248247 Log: Fix typo. Modified: head/sys/dev/usb/usb_request.c Modified: head/sys/dev/usb/usb_request.c ============================================================================== --- head/sys/dev/usb/usb_request.c Wed Mar 13 15:38:01 2013 (r248246) +++ head/sys/dev/usb/usb_request.c Wed Mar 13 15:42:04 2013 (r248247) @@ -1910,9 +1910,9 @@ usbd_setup_device_desc(struct usb_device break; default: - DPRINTF("Minimum MaxPacketSize is large enough " + DPRINTF("Minimum bMaxPacketSize is large enough " "to hold the complete device descriptor or " - "only once MaxPacketSize choice\n"); + "only one bMaxPacketSize choice\n"); /* get the full device descriptor */ err = usbd_req_get_device_desc(udev, mtx, &udev->ddesc); From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 15:43:14 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 75619100; Wed, 13 Mar 2013 15:43:14 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id EE0F5FBE; Wed, 13 Mar 2013 15:43:13 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.6/8.14.6) with ESMTP id r2DFhC48071092; Wed, 13 Mar 2013 19:43:12 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.6/8.14.6/Submit) id r2DFhCgM071091; Wed, 13 Mar 2013 19:43:12 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Wed, 13 Mar 2013 19:43:12 +0400 From: Gleb Smirnoff To: Andre Oppermann Subject: Re: svn commit: r248196 - head/sys/nfs Message-ID: <20130313154312.GT48089@FreeBSD.org> References: <201303121219.r2CCJN5Z069789@svn.freebsd.org> <513F3A54.3090702@freebsd.org> <20130312150053.GI48089@FreeBSD.org> <513F4A39.8040107@freebsd.org> <20130312155005.GJ48089@FreeBSD.org> <513F58C0.4050302@freebsd.org> <20130312194936.GL48089@FreeBSD.org> <513F9BC9.3060300@freebsd.org> <20130313151843.GS48089@FreeBSD.org> <51409D40.5050408@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <51409D40.5050408@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 15:43:14 -0000 On Wed, Mar 13, 2013 at 04:37:36PM +0100, Andre Oppermann wrote: A> > A> > Let me repeat: there is a lot of code, that does handmade allocation of A> > A> > an mbuf chain of an arbitrary length using mbufs and common clusters. This A> > A> > code can be cut and use m_getm2(), if we can restrict it to avoid page size A> > A> > clusters. I don't have time to dig deeper in the code and analyze and test A> > A> > whether it can support page sized clusters in chains. A> > A> A> > A> m_getm2() can be used in any such case and doesn't have to avoid PAGE_SIZE A> > A> clusters. PAGE_SIZE jumbo clusters are fine. Larger than PAGE_SIZE is not. A> > A> A> > A> When the code is able to work with mbuf chains the exact size of each cluster A> > A> isn't important anymore. We can use the optimal size. A> > A> > Do you volunteer to fix if anything is broken? If not, I'd prefer to A> > be conservative and make m_getm() capable to produce chains without A> > clusters bigger than MCLBYTES. A> A> There is nothing to fix. It works just fine and in fact is in use for all A> socket i/o (write) for about 6 years since r163916 and 163916. :-) A> A> Yes, if there is anything broken with PAGE_SIZE mbuf chains returned by m_getm2() A> I'm volunteering to fix it. I caught your tongue :) Be prepared to study netipsec code :) -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 17:34:42 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CC3CF14B; Wed, 13 Mar 2013 17:34:42 +0000 (UTC) (envelope-from gibbs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B905E971; Wed, 13 Mar 2013 17:34:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DHYg4A012476; Wed, 13 Mar 2013 17:34:42 GMT (envelope-from gibbs@svn.freebsd.org) Received: (from gibbs@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DHYgnp012474; Wed, 13 Mar 2013 17:34:42 GMT (envelope-from gibbs@svn.freebsd.org) Message-Id: <201303131734.r2DHYgnp012474@svn.freebsd.org> From: "Justin T. Gibbs" Date: Wed, 13 Mar 2013 17:34:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248248 - in stable/9/sys/cddl/contrib/opensolaris/uts: common/dtrace intel/dtrace X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 17:34:42 -0000 Author: gibbs Date: Wed Mar 13 17:34:42 2013 New Revision: 248248 URL: http://svnweb.freebsd.org/changeset/base/248248 Log: MFC kernel fixes to userland dtrace support. r247049 ------- Avoid panic when tearing down the DTrace pid provider for a process that has crashed. sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c: In fasttrap_pid_disable(), we cannot PHOLD the proc structure for a process that no longer exists, but we still have other, fasttrap specific, state that must be cleaned up for probes that existed in the dead process. Instead of returning early if the process related to our probes isn't found, conditionalize the locking and carry on with a NULL proc pointer. The rest of the fasttrap code already understands that a NULL proc is possible and does the right things in this case. r247820 ------- Fix assertion failure when using userland DTrace probes from the pid provider on a kernel compiled with INVARIANTS. sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c: In fasttrap_probe_pid(), attempts to write to the address space of the thread that fired the probe must be performed with the process of the thread held. Use _PHOLD() to ensure this is the case. In fasttrap_probe_pid(), use proc_write_regs() instead of calling set_regs() directly. proc_write_regs() performs invariant checks to verify the calling environment of set_regs(). PROC_LOCK()/UNLOCK() around the call to proc_write_regs() so that it's invariants are satisfied. Sponsored by: Spectra Logic Corporation Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c stable/9/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c Directory Properties: stable/9/sys/cddl/contrib/opensolaris/ (props changed) Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c ============================================================================== --- stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Wed Mar 13 15:42:04 2013 (r248247) +++ stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Wed Mar 13 17:34:42 2013 (r248248) @@ -1124,14 +1124,12 @@ fasttrap_pid_disable(void *arg, dtrace_i * provider lock as a point of mutual exclusion to prevent other * DTrace consumers from disabling this probe. */ - if ((p = pfind(probe->ftp_pid)) == NULL) { - mutex_exit(&provider->ftp_mtx); - return; - } + if ((p = pfind(probe->ftp_pid)) != NULL) { #ifdef __FreeBSD__ - _PHOLD(p); - PROC_UNLOCK(p); + _PHOLD(p); + PROC_UNLOCK(p); #endif + } /* * Disable all the associated tracepoints (for fully enabled probes). @@ -1168,7 +1166,8 @@ fasttrap_pid_disable(void *arg, dtrace_i fasttrap_pid_cleanup(); #ifdef __FreeBSD__ - PRELE(p); + if (p != NULL) + PRELE(p); #endif if (!probe->ftp_enabled) return; Modified: stable/9/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c ============================================================================== --- stable/9/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c Wed Mar 13 15:42:04 2013 (r248247) +++ stable/9/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c Wed Mar 13 17:34:42 2013 (r248248) @@ -1034,6 +1034,7 @@ fasttrap_pid_probe(struct reg *rp) #endif PROC_LOCK(p); + _PHOLD(p); pid = p->p_pid; #if defined(sun) pid_mtx = &cpu_core[CPU->cpu_id].cpuc_pid_lock; @@ -1059,6 +1060,7 @@ fasttrap_pid_probe(struct reg *rp) #if defined(sun) mutex_exit(pid_mtx); #endif + _PRELE(p); PROC_UNLOCK(p); return (-1); } @@ -1732,7 +1734,6 @@ fasttrap_pid_probe(struct reg *rp) ASSERT(i <= sizeof (scratch)); - #if defined(sun) if (fasttrap_copyout(scratch, (char *)addr, i)) { #else @@ -1794,7 +1795,11 @@ done: } rp->r_rip = new_pc; - set_regs(curthread, rp); + + PROC_LOCK(p); + proc_write_regs(curthread, rp); + _PRELE(p); + PROC_UNLOCK(p); return (0); } From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 17:37:14 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 08AD53CD; Wed, 13 Mar 2013 17:37:14 +0000 (UTC) (envelope-from gibbs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EEE1699E; Wed, 13 Mar 2013 17:37:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DHbDPS012908; Wed, 13 Mar 2013 17:37:13 GMT (envelope-from gibbs@svn.freebsd.org) Received: (from gibbs@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DHbDVC012907; Wed, 13 Mar 2013 17:37:13 GMT (envelope-from gibbs@svn.freebsd.org) Message-Id: <201303131737.r2DHbDVC012907@svn.freebsd.org> From: "Justin T. Gibbs" Date: Wed, 13 Mar 2013 17:37:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248249 - stable/9/cddl/contrib/opensolaris/cmd/dtrace X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 17:37:14 -0000 Author: gibbs Date: Wed Mar 13 17:37:13 2013 New Revision: 248249 URL: http://svnweb.freebsd.org/changeset/base/248249 Log: MFC r247048. Orphaned processes that are being traced are killed by the kernel. Properly restore, continue, and detach from processes being DTraced when DTrace exits with an error so the program being inspected is not terminated. cddl/contrib/opensolaris/cmd/dtrace/dtrace.c: In fatal(), the generic error handler, close the DTrace handle as is done in the "probe/script" error handler dfatal(). fatal() can be invoked after DTrace attaches to processes (e.g. a script specified by command line argument can't be found) and closing the handle will release them. Submitted by: Spectra Logic Corporation Reviewed by: rpaulo, gnn Modified: stable/9/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Directory Properties: stable/9/cddl/contrib/opensolaris/ (props changed) Modified: stable/9/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c ============================================================================== --- stable/9/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Wed Mar 13 17:34:42 2013 (r248248) +++ stable/9/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Wed Mar 13 17:37:13 2013 (r248249) @@ -195,6 +195,13 @@ fatal(const char *fmt, ...) verror(fmt, ap); va_end(ap); + /* + * Close the DTrace handle to ensure that any controlled processes are + * correctly restored and continued. + */ + if (g_dtp) + dtrace_close(g_dtp); + exit(E_ERROR); } From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 18:18:16 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CBDD9D3; Wed, 13 Mar 2013 18:18:16 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B47ECCFC; Wed, 13 Mar 2013 18:18:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DIIGo4025523; Wed, 13 Mar 2013 18:18:16 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DIIGT3025522; Wed, 13 Mar 2013 18:18:16 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201303131818.r2DIIGT3025522@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 13 Mar 2013 18:18:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248250 - head/lib/libc/gen X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 18:18:16 -0000 Author: pluknet Date: Wed Mar 13 18:18:16 2013 New Revision: 248250 URL: http://svnweb.freebsd.org/changeset/base/248250 Log: Add the getcontextx prototype to SYNOPSIS. Reviewed by: kib MFC after: 1 week Modified: head/lib/libc/gen/getcontext.3 Modified: head/lib/libc/gen/getcontext.3 ============================================================================== --- head/lib/libc/gen/getcontext.3 Wed Mar 13 17:37:13 2013 (r248249) +++ head/lib/libc/gen/getcontext.3 Wed Mar 13 18:18:16 2013 (r248250) @@ -35,7 +35,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 26, 2011 +.Dd March 13, 2013 .Dt GETCONTEXT 3 .Os .Sh NAME @@ -47,6 +47,8 @@ .In ucontext.h .Ft int .Fn getcontext "ucontext_t *ucp" +.Ft ucontext_t * +.Fn getcontextx "void" .Ft int .Fn setcontext "const ucontext_t *ucp" .Sh DESCRIPTION From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 18:19:33 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BF15F267; Wed, 13 Mar 2013 18:19:33 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AD3B0D19; Wed, 13 Mar 2013 18:19:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DIJXm7025727; Wed, 13 Mar 2013 18:19:33 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DIJXEl025726; Wed, 13 Mar 2013 18:19:33 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201303131819.r2DIJXEl025726@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 13 Mar 2013 18:19:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248251 - head/lib/libc/gen X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 18:19:33 -0000 Author: pluknet Date: Wed Mar 13 18:19:33 2013 New Revision: 248251 URL: http://svnweb.freebsd.org/changeset/base/248251 Log: Link getcontextx(3) to getcontext(3). Reviewed by: kib MFC after: 1 week Modified: head/lib/libc/gen/Makefile.inc Modified: head/lib/libc/gen/Makefile.inc ============================================================================== --- head/lib/libc/gen/Makefile.inc Wed Mar 13 18:18:16 2013 (r248250) +++ head/lib/libc/gen/Makefile.inc Wed Mar 13 18:19:33 2013 (r248251) @@ -361,6 +361,7 @@ MLINKS+=getcap.3 cgetcap.3 \ getcap.3 cgetstr.3 \ getcap.3 cgetustr.3 MLINKS+=getcwd.3 getwd.3 +MLINKS+=getcontext.3 getcontextx.3 MLINKS+=getcontext.3 setcontext.3 MLINKS+=getdomainname.3 setdomainname.3 MLINKS+=getfsent.3 endfsent.3 \ From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 18:38:19 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 84D275E5; Wed, 13 Mar 2013 18:38:19 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6CFFCE0D; Wed, 13 Mar 2013 18:38:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DIcInl031502; Wed, 13 Mar 2013 18:38:18 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DIcIsm031501; Wed, 13 Mar 2013 18:38:18 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201303131838.r2DIcIsm031501@svn.freebsd.org> From: Jilles Tjoelker Date: Wed, 13 Mar 2013 18:38:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248252 - head/lib/libc/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 18:38:19 -0000 Author: jilles Date: Wed Mar 13 18:38:18 2013 New Revision: 248252 URL: http://svnweb.freebsd.org/changeset/base/248252 Log: libc: Avoid SIGPIPE when nscd closes the connection unexpectedly. It is almost always a bug if nscd closes the connection unexpectedly but programs should not be killed with SIGPIPE for it. Reviewed by: bushman Tested by: Jan Beich MFC after: 1 week Modified: head/lib/libc/net/nscachedcli.c Modified: head/lib/libc/net/nscachedcli.c ============================================================================== --- head/lib/libc/net/nscachedcli.c Wed Mar 13 18:19:33 2013 (r248251) +++ head/lib/libc/net/nscachedcli.c Wed Mar 13 18:38:18 2013 (r248252) @@ -75,9 +75,10 @@ safe_write(struct cached_connection_ *co nevents = _kevent(connection->write_queue, NULL, 0, &eventlist, 1, &timeout); if ((nevents == 1) && (eventlist.filter == EVFILT_WRITE)) { - s_result = _write(connection->sockfd, data + result, + s_result = _sendto(connection->sockfd, data + result, eventlist.data < data_size - result ? - eventlist.data : data_size - result); + eventlist.data : data_size - result, MSG_NOSIGNAL, + NULL, 0); if (s_result == -1) return (-1); else @@ -175,8 +176,8 @@ send_credentials(struct cached_connectio nevents = _kevent(connection->write_queue, NULL, 0, &eventlist, 1, NULL); if (nevents == 1 && eventlist.filter == EVFILT_WRITE) { - result = (_sendmsg(connection->sockfd, &cred_hdr, 0) == -1) ? - -1 : 0; + result = (_sendmsg(connection->sockfd, &cred_hdr, + MSG_NOSIGNAL) == -1) ? -1 : 0; EV_SET(&eventlist, connection->sockfd, EVFILT_WRITE, EV_ADD, 0, 0, NULL); _kevent(connection->write_queue, &eventlist, 1, NULL, 0, NULL); From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 18:43:25 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E5B538C8; Wed, 13 Mar 2013 18:43:25 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D8420E53; Wed, 13 Mar 2013 18:43:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DIhPpF033807; Wed, 13 Mar 2013 18:43:25 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DIhP3p033805; Wed, 13 Mar 2013 18:43:25 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201303131843.r2DIhP3p033805@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 13 Mar 2013 18:43:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248253 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 18:43:26 -0000 Author: pluknet Date: Wed Mar 13 18:43:25 2013 New Revision: 248253 URL: http://svnweb.freebsd.org/changeset/base/248253 Log: Add missed `_load' to the `if_foo_load="YES"' line. PR: docs/176915 MFC after: 1 week Modified: head/share/man/man4/cas.4 head/share/man/man4/sge.4 Modified: head/share/man/man4/cas.4 ============================================================================== --- head/share/man/man4/cas.4 Wed Mar 13 18:38:18 2013 (r248252) +++ head/share/man/man4/cas.4 Wed Mar 13 18:43:25 2013 (r248253) @@ -44,7 +44,7 @@ Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent -if_cas="YES" +if_cas_load="YES" .Ed .Sh DESCRIPTION The Modified: head/share/man/man4/sge.4 ============================================================================== --- head/share/man/man4/sge.4 Wed Mar 13 18:38:18 2013 (r248252) +++ head/share/man/man4/sge.4 Wed Mar 13 18:43:25 2013 (r248253) @@ -43,7 +43,7 @@ Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent -if_sge="YES" +if_sge_load="YES" .Ed .Sh DESCRIPTION The From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 19:20:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6FF64649; Wed, 13 Mar 2013 19:20:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 4A46A123; Wed, 13 Mar 2013 19:20:26 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 6DFA8B915; Wed, 13 Mar 2013 15:20:25 -0400 (EDT) From: John Baldwin To: Pawel Jakub Dawidek Subject: Re: svn commit: r247814 - in head: . sys/amd64/conf sys/cam/ctl sys/conf sys/i386/conf Date: Wed, 13 Mar 2013 11:08:26 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p25; KDE/4.5.5; amd64; ; ) References: <201303042118.r24LIj5e008913@svn.freebsd.org> <20130312210921.GB1390@garage.freebsd.pl> In-Reply-To: <20130312210921.GB1390@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201303131108.27005.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 13 Mar 2013 15:20:25 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, "Kenneth D. Merry" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 19:20:26 -0000 On Tuesday, March 12, 2013 5:09:21 pm Pawel Jakub Dawidek wrote: > On Mon, Mar 04, 2013 at 09:18:45PM +0000, Kenneth D. Merry wrote: > > Author: ken > > Date: Mon Mar 4 21:18:45 2013 > > New Revision: 247814 > > URL: http://svnweb.freebsd.org/changeset/base/247814 > > > > Log: > > Re-enable CTL in GENERIC on i386 and amd64, but turn on the CTL disable > > tunable by default. > > > > This will allow GENERIC configurations to boot on small memory boxes, but > > not require end users who want to use CTL to recompile their kernel. They > > can simply set kern.cam.ctl.disable=0 in loader.conf. > > Could you rename it to kern.cam.ctl.enable(d)? There was discussion at > some point about sysctl/tunable names and the consensus was, AFAIR, to > use positive(?) names as they are more obvious. Except that all the hints we use for devices are hint.foo.X.disable=1 :) -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 20:35:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 702339F9; Wed, 13 Mar 2013 20:35:52 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5DE61804; Wed, 13 Mar 2013 20:35:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DKZqKJ067917; Wed, 13 Mar 2013 20:35:52 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DKZqqA067915; Wed, 13 Mar 2013 20:35:52 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201303132035.r2DKZqqA067915@svn.freebsd.org> From: Xin LI Date: Wed, 13 Mar 2013 20:35:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248254 - head/sys/dev/sound/pci/hda X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 20:35:52 -0000 Author: delphij Date: Wed Mar 13 20:35:51 2013 New Revision: 248254 URL: http://svnweb.freebsd.org/changeset/base/248254 Log: Add quirk for Lenovo T530 headphone redirection. MFC after: 2 weeks Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c head/sys/dev/sound/pci/hda/hdac.h Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdaa_patches.c Wed Mar 13 18:43:25 2013 (r248253) +++ head/sys/dev/sound/pci/hda/hdaa_patches.c Wed Mar 13 20:35:51 2013 (r248254) @@ -346,7 +346,8 @@ hdac_pin_patch(struct hdaa_widget *w) } else if (id == HDA_CODEC_ALC269 && (subid == LENOVO_X1CRBN_SUBVENDOR || subid == LENOVO_T430_SUBVENDOR || - subid == LENOVO_T430S_SUBVENDOR)) { + subid == LENOVO_T430S_SUBVENDOR || + subid == LENOVO_T530_SUBVENDOR)) { switch (nid) { case 21: patch = "as=1 seq=15"; Modified: head/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.h Wed Mar 13 18:43:25 2013 (r248253) +++ head/sys/dev/sound/pci/hda/hdac.h Wed Mar 13 20:35:51 2013 (r248254) @@ -228,6 +228,7 @@ #define LENOVO_T430_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3) #define LENOVO_T430S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb) #define LENOVO_T520_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf) +#define LENOVO_T530_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f6) #define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff) /* Samsung */ From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 21:06:05 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DD56E488; Wed, 13 Mar 2013 21:06:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C4864A41; Wed, 13 Mar 2013 21:06:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DL654j077096; Wed, 13 Mar 2013 21:06:05 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DL64Ko077081; Wed, 13 Mar 2013 21:06:04 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201303132106.r2DL64Ko077081@svn.freebsd.org> From: John Baldwin Date: Wed, 13 Mar 2013 21:06:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248255 - in head/sys: fs/nfs fs/nfsclient nfsclient rpc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 21:06:05 -0000 Author: jhb Date: Wed Mar 13 21:06:03 2013 New Revision: 248255 URL: http://svnweb.freebsd.org/changeset/base/248255 Log: Revert 195703 and 195821 as this special stop handling in NFS is now implemented via VFCF_SBDRY rather than passing PBDRY to individual sleep calls. Modified: head/sys/fs/nfs/nfsport.h head/sys/fs/nfsclient/nfs_clbio.c head/sys/fs/nfsclient/nfs_clvnops.c head/sys/nfsclient/nfs_bio.c head/sys/nfsclient/nfs_vnops.c head/sys/nfsclient/nfsmount.h head/sys/rpc/clnt_rc.c head/sys/rpc/clnt_vc.c Modified: head/sys/fs/nfs/nfsport.h ============================================================================== --- head/sys/fs/nfs/nfsport.h Wed Mar 13 20:35:51 2013 (r248254) +++ head/sys/fs/nfs/nfsport.h Wed Mar 13 21:06:03 2013 (r248255) @@ -981,13 +981,6 @@ struct nfsreq { #define NFSVNO_DELEGOK(v) (1) #endif -/* - * Define this as the flags argument for msleep() when catching signals - * while holding a resource that other threads would block for, such as - * a vnode lock. - */ -#define NFS_PCATCH (PCATCH | PBDRY) - #endif /* _KERNEL */ #endif /* _NFS_NFSPORT_H */ Modified: head/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clbio.c Wed Mar 13 20:35:51 2013 (r248254) +++ head/sys/fs/nfsclient/nfs_clbio.c Wed Mar 13 21:06:03 2013 (r248255) @@ -1297,7 +1297,7 @@ nfs_getcacheblk(struct vnode *vp, daddr_ sigset_t oldset; newnfs_set_sigmask(td, &oldset); - bp = getblk(vp, bn, size, NFS_PCATCH, 0, 0); + bp = getblk(vp, bn, size, PCATCH, 0, 0); newnfs_restore_sigmask(td, &oldset); while (bp == NULL) { if (newnfs_sigintr(nmp, td)) @@ -1332,7 +1332,7 @@ ncl_vinvalbuf(struct vnode *vp, int flag if ((nmp->nm_mountp->mnt_kern_flag & MNTK_UNMOUNTF)) intrflg = 1; if (intrflg) { - slpflag = NFS_PCATCH; + slpflag = PCATCH; slptimeo = 2 * hz; } else { slpflag = 0; @@ -1413,7 +1413,7 @@ ncl_asyncio(struct nfsmount *nmp, struct } again: if (nmp->nm_flag & NFSMNT_INT) - slpflag = NFS_PCATCH; + slpflag = PCATCH; gotiod = FALSE; /* @@ -1478,7 +1478,7 @@ again: mtx_unlock(&ncl_iod_mutex); return (error2); } - if (slpflag == NFS_PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Wed Mar 13 20:35:51 2013 (r248254) +++ head/sys/fs/nfsclient/nfs_clvnops.c Wed Mar 13 21:06:03 2013 (r248255) @@ -2660,7 +2660,7 @@ ncl_flush(struct vnode *vp, int waitfor, if (called_from_renewthread != 0) slptimeo = hz; if (nmp->nm_flag & NFSMNT_INT) - slpflag = NFS_PCATCH; + slpflag = PCATCH; if (!commit) passone = 0; bo = &vp->v_bufobj; @@ -2866,7 +2866,7 @@ loop: error = EINTR; goto done; } - if (slpflag & PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } @@ -2912,7 +2912,7 @@ loop: error = newnfs_sigintr(nmp, td); if (error) goto done; - if (slpflag & PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } Modified: head/sys/nfsclient/nfs_bio.c ============================================================================== --- head/sys/nfsclient/nfs_bio.c Wed Mar 13 20:35:51 2013 (r248254) +++ head/sys/nfsclient/nfs_bio.c Wed Mar 13 21:06:03 2013 (r248255) @@ -1242,7 +1242,7 @@ nfs_getcacheblk(struct vnode *vp, daddr_ sigset_t oldset; nfs_set_sigmask(td, &oldset); - bp = getblk(vp, bn, size, NFS_PCATCH, 0, 0); + bp = getblk(vp, bn, size, PCATCH, 0, 0); nfs_restore_sigmask(td, &oldset); while (bp == NULL) { if (nfs_sigintr(nmp, td)) @@ -1275,7 +1275,7 @@ nfs_vinvalbuf(struct vnode *vp, int flag if ((nmp->nm_flag & NFSMNT_INT) == 0) intrflg = 0; if (intrflg) { - slpflag = NFS_PCATCH; + slpflag = PCATCH; slptimeo = 2 * hz; } else { slpflag = 0; @@ -1354,7 +1354,7 @@ nfs_asyncio(struct nfsmount *nmp, struct } again: if (nmp->nm_flag & NFSMNT_INT) - slpflag = NFS_PCATCH; + slpflag = PCATCH; gotiod = FALSE; /* @@ -1419,7 +1419,7 @@ again: mtx_unlock(&nfs_iod_mtx); return (error2); } - if (slpflag == NFS_PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } Modified: head/sys/nfsclient/nfs_vnops.c ============================================================================== --- head/sys/nfsclient/nfs_vnops.c Wed Mar 13 20:35:51 2013 (r248254) +++ head/sys/nfsclient/nfs_vnops.c Wed Mar 13 21:06:03 2013 (r248255) @@ -2992,7 +2992,7 @@ nfs_flush(struct vnode *vp, int waitfor, int bvecsize = 0, bveccount; if (nmp->nm_flag & NFSMNT_INT) - slpflag = NFS_PCATCH; + slpflag = PCATCH; if (!commit) passone = 0; bo = &vp->v_bufobj; @@ -3190,7 +3190,7 @@ loop: error = EINTR; goto done; } - if (slpflag & PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } @@ -3228,7 +3228,7 @@ loop: error = nfs_sigintr(nmp, td); if (error) goto done; - if (slpflag & PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } Modified: head/sys/nfsclient/nfsmount.h ============================================================================== --- head/sys/nfsclient/nfsmount.h Wed Mar 13 20:35:51 2013 (r248254) +++ head/sys/nfsclient/nfsmount.h Wed Mar 13 21:06:03 2013 (r248255) @@ -125,8 +125,6 @@ struct nfsmount { #define NFS_DEFAULT_NEGNAMETIMEO 60 #endif -#define NFS_PCATCH (PCATCH | PBDRY) - #endif #endif Modified: head/sys/rpc/clnt_rc.c ============================================================================== --- head/sys/rpc/clnt_rc.c Wed Mar 13 20:35:51 2013 (r248254) +++ head/sys/rpc/clnt_rc.c Wed Mar 13 21:06:03 2013 (r248255) @@ -247,8 +247,7 @@ clnt_reconnect_call( stat = clnt_reconnect_connect(cl); if (stat == RPC_SYSTEMERROR) { error = tsleep(&fake_wchan, - rc->rc_intr ? PCATCH | PBDRY : 0, "rpccon", - hz); + rc->rc_intr ? PCATCH : 0, "rpccon", hz); if (error == EINTR || error == ERESTART) return (RPC_INTR); tries++; Modified: head/sys/rpc/clnt_vc.c ============================================================================== --- head/sys/rpc/clnt_vc.c Wed Mar 13 20:35:51 2013 (r248254) +++ head/sys/rpc/clnt_vc.c Wed Mar 13 21:06:03 2013 (r248255) @@ -162,7 +162,7 @@ clnt_vc_create( interrupted = 0; sleep_flag = PSOCK; if (intrflag != 0) - sleep_flag |= (PCATCH | PBDRY); + sleep_flag |= PCATCH; while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) { error = msleep(&so->so_timeo, SOCK_MTX(so), @@ -470,7 +470,6 @@ call_again: errp->re_errno = error; switch (error) { case EINTR: - case ERESTART: stat = RPC_INTR; break; case EWOULDBLOCK: @@ -704,7 +703,7 @@ clnt_vc_control(CLIENT *cl, u_int reques case CLSET_INTERRUPTIBLE: if (*(int *) info) - ct->ct_waitflag = PCATCH | PBDRY; + ct->ct_waitflag = PCATCH; else ct->ct_waitflag = 0; break; From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 21:08:24 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5AE17666; Wed, 13 Mar 2013 21:08:24 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (garage.dawidek.net [91.121.88.72]) by mx1.freebsd.org (Postfix) with ESMTP id 1C69BA79; Wed, 13 Mar 2013 21:08:23 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id 92F3769F; Wed, 13 Mar 2013 22:05:04 +0100 (CET) Date: Wed, 13 Mar 2013 22:09:51 +0100 From: Pawel Jakub Dawidek To: John Baldwin Subject: Re: svn commit: r247814 - in head: . sys/amd64/conf sys/cam/ctl sys/conf sys/i386/conf Message-ID: <20130313210951.GB1372@garage.freebsd.pl> References: <201303042118.r24LIj5e008913@svn.freebsd.org> <20130312210921.GB1390@garage.freebsd.pl> <201303131108.27005.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="v9Ux+11Zm5mwPlX6" Content-Disposition: inline In-Reply-To: <201303131108.27005.jhb@freebsd.org> X-OS: FreeBSD 10.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, "Kenneth D. Merry" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 21:08:24 -0000 --v9Ux+11Zm5mwPlX6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Mar 13, 2013 at 11:08:26AM -0400, John Baldwin wrote: > On Tuesday, March 12, 2013 5:09:21 pm Pawel Jakub Dawidek wrote: > > On Mon, Mar 04, 2013 at 09:18:45PM +0000, Kenneth D. Merry wrote: > > > Author: ken > > > Date: Mon Mar 4 21:18:45 2013 > > > New Revision: 247814 > > > URL: http://svnweb.freebsd.org/changeset/base/247814 > > >=20 > > > Log: > > > Re-enable CTL in GENERIC on i386 and amd64, but turn on the CTL dis= able > > > tunable by default. > > > =20 > > > This will allow GENERIC configurations to boot on small memory boxe= s, but > > > not require end users who want to use CTL to recompile their kernel= =2E They > > > can simply set kern.cam.ctl.disable=3D0 in loader.conf. > >=20 > > Could you rename it to kern.cam.ctl.enable(d)? There was discussion at > > some point about sysctl/tunable names and the consensus was, AFAIR, to > > use positive(?) names as they are more obvious. >=20 > Except that all the hints we use for devices are hint.foo.X.disable=3D1 :) Well we have many sysctls too, but would be nice not to introduce new ones. --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://tupytaj.pl --v9Ux+11Zm5mwPlX6 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlFA6x8ACgkQForvXbEpPzSGkwCg83IUajZvqa9lBrrPoLG3qDuj kHEAn1/BNrNeyiT00JQAGheY4M9mPFsN =Zikp -----END PGP SIGNATURE----- --v9Ux+11Zm5mwPlX6-- From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 21:23:15 2013 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 67D75B07; Wed, 13 Mar 2013 21:23:15 +0000 (UTC) (envelope-from ken@kdm.org) Received: from nargothrond.kdm.org (nargothrond.kdm.org [70.56.43.81]) by mx1.freebsd.org (Postfix) with ESMTP id 2FAD0BE8; Wed, 13 Mar 2013 21:23:14 +0000 (UTC) Received: from nargothrond.kdm.org (localhost [127.0.0.1]) by nargothrond.kdm.org (8.14.2/8.14.2) with ESMTP id r2DLNDn9030320; Wed, 13 Mar 2013 15:23:13 -0600 (MDT) (envelope-from ken@nargothrond.kdm.org) Received: (from ken@localhost) by nargothrond.kdm.org (8.14.2/8.14.2/Submit) id r2DLNDdO030319; Wed, 13 Mar 2013 15:23:13 -0600 (MDT) (envelope-from ken) Date: Wed, 13 Mar 2013 15:23:13 -0600 From: "Kenneth D. Merry" To: Pawel Jakub Dawidek Subject: Re: svn commit: r247814 - in head: . sys/amd64/conf sys/cam/ctl sys/conf sys/i386/conf Message-ID: <20130313212313.GA29927@nargothrond.kdm.org> References: <201303042118.r24LIj5e008913@svn.freebsd.org> <20130312210921.GB1390@garage.freebsd.pl> <201303131108.27005.jhb@freebsd.org> <20130313210951.GB1372@garage.freebsd.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130313210951.GB1372@garage.freebsd.pl> User-Agent: Mutt/1.4.2i Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, John Baldwin X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 21:23:15 -0000 On Wed, Mar 13, 2013 at 22:09:51 +0100, Pawel Jakub Dawidek wrote: > On Wed, Mar 13, 2013 at 11:08:26AM -0400, John Baldwin wrote: > > On Tuesday, March 12, 2013 5:09:21 pm Pawel Jakub Dawidek wrote: > > > On Mon, Mar 04, 2013 at 09:18:45PM +0000, Kenneth D. Merry wrote: > > > > Author: ken > > > > Date: Mon Mar 4 21:18:45 2013 > > > > New Revision: 247814 > > > > URL: http://svnweb.freebsd.org/changeset/base/247814 > > > > > > > > Log: > > > > Re-enable CTL in GENERIC on i386 and amd64, but turn on the CTL disable > > > > tunable by default. > > > > > > > > This will allow GENERIC configurations to boot on small memory boxes, but > > > > not require end users who want to use CTL to recompile their kernel. They > > > > can simply set kern.cam.ctl.disable=0 in loader.conf. > > > > > > Could you rename it to kern.cam.ctl.enable(d)? There was discussion at > > > some point about sysctl/tunable names and the consensus was, AFAIR, to > > > use positive(?) names as they are more obvious. > > > > Except that all the hints we use for devices are hint.foo.X.disable=1 :) > > Well we have many sysctls too, but would be nice not to introduce new ones. This particular sysctl/tunable is not new. It was in 9.1. My concern with changing it is that it will lead to surprises for users who already have it set. Ken -- Kenneth Merry ken@FreeBSD.ORG From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 21:27:16 2013 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id EEFCBF70; Wed, 13 Mar 2013 21:27:15 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (garage.dawidek.net [91.121.88.72]) by mx1.freebsd.org (Postfix) with ESMTP id B6A3ECD0; Wed, 13 Mar 2013 21:27:15 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id C5BEF6B2; Wed, 13 Mar 2013 22:24:02 +0100 (CET) Date: Wed, 13 Mar 2013 22:28:49 +0100 From: Pawel Jakub Dawidek To: "Kenneth D. Merry" Subject: Re: svn commit: r247814 - in head: . sys/amd64/conf sys/cam/ctl sys/conf sys/i386/conf Message-ID: <20130313212849.GD1372@garage.freebsd.pl> References: <201303042118.r24LIj5e008913@svn.freebsd.org> <20130312210921.GB1390@garage.freebsd.pl> <201303131108.27005.jhb@freebsd.org> <20130313210951.GB1372@garage.freebsd.pl> <20130313212313.GA29927@nargothrond.kdm.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Hf61M2y+wYpnELGG" Content-Disposition: inline In-Reply-To: <20130313212313.GA29927@nargothrond.kdm.org> X-OS: FreeBSD 10.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, John Baldwin X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 21:27:16 -0000 --Hf61M2y+wYpnELGG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Mar 13, 2013 at 03:23:13PM -0600, Kenneth D. Merry wrote: > On Wed, Mar 13, 2013 at 22:09:51 +0100, Pawel Jakub Dawidek wrote: > > On Wed, Mar 13, 2013 at 11:08:26AM -0400, John Baldwin wrote: > > > On Tuesday, March 12, 2013 5:09:21 pm Pawel Jakub Dawidek wrote: > > > > On Mon, Mar 04, 2013 at 09:18:45PM +0000, Kenneth D. Merry wrote: > > > > > Author: ken > > > > > Date: Mon Mar 4 21:18:45 2013 > > > > > New Revision: 247814 > > > > > URL: http://svnweb.freebsd.org/changeset/base/247814 > > > > >=20 > > > > > Log: > > > > > Re-enable CTL in GENERIC on i386 and amd64, but turn on the CTL= disable > > > > > tunable by default. > > > > > =20 > > > > > This will allow GENERIC configurations to boot on small memory = boxes, but > > > > > not require end users who want to use CTL to recompile their ke= rnel. They > > > > > can simply set kern.cam.ctl.disable=3D0 in loader.conf. > > > >=20 > > > > Could you rename it to kern.cam.ctl.enable(d)? There was discussion= at > > > > some point about sysctl/tunable names and the consensus was, AFAIR,= to > > > > use positive(?) names as they are more obvious. > > >=20 > > > Except that all the hints we use for devices are hint.foo.X.disable= =3D1 :) > >=20 > > Well we have many sysctls too, but would be nice not to introduce new o= nes. >=20 > This particular sysctl/tunable is not new. It was in 9.1. >=20 > My concern with changing it is that it will lead to surprises for users w= ho > already have it set. I see. I thought it was just introduced in HEAD. --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://tupytaj.pl --Hf61M2y+wYpnELGG Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlFA75EACgkQForvXbEpPzRLfQCgsiJPbcfMIeUfx3saW7kaVNLC 784Aniu7uPlcT8B2082k0D3GSEq5Htmg =wFT6 -----END PGP SIGNATURE----- --Hf61M2y+wYpnELGG-- From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 22:01:32 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B87CDF5C; Wed, 13 Mar 2013 22:01:32 +0000 (UTC) (envelope-from tijl@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 915ABFDA; Wed, 13 Mar 2013 22:01:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DM1WgL094804; Wed, 13 Mar 2013 22:01:32 GMT (envelope-from tijl@svn.freebsd.org) Received: (from tijl@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DM1WIT094803; Wed, 13 Mar 2013 22:01:32 GMT (envelope-from tijl@svn.freebsd.org) Message-Id: <201303132201.r2DM1WIT094803@svn.freebsd.org> From: Tijl Coosemans Date: Wed, 13 Mar 2013 22:01:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248256 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 22:01:32 -0000 Author: tijl Date: Wed Mar 13 22:01:31 2013 New Revision: 248256 URL: http://svnweb.freebsd.org/changeset/base/248256 Log: - Fix two possible overflows when testing if ELF program headers are on the first page: 1. Cast uint16_t operands in a multiplication to unsigned int because otherwise the implicit promotion to int results in a signed multiplication that can overflow and the behaviour on integer overflow is undefined. 2. Replace (offset + size > PAGE_SIZE) with (size > PAGE_SIZE - offset) because the sum may overflow. - Use the same tests to see if the path to the interpreter is on the first page. There's no overflow here because size is already limited by MAXPATHLEN, but the compiler optimises the new tests better. Also fix an off-by-one error. - Simplify tests to see if an ELF note program header is on the first page. This also fixes an off-by-one error. Reviewed by: kib MFC after: 1 week Modified: head/sys/kern/imgact_elf.c Modified: head/sys/kern/imgact_elf.c ============================================================================== --- head/sys/kern/imgact_elf.c Wed Mar 13 21:06:03 2013 (r248255) +++ head/sys/kern/imgact_elf.c Wed Mar 13 22:01:31 2013 (r248256) @@ -661,9 +661,8 @@ __elfN(load_file)(struct proc *p, const } /* Only support headers that fit within first page for now */ - /* (multiplication of two Elf_Half fields will not overflow) */ if ((hdr->e_phoff > PAGE_SIZE) || - (hdr->e_phentsize * hdr->e_phnum) > PAGE_SIZE - hdr->e_phoff) { + (u_int)hdr->e_phentsize * hdr->e_phnum > PAGE_SIZE - hdr->e_phoff) { error = ENOEXEC; goto fail; } @@ -743,7 +742,7 @@ __CONCAT(exec_, __elfN(imgact))(struct i */ if ((hdr->e_phoff > PAGE_SIZE) || - (hdr->e_phoff + hdr->e_phentsize * hdr->e_phnum) > PAGE_SIZE) { + (u_int)hdr->e_phentsize * hdr->e_phnum > PAGE_SIZE - hdr->e_phoff) { /* Only support headers in first page for now */ return (ENOEXEC); } @@ -762,8 +761,8 @@ __CONCAT(exec_, __elfN(imgact))(struct i case PT_INTERP: /* Path to interpreter */ if (phdr[i].p_filesz > MAXPATHLEN || - phdr[i].p_offset >= PAGE_SIZE || - phdr[i].p_offset + phdr[i].p_filesz >= PAGE_SIZE) + phdr[i].p_offset > PAGE_SIZE || + phdr[i].p_filesz > PAGE_SIZE - phdr[i].p_offset) return (ENOEXEC); interp = imgp->image_header + phdr[i].p_offset; interp_name_len = phdr[i].p_filesz; @@ -1553,9 +1552,8 @@ __elfN(parse_notes)(struct image_params const char *note_name; int i; - if (pnote == NULL || pnote->p_offset >= PAGE_SIZE || - pnote->p_filesz > PAGE_SIZE || - pnote->p_offset + pnote->p_filesz >= PAGE_SIZE) + if (pnote == NULL || pnote->p_offset > PAGE_SIZE || + pnote->p_filesz > PAGE_SIZE - pnote->p_offset) return (FALSE); note = note0 = (const Elf_Note *)(imgp->image_header + pnote->p_offset); From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 22:27:01 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CB23BC8A; Wed, 13 Mar 2013 22:27:01 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BE2202FF; Wed, 13 Mar 2013 22:27:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DMR1db002053; Wed, 13 Mar 2013 22:27:01 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DMR1eo002052; Wed, 13 Mar 2013 22:27:01 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303132227.r2DMR1eo002052@svn.freebsd.org> From: Joel Dahl Date: Wed, 13 Mar 2013 22:27:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248257 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 22:27:01 -0000 Author: joel (doc committer) Date: Wed Mar 13 22:27:01 2013 New Revision: 248257 URL: http://svnweb.freebsd.org/changeset/base/248257 Log: vinum isn't a new product. Modified: head/share/man/man4/vinum.4 Modified: head/share/man/man4/vinum.4 ============================================================================== --- head/share/man/man4/vinum.4 Wed Mar 13 22:01:31 2013 (r248256) +++ head/share/man/man4/vinum.4 Wed Mar 13 22:27:01 2013 (r248257) @@ -36,7 +36,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 16, 2002 +.Dd March 13, 2013 .Dt VINUM 4 .Os .Sh NAME @@ -856,9 +856,6 @@ for its NetMAX product. .Sh AUTHORS .An Greg Lehey Aq grog@lemis.com . .Sh BUGS -.Nm -is a new product. -Bugs can be expected. The configuration mechanism is not yet fully functional. If you have difficulties, please look at the section @@ -876,8 +873,6 @@ kernel and test with the KLD module. Detection of differences between the version of the kernel and the KLD is not yet implemented. .Pp -The RAID-5 functionality is new in -.Fx 3.3 . Some problems have been reported with .Nm From owner-svn-src-all@FreeBSD.ORG Wed Mar 13 22:50:15 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3B147574; Wed, 13 Mar 2013 22:50:15 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2CE797AC; Wed, 13 Mar 2013 22:50:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2DMoFWO008296; Wed, 13 Mar 2013 22:50:15 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2DMoFXw008295; Wed, 13 Mar 2013 22:50:15 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201303132250.r2DMoFXw008295@svn.freebsd.org> From: "David E. O'Brien" Date: Wed, 13 Mar 2013 22:50:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248258 - head/usr.bin/unifdef X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Mar 2013 22:50:15 -0000 Author: obrien Date: Wed Mar 13 22:50:14 2013 New Revision: 248258 URL: http://svnweb.freebsd.org/changeset/base/248258 Log: No need to call an external program. Modified: head/usr.bin/unifdef/unifdefall.sh Modified: head/usr.bin/unifdef/unifdefall.sh ============================================================================== --- head/usr.bin/unifdef/unifdefall.sh Wed Mar 13 22:27:01 2013 (r248257) +++ head/usr.bin/unifdef/unifdefall.sh Wed Mar 13 22:50:14 2013 (r248258) @@ -42,8 +42,7 @@ case "$@" in shift esac -basename=$(basename "$0") -tmp=$(mktemp -d "${TMPDIR:-/tmp}/$basename.XXXXXXXXXX") || exit 2 +tmp=$(mktemp -d "${TMPDIR:-/tmp}/${0##*/}.XXXXXXXXXX") || exit 2 trap 'rm -r "$tmp" || exit 2' EXIT export LC_ALL=C From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 00:27:54 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D579F7E9; Thu, 14 Mar 2013 00:27:54 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BD1A66CB; Thu, 14 Mar 2013 00:27:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2E0RsUS038444; Thu, 14 Mar 2013 00:27:54 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2E0RsJW038443; Thu, 14 Mar 2013 00:27:54 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303140027.r2E0RsJW038443@svn.freebsd.org> From: Adrian Chadd Date: Thu, 14 Mar 2013 00:27:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248259 - head/sys/modules/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 00:27:54 -0000 Author: adrian Date: Thu Mar 14 00:27:53 2013 New Revision: 248259 URL: http://svnweb.freebsd.org/changeset/base/248259 Log: Disable warning/errors for two files for now - they don't compile clean with clang. I'll work on this soon. Modified: head/sys/modules/ath/Makefile Modified: head/sys/modules/ath/Makefile ============================================================================== --- head/sys/modules/ath/Makefile Wed Mar 13 22:50:14 2013 (r248258) +++ head/sys/modules/ath/Makefile Thu Mar 14 00:27:53 2013 (r248259) @@ -162,3 +162,7 @@ CWARNFLAGS.ah_regdomain.c= ${NO_WSHIFT_C # XXX Work around clang warnings, until maintainer approves fix. CWARNFLAGS.if_ath.c= ${NO_WSOMETIMES_UNINITIALIZED} CWARNFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} + +# AR9300 HAL build overrides, as there's still some code to tidy up +#CWARNFLAGS.ar9300_eeprom.c= ${NO_WCONSTANT_CONVERSION} +#CWARNFLAGS.ar9300_reset.c= ${NO_WSOMETIMES_UNINITIALIZED} From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 05:24:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CC455F49; Thu, 14 Mar 2013 05:24:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BDC0D365; Thu, 14 Mar 2013 05:24:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2E5OQiv029939; Thu, 14 Mar 2013 05:24:26 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2E5OQVC029938; Thu, 14 Mar 2013 05:24:26 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201303140524.r2E5OQVC029938@svn.freebsd.org> From: Alexander Motin Date: Thu, 14 Mar 2013 05:24:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248263 - stable/9/sys/geom/raid X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 05:24:26 -0000 Author: mav Date: Thu Mar 14 05:24:25 2013 New Revision: 248263 URL: http://svnweb.freebsd.org/changeset/base/248263 Log: MFC r247918: Fix panic when Secondary_Element_Count == 1 and Secondary_Element_Seq is not set (255). Modified: stable/9/sys/geom/raid/md_ddf.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/geom/raid/md_ddf.c ============================================================================== --- stable/9/sys/geom/raid/md_ddf.c Thu Mar 14 02:03:33 2013 (r248262) +++ stable/9/sys/geom/raid/md_ddf.c Thu Mar 14 05:24:25 2013 (r248263) @@ -881,7 +881,10 @@ ddf_vol_meta_update(struct ddf_vol_meta hdr = src->hdr; vde = &src->vdr->entry[ddf_meta_find_vd(src, GUID)]; vdc = ddf_meta_find_vdc(src, GUID); - bvd = GET8D(src, vdc->Secondary_Element_Seq); + if (GET8D(src, vdc->Secondary_Element_Count) == 1) + bvd = 0; + else + bvd = GET8D(src, vdc->Secondary_Element_Seq); size = GET16(src, hdr->Configuration_Record_Length) * src->sectorsize; if (dst->vdc == NULL || From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 06:20:03 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CBFABBF9; Thu, 14 Mar 2013 06:20:03 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AE7536F8; Thu, 14 Mar 2013 06:20:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2E6K3Qa046159; Thu, 14 Mar 2013 06:20:03 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2E6K3CP046154; Thu, 14 Mar 2013 06:20:03 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303140620.r2E6K3CP046154@svn.freebsd.org> From: Adrian Chadd Date: Thu, 14 Mar 2013 06:20:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248264 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 06:20:03 -0000 Author: adrian Date: Thu Mar 14 06:20:02 2013 New Revision: 248264 URL: http://svnweb.freebsd.org/changeset/base/248264 Log: Implement "holding buffers" per TX queue rather than globally. When working on TDMA, Sam Leffler found that the MAC DMA hardware would re-read the last TX descriptor when getting ready to transmit the next one. Thus the whole ATH_BUF_BUSY came into existance - the descriptor must be left alone (very specifically the link pointer must be maintained) until the hardware has moved onto the next frame. He saw this in TDMA because the MAC would be frequently stopping during active transmit (ie, when it wasn't its turn to transmit.) Fast-forward to today. It turns out that this is a problem not with a single MAC DMA instance, but with each QCU (from 0->9). They each maintain separate descriptor pointers and will re-read the last descriptor when starting to transmit the next. So when your AP is busy transmitting from multiple TX queues, you'll (more) frequently see one QCU stopped, waiting for a higher-priority QCU to finsh transmitting, before it'll go ahead and continue. If you mess up the descriptor (ie by freeing it) then you're short of luck. Thanks to rpaulo for sticking with me whilst I diagnosed this issue that he was quite reliably triggering in his environment. This is a reimplementation; it doesn't have anything in common with the ath9k or the Qualcomm Atheros reference driver. Now - it in theory doesn't apply on the EDMA chips, as long as you push one complete frame into the FIFO at a time. But the MAC can DMA from a list of frames pushed into the hardware queue (ie, you concat 'n' frames together with link pointers, and then push the head pointer into the TXQ FIFO.) Since that's likely how I'm going to implement CABQ handling in hostap mode, it's likely that I will end up teaching the EDMA TX completion code about busy buffers, just to be "sure" this doesn't creep up. Tested - iperf ap->sta and sta->ap (with both sides running this code): * AR5416 STA * AR9160/AR9220 hostap To validate that it doesn't break the EDMA (FIFO) chips: * AR9380, AR9485, AR9462 STA Using iperf with the -S to set the TCP client side DSCP bits, mapping to different TIDs and thus different TX queues. TODO: * Make this work on the EDMA chips, if we end up pushing lists of frames to the hardware (eg how we eventually will handle cabq in hostap/ibss mode.) Modified: head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_ath_sysctl.c head/sys/dev/ath/if_athvar.h Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Thu Mar 14 05:24:25 2013 (r248263) +++ head/sys/dev/ath/if_ath.c Thu Mar 14 06:20:02 2013 (r248264) @@ -3750,39 +3750,6 @@ ath_tx_update_ratectrl(struct ath_softc } /* - * Update the busy status of the last frame on the free list. - * When doing TDMA, the busy flag tracks whether the hardware - * currently points to this buffer or not, and thus gated DMA - * may restart by re-reading the last descriptor in this - * buffer. - * - * This should be called in the completion function once one - * of the buffers has been used. - */ -static void -ath_tx_update_busy(struct ath_softc *sc) -{ - struct ath_buf *last; - - /* - * Since the last frame may still be marked - * as ATH_BUF_BUSY, unmark it here before - * finishing the frame processing. - * Since we've completed a frame (aggregate - * or otherwise), the hardware has moved on - * and is no longer referencing the previous - * descriptor. - */ - ATH_TXBUF_LOCK_ASSERT(sc); - last = TAILQ_LAST(&sc->sc_txbuf_mgmt, ath_bufhead_s); - if (last != NULL) - last->bf_flags &= ~ATH_BUF_BUSY; - last = TAILQ_LAST(&sc->sc_txbuf, ath_bufhead_s); - if (last != NULL) - last->bf_flags &= ~ATH_BUF_BUSY; -} - -/* * Process the completion of the given buffer. * * This calls the rate control update and then the buffer completion. @@ -3901,7 +3868,6 @@ ath_tx_processq(struct ath_softc *sc, st break; } ATH_TXQ_REMOVE(txq, bf, bf_list); -#ifdef IEEE80211_SUPPORT_TDMA if (txq->axq_depth > 0) { /* * More frames follow. Mark the buffer busy @@ -3914,9 +3880,6 @@ ath_tx_processq(struct ath_softc *sc, st */ bf->bf_last->bf_flags |= ATH_BUF_BUSY; } else -#else - if (txq->axq_depth == 0) -#endif txq->axq_link = NULL; if (bf->bf_state.bfs_aggr) txq->axq_aggr_depth--; @@ -4188,6 +4151,51 @@ ath_returnbuf_head(struct ath_softc *sc, } /* + * Free the holding buffer if it exists + */ +static void +ath_txq_freeholdingbuf(struct ath_softc *sc, struct ath_txq *txq) +{ + + if (txq->axq_holdingbf == NULL) + return; + + txq->axq_holdingbf->bf_flags &= ~ATH_BUF_BUSY; + ATH_TXBUF_LOCK(sc); + ath_returnbuf_tail(sc, txq->axq_holdingbf); + ATH_TXBUF_UNLOCK(sc); + txq->axq_holdingbf = NULL; +} + +/* + * Add this buffer to the holding queue, freeing the previous + * one if it exists. + */ +static void +ath_txq_addholdingbuf(struct ath_softc *sc, struct ath_buf *bf) +{ + struct ath_txq *txq; + + /* XXX assert ATH_BUF_BUSY is set */ + + /* XXX assert the tx queue is under the max number */ + if (bf->bf_state.bfs_tx_queue > HAL_NUM_TX_QUEUES) { + device_printf(sc->sc_dev, "%s: bf=%p: invalid tx queue (%d)\n", + __func__, + bf, + bf->bf_state.bfs_tx_queue); + bf->bf_flags &= ~ATH_BUF_BUSY; + ath_returnbuf_tail(sc, bf); + return; + } + + txq = &sc->sc_txq[bf->bf_state.bfs_tx_queue]; + ath_txq_freeholdingbuf(sc, txq); + + txq->axq_holdingbf = bf; +} + +/* * Return a buffer to the pool and update the 'busy' flag on the * previous 'tail' entry. * @@ -4207,8 +4215,18 @@ ath_freebuf(struct ath_softc *sc, struct KASSERT((bf->bf_node == NULL), ("%s: bf->bf_node != NULL\n", __func__)); KASSERT((bf->bf_m == NULL), ("%s: bf->bf_m != NULL\n", __func__)); + /* + * If this buffer is busy, push it onto the holding queue + */ + if (bf->bf_flags & ATH_BUF_BUSY) { + ath_txq_addholdingbuf(sc, bf); + return; + } + + /* + * Not a busy buffer, so free normally + */ ATH_TXBUF_LOCK(sc); - ath_tx_update_busy(sc); ath_returnbuf_tail(sc, bf); ATH_TXBUF_UNLOCK(sc); } @@ -4261,15 +4279,6 @@ ath_tx_draintxq(struct ath_softc *sc, st * NB: this assumes output has been stopped and * we do not need to block ath_tx_proc */ - ATH_TXBUF_LOCK(sc); - bf = TAILQ_LAST(&sc->sc_txbuf, ath_bufhead_s); - if (bf != NULL) - bf->bf_flags &= ~ATH_BUF_BUSY; - bf = TAILQ_LAST(&sc->sc_txbuf_mgmt, ath_bufhead_s); - if (bf != NULL) - bf->bf_flags &= ~ATH_BUF_BUSY; - ATH_TXBUF_UNLOCK(sc); - for (ix = 0;; ix++) { ATH_TX_LOCK(sc); bf = TAILQ_FIRST(&txq->axq_q); @@ -4331,6 +4340,11 @@ ath_tx_draintxq(struct ath_softc *sc, st } /* + * Free the holding buffer if it exists + */ + ath_txq_freeholdingbuf(sc, txq); + + /* * Drain software queued frames which are on * active TIDs. */ Modified: head/sys/dev/ath/if_ath_sysctl.c ============================================================================== --- head/sys/dev/ath/if_ath_sysctl.c Thu Mar 14 05:24:25 2013 (r248263) +++ head/sys/dev/ath/if_ath_sysctl.c Thu Mar 14 06:20:02 2013 (r248264) @@ -361,11 +361,13 @@ ath_sysctl_txagg(SYSCTL_HANDLER_ARGS) for (i = 0; i < HAL_NUM_TX_QUEUES; i++) { if (ATH_TXQ_SETUP(sc, i)) { - printf("HW TXQ %d: axq_depth=%d, axq_aggr_depth=%d, axq_fifo_depth=%d\n", + printf("HW TXQ %d: axq_depth=%d, axq_aggr_depth=%d, " + "axq_fifo_depth=%d, holdingbf=%p\n", i, sc->sc_txq[i].axq_depth, sc->sc_txq[i].axq_aggr_depth, - sc->sc_txq[i].axq_fifo_depth); + sc->sc_txq[i].axq_fifo_depth, + sc->sc_txq[i].axq_holdingbf); } } Modified: head/sys/dev/ath/if_athvar.h ============================================================================== --- head/sys/dev/ath/if_athvar.h Thu Mar 14 05:24:25 2013 (r248263) +++ head/sys/dev/ath/if_athvar.h Thu Mar 14 06:20:02 2013 (r248264) @@ -329,6 +329,7 @@ struct ath_txq { u_int axq_intrcnt; /* interrupt count */ u_int32_t *axq_link; /* link ptr in last TX desc */ TAILQ_HEAD(axq_q_s, ath_buf) axq_q; /* transmit queue */ + struct ath_buf *axq_holdingbf; /* holding TX buffer */ char axq_name[12]; /* e.g. "ath0_txq4" */ /* Per-TID traffic queue for software -> hardware TX */ From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 08:18:40 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B028994B; Thu, 14 Mar 2013 08:18:40 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9810DAD1; Thu, 14 Mar 2013 08:18:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2E8Iew1083722; Thu, 14 Mar 2013 08:18:40 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2E8Iekw083721; Thu, 14 Mar 2013 08:18:40 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303140818.r2E8Iekw083721@svn.freebsd.org> From: Martin Matuska Date: Thu, 14 Mar 2013 08:18:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248265 - head/cddl/contrib/opensolaris/cmd/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 08:18:40 -0000 Author: mm Date: Thu Mar 14 08:18:40 2013 New Revision: 248265 URL: http://svnweb.freebsd.org/changeset/base/248265 Log: Update zfs.8 manpage date (missing in r247585) MFC: together with r247585 Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Mar 14 06:20:02 2013 (r248264) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Mar 14 08:18:40 2013 (r248265) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 10, 2013 +.Dd March 1, 2013 .Dt ZFS 8 .Os .Sh NAME From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 08:25:11 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2824BB82; Thu, 14 Mar 2013 08:25:11 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F1A19B1A; Thu, 14 Mar 2013 08:25:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2E8PA0Y086256; Thu, 14 Mar 2013 08:25:10 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2E8PAtC086252; Thu, 14 Mar 2013 08:25:10 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303140825.r2E8PAtC086252@svn.freebsd.org> From: Martin Matuska Date: Thu, 14 Mar 2013 08:25:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r248266 - in vendor/illumos/dist: cmd/zdb cmd/zpool man/man1m X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 08:25:11 -0000 Author: mm Date: Thu Mar 14 08:25:10 2013 New Revision: 248266 URL: http://svnweb.freebsd.org/changeset/base/248266 Log: Update vendor/illumos/dist to illumos-gate 13983:fe80600e1f8e Illumos ZFS issues: 3604 zdb should print bpobjs more verbosely (fix zdb hang) 3606 zpool status -x shouldn't warn about old on-disk format Modified: vendor/illumos/dist/cmd/zdb/zdb.c vendor/illumos/dist/cmd/zpool/zpool_main.c vendor/illumos/dist/man/man1m/zpool.1m Modified: vendor/illumos/dist/cmd/zdb/zdb.c ============================================================================== --- vendor/illumos/dist/cmd/zdb/zdb.c Thu Mar 14 08:18:40 2013 (r248265) +++ vendor/illumos/dist/cmd/zdb/zdb.c Thu Mar 14 08:25:10 2013 (r248266) @@ -1258,6 +1258,7 @@ dump_bpobj(bpobj_t *bpo, char *name, int continue; } dump_bpobj(&subbpo, "subobj", indent + 1); + bpobj_close(&subbpo); } } else { (void) printf(" %*s: object %llu, %llu blkptrs, %s\n", Modified: vendor/illumos/dist/cmd/zpool/zpool_main.c ============================================================================== --- vendor/illumos/dist/cmd/zpool/zpool_main.c Thu Mar 14 08:18:40 2013 (r248265) +++ vendor/illumos/dist/cmd/zpool/zpool_main.c Thu Mar 14 08:25:10 2013 (r248266) @@ -3923,7 +3923,10 @@ status_callback(zpool_handle_t *zhp, voi * If we were given 'zpool status -x', only report those pools with * problems. */ - if (reason == ZPOOL_STATUS_OK && cbp->cb_explain) { + if (cbp->cb_explain && + (reason == ZPOOL_STATUS_OK || + reason == ZPOOL_STATUS_VERSION_OLDER || + reason == ZPOOL_STATUS_FEAT_DISABLED)) { if (!cbp->cb_allpools) { (void) printf(gettext("pool '%s' is healthy\n"), zpool_get_name(zhp)); Modified: vendor/illumos/dist/man/man1m/zpool.1m ============================================================================== --- vendor/illumos/dist/man/man1m/zpool.1m Thu Mar 14 08:18:40 2013 (r248265) +++ vendor/illumos/dist/man/man1m/zpool.1m Thu Mar 14 08:25:10 2013 (r248266) @@ -1685,7 +1685,8 @@ can change. .ad .RS 6n Only display status for pools that are exhibiting errors or are otherwise -unavailable. +unavailable. Warnings about pools not using the latest on-disk format will +not be included. .RE .sp From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 10:03:00 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A77B2C82; Thu, 14 Mar 2013 10:03:00 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8B777F7F; Thu, 14 Mar 2013 10:03:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EA302T015665; Thu, 14 Mar 2013 10:03:00 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EA2xVN015654; Thu, 14 Mar 2013 10:02:59 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303141002.r2EA2xVN015654@svn.freebsd.org> From: Martin Matuska Date: Thu, 14 Mar 2013 10:02:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248267 - in head/cddl/contrib/opensolaris/cmd: zdb zpool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 10:03:00 -0000 Author: mm Date: Thu Mar 14 10:02:59 2013 New Revision: 248267 URL: http://svnweb.freebsd.org/changeset/base/248267 Log: MFV r248266: Import minor ZFS changes from vendor Illumos ZFS issues: 3604 zdb should print bpobjs more verbosely (fix zdb hang) 3606 zpool status -x shouldn't warn about old on-disk format MFC after: 3 days Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c head/cddl/contrib/opensolaris/cmd/zpool/zpool.8 head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Mar 14 08:25:10 2013 (r248266) +++ head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Mar 14 10:02:59 2013 (r248267) @@ -1225,6 +1225,7 @@ dump_bpobj(bpobj_t *bpo, char *name, int continue; } dump_bpobj(&subbpo, "subobj", indent + 1); + bpobj_close(&subbpo); } } else { (void) printf(" %*s: object %llu, %llu blkptrs, %s\n", Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Thu Mar 14 08:25:10 2013 (r248266) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Thu Mar 14 10:02:59 2013 (r248267) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 15, 2012 +.Dd March 14, 2013 .Dt ZPOOL 8 .Os .Sh NAME @@ -1608,14 +1608,15 @@ is specified, the command exits after .Ar count reports are printed. .Pp -If a scrub or resilver is in progress, this command reports the percentage done -and the estimated time to completion. Both of these are only approximate, +If a scrub or resilver is in progress, this command reports the percentage +done and the estimated time to completion. Both of these are only approximate, because the amount of data in the pool and the other workloads on the system can change. .Bl -tag -width indent .It Fl x Only display status for pools that are exhibiting errors or are otherwise unavailable. +Warnings about pools not using the latest on-disk format will not be included. .It Fl v Displays verbose data error information, printing out a complete list of all data errors since the last complete pool scrub. Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Thu Mar 14 08:25:10 2013 (r248266) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Thu Mar 14 10:02:59 2013 (r248267) @@ -4031,7 +4031,10 @@ status_callback(zpool_handle_t *zhp, voi * If we were given 'zpool status -x', only report those pools with * problems. */ - if (reason == ZPOOL_STATUS_OK && cbp->cb_explain) { + if (cbp->cb_explain && + (reason == ZPOOL_STATUS_OK || + reason == ZPOOL_STATUS_VERSION_OLDER || + reason == ZPOOL_STATUS_FEAT_DISABLED)) { if (!cbp->cb_allpools) { (void) printf(gettext("pool '%s' is healthy\n"), zpool_get_name(zhp)); From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 10:09:47 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AC08FE92; Thu, 14 Mar 2013 10:09:47 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id 1C10BFD3; Thu, 14 Mar 2013 10:09:46 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.6/8.14.6) with ESMTP id r2EA9jWY082280; Thu, 14 Mar 2013 14:09:45 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.6/8.14.6/Submit) id r2EA9jjb082279; Thu, 14 Mar 2013 14:09:45 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Thu, 14 Mar 2013 14:09:45 +0400 From: Gleb Smirnoff To: Joel Dahl Subject: Re: svn commit: r248257 - head/share/man/man4 Message-ID: <20130314100945.GZ48089@FreeBSD.org> References: <201303132227.r2DMR1eo002052@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <201303132227.r2DMR1eo002052@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 10:09:47 -0000 On Wed, Mar 13, 2013 at 10:27:01PM +0000, Joel Dahl wrote: J> Author: joel (doc committer) J> Date: Wed Mar 13 22:27:01 2013 J> New Revision: 248257 J> URL: http://svnweb.freebsd.org/changeset/base/248257 J> J> Log: J> vinum isn't a new product. vinum is actually not present in modern FreeBSD, gvinum is. Well, the gvinum.4 page isn't written, but I strongly doubt that vinum.4 page has at least 20% of content that would precisely apply to geom_vinum module. IMO, it would be better to remove the vinum.4 page. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 10:39:51 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BBC705C5; Thu, 14 Mar 2013 10:39:51 +0000 (UTC) (envelope-from joel@vnode.se) Received: from mail.vnode.se (mail.vnode.se [212.247.52.13]) by mx1.freebsd.org (Postfix) with ESMTP id 79FC019C; Thu, 14 Mar 2013 10:39:51 +0000 (UTC) Received: from mail.vnode.se (localhost [127.0.0.1]) by mail.vnode.se (Postfix) with ESMTP id 65872E3F07A; Thu, 14 Mar 2013 11:39:49 +0100 (CET) X-Virus-Scanned: amavisd-new at vnode.se Received: from mail.vnode.se ([127.0.0.1]) by mail.vnode.se (mail.vnode.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9wNgId52bBYZ; Thu, 14 Mar 2013 11:39:44 +0100 (CET) Received: from devbox.vnode.local (unknown [83.223.1.131]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.vnode.se (Postfix) with ESMTPSA id 9B30DE3F079; Thu, 14 Mar 2013 11:39:43 +0100 (CET) Date: Thu, 14 Mar 2013 11:39:42 +0100 From: Joel Dahl To: Gleb Smirnoff Subject: Re: svn commit: r248257 - head/share/man/man4 Message-ID: <20130314103942.GA74748@devbox.vnode.local> References: <201303132227.r2DMR1eo002052@svn.freebsd.org> <20130314100945.GZ48089@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130314100945.GZ48089@FreeBSD.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 10:39:51 -0000 On Thu, Mar 14, 2013 at 02:09:45PM +0400, Gleb Smirnoff wrote: > On Wed, Mar 13, 2013 at 10:27:01PM +0000, Joel Dahl wrote: > J> Author: joel (doc committer) > J> Date: Wed Mar 13 22:27:01 2013 > J> New Revision: 248257 > J> URL: http://svnweb.freebsd.org/changeset/base/248257 > J> > J> Log: > J> vinum isn't a new product. > > vinum is actually not present in modern FreeBSD, gvinum is. > > Well, the gvinum.4 page isn't written, but I strongly > doubt that vinum.4 page has at least 20% of content that > would precisely apply to geom_vinum module. > > IMO, it would be better to remove the vinum.4 page. No objection from me. -- Joel From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 17:48:09 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AADAC38E; Thu, 14 Mar 2013 17:48:09 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8B73EF57; Thu, 14 Mar 2013 17:48:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EHm90Y057549; Thu, 14 Mar 2013 17:48:09 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EHm8rq057539; Thu, 14 Mar 2013 17:48:08 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201303141748.r2EHm8rq057539@svn.freebsd.org> From: Xin LI Date: Thu, 14 Mar 2013 17:48:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248272 - in stable/9: crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl/crypto/asn1 crypto/openssl/crypto/ec crypto/openssl/crypto/ecdh crypto/openssl/crypto/ecds... X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 17:48:09 -0000 Author: delphij Date: Thu Mar 14 17:48:07 2013 New Revision: 248272 URL: http://svnweb.freebsd.org/changeset/base/248272 Log: Merge OpenSSL 0.9.8y. This is a direct commit to stable/9 as HEAD is on a different release now. Added: stable/9/crypto/openssl/ssl/s3_cbc.c - copied unchanged from r248057, vendor-crypto/openssl/dist-0.9.8/ssl/s3_cbc.c Modified: stable/9/crypto/openssl/CHANGES stable/9/crypto/openssl/Configure stable/9/crypto/openssl/FAQ stable/9/crypto/openssl/Makefile stable/9/crypto/openssl/NEWS stable/9/crypto/openssl/README stable/9/crypto/openssl/apps/Makefile stable/9/crypto/openssl/apps/apps.c stable/9/crypto/openssl/apps/dhparam.c stable/9/crypto/openssl/apps/s_server.c stable/9/crypto/openssl/crypto/asn1/a_strex.c stable/9/crypto/openssl/crypto/asn1/a_verify.c stable/9/crypto/openssl/crypto/asn1/x_pubkey.c stable/9/crypto/openssl/crypto/cryptlib.c stable/9/crypto/openssl/crypto/crypto.h stable/9/crypto/openssl/crypto/ec/ec.h stable/9/crypto/openssl/crypto/ec/ec_key.c stable/9/crypto/openssl/crypto/ecdh/ech_lib.c stable/9/crypto/openssl/crypto/ecdsa/ecs_lib.c stable/9/crypto/openssl/crypto/o_init.c stable/9/crypto/openssl/crypto/ocsp/ocsp_vfy.c stable/9/crypto/openssl/crypto/opensslv.h stable/9/crypto/openssl/crypto/rsa/rsa_oaep.c stable/9/crypto/openssl/crypto/symhacks.h stable/9/crypto/openssl/doc/apps/CA.pl.pod stable/9/crypto/openssl/engines/e_capi.c stable/9/crypto/openssl/openssl.spec stable/9/crypto/openssl/ssl/Makefile stable/9/crypto/openssl/ssl/d1_enc.c stable/9/crypto/openssl/ssl/d1_pkt.c stable/9/crypto/openssl/ssl/s2_clnt.c stable/9/crypto/openssl/ssl/s2_pkt.c stable/9/crypto/openssl/ssl/s3_both.c stable/9/crypto/openssl/ssl/s3_clnt.c stable/9/crypto/openssl/ssl/s3_enc.c stable/9/crypto/openssl/ssl/s3_pkt.c stable/9/crypto/openssl/ssl/s3_srvr.c stable/9/crypto/openssl/ssl/ssl.h stable/9/crypto/openssl/ssl/ssl3.h stable/9/crypto/openssl/ssl/ssl_err.c stable/9/crypto/openssl/ssl/ssl_lib.c stable/9/crypto/openssl/ssl/ssl_locl.h stable/9/crypto/openssl/ssl/t1_enc.c stable/9/crypto/openssl/ssl/t1_lib.c stable/9/crypto/openssl/util/libeay.num stable/9/secure/lib/libcrypto/Makefile.inc stable/9/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 stable/9/secure/lib/libcrypto/man/ASN1_STRING_length.3 stable/9/secure/lib/libcrypto/man/ASN1_STRING_new.3 stable/9/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 stable/9/secure/lib/libcrypto/man/ASN1_generate_nconf.3 stable/9/secure/lib/libcrypto/man/BIO_ctrl.3 stable/9/secure/lib/libcrypto/man/BIO_f_base64.3 stable/9/secure/lib/libcrypto/man/BIO_f_buffer.3 stable/9/secure/lib/libcrypto/man/BIO_f_cipher.3 stable/9/secure/lib/libcrypto/man/BIO_f_md.3 stable/9/secure/lib/libcrypto/man/BIO_f_null.3 stable/9/secure/lib/libcrypto/man/BIO_f_ssl.3 stable/9/secure/lib/libcrypto/man/BIO_find_type.3 stable/9/secure/lib/libcrypto/man/BIO_new.3 stable/9/secure/lib/libcrypto/man/BIO_push.3 stable/9/secure/lib/libcrypto/man/BIO_read.3 stable/9/secure/lib/libcrypto/man/BIO_s_accept.3 stable/9/secure/lib/libcrypto/man/BIO_s_bio.3 stable/9/secure/lib/libcrypto/man/BIO_s_connect.3 stable/9/secure/lib/libcrypto/man/BIO_s_fd.3 stable/9/secure/lib/libcrypto/man/BIO_s_file.3 stable/9/secure/lib/libcrypto/man/BIO_s_mem.3 stable/9/secure/lib/libcrypto/man/BIO_s_null.3 stable/9/secure/lib/libcrypto/man/BIO_s_socket.3 stable/9/secure/lib/libcrypto/man/BIO_set_callback.3 stable/9/secure/lib/libcrypto/man/BIO_should_retry.3 stable/9/secure/lib/libcrypto/man/BN_BLINDING_new.3 stable/9/secure/lib/libcrypto/man/BN_CTX_new.3 stable/9/secure/lib/libcrypto/man/BN_CTX_start.3 stable/9/secure/lib/libcrypto/man/BN_add.3 stable/9/secure/lib/libcrypto/man/BN_add_word.3 stable/9/secure/lib/libcrypto/man/BN_bn2bin.3 stable/9/secure/lib/libcrypto/man/BN_cmp.3 stable/9/secure/lib/libcrypto/man/BN_copy.3 stable/9/secure/lib/libcrypto/man/BN_generate_prime.3 stable/9/secure/lib/libcrypto/man/BN_mod_inverse.3 stable/9/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 stable/9/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 stable/9/secure/lib/libcrypto/man/BN_new.3 stable/9/secure/lib/libcrypto/man/BN_num_bytes.3 stable/9/secure/lib/libcrypto/man/BN_rand.3 stable/9/secure/lib/libcrypto/man/BN_set_bit.3 stable/9/secure/lib/libcrypto/man/BN_swap.3 stable/9/secure/lib/libcrypto/man/BN_zero.3 stable/9/secure/lib/libcrypto/man/CONF_modules_free.3 stable/9/secure/lib/libcrypto/man/CONF_modules_load_file.3 stable/9/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 stable/9/secure/lib/libcrypto/man/DH_generate_key.3 stable/9/secure/lib/libcrypto/man/DH_generate_parameters.3 stable/9/secure/lib/libcrypto/man/DH_get_ex_new_index.3 stable/9/secure/lib/libcrypto/man/DH_new.3 stable/9/secure/lib/libcrypto/man/DH_set_method.3 stable/9/secure/lib/libcrypto/man/DH_size.3 stable/9/secure/lib/libcrypto/man/DSA_SIG_new.3 stable/9/secure/lib/libcrypto/man/DSA_do_sign.3 stable/9/secure/lib/libcrypto/man/DSA_dup_DH.3 stable/9/secure/lib/libcrypto/man/DSA_generate_key.3 stable/9/secure/lib/libcrypto/man/DSA_generate_parameters.3 stable/9/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 stable/9/secure/lib/libcrypto/man/DSA_new.3 stable/9/secure/lib/libcrypto/man/DSA_set_method.3 stable/9/secure/lib/libcrypto/man/DSA_sign.3 stable/9/secure/lib/libcrypto/man/DSA_size.3 stable/9/secure/lib/libcrypto/man/ERR_GET_LIB.3 stable/9/secure/lib/libcrypto/man/ERR_clear_error.3 stable/9/secure/lib/libcrypto/man/ERR_error_string.3 stable/9/secure/lib/libcrypto/man/ERR_get_error.3 stable/9/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 stable/9/secure/lib/libcrypto/man/ERR_load_strings.3 stable/9/secure/lib/libcrypto/man/ERR_print_errors.3 stable/9/secure/lib/libcrypto/man/ERR_put_error.3 stable/9/secure/lib/libcrypto/man/ERR_remove_state.3 stable/9/secure/lib/libcrypto/man/ERR_set_mark.3 stable/9/secure/lib/libcrypto/man/EVP_BytesToKey.3 stable/9/secure/lib/libcrypto/man/EVP_DigestInit.3 stable/9/secure/lib/libcrypto/man/EVP_EncryptInit.3 stable/9/secure/lib/libcrypto/man/EVP_OpenInit.3 stable/9/secure/lib/libcrypto/man/EVP_PKEY_new.3 stable/9/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 stable/9/secure/lib/libcrypto/man/EVP_SealInit.3 stable/9/secure/lib/libcrypto/man/EVP_SignInit.3 stable/9/secure/lib/libcrypto/man/EVP_VerifyInit.3 stable/9/secure/lib/libcrypto/man/OBJ_nid2obj.3 stable/9/secure/lib/libcrypto/man/OPENSSL_Applink.3 stable/9/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 stable/9/secure/lib/libcrypto/man/OPENSSL_config.3 stable/9/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 stable/9/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 stable/9/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 stable/9/secure/lib/libcrypto/man/PKCS12_create.3 stable/9/secure/lib/libcrypto/man/PKCS12_parse.3 stable/9/secure/lib/libcrypto/man/PKCS7_decrypt.3 stable/9/secure/lib/libcrypto/man/PKCS7_encrypt.3 stable/9/secure/lib/libcrypto/man/PKCS7_sign.3 stable/9/secure/lib/libcrypto/man/PKCS7_verify.3 stable/9/secure/lib/libcrypto/man/RAND_add.3 stable/9/secure/lib/libcrypto/man/RAND_bytes.3 stable/9/secure/lib/libcrypto/man/RAND_cleanup.3 stable/9/secure/lib/libcrypto/man/RAND_egd.3 stable/9/secure/lib/libcrypto/man/RAND_load_file.3 stable/9/secure/lib/libcrypto/man/RAND_set_rand_method.3 stable/9/secure/lib/libcrypto/man/RSA_blinding_on.3 stable/9/secure/lib/libcrypto/man/RSA_check_key.3 stable/9/secure/lib/libcrypto/man/RSA_generate_key.3 stable/9/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 stable/9/secure/lib/libcrypto/man/RSA_new.3 stable/9/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 stable/9/secure/lib/libcrypto/man/RSA_print.3 stable/9/secure/lib/libcrypto/man/RSA_private_encrypt.3 stable/9/secure/lib/libcrypto/man/RSA_public_encrypt.3 stable/9/secure/lib/libcrypto/man/RSA_set_method.3 stable/9/secure/lib/libcrypto/man/RSA_sign.3 stable/9/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 stable/9/secure/lib/libcrypto/man/RSA_size.3 stable/9/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 stable/9/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 stable/9/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 stable/9/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 stable/9/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 stable/9/secure/lib/libcrypto/man/X509_NAME_print_ex.3 stable/9/secure/lib/libcrypto/man/X509_new.3 stable/9/secure/lib/libcrypto/man/bio.3 stable/9/secure/lib/libcrypto/man/blowfish.3 stable/9/secure/lib/libcrypto/man/bn.3 stable/9/secure/lib/libcrypto/man/bn_internal.3 stable/9/secure/lib/libcrypto/man/buffer.3 stable/9/secure/lib/libcrypto/man/crypto.3 stable/9/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 stable/9/secure/lib/libcrypto/man/d2i_DHparams.3 stable/9/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 stable/9/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 stable/9/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 stable/9/secure/lib/libcrypto/man/d2i_X509.3 stable/9/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 stable/9/secure/lib/libcrypto/man/d2i_X509_CRL.3 stable/9/secure/lib/libcrypto/man/d2i_X509_NAME.3 stable/9/secure/lib/libcrypto/man/d2i_X509_REQ.3 stable/9/secure/lib/libcrypto/man/d2i_X509_SIG.3 stable/9/secure/lib/libcrypto/man/des.3 stable/9/secure/lib/libcrypto/man/dh.3 stable/9/secure/lib/libcrypto/man/dsa.3 stable/9/secure/lib/libcrypto/man/ecdsa.3 stable/9/secure/lib/libcrypto/man/engine.3 stable/9/secure/lib/libcrypto/man/err.3 stable/9/secure/lib/libcrypto/man/evp.3 stable/9/secure/lib/libcrypto/man/hmac.3 stable/9/secure/lib/libcrypto/man/lh_stats.3 stable/9/secure/lib/libcrypto/man/lhash.3 stable/9/secure/lib/libcrypto/man/md5.3 stable/9/secure/lib/libcrypto/man/mdc2.3 stable/9/secure/lib/libcrypto/man/pem.3 stable/9/secure/lib/libcrypto/man/rand.3 stable/9/secure/lib/libcrypto/man/rc4.3 stable/9/secure/lib/libcrypto/man/ripemd.3 stable/9/secure/lib/libcrypto/man/rsa.3 stable/9/secure/lib/libcrypto/man/sha.3 stable/9/secure/lib/libcrypto/man/threads.3 stable/9/secure/lib/libcrypto/man/ui.3 stable/9/secure/lib/libcrypto/man/ui_compat.3 stable/9/secure/lib/libcrypto/man/x509.3 stable/9/secure/lib/libssl/Makefile stable/9/secure/lib/libssl/man/SSL_CIPHER_get_name.3 stable/9/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 stable/9/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 stable/9/secure/lib/libssl/man/SSL_CTX_add_session.3 stable/9/secure/lib/libssl/man/SSL_CTX_ctrl.3 stable/9/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 stable/9/secure/lib/libssl/man/SSL_CTX_free.3 stable/9/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 stable/9/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 stable/9/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 stable/9/secure/lib/libssl/man/SSL_CTX_new.3 stable/9/secure/lib/libssl/man/SSL_CTX_sess_number.3 stable/9/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 stable/9/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 stable/9/secure/lib/libssl/man/SSL_CTX_sessions.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_mode.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_options.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_timeout.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_verify.3 stable/9/secure/lib/libssl/man/SSL_CTX_use_certificate.3 stable/9/secure/lib/libssl/man/SSL_SESSION_free.3 stable/9/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 stable/9/secure/lib/libssl/man/SSL_SESSION_get_time.3 stable/9/secure/lib/libssl/man/SSL_accept.3 stable/9/secure/lib/libssl/man/SSL_alert_type_string.3 stable/9/secure/lib/libssl/man/SSL_clear.3 stable/9/secure/lib/libssl/man/SSL_connect.3 stable/9/secure/lib/libssl/man/SSL_do_handshake.3 stable/9/secure/lib/libssl/man/SSL_free.3 stable/9/secure/lib/libssl/man/SSL_get_SSL_CTX.3 stable/9/secure/lib/libssl/man/SSL_get_ciphers.3 stable/9/secure/lib/libssl/man/SSL_get_client_CA_list.3 stable/9/secure/lib/libssl/man/SSL_get_current_cipher.3 stable/9/secure/lib/libssl/man/SSL_get_default_timeout.3 stable/9/secure/lib/libssl/man/SSL_get_error.3 stable/9/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 stable/9/secure/lib/libssl/man/SSL_get_ex_new_index.3 stable/9/secure/lib/libssl/man/SSL_get_fd.3 stable/9/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 stable/9/secure/lib/libssl/man/SSL_get_peer_certificate.3 stable/9/secure/lib/libssl/man/SSL_get_rbio.3 stable/9/secure/lib/libssl/man/SSL_get_session.3 stable/9/secure/lib/libssl/man/SSL_get_verify_result.3 stable/9/secure/lib/libssl/man/SSL_get_version.3 stable/9/secure/lib/libssl/man/SSL_library_init.3 stable/9/secure/lib/libssl/man/SSL_load_client_CA_file.3 stable/9/secure/lib/libssl/man/SSL_new.3 stable/9/secure/lib/libssl/man/SSL_pending.3 stable/9/secure/lib/libssl/man/SSL_read.3 stable/9/secure/lib/libssl/man/SSL_rstate_string.3 stable/9/secure/lib/libssl/man/SSL_session_reused.3 stable/9/secure/lib/libssl/man/SSL_set_bio.3 stable/9/secure/lib/libssl/man/SSL_set_connect_state.3 stable/9/secure/lib/libssl/man/SSL_set_fd.3 stable/9/secure/lib/libssl/man/SSL_set_session.3 stable/9/secure/lib/libssl/man/SSL_set_shutdown.3 stable/9/secure/lib/libssl/man/SSL_set_verify_result.3 stable/9/secure/lib/libssl/man/SSL_shutdown.3 stable/9/secure/lib/libssl/man/SSL_state_string.3 stable/9/secure/lib/libssl/man/SSL_want.3 stable/9/secure/lib/libssl/man/SSL_write.3 stable/9/secure/lib/libssl/man/d2i_SSL_SESSION.3 stable/9/secure/lib/libssl/man/ssl.3 stable/9/secure/usr.bin/openssl/man/CA.pl.1 stable/9/secure/usr.bin/openssl/man/asn1parse.1 stable/9/secure/usr.bin/openssl/man/ca.1 stable/9/secure/usr.bin/openssl/man/ciphers.1 stable/9/secure/usr.bin/openssl/man/crl.1 stable/9/secure/usr.bin/openssl/man/crl2pkcs7.1 stable/9/secure/usr.bin/openssl/man/dgst.1 stable/9/secure/usr.bin/openssl/man/dhparam.1 stable/9/secure/usr.bin/openssl/man/dsa.1 stable/9/secure/usr.bin/openssl/man/dsaparam.1 stable/9/secure/usr.bin/openssl/man/ec.1 stable/9/secure/usr.bin/openssl/man/ecparam.1 stable/9/secure/usr.bin/openssl/man/enc.1 stable/9/secure/usr.bin/openssl/man/errstr.1 stable/9/secure/usr.bin/openssl/man/gendsa.1 stable/9/secure/usr.bin/openssl/man/genrsa.1 stable/9/secure/usr.bin/openssl/man/nseq.1 stable/9/secure/usr.bin/openssl/man/ocsp.1 stable/9/secure/usr.bin/openssl/man/openssl.1 stable/9/secure/usr.bin/openssl/man/passwd.1 stable/9/secure/usr.bin/openssl/man/pkcs12.1 stable/9/secure/usr.bin/openssl/man/pkcs7.1 stable/9/secure/usr.bin/openssl/man/pkcs8.1 stable/9/secure/usr.bin/openssl/man/rand.1 stable/9/secure/usr.bin/openssl/man/req.1 stable/9/secure/usr.bin/openssl/man/rsa.1 stable/9/secure/usr.bin/openssl/man/rsautl.1 stable/9/secure/usr.bin/openssl/man/s_client.1 stable/9/secure/usr.bin/openssl/man/s_server.1 stable/9/secure/usr.bin/openssl/man/s_time.1 stable/9/secure/usr.bin/openssl/man/sess_id.1 stable/9/secure/usr.bin/openssl/man/smime.1 stable/9/secure/usr.bin/openssl/man/speed.1 stable/9/secure/usr.bin/openssl/man/spkac.1 stable/9/secure/usr.bin/openssl/man/verify.1 stable/9/secure/usr.bin/openssl/man/version.1 stable/9/secure/usr.bin/openssl/man/x509.1 stable/9/secure/usr.bin/openssl/man/x509v3_config.1 Directory Properties: stable/9/crypto/openssl/ (props changed) Modified: stable/9/crypto/openssl/CHANGES ============================================================================== --- stable/9/crypto/openssl/CHANGES Thu Mar 14 16:40:42 2013 (r248271) +++ stable/9/crypto/openssl/CHANGES Thu Mar 14 17:48:07 2013 (r248272) @@ -2,6 +2,35 @@ OpenSSL CHANGES _______________ + Changes between 0.9.8x and 0.9.8y [5 Feb 2013] + + *) Make the decoding of SSLv3, TLS and DTLS CBC records constant time. + + This addresses the flaw in CBC record processing discovered by + Nadhem Alfardan and Kenny Paterson. Details of this attack can be found + at: http://www.isg.rhul.ac.uk/tls/ + + Thanks go to Nadhem Alfardan and Kenny Paterson of the Information + Security Group at Royal Holloway, University of London + (www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and + Emilia Käsper for the initial patch. + (CVE-2013-0169) + [Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson] + + *) Return an error when checking OCSP signatures when key is NULL. + This fixes a DoS attack. (CVE-2013-0166) + [Steve Henson] + + *) Call OCSP Stapling callback after ciphersuite has been chosen, so + the right response is stapled. Also change SSL_get_certificate() + so it returns the certificate actually sent. + See http://rt.openssl.org/Ticket/Display.html?id=2836. + (This is a backport) + [Rob Stradling ] + + *) Fix possible deadlock when decoding public keys. + [Steve Henson] + Changes between 0.9.8w and 0.9.8x [10 May 2012] *) Sanity check record length before skipping explicit IV in DTLS Modified: stable/9/crypto/openssl/Configure ============================================================================== --- stable/9/crypto/openssl/Configure Thu Mar 14 16:40:42 2013 (r248271) +++ stable/9/crypto/openssl/Configure Thu Mar 14 17:48:07 2013 (r248272) @@ -162,6 +162,7 @@ my %table=( "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", "debug-ben-debug", "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -ggdb3 -O2 -pipe::(unknown)::::::", +"debug-ben-debug-64", "gcc:$gcc_devteam_warn -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-ben-debug-noopt", "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -ggdb3 -pipe::(unknown)::::::", "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::", "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", @@ -172,10 +173,10 @@ my %table=( "debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -m32 -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", "debug-steve-linux-pseudo64", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DOPENSSL_NO_ASM -g -mcpu=i486 -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:SIXTY_FOUR_BIT:${no_asm}:dlfcn:linux-shared", -"debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -"debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -"debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -"debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -ggdb -g3 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -ggdb -g3 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -DPEDANTIC -ggdb -g3 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -ggdb -g3 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-geoff","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn", "debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn", @@ -428,8 +429,8 @@ my %table=( "aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X64", # Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE # at build time. $OBJECT_MODE is respected at ./config stage! -"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32", -"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64", +"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded -D_THREAD_SAFE:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32", +"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded -D_THREAD_SAFE:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64", # # Cray T90 and similar (SDSC) Modified: stable/9/crypto/openssl/FAQ ============================================================================== --- stable/9/crypto/openssl/FAQ Thu Mar 14 16:40:42 2013 (r248271) +++ stable/9/crypto/openssl/FAQ Thu Mar 14 17:48:07 2013 (r248272) @@ -83,7 +83,7 @@ OpenSSL - Frequently Asked Questions * Which is the current version of OpenSSL? The current version is available from . -OpenSSL 1.0.1c was released on May 10th, 2012. +OpenSSL 1.0.1d was released on Feb 5th, 2013. In addition to the current stable release, you can also access daily snapshots of the OpenSSL development version at Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 74C6A4FB; Thu, 14 Mar 2013 18:46:12 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 500162C1; Thu, 14 Mar 2013 18:46:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EIkCYl075506; Thu, 14 Mar 2013 18:46:12 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EIkCme075505; Thu, 14 Mar 2013 18:46:12 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303141846.r2EIkCme075505@svn.freebsd.org> From: Joel Dahl Date: Thu, 14 Mar 2013 18:46:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248273 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 18:46:12 -0000 Author: joel (doc committer) Date: Thu Mar 14 18:46:11 2013 New Revision: 248273 URL: http://svnweb.freebsd.org/changeset/base/248273 Log: Add GEOM_* kernel options to the SYNOPSIS. Modified: head/share/man/man4/geom.4 Modified: head/share/man/man4/geom.4 ============================================================================== --- head/share/man/man4/geom.4 Thu Mar 14 17:48:07 2013 (r248272) +++ head/share/man/man4/geom.4 Thu Mar 14 18:46:11 2013 (r248273) @@ -34,12 +34,47 @@ .\" .\" $FreeBSD$ .\" -.Dd May 25, 2006 +.Dd March 14, 2013 .Dt GEOM 4 .Os .Sh NAME .Nm GEOM .Nd "modular disk I/O request transformation framework" +.Sh SYNOPSIS +.Cd options GEOM_AES +.Cd options GEOM_BDE +.Cd options GEOM_BSD +.Cd options GEOM_CACHE +.Cd options GEOM_CONCAT +.Cd options GEOM_ELI +.Cd options GEOM_FOX +.Cd options GEOM_GATE +.Cd options GEOM_JOURNAL +.Cd options GEOM_LABEL +.Cd options GEOM_LINUX_LVM +.Cd options GEOM_MBR +.Cd options GEOM_MIRROR +.Cd options GEOM_MULTIPATH +.Cd options GEOM_NOP +.Cd options GEOM_PART_APM +.Cd options GEOM_PART_BSD +.Cd options GEOM_PART_EBR +.Cd options GEOM_PART_EBR_COMPAT +.Cd options GEOM_PART_GPT +.Cd options GEOM_PART_LDM +.Cd options GEOM_PART_MBR +.Cd options GEOM_PART_PC98 +.Cd options GEOM_PART_VTOC8 +.Cd options GEOM_PC98 +.Cd options GEOM_RAID +.Cd options GEOM_RAID3 +.Cd options GEOM_SHSEC +.Cd options GEOM_STRIPE +.Cd options GEOM_SUNLABEL +.Cd options GEOM_UZIP +.Cd options GEOM_VIRSTOR +.Cd options GEOM_VOL +.Cd options GEOM_ZERO .Sh DESCRIPTION The .Nm From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 18:55:41 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id A4F4CAC3; Thu, 14 Mar 2013 18:55:41 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8C92437E; Thu, 14 Mar 2013 18:55:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EItfvT078649; Thu, 14 Mar 2013 18:55:41 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EItf5o078648; Thu, 14 Mar 2013 18:55:41 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303141855.r2EItf5o078648@svn.freebsd.org> From: Joel Dahl Date: Thu, 14 Mar 2013 18:55:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248274 - head/sbin/gvinum X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 18:55:41 -0000 Author: joel (doc committer) Date: Thu Mar 14 18:55:41 2013 New Revision: 248274 URL: http://svnweb.freebsd.org/changeset/base/248274 Log: Minor mdoc fixes. Modified: head/sbin/gvinum/gvinum.8 Modified: head/sbin/gvinum/gvinum.8 ============================================================================== --- head/sbin/gvinum/gvinum.8 Thu Mar 14 18:46:11 2013 (r248273) +++ head/sbin/gvinum/gvinum.8 Thu Mar 14 18:55:41 2013 (r248274) @@ -388,7 +388,10 @@ documentation were added by .An "Chris Jones" through the 2005 Google Summer of Code program. -.Ic a partial rewrite of gvinum was done by "Lukas Ertl" and "Ulf Lilleengen" +A partial rewrite of gvinum was done by +.An "Lukas Ertl" +and +.An "Ulf Lilleengen" through the 2007 Google Summer of Code program. The documentation have been updated to reflect the new functionality. .Sh AUTHORS From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 19:36:20 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9182972E; Thu, 14 Mar 2013 19:36:20 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 840BC74B; Thu, 14 Mar 2013 19:36:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EJaKk1091419; Thu, 14 Mar 2013 19:36:20 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EJaKli091418; Thu, 14 Mar 2013 19:36:20 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303141936.r2EJaKli091418@svn.freebsd.org> From: Joel Dahl Date: Thu, 14 Mar 2013 19:36:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248275 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 19:36:20 -0000 Author: joel (doc committer) Date: Thu Mar 14 19:36:20 2013 New Revision: 248275 URL: http://svnweb.freebsd.org/changeset/base/248275 Log: Fix minor spelling error in a comment. Modified: head/sys/conf/NOTES Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Thu Mar 14 18:55:41 2013 (r248274) +++ head/sys/conf/NOTES Thu Mar 14 19:36:20 2013 (r248275) @@ -986,7 +986,7 @@ options DUMMYNET # See zero_copy(9) for more details. # XXX: The COW based send mechanism is not safe and may result in # kernel crashes. -# XXX: None of the current NIC drivers support disposeable pages. +# XXX: None of the current NIC drivers support disposable pages. options SOCKET_SEND_COW options SOCKET_RECV_PFLIP From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 19:48:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7AD46A07; Thu, 14 Mar 2013 19:48:26 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 507537F0; Thu, 14 Mar 2013 19:48:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EJmPhE094623; Thu, 14 Mar 2013 19:48:25 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EJmPcB094622; Thu, 14 Mar 2013 19:48:25 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303141948.r2EJmPcB094622@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 14 Mar 2013 19:48:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248276 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 19:48:26 -0000 Author: kib Date: Thu Mar 14 19:48:25 2013 New Revision: 248276 URL: http://svnweb.freebsd.org/changeset/base/248276 Log: Rewrite the vfs_bio_clrbuf(9) to not access the b_data for B_VMIO buffers directly, use pmap_zero_page_area(9) for each zeroing page region instead. Sponsored by: The FreeBSD Foundation Tested by: pho MFC after: 2 weeks Modified: head/sys/kern/vfs_bio.c Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Thu Mar 14 19:36:20 2013 (r248275) +++ head/sys/kern/vfs_bio.c Thu Mar 14 19:48:25 2013 (r248276) @@ -3712,8 +3712,7 @@ vfs_bio_set_valid(struct buf *bp, int ba void vfs_bio_clrbuf(struct buf *bp) { - int i, j, mask; - caddr_t sa, ea; + int i, j, mask, sa, ea, slide; if ((bp->b_flags & (B_VMIO | B_MALLOC)) != B_VMIO) { clrbuf(bp); @@ -3731,30 +3730,33 @@ vfs_bio_clrbuf(struct buf *bp) if ((bp->b_pages[0]->valid & mask) == mask) goto unlock; if ((bp->b_pages[0]->valid & mask) == 0) { - bzero(bp->b_data, bp->b_bufsize); + pmap_zero_page_area(bp->b_pages[0], 0, bp->b_bufsize); bp->b_pages[0]->valid |= mask; goto unlock; } } - ea = sa = bp->b_data; - for(i = 0; i < bp->b_npages; i++, sa = ea) { - ea = (caddr_t)trunc_page((vm_offset_t)sa + PAGE_SIZE); - ea = (caddr_t)(vm_offset_t)ulmin( - (u_long)(vm_offset_t)ea, - (u_long)(vm_offset_t)bp->b_data + bp->b_bufsize); + sa = bp->b_offset & PAGE_MASK; + slide = 0; + for (i = 0; i < bp->b_npages; i++, sa = 0) { + slide = imin(slide + PAGE_SIZE, bp->b_offset + bp->b_bufsize); + ea = slide & PAGE_MASK; + if (ea == 0) + ea = PAGE_SIZE; if (bp->b_pages[i] == bogus_page) continue; - j = ((vm_offset_t)sa & PAGE_MASK) / DEV_BSIZE; + j = sa / DEV_BSIZE; mask = ((1 << ((ea - sa) / DEV_BSIZE)) - 1) << j; VM_OBJECT_ASSERT_WLOCKED(bp->b_pages[i]->object); if ((bp->b_pages[i]->valid & mask) == mask) continue; if ((bp->b_pages[i]->valid & mask) == 0) - bzero(sa, ea - sa); + pmap_zero_page_area(bp->b_pages[i], sa, ea - sa); else { for (; sa < ea; sa += DEV_BSIZE, j++) { - if ((bp->b_pages[i]->valid & (1 << j)) == 0) - bzero(sa, DEV_BSIZE); + if ((bp->b_pages[i]->valid & (1 << j)) == 0) { + pmap_zero_page_area(bp->b_pages[i], + sa, DEV_BSIZE); + } } } bp->b_pages[i]->valid |= mask; From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 19:50:09 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E2AF5BEB; Thu, 14 Mar 2013 19:50:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D442580F; Thu, 14 Mar 2013 19:50:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EJo9Rj094973; Thu, 14 Mar 2013 19:50:09 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EJo9H1094972; Thu, 14 Mar 2013 19:50:09 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303141950.r2EJo9H1094972@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 14 Mar 2013 19:50:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248277 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 19:50:10 -0000 Author: kib Date: Thu Mar 14 19:50:09 2013 New Revision: 248277 URL: http://svnweb.freebsd.org/changeset/base/248277 Log: Remove excessive and inconsistent initializers for the various kernel maps and submaps. MFC after: 2 weeks Modified: head/sys/vm/vm_kern.c Modified: head/sys/vm/vm_kern.c ============================================================================== --- head/sys/vm/vm_kern.c Thu Mar 14 19:48:25 2013 (r248276) +++ head/sys/vm/vm_kern.c Thu Mar 14 19:50:09 2013 (r248277) @@ -85,11 +85,11 @@ __FBSDID("$FreeBSD$"); #include #include -vm_map_t kernel_map=0; -vm_map_t kmem_map=0; -vm_map_t exec_map=0; +vm_map_t kernel_map; +vm_map_t kmem_map; +vm_map_t exec_map; vm_map_t pipe_map; -vm_map_t buffer_map=0; +vm_map_t buffer_map; const void *zero_region; CTASSERT((ZERO_REGION_SIZE & PAGE_MASK) == 0); From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 19:56:22 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2B20CDBA; Thu, 14 Mar 2013 19:56:22 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F3C24852; Thu, 14 Mar 2013 19:56:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EJuLDL097405; Thu, 14 Mar 2013 19:56:21 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EJuLMf097404; Thu, 14 Mar 2013 19:56:21 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303141956.r2EJuLMf097404@svn.freebsd.org> From: Joel Dahl Date: Thu, 14 Mar 2013 19:56:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248278 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 19:56:22 -0000 Author: joel (doc committer) Date: Thu Mar 14 19:56:21 2013 New Revision: 248278 URL: http://svnweb.freebsd.org/changeset/base/248278 Log: Sort sections. Modified: head/share/man/man4/udp.4 Modified: head/share/man/man4/udp.4 ============================================================================== --- head/share/man/man4/udp.4 Thu Mar 14 19:50:09 2013 (r248277) +++ head/share/man/man4/udp.4 Thu Mar 14 19:56:21 2013 (r248278) @@ -103,29 +103,6 @@ transport level may be used with .Tn UDP ; see .Xr ip 4 . -.Sh ERRORS -A socket operation may fail with one of the following errors returned: -.Bl -tag -width Er -.It Bq Er EISCONN -when trying to establish a connection on a socket which -already has one, or when trying to send a datagram with the destination -address specified and the socket is already connected; -.It Bq Er ENOTCONN -when trying to send a datagram, but -no destination address is specified, and the socket has not been -connected; -.It Bq Er ENOBUFS -when the system runs out of memory for -an internal data structure; -.It Bq Er EADDRINUSE -when an attempt -is made to create a socket with a port which has already been -allocated; -.It Bq Er EADDRNOTAVAIL -when an attempt is made to create a -socket with a network address for which no network interface -exists. -.El .Sh MIB VARIABLES The .Nm @@ -154,6 +131,29 @@ listening, do not return an ICMP port un See .Xr blackhole 4 . ) .El +.Sh ERRORS +A socket operation may fail with one of the following errors returned: +.Bl -tag -width Er +.It Bq Er EISCONN +when trying to establish a connection on a socket which +already has one, or when trying to send a datagram with the destination +address specified and the socket is already connected; +.It Bq Er ENOTCONN +when trying to send a datagram, but +no destination address is specified, and the socket has not been +connected; +.It Bq Er ENOBUFS +when the system runs out of memory for +an internal data structure; +.It Bq Er EADDRINUSE +when an attempt +is made to create a socket with a port which has already been +allocated; +.It Bq Er EADDRNOTAVAIL +when an attempt is made to create a +socket with a network address for which no network interface +exists. +.El .Sh SEE ALSO .Xr getsockopt 2 , .Xr recv 2 , From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 20:05:50 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 12E2896; Thu, 14 Mar 2013 20:05:50 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EFBAE8B3; Thu, 14 Mar 2013 20:05:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EK5nTD000621; Thu, 14 Mar 2013 20:05:49 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EK5nPg000620; Thu, 14 Mar 2013 20:05:49 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201303142005.r2EK5nPg000620@svn.freebsd.org> From: Xin LI Date: Thu, 14 Mar 2013 20:05:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248279 - head/sbin/recoverdisk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 20:05:50 -0000 Author: delphij Date: Thu Mar 14 20:05:49 2013 New Revision: 248279 URL: http://svnweb.freebsd.org/changeset/base/248279 Log: Correct type for DIOCGSTRIPESIZE. Without this there would be a stack overflow which will crash the program later. PR: bin/176953 Submitted by: r4721 tormail org MFC after: 3 days Modified: head/sbin/recoverdisk/recoverdisk.c Modified: head/sbin/recoverdisk/recoverdisk.c ============================================================================== --- head/sbin/recoverdisk/recoverdisk.c Thu Mar 14 19:56:21 2013 (r248278) +++ head/sbin/recoverdisk/recoverdisk.c Thu Mar 14 20:05:49 2013 (r248279) @@ -156,7 +156,7 @@ main(int argc, char * const argv[]) int error, state; u_char *buf; u_int sectorsize; - u_int stripesize; + off_t stripesize; time_t t1, t2; struct stat sb; u_int n, snapshot = 60; From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 20:18:16 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1C1056BE; Thu, 14 Mar 2013 20:18:16 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E8E7B932; Thu, 14 Mar 2013 20:18:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EKIFO2004268; Thu, 14 Mar 2013 20:18:15 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EKIDM0004250; Thu, 14 Mar 2013 20:18:13 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303142018.r2EKIDM0004250@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 14 Mar 2013 20:18:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248280 - in head/sys: amd64/amd64 arm/arm arm/include i386/i386 i386/xen ia64/ia64 mips/mips powerpc/aim powerpc/booke powerpc/powerpc sparc64/sparc64 vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 20:18:16 -0000 Author: kib Date: Thu Mar 14 20:18:12 2013 New Revision: 248280 URL: http://svnweb.freebsd.org/changeset/base/248280 Log: Add pmap function pmap_copy_pages(), which copies the content of the pages around, taking array of vm_page_t both for source and destination. Starting offsets and total transfer size are specified. The function implements optimal algorithm for copying using the platform-specific optimizations. For instance, on the architectures were the direct map is available, no transient mappings are created, for i386 the per-cpu ephemeral page frame is used. The code was typically borrowed from the pmap_copy_page() for the same architecture. Only i386/amd64, powerpc aim and arm/arm-v6 implementations were tested at the time of commit. High-level code, not committed yet to the tree, ensures that the use of the function is only allowed after explicit enablement. For sparc64, the existing code has known issues and a stab is added instead, to allow the kernel linking. Sponsored by: The FreeBSD Foundation Tested by: pho (i386, amd64), scottl (amd64), ian (arm and arm-v6) MFC after: 2 weeks Modified: head/sys/amd64/amd64/pmap.c head/sys/arm/arm/pmap-v6.c head/sys/arm/arm/pmap.c head/sys/arm/include/pmap.h head/sys/i386/i386/pmap.c head/sys/i386/xen/pmap.c head/sys/ia64/ia64/pmap.c head/sys/mips/mips/pmap.c head/sys/powerpc/aim/mmu_oea.c head/sys/powerpc/aim/mmu_oea64.c head/sys/powerpc/booke/pmap.c head/sys/powerpc/powerpc/mmu_if.m head/sys/powerpc/powerpc/pmap_dispatch.c head/sys/sparc64/sparc64/pmap.c head/sys/vm/pmap.h Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/amd64/amd64/pmap.c Thu Mar 14 20:18:12 2013 (r248280) @@ -4272,6 +4272,30 @@ pmap_copy_page(vm_page_t msrc, vm_page_t pagecopy((void *)src, (void *)dst); } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_cp = (char *)PHYS_TO_DMAP(ma[a_offset >> PAGE_SHIFT]-> + phys_addr) + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_cp = (char *)PHYS_TO_DMAP(mb[b_offset >> PAGE_SHIFT]-> + phys_addr) + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may Modified: head/sys/arm/arm/pmap-v6.c ============================================================================== --- head/sys/arm/arm/pmap-v6.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/arm/arm/pmap-v6.c Thu Mar 14 20:18:12 2013 (r248280) @@ -3313,6 +3313,45 @@ pmap_copy_page_generic(vm_paddr_t src, v } void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + vm_page_t a_pg, b_pg; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + mtx_lock(&cmtx); + while (xfersize > 0) { + a_pg = ma[a_offset >> PAGE_SHIFT]; + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg = mb[b_offset >> PAGE_SHIFT]; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + *csrc_pte = L2_S_PROTO | VM_PAGE_TO_PHYS(a_pg) | + pte_l2_s_cache_mode; + pmap_set_prot(csrc_pte, VM_PROT_READ, 0); + PTE_SYNC(csrc_pte); + *cdst_pte = L2_S_PROTO | VM_PAGE_TO_PHYS(b_pg) | + pte_l2_s_cache_mode; + pmap_set_prot(cdst_pte, VM_PROT_READ | VM_PROT_WRITE, 0); + PTE_SYNC(cdst_pte); + cpu_tlb_flushD_SE(csrcp); + cpu_tlb_flushD_SE(cdstp); + cpu_cpwait(); + bcopy((char *)csrcp + a_pg_offset, (char *)cdstp + b_pg_offset, + cnt); + cpu_idcache_wbinv_range(cdstp + b_pg_offset, cnt); + pmap_l2cache_wbinv_range(cdstp + b_pg_offset, + VM_PAGE_TO_PHYS(b_pg) + b_pg_offset, cnt); + xfersize -= cnt; + a_offset += cnt; + b_offset += cnt; + } + mtx_unlock(&cmtx); +} + +void pmap_copy_page(vm_page_t src, vm_page_t dst) { Modified: head/sys/arm/arm/pmap.c ============================================================================== --- head/sys/arm/arm/pmap.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/arm/arm/pmap.c Thu Mar 14 20:18:12 2013 (r248280) @@ -258,6 +258,9 @@ pt_entry_t pte_l1_c_proto; pt_entry_t pte_l2_s_proto; void (*pmap_copy_page_func)(vm_paddr_t, vm_paddr_t); +void (*pmap_copy_page_offs_func)(vm_paddr_t a_phys, + vm_offset_t a_offs, vm_paddr_t b_phys, vm_offset_t b_offs, + int cnt); void (*pmap_zero_page_func)(vm_paddr_t, int, int); struct msgbuf *msgbufp = 0; @@ -400,6 +403,13 @@ static vm_paddr_t pmap_kernel_l2ptp_phys static int pv_entry_count=0, pv_entry_max=0, pv_entry_high_water=0; static struct rwlock pvh_global_lock; +void pmap_copy_page_offs_generic(vm_paddr_t a_phys, vm_offset_t a_offs, + vm_paddr_t b_phys, vm_offset_t b_offs, int cnt); +#if ARM_MMU_XSCALE == 1 +void pmap_copy_page_offs_xscale(vm_paddr_t a_phys, vm_offset_t a_offs, + vm_paddr_t b_phys, vm_offset_t b_offs, int cnt); +#endif + /* * This list exists for the benefit of pmap_map_chunk(). It keeps track * of the kernel L2 tables during bootstrap, so that pmap_map_chunk() can @@ -484,6 +494,7 @@ pmap_pte_init_generic(void) pte_l2_s_proto = L2_S_PROTO_generic; pmap_copy_page_func = pmap_copy_page_generic; + pmap_copy_page_offs_func = pmap_copy_page_offs_generic; pmap_zero_page_func = pmap_zero_page_generic; } @@ -660,6 +671,7 @@ pmap_pte_init_xscale(void) #ifdef CPU_XSCALE_CORE3 pmap_copy_page_func = pmap_copy_page_generic; + pmap_copy_page_offs_func = pmap_copy_page_offs_generic; pmap_zero_page_func = pmap_zero_page_generic; xscale_use_minidata = 0; /* Make sure it is L2-cachable */ @@ -672,6 +684,7 @@ pmap_pte_init_xscale(void) #else pmap_copy_page_func = pmap_copy_page_xscale; + pmap_copy_page_offs_func = pmap_copy_page_offs_xscale; pmap_zero_page_func = pmap_zero_page_xscale; #endif @@ -4300,6 +4313,29 @@ pmap_copy_page_generic(vm_paddr_t src, v cpu_l2cache_inv_range(csrcp, PAGE_SIZE); cpu_l2cache_wbinv_range(cdstp, PAGE_SIZE); } + +void +pmap_copy_page_offs_generic(vm_paddr_t a_phys, vm_offset_t a_offs, + vm_paddr_t b_phys, vm_offset_t b_offs, int cnt) +{ + + mtx_lock(&cmtx); + *csrc_pte = L2_S_PROTO | a_phys | + L2_S_PROT(PTE_KERNEL, VM_PROT_READ) | pte_l2_s_cache_mode; + PTE_SYNC(csrc_pte); + *cdst_pte = L2_S_PROTO | b_phys | + L2_S_PROT(PTE_KERNEL, VM_PROT_WRITE) | pte_l2_s_cache_mode; + PTE_SYNC(cdst_pte); + cpu_tlb_flushD_SE(csrcp); + cpu_tlb_flushD_SE(cdstp); + cpu_cpwait(); + bcopy((char *)csrcp + a_offs, (char *)cdstp + b_offs, cnt); + mtx_unlock(&cmtx); + cpu_dcache_inv_range(csrcp + a_offs, cnt); + cpu_dcache_wbinv_range(cdstp + b_offs, cnt); + cpu_l2cache_inv_range(csrcp + a_offs, cnt); + cpu_l2cache_wbinv_range(cdstp + b_offs, cnt); +} #endif /* (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 */ #if ARM_MMU_XSCALE == 1 @@ -4344,6 +4380,28 @@ pmap_copy_page_xscale(vm_paddr_t src, vm mtx_unlock(&cmtx); xscale_cache_clean_minidata(); } + +void +pmap_copy_page_offs_xscale(vm_paddr_t a_phys, vm_offset_t a_offs, + vm_paddr_t b_phys, vm_offset_t b_offs, int cnt) +{ + + mtx_lock(&cmtx); + *csrc_pte = L2_S_PROTO | a_phys | + L2_S_PROT(PTE_KERNEL, VM_PROT_READ) | + L2_C | L2_XSCALE_T_TEX(TEX_XSCALE_X); + PTE_SYNC(csrc_pte); + *cdst_pte = L2_S_PROTO | b_phys | + L2_S_PROT(PTE_KERNEL, VM_PROT_WRITE) | + L2_C | L2_XSCALE_T_TEX(TEX_XSCALE_X); + PTE_SYNC(cdst_pte); + cpu_tlb_flushD_SE(csrcp); + cpu_tlb_flushD_SE(cdstp); + cpu_cpwait(); + bcopy((char *)csrcp + a_offs, (char *)cdstp + b_offs, cnt); + mtx_unlock(&cmtx); + xscale_cache_clean_minidata(); +} #endif /* ARM_MMU_XSCALE == 1 */ void @@ -4370,8 +4428,41 @@ pmap_copy_page(vm_page_t src, vm_page_t #endif } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + vm_page_t a_pg, b_pg; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; +#ifdef ARM_USE_SMALL_ALLOC + vm_offset_t a_va, b_va; +#endif - + cpu_dcache_wbinv_all(); + cpu_l2cache_wbinv_all(); + while (xfersize > 0) { + a_pg = ma[a_offset >> PAGE_SHIFT]; + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg = mb[b_offset >> PAGE_SHIFT]; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); +#ifdef ARM_USE_SMALL_ALLOC + a_va = arm_ptovirt(VM_PAGE_TO_PHYS(a_pg)) + a_pg_offset; + b_va = arm_ptovirt(VM_PAGE_TO_PHYS(b_pg)) + b_pg_offset; + bcopy((char *)a_va, (char *)b_va, cnt); + cpu_dcache_wbinv_range(b_va, cnt); + cpu_l2cache_wbinv_range(b_va, cnt); +#else + pmap_copy_page_offs_func(VM_PAGE_TO_PHYS(a_pg), a_pg_offset, + VM_PAGE_TO_PHYS(b_pg), b_pg_offset, cnt); +#endif + xfersize -= cnt; + a_offset += cnt; + b_offset += cnt; + } +} /* * this routine returns true if a physical page resides Modified: head/sys/arm/include/pmap.h ============================================================================== --- head/sys/arm/include/pmap.h Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/arm/include/pmap.h Thu Mar 14 20:18:12 2013 (r248280) @@ -533,6 +533,8 @@ extern pt_entry_t pte_l1_c_proto; extern pt_entry_t pte_l2_s_proto; extern void (*pmap_copy_page_func)(vm_paddr_t, vm_paddr_t); +extern void (*pmap_copy_page_offs_func)(vm_paddr_t a_phys, + vm_offset_t a_offs, vm_paddr_t b_phys, vm_offset_t b_offs, int cnt); extern void (*pmap_zero_page_func)(vm_paddr_t, int, int); #if (ARM_MMU_GENERIC + ARM_MMU_V6 + ARM_MMU_V7 + ARM_MMU_SA1) != 0 || defined(CPU_XSCALE_81342) Modified: head/sys/i386/i386/pmap.c ============================================================================== --- head/sys/i386/i386/pmap.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/i386/i386/pmap.c Thu Mar 14 20:18:12 2013 (r248280) @@ -4238,6 +4238,49 @@ pmap_copy_page(vm_page_t src, vm_page_t mtx_unlock(&sysmaps->lock); } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + struct sysmaps *sysmaps; + vm_page_t a_pg, b_pg; + char *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + sysmaps = &sysmaps_pcpu[PCPU_GET(cpuid)]; + mtx_lock(&sysmaps->lock); + if (*sysmaps->CMAP1 != 0) + panic("pmap_copy_pages: CMAP1 busy"); + if (*sysmaps->CMAP2 != 0) + panic("pmap_copy_pages: CMAP2 busy"); + sched_pin(); + while (xfersize > 0) { + invlpg((u_int)sysmaps->CADDR1); + invlpg((u_int)sysmaps->CADDR2); + a_pg = ma[a_offset >> PAGE_SHIFT]; + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg = mb[b_offset >> PAGE_SHIFT]; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + *sysmaps->CMAP1 = PG_V | VM_PAGE_TO_PHYS(a_pg) | PG_A | + pmap_cache_bits(b_pg->md.pat_mode, 0); + *sysmaps->CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(b_pg) | PG_A | + PG_M | pmap_cache_bits(b_pg->md.pat_mode, 0); + a_cp = sysmaps->CADDR1 + a_pg_offset; + b_cp = sysmaps->CADDR2 + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } + *sysmaps->CMAP1 = 0; + *sysmaps->CMAP2 = 0; + sched_unpin(); + mtx_unlock(&sysmaps->lock); +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may Modified: head/sys/i386/xen/pmap.c ============================================================================== --- head/sys/i386/xen/pmap.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/i386/xen/pmap.c Thu Mar 14 20:18:12 2013 (r248280) @@ -3447,6 +3447,46 @@ pmap_copy_page(vm_page_t src, vm_page_t mtx_unlock(&sysmaps->lock); } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + struct sysmaps *sysmaps; + vm_page_t a_pg, b_pg; + char *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + sysmaps = &sysmaps_pcpu[PCPU_GET(cpuid)]; + mtx_lock(&sysmaps->lock); + if (*sysmaps->CMAP1 != 0) + panic("pmap_copy_pages: CMAP1 busy"); + if (*sysmaps->CMAP2 != 0) + panic("pmap_copy_pages: CMAP2 busy"); + sched_pin(); + while (xfersize > 0) { + a_pg = ma[a_offset >> PAGE_SHIFT]; + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg = mb[b_offset >> PAGE_SHIFT]; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + PT_SET_MA(sysmaps->CADDR1, PG_V | VM_PAGE_TO_MACH(a_pg) | PG_A); + PT_SET_MA(sysmaps->CADDR2, PG_V | PG_RW | + VM_PAGE_TO_MACH(b_pg) | PG_A | PG_M); + a_cp = sysmaps->CADDR1 + a_pg_offset; + b_cp = sysmaps->CADDR2 + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } + PT_SET_MA(sysmaps->CADDR1, 0); + PT_SET_MA(sysmaps->CADDR2, 0); + sched_unpin(); + mtx_unlock(&sysmaps->lock); +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may Modified: head/sys/ia64/ia64/pmap.c ============================================================================== --- head/sys/ia64/ia64/pmap.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/ia64/ia64/pmap.c Thu Mar 14 20:18:12 2013 (r248280) @@ -2014,6 +2014,30 @@ pmap_copy_page(vm_page_t msrc, vm_page_t bcopy(src, dst, PAGE_SIZE); } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_cp = (char *)pmap_page_to_va(ma[a_offset >> PAGE_SHIFT]) + + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_cp = (char *)pmap_page_to_va(mb[b_offset >> PAGE_SHIFT]) + + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may Modified: head/sys/mips/mips/pmap.c ============================================================================== --- head/sys/mips/mips/pmap.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/mips/mips/pmap.c Thu Mar 14 20:18:12 2013 (r248280) @@ -2576,6 +2576,51 @@ pmap_copy_page(vm_page_t src, vm_page_t } } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + char *a_cp, *b_cp; + vm_page_t a_m, b_m; + vm_offset_t a_pg_offset, b_pg_offset; + vm_paddr_t a_phys, b_phys; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_m = ma[a_offset >> PAGE_SHIFT]; + a_phys = VM_PAGE_TO_PHYS(a_m); + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_m = mb[b_offset >> PAGE_SHIFT]; + b_phys = VM_PAGE_TO_PHYS(b_m); + if (MIPS_DIRECT_MAPPABLE(a_phys) && + MIPS_DIRECT_MAPPABLE(b_phys)) { + pmap_flush_pvcache(a_m); + mips_dcache_wbinv_range_index( + MIPS_PHYS_TO_DIRECT(b_phys), PAGE_SIZE); + a_cp = (char *)MIPS_PHYS_TO_DIRECT(a_phys) + + a_pg_offset; + b_cp = (char *)MIPS_PHYS_TO_DIRECT(b_phys) + + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + mips_dcache_wbinv_range((vm_offset_t)b_cp, cnt); + } else { + a_cp = (char *)pmap_lmem_map2(a_phys, b_phys); + b_cp = (char *)a_cp + PAGE_SIZE; + a_cp += a_pg_offset; + b_cp += b_pg_offset; + bcopy(a_cp, b_cp, cnt); + mips_dcache_wbinv_range((vm_offset_t)b_cp, cnt); + pmap_lmem_unmap(); + } + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may Modified: head/sys/powerpc/aim/mmu_oea.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/powerpc/aim/mmu_oea.c Thu Mar 14 20:18:12 2013 (r248280) @@ -275,6 +275,8 @@ void moea_change_wiring(mmu_t, pmap_t, v void moea_clear_modify(mmu_t, vm_page_t); void moea_clear_reference(mmu_t, vm_page_t); void moea_copy_page(mmu_t, vm_page_t, vm_page_t); +void moea_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize); void moea_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t); void moea_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, vm_page_t, vm_prot_t); @@ -320,6 +322,7 @@ static mmu_method_t moea_methods[] = { MMUMETHOD(mmu_clear_modify, moea_clear_modify), MMUMETHOD(mmu_clear_reference, moea_clear_reference), MMUMETHOD(mmu_copy_page, moea_copy_page), + MMUMETHOD(mmu_copy_pages, moea_copy_pages), MMUMETHOD(mmu_enter, moea_enter), MMUMETHOD(mmu_enter_object, moea_enter_object), MMUMETHOD(mmu_enter_quick, moea_enter_quick), @@ -1043,6 +1046,30 @@ moea_copy_page(mmu_t mmu, vm_page_t msrc bcopy((void *)src, (void *)dst, PAGE_SIZE); } +void +moea_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_cp = (char *)VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT]) + + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_cp = (char *)VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT]) + + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Zero a page of physical memory by temporarily mapping it into the tlb. */ Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/powerpc/aim/mmu_oea64.c Thu Mar 14 20:18:12 2013 (r248280) @@ -290,6 +290,8 @@ void moea64_change_wiring(mmu_t, pmap_t, void moea64_clear_modify(mmu_t, vm_page_t); void moea64_clear_reference(mmu_t, vm_page_t); void moea64_copy_page(mmu_t, vm_page_t, vm_page_t); +void moea64_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize); void moea64_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t); void moea64_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, vm_page_t, vm_prot_t); @@ -334,6 +336,7 @@ static mmu_method_t moea64_methods[] = { MMUMETHOD(mmu_clear_modify, moea64_clear_modify), MMUMETHOD(mmu_clear_reference, moea64_clear_reference), MMUMETHOD(mmu_copy_page, moea64_copy_page), + MMUMETHOD(mmu_copy_pages, moea64_copy_pages), MMUMETHOD(mmu_enter, moea64_enter), MMUMETHOD(mmu_enter_object, moea64_enter_object), MMUMETHOD(mmu_enter_quick, moea64_enter_quick), @@ -1104,6 +1107,72 @@ moea64_copy_page(mmu_t mmu, vm_page_t ms } } +static inline void +moea64_copy_pages_dmap(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_cp = (char *)VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT]) + + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_cp = (char *)VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT]) + + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + +static inline void +moea64_copy_pages_nodmap(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + mtx_lock(&moea64_scratchpage_mtx); + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + moea64_set_scratchpage_pa(mmu, 0, + VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT])); + a_cp = (char *)moea64_scratchpage_va[0] + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + moea64_set_scratchpage_pa(mmu, 1, + VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT])); + b_cp = (char *)moea64_scratchpage_va[1] + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } + mtx_unlock(&moea64_scratchpage_mtx); +} + +void +moea64_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + + if (hw_direct_map) { + moea64_copy_pages_dmap(mmu, ma, a_offset, mb, b_offset, + xfersize); + } else { + moea64_copy_pages_nodmap(mmu, ma, a_offset, mb, b_offset, + xfersize); + } +} + void moea64_zero_page_area(mmu_t mmu, vm_page_t m, int off, int size) { Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/powerpc/booke/pmap.c Thu Mar 14 20:18:12 2013 (r248280) @@ -274,6 +274,8 @@ static void mmu_booke_clear_reference(m static void mmu_booke_copy(mmu_t, pmap_t, pmap_t, vm_offset_t, vm_size_t, vm_offset_t); static void mmu_booke_copy_page(mmu_t, vm_page_t, vm_page_t); +static void mmu_booke_copy_pages(mmu_t, vm_page_t *, + vm_offset_t, vm_page_t *, vm_offset_t, int); static void mmu_booke_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t); static void mmu_booke_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, @@ -334,6 +336,7 @@ static mmu_method_t mmu_booke_methods[] MMUMETHOD(mmu_clear_reference, mmu_booke_clear_reference), MMUMETHOD(mmu_copy, mmu_booke_copy), MMUMETHOD(mmu_copy_page, mmu_booke_copy_page), + MMUMETHOD(mmu_copy_pages, mmu_booke_copy_pages), MMUMETHOD(mmu_enter, mmu_booke_enter), MMUMETHOD(mmu_enter_object, mmu_booke_enter_object), MMUMETHOD(mmu_enter_quick, mmu_booke_enter_quick), @@ -2136,6 +2139,36 @@ mmu_booke_copy_page(mmu_t mmu, vm_page_t mtx_unlock(©_page_mutex); } +static inline void +mmu_booke_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + mtx_lock(©_page_mutex); + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + mmu_booke_kenter(mmu, copy_page_src_va, + VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT])); + a_cp = (char *)copy_page_src_va + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + mmu_booke_kenter(mmu, copy_page_dst_va, + VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT])); + b_cp = (char *)copy_page_dst_va + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + mmu_booke_kremove(mmu, copy_page_dst_va); + mmu_booke_kremove(mmu, copy_page_src_va); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } + mtx_unlock(©_page_mutex); +} + /* * mmu_booke_zero_page_idle zeros the specified hardware page by mapping it * into virtual memory and using bzero to clear its contents. This is intended Modified: head/sys/powerpc/powerpc/mmu_if.m ============================================================================== --- head/sys/powerpc/powerpc/mmu_if.m Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/powerpc/powerpc/mmu_if.m Thu Mar 14 20:18:12 2013 (r248280) @@ -215,6 +215,14 @@ METHOD void copy_page { vm_page_t _dst; }; +METHOD void copy_pages { + mmu_t _mmu; + vm_page_t *_ma; + vm_offset_t _a_offset; + vm_page_t *_mb; + vm_offset_t _b_offset; + int _xfersize; +}; /** * @brief Create a mapping between a virtual/physical address pair in the Modified: head/sys/powerpc/powerpc/pmap_dispatch.c ============================================================================== --- head/sys/powerpc/powerpc/pmap_dispatch.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/powerpc/powerpc/pmap_dispatch.c Thu Mar 14 20:18:12 2013 (r248280) @@ -133,6 +133,16 @@ pmap_copy_page(vm_page_t src, vm_page_t } void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + + CTR6(KTR_PMAP, "%s(%p, %#x, %p, %#x, %#x)", __func__, ma, + a_offset, mb, b_offset, xfersize); + MMU_COPY_PAGES(mmu_obj, ma, a_offset, mb, b_offset, xfersize); +} + +void pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t p, vm_prot_t prot, boolean_t wired) { Modified: head/sys/sparc64/sparc64/pmap.c ============================================================================== --- head/sys/sparc64/sparc64/pmap.c Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/sparc64/sparc64/pmap.c Thu Mar 14 20:18:12 2013 (r248280) @@ -1918,6 +1918,14 @@ pmap_copy_page(vm_page_t msrc, vm_page_t } } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + + panic("pmap_copy_pages: not implemented"); +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may Modified: head/sys/vm/pmap.h ============================================================================== --- head/sys/vm/pmap.h Thu Mar 14 20:05:49 2013 (r248279) +++ head/sys/vm/pmap.h Thu Mar 14 20:18:12 2013 (r248280) @@ -108,6 +108,8 @@ void pmap_clear_modify(vm_page_t m); void pmap_clear_reference(vm_page_t m); void pmap_copy(pmap_t, pmap_t, vm_offset_t, vm_size_t, vm_offset_t); void pmap_copy_page(vm_page_t, vm_page_t); +void pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, + vm_page_t mb[], vm_offset_t b_offset, int xfersize); void pmap_enter(pmap_t, vm_offset_t, vm_prot_t, vm_page_t, vm_prot_t, boolean_t); void pmap_enter_object(pmap_t pmap, vm_offset_t start, From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 20:22:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B8B70AEA; Thu, 14 Mar 2013 20:22:52 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AB00B986; Thu, 14 Mar 2013 20:22:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EKMqcf006618; Thu, 14 Mar 2013 20:22:52 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EKMqMh006617; Thu, 14 Mar 2013 20:22:52 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303142022.r2EKMqMh006617@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 14 Mar 2013 20:22:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248281 - head/lib/libutil X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 20:22:52 -0000 Author: pjd Date: Thu Mar 14 20:22:52 2013 New Revision: 248281 URL: http://svnweb.freebsd.org/changeset/base/248281 Log: When pidptr was passed as NULL to pidfile_open(3), we were returning EAGAIN/EWOULDBLOCK when another daemon was running and had the pidfile open. We should return EEXIST in that case, fix it. Reported by: Dirk Engling Reviewed by: jhb, Dirk Engling MFC after: 1 week Modified: head/lib/libutil/pidfile.c Modified: head/lib/libutil/pidfile.c ============================================================================== --- head/lib/libutil/pidfile.c Thu Mar 14 20:18:12 2013 (r248280) +++ head/lib/libutil/pidfile.c Thu Mar 14 20:22:52 2013 (r248281) @@ -126,20 +126,25 @@ pidfile_open(const char *path, mode_t mo fd = flopen(pfh->pf_path, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC | O_NONBLOCK, mode); if (fd == -1) { - if (errno == EWOULDBLOCK && pidptr != NULL) { - count = 20; - rqtp.tv_sec = 0; - rqtp.tv_nsec = 5000000; - for (;;) { - errno = pidfile_read(pfh->pf_path, pidptr); - if (errno != EAGAIN || --count == 0) - break; - nanosleep(&rqtp, 0); - } - if (errno == EAGAIN) - *pidptr = -1; - if (errno == 0 || errno == EAGAIN) + if (errno == EWOULDBLOCK) { + if (pidptr == NULL) { errno = EEXIST; + } else { + count = 20; + rqtp.tv_sec = 0; + rqtp.tv_nsec = 5000000; + for (;;) { + errno = pidfile_read(pfh->pf_path, + pidptr); + if (errno != EAGAIN || --count == 0) + break; + nanosleep(&rqtp, 0); + } + if (errno == EAGAIN) + *pidptr = -1; + if (errno == 0 || errno == EAGAIN) + errno = EEXIST; + } } free(pfh); return (NULL); From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 20:28:29 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 406DFE53; Thu, 14 Mar 2013 20:28:29 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 323599B7; Thu, 14 Mar 2013 20:28:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EKSTZT007538; Thu, 14 Mar 2013 20:28:29 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EKSRqQ007526; Thu, 14 Mar 2013 20:28:27 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303142028.r2EKSRqQ007526@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 14 Mar 2013 20:28:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248282 - in head/sys: fs/cd9660 fs/ext2fs fs/msdosfs fs/udf kern sys ufs/ffs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 20:28:29 -0000 Author: kib Date: Thu Mar 14 20:28:26 2013 New Revision: 248282 URL: http://svnweb.freebsd.org/changeset/base/248282 Log: Add currently unused flag argument to the cluster_read(), cluster_write() and cluster_wbuild() functions. The flags to be allowed are a subset of the GB_* flags for getblk(). Sponsored by: The FreeBSD Foundation Tested by: pho Modified: head/sys/fs/cd9660/cd9660_vnops.c head/sys/fs/ext2fs/ext2_balloc.c head/sys/fs/ext2fs/ext2_vnops.c head/sys/fs/msdosfs/msdosfs_vnops.c head/sys/fs/udf/udf_vnops.c head/sys/kern/vfs_bio.c head/sys/kern/vfs_cluster.c head/sys/sys/buf.h head/sys/ufs/ffs/ffs_balloc.c head/sys/ufs/ffs/ffs_vnops.c Modified: head/sys/fs/cd9660/cd9660_vnops.c ============================================================================== --- head/sys/fs/cd9660/cd9660_vnops.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/fs/cd9660/cd9660_vnops.c Thu Mar 14 20:28:26 2013 (r248282) @@ -329,7 +329,7 @@ cd9660_read(ap) if (lblktosize(imp, rablock) < ip->i_size) error = cluster_read(vp, (off_t)ip->i_size, lbn, size, NOCRED, uio->uio_resid, - (ap->a_ioflag >> 16), &bp); + (ap->a_ioflag >> 16), 0, &bp); else error = bread(vp, lbn, size, NOCRED, &bp); } else { Modified: head/sys/fs/ext2fs/ext2_balloc.c ============================================================================== --- head/sys/fs/ext2fs/ext2_balloc.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/fs/ext2fs/ext2_balloc.c Thu Mar 14 20:28:26 2013 (r248282) @@ -276,7 +276,7 @@ ext2_balloc(struct inode *ip, int32_t lb if (seqcount && (vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, ip->i_size, lbn, (int)fs->e2fs_bsize, NOCRED, - MAXBSIZE, seqcount, &nbp); + MAXBSIZE, seqcount, 0, &nbp); } else { error = bread(vp, lbn, (int)fs->e2fs_bsize, NOCRED, &nbp); } Modified: head/sys/fs/ext2fs/ext2_vnops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vnops.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/fs/ext2fs/ext2_vnops.c Thu Mar 14 20:28:26 2013 (r248282) @@ -1618,10 +1618,11 @@ ext2_read(struct vop_read_args *ap) if (lblktosize(fs, nextlbn) >= ip->i_size) error = bread(vp, lbn, size, NOCRED, &bp); - else if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) + else if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, ip->i_size, lbn, size, - NOCRED, blkoffset + uio->uio_resid, seqcount, &bp); - else if (seqcount > 1) { + NOCRED, blkoffset + uio->uio_resid, seqcount, + 0, &bp); + } else if (seqcount > 1) { int nextsize = blksize(fs, ip, nextlbn); error = breadn(vp, lbn, size, &nextlbn, &nextsize, 1, NOCRED, &bp); @@ -1831,7 +1832,7 @@ ext2_write(struct vop_write_args *ap) } else if (xfersize + blkoffset == fs->e2fs_fsize) { if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERW) == 0) { bp->b_flags |= B_CLUSTEROK; - cluster_write(vp, bp, ip->i_size, seqcount); + cluster_write(vp, bp, ip->i_size, seqcount, 0); } else { bawrite(bp); } Modified: head/sys/fs/msdosfs/msdosfs_vnops.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_vnops.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/fs/msdosfs/msdosfs_vnops.c Thu Mar 14 20:28:26 2013 (r248282) @@ -600,7 +600,7 @@ msdosfs_read(ap) error = bread(vp, lbn, blsize, NOCRED, &bp); } else if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, dep->de_FileSize, lbn, blsize, - NOCRED, on + uio->uio_resid, seqcount, &bp); + NOCRED, on + uio->uio_resid, seqcount, 0, &bp); } else if (seqcount > 1) { rasize = blsize; error = breadn(vp, lbn, @@ -820,7 +820,7 @@ msdosfs_write(ap) else if (n + croffset == pmp->pm_bpcluster) { if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERW) == 0) cluster_write(vp, bp, dep->de_FileSize, - seqcount); + seqcount, 0); else bawrite(bp); } else Modified: head/sys/fs/udf/udf_vnops.c ============================================================================== --- head/sys/fs/udf/udf_vnops.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/fs/udf/udf_vnops.c Thu Mar 14 20:28:26 2013 (r248282) @@ -478,8 +478,9 @@ udf_read(struct vop_read_args *ap) rablock = lbn + 1; if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { if (lblktosize(udfmp, rablock) < fsize) { - error = cluster_read(vp, fsize, lbn, size, NOCRED, - uio->uio_resid, (ap->a_ioflag >> 16), &bp); + error = cluster_read(vp, fsize, lbn, size, + NOCRED, uio->uio_resid, + (ap->a_ioflag >> 16), 0, &bp); } else { error = bread(vp, lbn, size, NOCRED, &bp); } Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/kern/vfs_bio.c Thu Mar 14 20:28:26 2013 (r248282) @@ -1794,8 +1794,9 @@ vfs_bio_awrite(struct buf *bp) */ if (ncl != 1) { BUF_UNLOCK(bp); - nwritten = cluster_wbuild(vp, size, lblkno - j, ncl); - return nwritten; + nwritten = cluster_wbuild(vp, size, lblkno - j, ncl, + 0); + return (nwritten); } } bremfree(bp); Modified: head/sys/kern/vfs_cluster.c ============================================================================== --- head/sys/kern/vfs_cluster.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/kern/vfs_cluster.c Thu Mar 14 20:28:26 2013 (r248282) @@ -84,15 +84,9 @@ extern vm_page_t bogus_page; * cluster_read replaces bread. */ int -cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp) - struct vnode *vp; - u_quad_t filesize; - daddr_t lblkno; - long size; - struct ucred *cred; - long totread; - int seqcount; - struct buf **bpp; +cluster_read(struct vnode *vp, u_quad_t filesize, daddr_t lblkno, long size, + struct ucred *cred, long totread, int seqcount, int gbflags, + struct buf **bpp) { struct buf *bp, *rbp, *reqbp; struct bufobj *bo; @@ -576,7 +570,7 @@ cluster_wbuild_wb(struct vnode *vp, long start_lbn -= len; /* FALLTHROUGH */ case 1: - r = cluster_wbuild(vp, size, start_lbn, len); + r = cluster_wbuild(vp, size, start_lbn, len, 0); /* FALLTHROUGH */ default: /* FALLTHROUGH */ @@ -596,7 +590,8 @@ cluster_wbuild_wb(struct vnode *vp, long * 4. end of a cluster - asynchronously write cluster */ void -cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount) +cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount, + int gbflags) { daddr_t lbn; int maxclen, cursize; @@ -742,11 +737,8 @@ cluster_write(struct vnode *vp, struct b * the current block (if last_bp == NULL). */ int -cluster_wbuild(vp, size, start_lbn, len) - struct vnode *vp; - long size; - daddr_t start_lbn; - int len; +cluster_wbuild(struct vnode *vp, long size, daddr_t start_lbn, int len, + int gbflags) { struct buf *bp, *tbp; struct bufobj *bo; Modified: head/sys/sys/buf.h ============================================================================== --- head/sys/sys/buf.h Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/sys/buf.h Thu Mar 14 20:28:26 2013 (r248282) @@ -508,9 +508,9 @@ void bufdone_finish(struct buf *); void bd_speedup(void); int cluster_read(struct vnode *, u_quad_t, daddr_t, long, - struct ucred *, long, int, struct buf **); -int cluster_wbuild(struct vnode *, long, daddr_t, int); -void cluster_write(struct vnode *, struct buf *, u_quad_t, int); + struct ucred *, long, int, int, struct buf **); +int cluster_wbuild(struct vnode *, long, daddr_t, int, int); +void cluster_write(struct vnode *, struct buf *, u_quad_t, int, int); void vfs_bio_set_valid(struct buf *, int base, int size); void vfs_bio_clrbuf(struct buf *); void vfs_busy_pages(struct buf *, int clear_modify); Modified: head/sys/ufs/ffs/ffs_balloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_balloc.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/ufs/ffs/ffs_balloc.c Thu Mar 14 20:28:26 2013 (r248282) @@ -418,7 +418,7 @@ retry: if (seqcount && (vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, ip->i_size, lbn, (int)fs->fs_bsize, NOCRED, - MAXBSIZE, seqcount, &nbp); + MAXBSIZE, seqcount, 0, &nbp); } else { error = bread(vp, lbn, (int)fs->fs_bsize, NOCRED, &nbp); } @@ -966,7 +966,7 @@ retry: if (seqcount && (vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, ip->i_size, lbn, (int)fs->fs_bsize, NOCRED, - MAXBSIZE, seqcount, &nbp); + MAXBSIZE, seqcount, 0, &nbp); } else { error = bread(vp, lbn, (int)fs->fs_bsize, NOCRED, &nbp); } Modified: head/sys/ufs/ffs/ffs_vnops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vnops.c Thu Mar 14 20:22:52 2013 (r248281) +++ head/sys/ufs/ffs/ffs_vnops.c Thu Mar 14 20:28:26 2013 (r248282) @@ -519,7 +519,8 @@ ffs_read(ap) * doing sequential access. */ error = cluster_read(vp, ip->i_size, lbn, - size, NOCRED, blkoffset + uio->uio_resid, seqcount, &bp); + size, NOCRED, blkoffset + uio->uio_resid, + seqcount, 0, &bp); } else if (seqcount > 1) { /* * If we are NOT allowed to cluster, then @@ -784,7 +785,8 @@ ffs_write(ap) } else if (xfersize + blkoffset == fs->fs_bsize) { if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERW) == 0) { bp->b_flags |= B_CLUSTEROK; - cluster_write(vp, bp, ip->i_size, seqcount); + cluster_write(vp, bp, ip->i_size, seqcount, + 0); } else { bawrite(bp); } From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 20:31:40 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B3B6F98; Thu, 14 Mar 2013 20:31:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A15749DB; Thu, 14 Mar 2013 20:31:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EKVeMo009616; Thu, 14 Mar 2013 20:31:40 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EKVdn7009612; Thu, 14 Mar 2013 20:31:39 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303142031.r2EKVdn7009612@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 14 Mar 2013 20:31:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248283 - in head/sys: kern ufs/ffs vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 20:31:40 -0000 Author: kib Date: Thu Mar 14 20:31:39 2013 New Revision: 248283 URL: http://svnweb.freebsd.org/changeset/base/248283 Log: Some style fixes. Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/vfs_bio.c head/sys/kern/vfs_cluster.c head/sys/ufs/ffs/ffs_balloc.c head/sys/vm/vnode_pager.c Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Thu Mar 14 20:28:26 2013 (r248282) +++ head/sys/kern/vfs_bio.c Thu Mar 14 20:31:39 2013 (r248283) @@ -830,9 +830,8 @@ breada(struct vnode * vp, daddr_t * rabl * getblk(). Also starts asynchronous I/O on read-ahead blocks. */ int -breadn_flags(struct vnode * vp, daddr_t blkno, int size, - daddr_t * rablkno, int *rabsize, int cnt, - struct ucred * cred, int flags, struct buf **bpp) +breadn_flags(struct vnode *vp, daddr_t blkno, int size, daddr_t *rablkno, + int *rabsize, int cnt, struct ucred *cred, int flags, struct buf **bpp) { struct buf *bp; int rv = 0, readwait = 0; @@ -1809,7 +1808,7 @@ vfs_bio_awrite(struct buf *bp) nwritten = bp->b_bufsize; (void) bwrite(bp); - return nwritten; + return (nwritten); } /* @@ -2631,7 +2630,7 @@ vfs_setdirty_locked_object(struct buf *b * prior to issuing the READ. biodone() will *not* clear B_INVAL. */ struct buf * -getblk(struct vnode * vp, daddr_t blkno, int size, int slpflag, int slptimeo, +getblk(struct vnode *vp, daddr_t blkno, int size, int slpflag, int slptimeo, int flags) { struct buf *bp; @@ -2709,9 +2708,8 @@ loop: } /* - * check for size inconsistancies for non-VMIO case. + * check for size inconsistencies for non-VMIO case. */ - if (bp->b_bcount != size) { if ((bp->b_flags & B_VMIO) == 0 || (size > bp->b_kvasize)) { Modified: head/sys/kern/vfs_cluster.c ============================================================================== --- head/sys/kern/vfs_cluster.c Thu Mar 14 20:28:26 2013 (r248282) +++ head/sys/kern/vfs_cluster.c Thu Mar 14 20:31:39 2013 (r248283) @@ -563,7 +563,7 @@ cluster_wbuild_wb(struct vnode *vp, long { int r = 0; - switch(write_behind) { + switch (write_behind) { case 2: if (start_lbn < len) break; Modified: head/sys/ufs/ffs/ffs_balloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_balloc.c Thu Mar 14 20:28:26 2013 (r248282) +++ head/sys/ufs/ffs/ffs_balloc.c Thu Mar 14 20:31:39 2013 (r248283) @@ -679,9 +679,9 @@ ffs_balloc_ufs2(struct vnode *vp, off_t if (osize < fs->fs_bsize && osize > 0) { UFS_LOCK(ump); error = ffs_realloccg(ip, nb, dp->di_db[nb], - ffs_blkpref_ufs2(ip, lastlbn, (int)nb, - &dp->di_db[0]), osize, (int)fs->fs_bsize, - flags, cred, &bp); + ffs_blkpref_ufs2(ip, lastlbn, (int)nb, + &dp->di_db[0]), osize, (int)fs->fs_bsize, + flags, cred, &bp); if (error) return (error); if (DOINGSOFTDEP(vp)) @@ -733,7 +733,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t UFS_LOCK(ump); error = ffs_realloccg(ip, lbn, dp->di_db[lbn], ffs_blkpref_ufs2(ip, lbn, (int)lbn, - &dp->di_db[0]), osize, nsize, flags, + &dp->di_db[0]), osize, nsize, flags, cred, &bp); if (error) return (error); Modified: head/sys/vm/vnode_pager.c ============================================================================== --- head/sys/vm/vnode_pager.c Thu Mar 14 20:28:26 2013 (r248282) +++ head/sys/vm/vnode_pager.c Thu Mar 14 20:31:39 2013 (r248283) @@ -900,7 +900,7 @@ vnode_pager_generic_getpages(vp, m, byte } bp = getpbuf(&vnode_pbuf_freecnt); - kva = (vm_offset_t) bp->b_data; + kva = (vm_offset_t)bp->b_data; /* * and map the pages to be read into the kva From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 21:18:19 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B8ABDB3D; Thu, 14 Mar 2013 21:18:19 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A9DA1C06; Thu, 14 Mar 2013 21:18:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ELIJJY023044; Thu, 14 Mar 2013 21:18:19 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ELIJco023043; Thu, 14 Mar 2013 21:18:19 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201303142118.r2ELIJco023043@svn.freebsd.org> From: Dimitry Andric Date: Thu, 14 Mar 2013 21:18:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248284 - stable/9/cddl/contrib/opensolaris/tools/ctf/cvt X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 21:18:19 -0000 Author: dim Date: Thu Mar 14 21:18:19 2013 New Revision: 248284 URL: http://svnweb.freebsd.org/changeset/base/248284 Log: MFC r247960: Make ctfconvert work correctly on clang-compiled object files. Clang puts the full original source filename in the STT_FILE entry of the ELF symbol table, while gcc saves only the basename. Since the DWARF DW_AT_name attribute contains the full source filename, both for clang and gcc, ctfconvert takes just the basename of it, for matching with the STT_FILE entry. So when attempting to match with such an entry, use its basename, if necessary. Reported by: avg MFC r247962: Fix error in r247960: actually assign the basename to match.iim_file. Pointed out by: avg Pointy hat to: dim Modified: stable/9/cddl/contrib/opensolaris/tools/ctf/cvt/output.c Directory Properties: stable/9/cddl/ (props changed) stable/9/cddl/contrib/opensolaris/ (props changed) Modified: stable/9/cddl/contrib/opensolaris/tools/ctf/cvt/output.c ============================================================================== --- stable/9/cddl/contrib/opensolaris/tools/ctf/cvt/output.c Thu Mar 14 20:31:39 2013 (r248283) +++ stable/9/cddl/contrib/opensolaris/tools/ctf/cvt/output.c Thu Mar 14 21:18:19 2013 (r248284) @@ -363,6 +363,7 @@ sort_iidescs(Elf *elf, const char *file, for (i = 0; i < nent; i++) { GElf_Sym sym; + char *bname; iidesc_t **tolist; GElf_Sym ssym; iidesc_match_t smatch; @@ -377,7 +378,8 @@ sort_iidescs(Elf *elf, const char *file, switch (GELF_ST_TYPE(sym.st_info)) { case STT_FILE: - match.iim_file = match.iim_name; + bname = strrchr(match.iim_name, '/'); + match.iim_file = bname == NULL ? match.iim_name : bname + 1; continue; case STT_OBJECT: tolist = iiburst->iib_objts; From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 21:20:47 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 46078DA9; Thu, 14 Mar 2013 21:20:47 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1C0A7C37; Thu, 14 Mar 2013 21:20:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ELKkxw024956; Thu, 14 Mar 2013 21:20:47 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ELKk8R024955; Thu, 14 Mar 2013 21:20:46 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303142120.r2ELKk8R024955@svn.freebsd.org> From: Joel Dahl Date: Thu, 14 Mar 2013 21:20:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248285 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 21:20:47 -0000 Author: joel (doc committer) Date: Thu Mar 14 21:20:46 2013 New Revision: 248285 URL: http://svnweb.freebsd.org/changeset/base/248285 Log: Add FreeBSD 9.1. Modified: head/share/misc/bsd-family-tree Modified: head/share/misc/bsd-family-tree ============================================================================== --- head/share/misc/bsd-family-tree Thu Mar 14 21:18:19 2013 (r248284) +++ head/share/misc/bsd-family-tree Thu Mar 14 21:20:46 2013 (r248285) @@ -252,12 +252,14 @@ FreeBSD 5.2 | | | | | | OpenBSD 5.0 | *--FreeBSD | | | | | | 9.0 | | | | DragonFly 3.0.1 - | v FreeBSD | | | | - | 8.3 | | OpenBSD 5.1 | - | Mac OS X | | | - | 10.8 | | | - | | NetBSD 6.0 | | - | | | OpenBSD 5.2 DragonFly 3.2.1 + | | FreeBSD | | | | + | | 8.3 | | OpenBSD 5.1 | + | | Mac OS X | | | + | | 10.8 | | | + | | | NetBSD 6.0 | | + | | | | OpenBSD 5.2 DragonFly 3.2.1 + | FreeBSD | | | | + | 9.1 | | | | | | | | | FreeBSD 10 -current | NetBSD -current OpenBSD -current | | | | | | @@ -555,6 +557,7 @@ Mac OS X 10.8 2012-07-25 [APL] NetBSD 6.0 2012-10-17 [NBD] OpenBSD 5.2 2012-11-01 [OBD] DragonFly 3.2.1 2012-11-02 [DFB] +FreeBSD 9.1 2012-12-30 [FBD] Bibliography ------------------------ From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 21:21:15 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8311CF17; Thu, 14 Mar 2013 21:21:15 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7316BC3F; Thu, 14 Mar 2013 21:21:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ELLFnu025082; Thu, 14 Mar 2013 21:21:15 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ELLFgc025081; Thu, 14 Mar 2013 21:21:15 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303142121.r2ELLFgc025081@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 14 Mar 2013 21:21:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248286 - head/sbin/hastctl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 21:21:15 -0000 Author: pjd Date: Thu Mar 14 21:21:14 2013 New Revision: 248286 URL: http://svnweb.freebsd.org/changeset/base/248286 Log: Removed redundant includes. Modified: head/sbin/hastctl/hastctl.c Modified: head/sbin/hastctl/hastctl.c ============================================================================== --- head/sbin/hastctl/hastctl.c Thu Mar 14 21:20:46 2013 (r248285) +++ head/sbin/hastctl/hastctl.c Thu Mar 14 21:21:14 2013 (r248286) @@ -31,21 +31,11 @@ __FBSDID("$FreeBSD$"); #include -#include -#include -#include -#include #include -#include -#include #include -#include -#include #include -#include #include -#include #include #include From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 21:39:40 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 5C8313C8; Thu, 14 Mar 2013 21:39:40 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 43F5ED69; Thu, 14 Mar 2013 21:39:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ELddHJ029275; Thu, 14 Mar 2013 21:39:39 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ELddH3029272; Thu, 14 Mar 2013 21:39:39 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201303142139.r2ELddH3029272@svn.freebsd.org> From: Jack F Vogel Date: Thu, 14 Mar 2013 21:39:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248287 - in stable/9/sys: dev/ixgbe net sys X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 21:39:40 -0000 Author: jfv Date: Thu Mar 14 21:39:39 2013 New Revision: 248287 URL: http://svnweb.freebsd.org/changeset/base/248287 Log: MFC of the ixgbe driver including the follow revisions: 235547,235964,241616,241646,241856,241885,242403, 242421,243714,243716,243718,243721,243724,243725, 243728,243729,243733,243735,243736,243741,243833, 244514,246128,246482,247035,247056,247822,247823 Note: 246482 includes only the changes in the ixgbe driver and the buf_ring supporting code in if_var.h and buf_ring.h igb and em will be seperate commits, and non-Intel drivers can commit the changes at will. Reviewed by:rss, jhb Modified: stable/9/sys/dev/ixgbe/LICENSE stable/9/sys/dev/ixgbe/ixgbe.c (contents, props changed) stable/9/sys/dev/ixgbe/ixgbe.h stable/9/sys/dev/ixgbe/ixgbe_82598.c stable/9/sys/dev/ixgbe/ixgbe_82599.c stable/9/sys/dev/ixgbe/ixgbe_82599.h stable/9/sys/dev/ixgbe/ixgbe_api.c stable/9/sys/dev/ixgbe/ixgbe_api.h stable/9/sys/dev/ixgbe/ixgbe_common.c stable/9/sys/dev/ixgbe/ixgbe_common.h stable/9/sys/dev/ixgbe/ixgbe_mbx.h stable/9/sys/dev/ixgbe/ixgbe_osdep.h stable/9/sys/dev/ixgbe/ixgbe_phy.c stable/9/sys/dev/ixgbe/ixgbe_phy.h stable/9/sys/dev/ixgbe/ixgbe_type.h stable/9/sys/dev/ixgbe/ixgbe_vf.c stable/9/sys/dev/ixgbe/ixgbe_vf.h stable/9/sys/dev/ixgbe/ixgbe_x540.c stable/9/sys/dev/ixgbe/ixgbe_x540.h stable/9/sys/dev/ixgbe/ixv.c stable/9/sys/net/if_var.h stable/9/sys/sys/buf_ring.h Directory Properties: stable/9/sys/dev/ixgbe/ (props changed) stable/9/sys/net/ (props changed) stable/9/sys/sys/ (props changed) Modified: stable/9/sys/dev/ixgbe/LICENSE ============================================================================== --- stable/9/sys/dev/ixgbe/LICENSE Thu Mar 14 21:21:14 2013 (r248286) +++ stable/9/sys/dev/ixgbe/LICENSE Thu Mar 14 21:39:39 2013 (r248287) @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2011, Intel Corporation + Copyright (c) 2001-2013, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without Modified: stable/9/sys/dev/ixgbe/ixgbe.c ============================================================================== --- stable/9/sys/dev/ixgbe/ixgbe.c Thu Mar 14 21:21:14 2013 (r248286) +++ stable/9/sys/dev/ixgbe/ixgbe.c Thu Mar 14 21:39:39 2013 (r248287) @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2012, Intel Corporation + Copyright (c) 2001-2013, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -47,7 +47,7 @@ int ixgbe_display_debug_stat /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "2.4.8"; +char ixgbe_driver_version[] = "2.5.7 - STABLE/9"; /********************************************************************* * PCI Device ID Table @@ -83,7 +83,7 @@ static ixgbe_vendor_info_t ixgbe_vendor_ {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF2, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_FCOE, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599EN_SFP, 0, 0, 0}, - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T1, 0, 0, 0}, + {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF_QP, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T, 0, 0, 0}, /* required last entry */ {0, 0, 0, 0, 0} @@ -104,16 +104,16 @@ static int ixgbe_probe(device_t); static int ixgbe_attach(device_t); static int ixgbe_detach(device_t); static int ixgbe_shutdown(device_t); -#if __FreeBSD_version >= 800000 +#ifdef IXGBE_LEGACY_TX +static void ixgbe_start(struct ifnet *); +static void ixgbe_start_locked(struct tx_ring *, struct ifnet *); +#else /* ! IXGBE_LEGACY_TX */ static int ixgbe_mq_start(struct ifnet *, struct mbuf *); static int ixgbe_mq_start_locked(struct ifnet *, struct tx_ring *, struct mbuf *); static void ixgbe_qflush(struct ifnet *); static void ixgbe_deferred_mq_start(void *, int); -#else -static void ixgbe_start(struct ifnet *); -static void ixgbe_start_locked(struct tx_ring *, struct ifnet *); -#endif +#endif /* IXGBE_LEGACY_TX */ static int ixgbe_ioctl(struct ifnet *, u_long, caddr_t); static void ixgbe_init(void *); static void ixgbe_init_locked(struct adapter *); @@ -150,7 +150,7 @@ static void ixgbe_enable_intr(struct static void ixgbe_disable_intr(struct adapter *); static void ixgbe_update_stats_counters(struct adapter *); static bool ixgbe_txeof(struct tx_ring *); -static bool ixgbe_rxeof(struct ix_queue *, int); +static bool ixgbe_rxeof(struct ix_queue *); static void ixgbe_rx_checksum(u32, struct mbuf *, u32); static void ixgbe_set_promisc(struct adapter *); static void ixgbe_set_multi(struct adapter *); @@ -163,10 +163,10 @@ static int ixgbe_set_thermal_test(SYSCTL static int ixgbe_dma_malloc(struct adapter *, bus_size_t, struct ixgbe_dma_alloc *, int); static void ixgbe_dma_free(struct adapter *, struct ixgbe_dma_alloc *); -static void ixgbe_add_rx_process_limit(struct adapter *, const char *, - const char *, int *, int); -static bool ixgbe_tx_ctx_setup(struct tx_ring *, struct mbuf *); -static bool ixgbe_tso_setup(struct tx_ring *, struct mbuf *, u32 *); +static int ixgbe_tx_ctx_setup(struct tx_ring *, + struct mbuf *, u32 *, u32 *); +static int ixgbe_tso_setup(struct tx_ring *, + struct mbuf *, u32 *, u32 *); static void ixgbe_set_ivar(struct adapter *, u8, u8, s8); static void ixgbe_configure_ivars(struct adapter *); static u8 * ixgbe_mc_array_itr(struct ixgbe_hw *, u8 **, u32 *); @@ -181,6 +181,9 @@ static __inline void ixgbe_rx_discard(st static __inline void ixgbe_rx_input(struct rx_ring *, struct ifnet *, struct mbuf *, u32); +static void ixgbe_enable_rx_drop(struct adapter *); +static void ixgbe_disable_rx_drop(struct adapter *); + /* Support for pluggable optic modules */ static bool ixgbe_sfp_probe(struct adapter *); static void ixgbe_setup_optics(struct adapter *); @@ -213,7 +216,7 @@ static device_method_t ixgbe_methods[] = DEVMETHOD(device_attach, ixgbe_attach), DEVMETHOD(device_detach, ixgbe_detach), DEVMETHOD(device_shutdown, ixgbe_shutdown), - {0, 0} + DEVMETHOD_END }; static driver_t ixgbe_driver = { @@ -243,9 +246,13 @@ static int ixgbe_max_interrupt_rate = (4 TUNABLE_INT("hw.ixgbe.max_interrupt_rate", &ixgbe_max_interrupt_rate); /* How many packets rxeof tries to clean at a time */ -static int ixgbe_rx_process_limit = 128; +static int ixgbe_rx_process_limit = 256; TUNABLE_INT("hw.ixgbe.rx_process_limit", &ixgbe_rx_process_limit); +/* How many packets txeof tries to clean at a time */ +static int ixgbe_tx_process_limit = 256; +TUNABLE_INT("hw.ixgbe.tx_process_limit", &ixgbe_tx_process_limit); + /* ** Smart speed setting, default to on ** this only works as a compile option @@ -263,15 +270,6 @@ static int ixgbe_enable_msix = 1; TUNABLE_INT("hw.ixgbe.enable_msix", &ixgbe_enable_msix); /* - * Header split: this causes the hardware to DMA - * the header into a separate mbuf from the payload, - * it can be a performance win in some workloads, but - * in others it actually hurts, its off by default. - */ -static int ixgbe_header_split = FALSE; -TUNABLE_INT("hw.ixgbe.hdr_split", &ixgbe_header_split); - -/* * Number of Queues, can be set to 0, * it then autoconfigures based on the * number of cpus with a max of 8. This @@ -292,6 +290,20 @@ TUNABLE_INT("hw.ixgbe.txd", &ixgbe_txd); static int ixgbe_rxd = PERFORM_RXD; TUNABLE_INT("hw.ixgbe.rxd", &ixgbe_rxd); +/* +** HW RSC control: +** this feature only works with +** IPv4, and only on 82599 and later. +** Also this will cause IP forwarding to +** fail and that can't be controlled by +** the stack as LRO can. For all these +** reasons I've deemed it best to leave +** this off and not bother with a tuneable +** interface, this would need to be compiled +** to enable. +*/ +static bool ixgbe_rsc_enable = FALSE; + /* Keep running tab on them for sanity check */ static int ixgbe_total_ports; @@ -533,7 +545,6 @@ ixgbe_attach(device_t dev) case IXGBE_ERR_SFP_NOT_SUPPORTED: device_printf(dev,"Unsupported SFP+ Module\n"); error = EIO; - device_printf(dev,"Hardware Initialization Failure\n"); goto err_late; case IXGBE_ERR_SFP_NOT_PRESENT: device_printf(dev,"No SFP+ Module found\n"); @@ -556,11 +567,6 @@ ixgbe_attach(device_t dev) if (ixgbe_setup_interface(dev, adapter) != 0) goto err_late; - /* Sysctl for limiting the amount of work done in the taskqueue */ - ixgbe_add_rx_process_limit(adapter, "rx_processing_limit", - "max number of rx packets to process", &adapter->rx_process_limit, - ixgbe_rx_process_limit); - /* Initialize statistics */ ixgbe_update_stats_counters(adapter); @@ -589,6 +595,9 @@ ixgbe_attach(device_t dev) "PCIE, or x4 PCIE 2 slot is required.\n"); } + /* Set an initial default flow control value */ + adapter->fc = ixgbe_fc_full; + /* let hardware know driver is loaded */ ctrl_ext = IXGBE_READ_REG(hw, IXGBE_CTRL_EXT); ctrl_ext |= IXGBE_CTRL_EXT_DRV_LOAD; @@ -645,7 +654,7 @@ ixgbe_detach(device_t dev) for (int i = 0; i < adapter->num_queues; i++, que++, txr++) { if (que->tq) { -#if __FreeBSD_version >= 800000 +#ifndef IXGBE_LEGACY_TX taskqueue_drain(que->tq, &txr->txq_task); #endif taskqueue_drain(que->tq, &que->que_task); @@ -709,7 +718,7 @@ ixgbe_shutdown(device_t dev) } -#if __FreeBSD_version < 800000 +#ifdef IXGBE_LEGACY_TX /********************************************************************* * Transmit entry point * @@ -728,17 +737,14 @@ ixgbe_start_locked(struct tx_ring *txr, IXGBE_TX_LOCK_ASSERT(txr); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != - IFF_DRV_RUNNING) + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return; if (!adapter->link_active) return; while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { - if (txr->tx_avail <= IXGBE_QUEUE_MIN_FREE) { - txr->queue_status |= IXGBE_QUEUE_DEPLETED; + if (txr->tx_avail <= IXGBE_QUEUE_MIN_FREE) break; - } IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); if (m_head == NULL) @@ -747,8 +753,6 @@ ixgbe_start_locked(struct tx_ring *txr, if (ixgbe_xmit(txr, &m_head)) { if (m_head != NULL) IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - if (txr->tx_avail <= IXGBE_QUEUE_MIN_FREE) - txr->queue_status |= IXGBE_QUEUE_DEPLETED; break; } /* Send a copy of the frame to the BPF listener */ @@ -781,7 +785,8 @@ ixgbe_start(struct ifnet *ifp) return; } -#else +#else /* ! IXGBE_LEGACY_TX */ + /* ** Multiqueue Transmit driver ** @@ -803,8 +808,7 @@ ixgbe_mq_start(struct ifnet *ifp, struct txr = &adapter->tx_rings[i]; que = &adapter->queues[i]; - if (((txr->queue_status & IXGBE_QUEUE_DEPLETED) == 0) && - IXGBE_TX_TRYLOCK(txr)) { + if (IXGBE_TX_TRYLOCK(txr)) { err = ixgbe_mq_start_locked(ifp, txr, m); IXGBE_TX_UNLOCK(txr); } else { @@ -823,7 +827,6 @@ ixgbe_mq_start_locked(struct ifnet *ifp, int enqueued, err = 0; if (((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) || - (txr->queue_status == IXGBE_QUEUE_DEPLETED) || adapter->link_active == 0) { if (m != NULL) err = drbr_enqueue(ifp, txr->br, m); @@ -831,22 +834,24 @@ ixgbe_mq_start_locked(struct ifnet *ifp, } enqueued = 0; - if (m == NULL) { - next = drbr_dequeue(ifp, txr->br); - } else if (drbr_needs_enqueue(ifp, txr->br)) { - if ((err = drbr_enqueue(ifp, txr->br, m)) != 0) + if (m != NULL) { + err = drbr_enqueue(ifp, txr->br, m); + if (err) { return (err); - next = drbr_dequeue(ifp, txr->br); - } else - next = m; + } + } /* Process the queue */ - while (next != NULL) { + while ((next = drbr_peek(ifp, txr->br)) != NULL) { if ((err = ixgbe_xmit(txr, &next)) != 0) { - if (next != NULL) - err = drbr_enqueue(ifp, txr->br, next); + if (next == NULL) { + drbr_advance(ifp, txr->br); + } else { + drbr_putback(ifp, txr->br, next); + } break; } + drbr_advance(ifp, txr->br); enqueued++; /* Send a copy of the frame to the BPF listener */ ETHER_BPF_MTAP(ifp, next); @@ -854,16 +859,11 @@ ixgbe_mq_start_locked(struct ifnet *ifp, break; if (txr->tx_avail < IXGBE_TX_OP_THRESHOLD) ixgbe_txeof(txr); - if (txr->tx_avail < IXGBE_TX_OP_THRESHOLD) { - txr->queue_status |= IXGBE_QUEUE_DEPLETED; - break; - } - next = drbr_dequeue(ifp, txr->br); } if (enqueued > 0) { /* Set watchdog on */ - txr->queue_status |= IXGBE_QUEUE_WORKING; + txr->queue_status = IXGBE_QUEUE_WORKING; txr->watchdog_time = ticks; } @@ -907,7 +907,7 @@ ixgbe_qflush(struct ifnet *ifp) } if_qflush(ifp); } -#endif /* __FreeBSD_version >= 800000 */ +#endif /* IXGBE_LEGACY_TX */ /********************************************************************* * Ioctl entry point @@ -922,6 +922,7 @@ static int ixgbe_ioctl(struct ifnet * ifp, u_long command, caddr_t data) { struct adapter *adapter = ifp->if_softc; + struct ixgbe_hw *hw = &adapter->hw; struct ifreq *ifr = (struct ifreq *) data; #if defined(INET) || defined(INET6) struct ifaddr *ifa = (struct ifaddr *)data; @@ -1009,6 +1010,8 @@ ixgbe_ioctl(struct ifnet * ifp, u_long c ifp->if_capenable ^= IFCAP_HWCSUM; if (mask & IFCAP_TSO4) ifp->if_capenable ^= IFCAP_TSO4; + if (mask & IFCAP_TSO6) + ifp->if_capenable ^= IFCAP_TSO6; if (mask & IFCAP_LRO) ifp->if_capenable ^= IFCAP_LRO; if (mask & IFCAP_VLAN_HWTAGGING) @@ -1025,7 +1028,22 @@ ixgbe_ioctl(struct ifnet * ifp, u_long c VLAN_CAPABILITIES(ifp); break; } - + case SIOCGI2C: + { + struct ixgbe_i2c_req i2c; + IOCTL_DEBUGOUT("ioctl: SIOCGI2C (Get I2C Data)"); + error = copyin(ifr->ifr_data, &i2c, sizeof(i2c)); + if (error) + break; + if ((i2c.dev_addr != 0xA0) || (i2c.dev_addr != 0xA2)){ + error = EINVAL; + break; + } + hw->phy.ops.read_i2c_byte(hw, i2c.offset, + i2c.dev_addr, i2c.data); + error = copyout(&i2c, ifr->ifr_data, sizeof(i2c)); + break; + } default: IOCTL_DEBUGOUT1("ioctl: UNKNOWN (0x%X)\n", (int)command); error = ether_ioctl(ifp, command, data); @@ -1073,7 +1091,7 @@ ixgbe_init_locked(struct adapter *adapte /* Set the various hardware offload abilities */ ifp->if_hwassist = 0; - if (ifp->if_capenable & IFCAP_TSO4) + if (ifp->if_capenable & IFCAP_TSO) ifp->if_hwassist |= CSUM_TSO; if (ifp->if_capenable & IFCAP_TXCSUM) { ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP); @@ -1098,7 +1116,7 @@ ixgbe_init_locked(struct adapter *adapte /* ** Determine the correct mbuf pool - ** for doing jumbo/headersplit + ** for doing jumbo frames */ if (adapter->max_frame_size <= 2048) adapter->rx_mbuf_sz = MCLBYTES; @@ -1294,7 +1312,7 @@ ixgbe_init_locked(struct adapter *adapte tmp = IXGBE_LOW_DV(frame); hw->fc.low_water[0] = IXGBE_BT2KB(tmp); - adapter->fc = hw->fc.requested_mode = ixgbe_fc_full; + hw->fc.requested_mode = adapter->fc; hw->fc.pause_time = IXGBE_FC_PAUSE; hw->fc.send_xon = TRUE; } @@ -1306,7 +1324,6 @@ ixgbe_init_locked(struct adapter *adapte /* Now inform the stack we're ready */ ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; } @@ -1396,10 +1413,10 @@ ixgbe_handle_que(void *context, int pend bool more; if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - more = ixgbe_rxeof(que, adapter->rx_process_limit); + more = ixgbe_rxeof(que); IXGBE_TX_LOCK(txr); ixgbe_txeof(txr); -#if __FreeBSD_version >= 800000 +#ifndef IXGBE_LEGACY_TX if (!drbr_empty(ifp, txr->br)) ixgbe_mq_start_locked(ifp, txr, NULL); #else @@ -1444,7 +1461,7 @@ ixgbe_legacy_irq(void *arg) return; } - more_rx = ixgbe_rxeof(que, adapter->rx_process_limit); + more_rx = ixgbe_rxeof(que); IXGBE_TX_LOCK(txr); do { @@ -1490,7 +1507,7 @@ ixgbe_msix_que(void *arg) ixgbe_disable_queue(adapter, que->msix); ++que->irqs; - more_rx = ixgbe_rxeof(que, adapter->rx_process_limit); + more_rx = ixgbe_rxeof(que); IXGBE_TX_LOCK(txr); more_tx = ixgbe_txeof(txr); @@ -1499,7 +1516,7 @@ ixgbe_msix_que(void *arg) ** has anything queued the task gets ** scheduled to handle it. */ -#if __FreeBSD_version < 800000 +#ifdef IXGBE_LEGACY_TX if (!IFQ_DRV_IS_EMPTY(&adapter->ifp->if_snd)) #else if (!drbr_empty(adapter->ifp, txr->br)) @@ -1665,7 +1682,7 @@ ixgbe_media_status(struct ifnet * ifp, s ifmr->ifm_active |= IFM_100_TX | IFM_FDX; break; case IXGBE_LINK_SPEED_1GB_FULL: - ifmr->ifm_active |= IFM_1000_T | IFM_FDX; + ifmr->ifm_active |= IFM_1000_SX | IFM_FDX; break; case IXGBE_LINK_SPEED_10GB_FULL: ifmr->ifm_active |= adapter->optics | IFM_FDX; @@ -1724,9 +1741,9 @@ ixgbe_xmit(struct tx_ring *txr, struct m { struct adapter *adapter = txr->adapter; u32 olinfo_status = 0, cmd_type_len; - u32 paylen = 0; int i, j, error, nsegs; - int first, last = 0; + int first; + bool remap = TRUE; struct mbuf *m_head; bus_dma_segment_t segs[adapter->num_segs]; bus_dmamap_t map; @@ -1754,74 +1771,58 @@ ixgbe_xmit(struct tx_ring *txr, struct m /* * Map the packet for DMA. */ +retry: error = bus_dmamap_load_mbuf_sg(txr->txtag, map, *m_headp, segs, &nsegs, BUS_DMA_NOWAIT); - if (error == EFBIG) { + if (__predict_false(error)) { struct mbuf *m; - m = m_defrag(*m_headp, M_DONTWAIT); - if (m == NULL) { - adapter->mbuf_defrag_failed++; - m_freem(*m_headp); - *m_headp = NULL; - return (ENOBUFS); - } - *m_headp = m; - - /* Try it again */ - error = bus_dmamap_load_mbuf_sg(txr->txtag, map, - *m_headp, segs, &nsegs, BUS_DMA_NOWAIT); - - if (error == ENOMEM) { - adapter->no_tx_dma_setup++; + switch (error) { + case EFBIG: + /* Try it again? - one try */ + if (remap == TRUE) { + remap = FALSE; + m = m_defrag(*m_headp, M_NOWAIT); + if (m == NULL) { + adapter->mbuf_defrag_failed++; + m_freem(*m_headp); + *m_headp = NULL; + return (ENOBUFS); + } + *m_headp = m; + goto retry; + } else + return (error); + case ENOMEM: + txr->no_tx_dma_setup++; return (error); - } else if (error != 0) { - adapter->no_tx_dma_setup++; + default: + txr->no_tx_dma_setup++; m_freem(*m_headp); *m_headp = NULL; return (error); } - } else if (error == ENOMEM) { - adapter->no_tx_dma_setup++; - return (error); - } else if (error != 0) { - adapter->no_tx_dma_setup++; - m_freem(*m_headp); - *m_headp = NULL; - return (error); } /* Make certain there are enough descriptors */ if (nsegs > txr->tx_avail - 2) { txr->no_desc_avail++; - error = ENOBUFS; - goto xmit_fail; + bus_dmamap_unload(txr->txtag, map); + return (ENOBUFS); } m_head = *m_headp; /* ** Set up the appropriate offload context - ** this becomes the first descriptor of - ** a packet. + ** this will consume the first descriptor */ - if (m_head->m_pkthdr.csum_flags & CSUM_TSO) { - if (ixgbe_tso_setup(txr, m_head, &paylen)) { - cmd_type_len |= IXGBE_ADVTXD_DCMD_TSE; - olinfo_status |= IXGBE_TXD_POPTS_IXSM << 8; - olinfo_status |= IXGBE_TXD_POPTS_TXSM << 8; - olinfo_status |= paylen << IXGBE_ADVTXD_PAYLEN_SHIFT; - ++adapter->tso_tx; - } else - return (ENXIO); - } else if (ixgbe_tx_ctx_setup(txr, m_head)) - olinfo_status |= IXGBE_TXD_POPTS_TXSM << 8; - -#ifdef IXGBE_IEEE1588 - /* This is changing soon to an mtag detection */ - if (we detect this mbuf has a TSTAMP mtag) - cmd_type_len |= IXGBE_ADVTXD_MAC_TSTAMP; -#endif + error = ixgbe_tx_ctx_setup(txr, m_head, &cmd_type_len, &olinfo_status); + if (__predict_false(error)) { + if (error == ENOBUFS) + *m_headp = NULL; + return (error); + } #ifdef IXGBE_FDIR /* Do the flow director magic */ @@ -1833,10 +1834,6 @@ ixgbe_xmit(struct tx_ring *txr, struct m } } #endif - /* Record payload length */ - if (paylen == 0) - olinfo_status |= m_head->m_pkthdr.len << - IXGBE_ADVTXD_PAYLEN_SHIFT; i = txr->next_avail_desc; for (j = 0; j < nsegs; j++) { @@ -1852,13 +1849,9 @@ ixgbe_xmit(struct tx_ring *txr, struct m txd->read.cmd_type_len = htole32(txr->txd_cmd | cmd_type_len |seglen); txd->read.olinfo_status = htole32(olinfo_status); - last = i; /* descriptor that will get completion IRQ */ - if (++i == adapter->num_tx_desc) + if (++i == txr->num_desc) i = 0; - - txbuf->m_head = NULL; - txbuf->eop_index = -1; } txd->read.cmd_type_len |= @@ -1867,14 +1860,19 @@ ixgbe_xmit(struct tx_ring *txr, struct m txr->next_avail_desc = i; txbuf->m_head = m_head; - /* Swap the dma map between the first and last descriptor */ + /* + ** Here we swap the map so the last descriptor, + ** which gets the completion interrupt has the + ** real map, and the first descriptor gets the + ** unused map from this descriptor. + */ txr->tx_buffers[first].map = txbuf->map; txbuf->map = map; bus_dmamap_sync(txr->txtag, map, BUS_DMASYNC_PREWRITE); - /* Set the index of the descriptor that will be marked done */ + /* Set the EOP descriptor that will be marked done */ txbuf = &txr->tx_buffers[first]; - txbuf->eop_index = last; + txbuf->eop = txd; bus_dmamap_sync(txr->txdma.dma_tag, txr->txdma.dma_map, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); @@ -1887,10 +1885,6 @@ ixgbe_xmit(struct tx_ring *txr, struct m return (0); -xmit_fail: - bus_dmamap_unload(txr->txtag, txbuf->map); - return (error); - } static void @@ -1940,18 +1934,6 @@ ixgbe_set_multi(struct adapter *adapter) bzero(mta, sizeof(u8) * IXGBE_ETH_LENGTH_OF_ADDRESS * MAX_NUM_MULTICAST_ADDRESSES); - fctrl = IXGBE_READ_REG(&adapter->hw, IXGBE_FCTRL); - fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); - if (ifp->if_flags & IFF_PROMISC) - fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); - else if (ifp->if_flags & IFF_ALLMULTI) { - fctrl |= IXGBE_FCTRL_MPE; - fctrl &= ~IXGBE_FCTRL_UPE; - } else - fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); - - IXGBE_WRITE_REG(&adapter->hw, IXGBE_FCTRL, fctrl); - #if __FreeBSD_version < 800000 IF_ADDR_LOCK(ifp); #else @@ -1960,6 +1942,8 @@ ixgbe_set_multi(struct adapter *adapter) TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; + if (mcnt == MAX_NUM_MULTICAST_ADDRESSES) + break; bcopy(LLADDR((struct sockaddr_dl *) ifma->ifma_addr), &mta[mcnt * IXGBE_ETH_LENGTH_OF_ADDRESS], IXGBE_ETH_LENGTH_OF_ADDRESS); @@ -1971,9 +1955,24 @@ ixgbe_set_multi(struct adapter *adapter) if_maddr_runlock(ifp); #endif - update_ptr = mta; - ixgbe_update_mc_addr_list(&adapter->hw, - update_ptr, mcnt, ixgbe_mc_array_itr, TRUE); + fctrl = IXGBE_READ_REG(&adapter->hw, IXGBE_FCTRL); + fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); + if (ifp->if_flags & IFF_PROMISC) + fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); + else if (mcnt >= MAX_NUM_MULTICAST_ADDRESSES || + ifp->if_flags & IFF_ALLMULTI) { + fctrl |= IXGBE_FCTRL_MPE; + fctrl &= ~IXGBE_FCTRL_UPE; + } else + fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); + + IXGBE_WRITE_REG(&adapter->hw, IXGBE_FCTRL, fctrl); + + if (mcnt < MAX_NUM_MULTICAST_ADDRESSES) { + update_ptr = mta; + ixgbe_update_mc_addr_list(&adapter->hw, + update_ptr, mcnt, ixgbe_mc_array_itr, TRUE); + } return; } @@ -2009,13 +2008,11 @@ ixgbe_local_timer(void *arg) { struct adapter *adapter = arg; device_t dev = adapter->dev; - struct ifnet *ifp = adapter->ifp; struct ix_queue *que = adapter->queues; struct tx_ring *txr = adapter->tx_rings; - int hung, busy, paused; + int hung = 0, paused = 0; mtx_assert(&adapter->core_mtx, MA_OWNED); - hung = busy = paused = 0; /* Check for pluggable optics */ if (adapter->sfp_probe) @@ -2034,27 +2031,18 @@ ixgbe_local_timer(void *arg) /* ** Check the TX queues status - ** - central locked handling of OACTIVE ** - watchdog only if all queues show hung */ for (int i = 0; i < adapter->num_queues; i++, que++, txr++) { - if ((txr->queue_status & IXGBE_QUEUE_HUNG) && + if ((txr->queue_status == IXGBE_QUEUE_HUNG) && (paused == 0)) ++hung; - if (txr->queue_status & IXGBE_QUEUE_DEPLETED) - ++busy; - if ((txr->queue_status & IXGBE_QUEUE_IDLE) == 0) + else if (txr->queue_status == IXGBE_QUEUE_WORKING) taskqueue_enqueue(que->tq, &que->que_task); } /* Only truely watchdog if all queues show hung */ if (hung == adapter->num_queues) goto watchdog; - /* Only turn off the stack flow when ALL are depleted */ - if (busy == adapter->num_queues) - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - else if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) && - (busy < adapter->num_queues)) - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; out: ixgbe_rearm_queues(adapter, adapter->que_mask); @@ -2083,7 +2071,6 @@ static void ixgbe_update_link_status(struct adapter *adapter) { struct ifnet *ifp = adapter->ifp; - struct tx_ring *txr = adapter->tx_rings; device_t dev = adapter->dev; @@ -2104,9 +2091,6 @@ ixgbe_update_link_status(struct adapter device_printf(dev,"Link is Down\n"); if_link_state_change(ifp, LINK_STATE_DOWN); adapter->link_active = FALSE; - for (int i = 0; i < adapter->num_queues; - i++, txr++) - txr->queue_status = IXGBE_QUEUE_IDLE; } } @@ -2137,7 +2121,6 @@ ixgbe_stop(void *arg) /* Let the stack know...*/ ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - ifp->if_drv_flags |= IFF_DRV_OACTIVE; ixgbe_reset_hw(hw); hw->adapter_stopped = FALSE; @@ -2196,7 +2179,7 @@ ixgbe_setup_optics(struct adapter *adapt { struct ixgbe_hw *hw = &adapter->hw; int layer; - + layer = ixgbe_get_supported_physical_layer(hw); if (layer & IXGBE_PHYSICAL_LAYER_10GBASE_T) { @@ -2209,6 +2192,11 @@ ixgbe_setup_optics(struct adapter *adapt return; } + if (layer & IXGBE_PHYSICAL_LAYER_1000BASE_SX) { + adapter->optics = IFM_1000_SX; + return; + } + if (layer & (IXGBE_PHYSICAL_LAYER_10GBASE_LR | IXGBE_PHYSICAL_LAYER_10GBASE_LRM)) { adapter->optics = IFM_10G_LR; @@ -2244,12 +2232,12 @@ ixgbe_setup_optics(struct adapter *adapt static int ixgbe_allocate_legacy(struct adapter *adapter) { - device_t dev = adapter->dev; + device_t dev = adapter->dev; struct ix_queue *que = adapter->queues; -#if __FreeBSD_version >= 800000 +#ifndef IXGBE_LEGACY_TX struct tx_ring *txr = adapter->tx_rings; #endif - int error, rid = 0; + int error, rid = 0; /* MSI RID at 1 */ if (adapter->msix == 1) @@ -2268,7 +2256,7 @@ ixgbe_allocate_legacy(struct adapter *ad * Try allocating a fast interrupt and the associated deferred * processing contexts. */ -#if __FreeBSD_version >= 800000 +#ifndef IXGBE_LEGACY_TX TASK_INIT(&txr->txq_task, 0, ixgbe_deferred_mq_start, txr); #endif TASK_INIT(&que->que_task, 0, ixgbe_handle_que, que); @@ -2350,7 +2338,7 @@ ixgbe_allocate_msix(struct adapter *adap if (adapter->num_queues > 1) bus_bind_intr(dev, que->res, i); -#if __FreeBSD_version >= 800000 +#ifndef IXGBE_LEGACY_TX TASK_INIT(&txr->txq_task, 0, ixgbe_deferred_mq_start, txr); #endif TASK_INIT(&que->que_task, 0, ixgbe_handle_que, que); @@ -2596,7 +2584,7 @@ ixgbe_setup_interface(device_t dev, stru ifp->if_softc = adapter; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = ixgbe_ioctl; -#if __FreeBSD_version >= 800000 +#ifndef IXGBE_LEGACY_TX ifp->if_transmit = ixgbe_mq_start; ifp->if_qflush = ixgbe_qflush; #else @@ -2614,16 +2602,14 @@ ixgbe_setup_interface(device_t dev, stru */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_HWCSUM | IFCAP_TSO4 | IFCAP_VLAN_HWCSUM; + ifp->if_capabilities |= IFCAP_HWCSUM | IFCAP_TSO | IFCAP_VLAN_HWCSUM; ifp->if_capabilities |= IFCAP_JUMBO_MTU; + ifp->if_capabilities |= IFCAP_LRO; ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWTSO | IFCAP_VLAN_MTU; ifp->if_capenable = ifp->if_capabilities; - /* Don't enable LRO by default */ - ifp->if_capabilities |= IFCAP_LRO; - /* ** Don't turn this on by default, if vlans are ** created on another pseudo device (eg. lagg) @@ -2672,7 +2658,7 @@ ixgbe_config_link(struct adapter *adapte taskqueue_enqueue(adapter->tq, &adapter->mod_task); } else { if (hw->mac.ops.check_link) - err = ixgbe_check_link(hw, &autoneg, + err = ixgbe_check_link(hw, &adapter->link_speed, &adapter->link_up, FALSE); if (err) goto out; @@ -2683,8 +2669,8 @@ ixgbe_config_link(struct adapter *adapte if (err) goto out; if (hw->mac.ops.setup_link) - err = hw->mac.ops.setup_link(hw, autoneg, - negotiate, adapter->link_up); + err = hw->mac.ops.setup_link(hw, + autoneg, adapter->link_up); } out: return; @@ -2823,6 +2809,7 @@ ixgbe_allocate_queues(struct adapter *ad txr = &adapter->tx_rings[i]; txr->adapter = adapter; txr->me = i; + txr->num_desc = adapter->num_tx_desc; /* Initialize the TX side lock */ snprintf(txr->mtx_name, sizeof(txr->mtx_name), "%s:tx(%d)", @@ -2846,7 +2833,7 @@ ixgbe_allocate_queues(struct adapter *ad error = ENOMEM; goto err_tx_desc; } -#if __FreeBSD_version >= 800000 +#ifndef IXGBE_LEGACY_TX /* Allocate a buf ring */ txr->br = buf_ring_alloc(IXGBE_BR_SIZE, M_DEVBUF, M_WAITOK, &txr->tx_mtx); @@ -2869,6 +2856,7 @@ ixgbe_allocate_queues(struct adapter *ad /* Set up some basics */ rxr->adapter = adapter; rxr->me = i; + rxr->num_desc = adapter->num_rx_desc; /* Initialize the RX side lock */ snprintf(rxr->mtx_name, sizeof(rxr->mtx_name), "%s:rx(%d)", @@ -3014,7 +3002,7 @@ ixgbe_setup_transmit_ring(struct tx_ring /* Free any existing tx buffers. */ txbuf = txr->tx_buffers; - for (i = 0; i < adapter->num_tx_desc; i++, txbuf++) { + for (i = 0; i < txr->num_desc; i++, txbuf++) { if (txbuf->m_head != NULL) { bus_dmamap_sync(txr->txtag, txbuf->map, BUS_DMASYNC_POSTWRITE); @@ -3038,8 +3026,8 @@ ixgbe_setup_transmit_ring(struct tx_ring netmap_load_map(txr->txtag, txbuf->map, NMB(slot + si)); } #endif /* DEV_NETMAP */ - /* Clear the EOP index */ - txbuf->eop_index = -1; + /* Clear the EOP descriptor pointer */ + txbuf->eop = NULL; } #ifdef IXGBE_FDIR @@ -3093,7 +3081,7 @@ ixgbe_initialize_transmit_units(struct a (tdba & 0x00000000ffffffffULL)); IXGBE_WRITE_REG(hw, IXGBE_TDBAH(i), (tdba >> 32)); IXGBE_WRITE_REG(hw, IXGBE_TDLEN(i), - adapter->num_tx_desc * sizeof(struct ixgbe_legacy_tx_desc)); + adapter->num_tx_desc * sizeof(union ixgbe_adv_tx_desc)); /* Setup the HW Tx Head and Tail descriptor pointers */ IXGBE_WRITE_REG(hw, IXGBE_TDH(i), 0); @@ -3103,6 +3091,9 @@ ixgbe_initialize_transmit_units(struct a txr->txd_cmd = IXGBE_TXD_CMD_IFCS; txr->queue_status = IXGBE_QUEUE_IDLE; + /* Set the processing limit */ + txr->process_limit = ixgbe_tx_process_limit; + /* Disable Head Writeback */ switch (hw->mac.type) { case ixgbe_mac_82598EB: @@ -3204,7 +3195,7 @@ ixgbe_free_transmit_buffers(struct tx_ri tx_buffer->map = NULL; } } -#if __FreeBSD_version >= 800000 +#ifdef IXGBE_LEGACY_TX if (txr->br != NULL) buf_ring_free(txr->br, M_DEVBUF); #endif @@ -3221,43 +3212,49 @@ ixgbe_free_transmit_buffers(struct tx_ri /********************************************************************* * - * Advanced Context Descriptor setup for VLAN or CSUM + * Advanced Context Descriptor setup for VLAN, CSUM or TSO * **********************************************************************/ -static bool -ixgbe_tx_ctx_setup(struct tx_ring *txr, struct mbuf *mp) +static int +ixgbe_tx_ctx_setup(struct tx_ring *txr, struct mbuf *mp, + u32 *cmd_type_len, u32 *olinfo_status) { - struct adapter *adapter = txr->adapter; struct ixgbe_adv_tx_context_desc *TXD; - struct ixgbe_tx_buf *tx_buffer; - u32 vlan_macip_lens = 0, type_tucmd_mlhl = 0; struct ether_vlan_header *eh; struct ip *ip; struct ip6_hdr *ip6; - int ehdrlen, ip_hlen = 0; + u32 vlan_macip_lens = 0, type_tucmd_mlhl = 0; + int ehdrlen, ip_hlen = 0; u16 etype; u8 ipproto = 0; - bool offload = TRUE; - int ctxd = txr->next_avail_desc; - u16 vtag = 0; - + int offload = TRUE; + int ctxd = txr->next_avail_desc; + u16 vtag = 0; + + /* First check if TSO is to be used */ + if (mp->m_pkthdr.csum_flags & CSUM_TSO) + return (ixgbe_tso_setup(txr, mp, cmd_type_len, olinfo_status)); if ((mp->m_pkthdr.csum_flags & CSUM_OFFLOAD) == 0) offload = FALSE; - tx_buffer = &txr->tx_buffers[ctxd]; + /* Indicate the whole packet as payload when not doing TSO */ + *olinfo_status |= mp->m_pkthdr.len << IXGBE_ADVTXD_PAYLEN_SHIFT; + + /* Now ready a context descriptor */ TXD = (struct ixgbe_adv_tx_context_desc *) &txr->tx_base[ctxd]; /* ** In advanced descriptors the vlan tag must - ** be placed into the descriptor itself. + ** be placed into the context descriptor. Hence + ** we need to make one even if not doing offloads. */ if (mp->m_flags & M_VLANTAG) { vtag = htole16(mp->m_pkthdr.ether_vtag); vlan_macip_lens |= (vtag << IXGBE_ADVTXD_VLAN_SHIFT); - } else if (offload == FALSE) - return FALSE; + } else if (offload == FALSE) /* ... no offload to do */ + return (0); /* * Determine where frame payload starts. @@ -3286,6 +3283,7 @@ ixgbe_tx_ctx_setup(struct tx_ring *txr, case ETHERTYPE_IPV6: ip6 = (struct ip6_hdr *)(mp->m_data + ehdrlen); ip_hlen = sizeof(struct ip6_hdr); + /* XXX-BZ this will go badly in case of ext hdrs. */ ipproto = ip6->ip6_nxt; type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_IPV6; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 22:16:13 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D0B93F7F; Thu, 14 Mar 2013 22:16:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B7C07EC0; Thu, 14 Mar 2013 22:16:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EMGDh3041510; Thu, 14 Mar 2013 22:16:13 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EMGDuj041509; Thu, 14 Mar 2013 22:16:13 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303142216.r2EMGDuj041509@svn.freebsd.org> From: Brooks Davis Date: Thu, 14 Mar 2013 22:16:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248290 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 22:16:13 -0000 Author: brooks Date: Thu Mar 14 22:16:13 2013 New Revision: 248290 URL: http://svnweb.freebsd.org/changeset/base/248290 Log: FDT_DTS_FILE is expanded in a Makefile so use :R to remove the suffix rather than using echo|cut to remove everything after the first '.'. Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Mar 14 22:04:53 2013 (r248289) +++ head/sys/conf/files Thu Mar 14 22:16:13 2013 (r248290) @@ -55,9 +55,9 @@ aic79xx_reg_print.o optional ahd pci ah # from the specified source (DTS) file: .dts -> .dtb # fdt_dtb_file optional fdt \ - compile-with "if [ -f $S/boot/fdt/dts/${FDT_DTS_FILE} ]; then dtc -O dtb -o `echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb -b 0 -p 1024 $S/boot/fdt/dts/${FDT_DTS_FILE}; fi" \ + compile-with "if [ -f $S/boot/fdt/dts/${FDT_DTS_FILE} ]; then dtc -O dtb -o ${FDT_DTS_FILE:R}.dtb -b 0 -p 1024 $S/boot/fdt/dts/${FDT_DTS_FILE}; fi" \ no-obj no-implicit-rule before-depend \ - clean "`echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb" + clean "${FDT_DTS_FILE:R}.dtb" fdt_static_dtb.h optional fdt fdt_dtb_static \ compile-with "sh $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ." \ no-obj no-implicit-rule before-depend \ From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 22:29:38 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8C6A721A; Thu, 14 Mar 2013 22:29:38 +0000 (UTC) (envelope-from marck@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7E3CDF24; Thu, 14 Mar 2013 22:29:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EMTc9q044844; Thu, 14 Mar 2013 22:29:38 GMT (envelope-from marck@svn.freebsd.org) Received: (from marck@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EMTcwG044842; Thu, 14 Mar 2013 22:29:38 GMT (envelope-from marck@svn.freebsd.org) Message-Id: <201303142229.r2EMTcwG044842@svn.freebsd.org> From: Dmitry Morozovsky Date: Thu, 14 Mar 2013 22:29:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248291 - head/sbin/hastctl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 22:29:38 -0000 Author: marck (doc committer) Date: Thu Mar 14 22:29:37 2013 New Revision: 248291 URL: http://svnweb.freebsd.org/changeset/base/248291 Log: Rename 'status' command to 'list' and introduce new 'status' which produces more terse output more observable for both scripts and humans. Also, it shifts hastctl closer to GEOM utilities with their list/status command pairs. Approved by: pjd MFC after: 4 weeks Modified: head/sbin/hastctl/hastctl.8 head/sbin/hastctl/hastctl.c Modified: head/sbin/hastctl/hastctl.8 ============================================================================== --- head/sbin/hastctl/hastctl.8 Thu Mar 14 22:16:13 2013 (r248290) +++ head/sbin/hastctl/hastctl.8 Thu Mar 14 22:29:37 2013 (r248291) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 10, 2011 +.Dd March 14, 2013 .Dt HASTCTL 8 .Os .Sh NAME @@ -49,6 +49,11 @@ .Aq init | primary | secondary .Ar all | name ... .Nm +.Cm list +.Op Fl d +.Op Fl c Ar config +.Op Ar all | name ... +.Nm .Cm status .Op Fl d .Op Fl c Ar config @@ -139,8 +144,11 @@ GEOM provider .Pa /dev/hast/ will not be created on secondary node. .El +.It Cm list +Present verbose status of the configured resources. .It Cm status -Present status of the configured resources. +Present terse (and more easy machine-parseable) status of the configured +resources. .It Cm dump Dump metadata stored on local component for the configured resources. .El Modified: head/sbin/hastctl/hastctl.c ============================================================================== --- head/sbin/hastctl/hastctl.c Thu Mar 14 22:16:13 2013 (r248290) +++ head/sbin/hastctl/hastctl.c Thu Mar 14 22:29:37 2013 (r248291) @@ -60,7 +60,8 @@ enum { CMD_CREATE, CMD_ROLE, CMD_STATUS, - CMD_DUMP + CMD_DUMP, + CMD_LIST }; static __dead2 void @@ -75,6 +76,9 @@ usage(void) " %s role [-d] [-c config] all | name ...\n", getprogname()); fprintf(stderr, + " %s list [-d] [-c config] [all | name ...]\n", + getprogname()); + fprintf(stderr, " %s status [-d] [-c config] [all | name ...]\n", getprogname()); fprintf(stderr, @@ -287,7 +291,7 @@ control_set_role(struct nv *nv, const ch } static int -control_status(struct nv *nv) +control_list(struct nv *nv) { unsigned int ii; const char *str; @@ -351,6 +355,43 @@ control_status(struct nv *nv) return (ret); } +static int +control_status(struct nv *nv) +{ + unsigned int ii; + const char *str; + int error, hprinted, ret; + + hprinted = 0; + ret = 0; + + for (ii = 0; ; ii++) { + str = nv_get_string(nv, "resource%u", ii); + if (str == NULL) + break; + if (!hprinted) { + printf("Name\tStatus\t Role\t\tComponents\n"); + hprinted = 1; + } + printf("%s\t", str); + error = nv_get_int16(nv, "error%u", ii); + if (error != 0) { + if (ret == 0) + ret = error; + printf("ERR%d\n", error); + continue; + } + str = nv_get_string(nv, "status%u", ii); + printf("%-9s", (str != NULL) ? str : "-"); + printf("%-15s", nv_get_string(nv, "role%u", ii)); + printf("%s\t", + nv_get_string(nv, "localpath%u", ii)); + printf("%s\n", + nv_get_string(nv, "remoteaddr%u", ii)); + } + return (ret); +} + int main(int argc, char *argv[]) { @@ -371,6 +412,9 @@ main(int argc, char *argv[]) } else if (strcmp(argv[1], "role") == 0) { cmd = CMD_ROLE; optstr = "c:dh"; + } else if (strcmp(argv[1], "list") == 0) { + cmd = CMD_LIST; + optstr = "c:dh"; } else if (strcmp(argv[1], "status") == 0) { cmd = CMD_STATUS; optstr = "c:dh"; @@ -459,8 +503,19 @@ main(int argc, char *argv[]) for (ii = 0; ii < argc - 1; ii++) nv_add_string(nv, argv[ii + 1], "resource%d", ii); break; + case CMD_LIST: + /* Obtain verbose status of the given resources. */ + nv = nv_alloc(); + nv_add_uint8(nv, HASTCTL_CMD_STATUS, "cmd"); + if (argc == 0) + nv_add_string(nv, "all", "resource%d", 0); + else { + for (ii = 0; ii < argc; ii++) + nv_add_string(nv, argv[ii], "resource%d", ii); + } + break; case CMD_STATUS: - /* Obtain status of the given resources. */ + /* Obtain brief status of the given resources. */ nv = nv_alloc(); nv_add_uint8(nv, HASTCTL_CMD_STATUS, "cmd"); if (argc == 0) @@ -514,6 +569,9 @@ main(int argc, char *argv[]) case CMD_ROLE: error = control_set_role(nv, argv[0]); break; + case CMD_LIST: + error = control_list(nv); + break; case CMD_STATUS: error = control_status(nv); break; From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 22:55:59 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B69D8935; Thu, 14 Mar 2013 22:55:59 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A78E1B8; Thu, 14 Mar 2013 22:55:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EMtxaQ053331; Thu, 14 Mar 2013 22:55:59 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EMtxYF053329; Thu, 14 Mar 2013 22:55:59 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201303142255.r2EMtxYF053329@svn.freebsd.org> From: Jack F Vogel Date: Thu, 14 Mar 2013 22:55:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248292 - stable/9/sys/dev/e1000 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 22:55:59 -0000 Author: jfv Date: Thu Mar 14 22:55:59 2013 New Revision: 248292 URL: http://svnweb.freebsd.org/changeset/base/248292 Log: MFC of the E1000 drivers including revisions: ------------------------------------------------------------------------ r238765 | luigi | 2012-07-25 04:28:15 -0700 (Wed, 25 Jul 2012) | 7 lines Use legacy interrupts as a default. This gives up to 10% speedup when used in qemu (and this driver is for non-PCIe cards, so probably its largest use is in virtualized environments). ------------------------------------------------------------------------ r238770 | luigi | 2012-07-25 05:51:33 -0700 (Wed, 25 Jul 2012) | 4 lines remove some extra testing code that slipped into the previous commit ------------------------------------------------------------------------ r238953 | jfv | 2012-07-31 11:44:10 -0700 (Tue, 31 Jul 2012) | 6 lines Clean up some unused leftover code from em Make IRQ style a tuneable Fix lock handling in the interrupt handler ------------------------------------------------------------------------ r238981 | sbruno | 2012-08-01 17:00:34 -0700 (Wed, 01 Aug 2012) | 9 lines CPU_NEXT() already handles wrapping around to the beginning. Also, in a system with sparse CPU IDs, you can have a valid CPU ID > mp_ncpus (e.g. if you have two CPUs 0 and 4, with mp_maxid == 4 and mp_ncpus == 2). ------------------------------------------------------------------------ r239105 | jfv | 2012-08-06 13:44:05 -0700 (Mon, 06 Aug 2012) | 5 lines Correct the mq_start routine to avoid out-of-order packet delivery, always enqueue when possible. Also correct the DEPLETED test as multiple bits might be set. Thanks to Randall Stewart for the changes! ------------------------------------------------------------------------ r239109 | jfv | 2012-08-06 15:43:49 -0700 (Mon, 06 Aug 2012) | 6 lines Make the polling interface in igb able to handle multiqueue, and correct the rxdone handling. Update the polling man page to include igb as well. ------------------------------------------------------------------------ r239304 | jfv | 2012-08-15 10:12:40 -0700 (Wed, 15 Aug 2012) | 10 lines Customer report of a panic on boot due to the old "m_getjcl:invalid cluster type" that occurred some time back with the igb driver. This happens often when booting over the net. I believe the NIC hardware is left in a warm state when handed over to the driver, and a stray RX interrupt happens earlier than the code is prepared for it to happen. This change was verified to fix the problem, its kind of a bandaid... but it is similar to what was done in the igb code. ------------------------------------------------------------------------ r240693 | gavin | 2012-09-19 05:27:23 -0700 (Wed, 19 Sep 2012) | 5 lines Switch some PCI register reads from using magic numbers to using the names defined in pcireg.h ------------------------------------------------------------------------ r241856 | eadler | 2012-10-21 20:41:14 -0700 (Sun, 21 Oct 2012) | 7 lines Now that device disabling is generic, remove extraneous code from the device drivers that used to provide this feature. ------------------------------------------------------------------------ r241885 | eadler | 2012-10-22 06:06:09 -0700 (Mon, 22 Oct 2012) | 7 lines This isn't functionally identical. In some cases a hint to disable unit 0 would in fact disable all units. This reverts r241856 ------------------------------------------------------------------------ r243570 | glebius | 2012-11-26 12:03:57 -0800 (Mon, 26 Nov 2012) | 14 lines drbr_enqueue() awlays consumes mbuf, no matter did it fail or not. The mbuf pointer is no longer valid, so can't be reused after. Fix igb_mq_start() where mbuf pointer was used after drbr_enqueue(). This eventually leads us to all invocations of igb_mq_start_locked() called with third argument as NULL. This allows us to simplify this function. ------------------------------------------------------------------------ r245334 | smh | 2013-01-12 08:05:55 -0800 (Sat, 12 Jan 2013) | 9 lines Fixed mbuf free when receive structures fail to allocate. This prevents quad igb card on high core machines, without any nmbcluster or igb queue tuning wedging the boot process if all nics are configured. ------------------------------------------------------------------------ r246128 | sbz | 2013-01-30 10:01:20 -0800 (Wed, 30 Jan 2013) | 5 lines Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays ------------------------------------------------------------------------ r246482 | rrs | 2013-02-07 07:20:54 -0800 (Thu, 07 Feb 2013) | 30 lines This fixes a out-of-order problem with several of the newer drivers. The basic problem was that the driver was pulling the mbuf off the drbr ring and then when sending with xmit(), encounting a full transmit ring. Thus the lower layer xmit() function would return an error, and the drivers would then append the data back on to the ring. For TCP this is a horrible scenario sure to bring on a fast-retransmit. The fix is to use drbr_peek() to pull the data pointer but not remove it from the ring. If it fails then we either call the new drbr_putback or drbr_advance method. Advance moves it forward (we do this sometimes when the xmit() function frees the mbuf). When we succeed we always call advance. The putback will always copy the mbuf back to the top of the ring. Note that the putback *cannot* be used with a drbr_dequeue() only with drbr_peek(). We most of the time, in putback, would not need to copy it back since most likey the mbuf is still the same, but sometimes xmit() functions will change the mbuf via a pullup or other call. So the optimial case for the single consumer is to always copy it back. If we ever do a multiple_consumer (for lagg?) we will need a test and atomic in the put back possibly a seperate putback_mc() in the ring buf. ------------------------------------------------------------------------ r247064 | jfv | 2013-02-20 16:25:45 -0800 (Wed, 20 Feb 2013) | 19 lines Refresh on the shared code for the E1000 drivers. - bear with me, there are lots of white space changes, I would not do them, but I am a mere consumer of this stuff and if these drivers are to stay in shape they need to be taken. em driver changes: support for the new i217/i218 interfaces igb driver changes: - TX mq start has a quick turnaround to the stack - Link/media handling improvement - When link status changes happen the current flow control state will now be displayed. - A few white space/style changes. lem driver changes: - the shared code uncovered a bogus write to the RLPML register (which does not exist in this hardware) in the vlan code,this is removed. ------------------------------------------------------------------------ Modified: stable/9/sys/dev/e1000/e1000_82571.c stable/9/sys/dev/e1000/e1000_82575.c stable/9/sys/dev/e1000/e1000_82575.h stable/9/sys/dev/e1000/e1000_api.c stable/9/sys/dev/e1000/e1000_api.h stable/9/sys/dev/e1000/e1000_defines.h stable/9/sys/dev/e1000/e1000_hw.h stable/9/sys/dev/e1000/e1000_i210.c stable/9/sys/dev/e1000/e1000_i210.h stable/9/sys/dev/e1000/e1000_ich8lan.c stable/9/sys/dev/e1000/e1000_ich8lan.h stable/9/sys/dev/e1000/e1000_mac.c stable/9/sys/dev/e1000/e1000_mac.h stable/9/sys/dev/e1000/e1000_manage.c stable/9/sys/dev/e1000/e1000_nvm.c stable/9/sys/dev/e1000/e1000_nvm.h stable/9/sys/dev/e1000/e1000_osdep.h stable/9/sys/dev/e1000/e1000_phy.c stable/9/sys/dev/e1000/e1000_phy.h stable/9/sys/dev/e1000/e1000_regs.h stable/9/sys/dev/e1000/if_em.c (contents, props changed) stable/9/sys/dev/e1000/if_igb.c (contents, props changed) stable/9/sys/dev/e1000/if_lem.c Directory Properties: stable/9/sys/dev/e1000/ (props changed) Modified: stable/9/sys/dev/e1000/e1000_82571.c ============================================================================== --- stable/9/sys/dev/e1000/e1000_82571.c Thu Mar 14 22:29:37 2013 (r248291) +++ stable/9/sys/dev/e1000/e1000_82571.c Thu Mar 14 22:55:59 2013 (r248292) @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2011, Intel Corporation + Copyright (c) 2001-2013, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -32,8 +32,7 @@ ******************************************************************************/ /*$FreeBSD$*/ -/* - * 82571EB Gigabit Ethernet Controller +/* 82571EB Gigabit Ethernet Controller * 82571EB Gigabit Ethernet Controller (Copper) * 82571EB Gigabit Ethernet Controller (Fiber) * 82571EB Dual Port Gigabit Mezzanine Adapter @@ -51,9 +50,6 @@ #include "e1000_api.h" -static s32 e1000_init_phy_params_82571(struct e1000_hw *hw); -static s32 e1000_init_nvm_params_82571(struct e1000_hw *hw); -static s32 e1000_init_mac_params_82571(struct e1000_hw *hw); static s32 e1000_acquire_nvm_82571(struct e1000_hw *hw); static void e1000_release_nvm_82571(struct e1000_hw *hw); static s32 e1000_write_nvm_82571(struct e1000_hw *hw, u16 offset, @@ -78,7 +74,6 @@ static s32 e1000_get_hw_semaphore_82571 static s32 e1000_fix_nvm_checksum_82571(struct e1000_hw *hw); static s32 e1000_get_phy_id_82571(struct e1000_hw *hw); static void e1000_put_hw_semaphore_82571(struct e1000_hw *hw); -static s32 e1000_get_hw_semaphore_82573(struct e1000_hw *hw); static void e1000_put_hw_semaphore_82573(struct e1000_hw *hw); static s32 e1000_get_hw_semaphore_82574(struct e1000_hw *hw); static void e1000_put_hw_semaphore_82574(struct e1000_hw *hw); @@ -99,13 +94,13 @@ static void e1000_power_down_phy_copper_ static s32 e1000_init_phy_params_82571(struct e1000_hw *hw) { struct e1000_phy_info *phy = &hw->phy; - s32 ret_val = E1000_SUCCESS; + s32 ret_val; DEBUGFUNC("e1000_init_phy_params_82571"); if (hw->phy.media_type != e1000_media_type_copper) { phy->type = e1000_phy_none; - goto out; + return E1000_SUCCESS; } phy->addr = 1; @@ -165,8 +160,7 @@ static s32 e1000_init_phy_params_82571(s phy->ops.set_d3_lplu_state = e1000_set_d3_lplu_state_82574; break; default: - ret_val = -E1000_ERR_PHY; - goto out; + return -E1000_ERR_PHY; break; } @@ -174,7 +168,7 @@ static s32 e1000_init_phy_params_82571(s ret_val = e1000_get_phy_id_82571(hw); if (ret_val) { DEBUGOUT("Error getting PHY ID\n"); - goto out; + return ret_val; } /* Verify phy id */ @@ -201,7 +195,6 @@ static s32 e1000_init_phy_params_82571(s if (ret_val) DEBUGOUT1("PHY ID unknown: type = 0x%08x\n", phy->id); -out: return ret_val; } @@ -241,8 +234,7 @@ static s32 e1000_init_nvm_params_82571(s if (((eecd >> 15) & 0x3) == 0x3) { nvm->type = e1000_nvm_flash_hw; nvm->word_size = 2048; - /* - * Autonomous Flash update bit must be cleared due + /* Autonomous Flash update bit must be cleared due * to Flash update issue. */ eecd &= ~E1000_EECD_AUPDEN; @@ -254,8 +246,7 @@ static s32 e1000_init_nvm_params_82571(s nvm->type = e1000_nvm_eeprom_spi; size = (u16)((eecd & E1000_EECD_SIZE_EX_MASK) >> E1000_EECD_SIZE_EX_SHIFT); - /* - * Added to a constant, "size" becomes the left-shift value + /* Added to a constant, "size" becomes the left-shift value * for setting word_size. */ size += NVM_WORD_SIZE_BASE_SHIFT; @@ -382,12 +373,11 @@ static s32 e1000_init_mac_params_82571(s /* FWSM register */ mac->has_fwsm = TRUE; - /* - * ARC supported; valid only if manageability features are + /* ARC supported; valid only if manageability features are * enabled. */ - mac->arc_subsystem_valid = (E1000_READ_REG(hw, E1000_FWSM) & - E1000_FWSM_MODE_MASK) ? TRUE : FALSE; + mac->arc_subsystem_valid = !!(E1000_READ_REG(hw, E1000_FWSM) & + E1000_FWSM_MODE_MASK); break; case e1000_82574: case e1000_82583: @@ -405,8 +395,7 @@ static s32 e1000_init_mac_params_82571(s break; } - /* - * Ensure that the inter-port SWSM.SMBI lock bit is clear before + /* Ensure that the inter-port SWSM.SMBI lock bit is clear before * first NVM or PHY acess. This should be done for single-port * devices, and for one port only on dual-port devices so that * for those devices we can still use the SMBI lock to synchronize @@ -422,8 +411,9 @@ static s32 e1000_init_mac_params_82571(s E1000_WRITE_REG(hw, E1000_SWSM2, swsm2 | E1000_SWSM2_LOCK); force_clear_smbi = TRUE; - } else + } else { force_clear_smbi = FALSE; + } break; default: force_clear_smbi = TRUE; @@ -443,10 +433,7 @@ static s32 e1000_init_mac_params_82571(s E1000_WRITE_REG(hw, E1000_SWSM, swsm & ~E1000_SWSM_SMBI); } - /* - * Initialze device specific counter of SMBI acquisition - * timeouts. - */ + /* Initialze device specific counter of SMBI acquisition timeouts. */ hw->dev_spec._82571.smb_counter = 0; return E1000_SUCCESS; @@ -477,7 +464,7 @@ void e1000_init_function_pointers_82571( static s32 e1000_get_phy_id_82571(struct e1000_hw *hw) { struct e1000_phy_info *phy = &hw->phy; - s32 ret_val = E1000_SUCCESS; + s32 ret_val; u16 phy_id = 0; DEBUGFUNC("e1000_get_phy_id_82571"); @@ -485,8 +472,7 @@ static s32 e1000_get_phy_id_82571(struct switch (hw->mac.type) { case e1000_82571: case e1000_82572: - /* - * The 82571 firmware may still be configuring the PHY. + /* The 82571 firmware may still be configuring the PHY. * In this case, we cannot access the PHY until the * configuration is done. So we explicitly set the * PHY ID. @@ -494,29 +480,29 @@ static s32 e1000_get_phy_id_82571(struct phy->id = IGP01E1000_I_PHY_ID; break; case e1000_82573: - ret_val = e1000_get_phy_id(hw); + return e1000_get_phy_id(hw); break; case e1000_82574: case e1000_82583: ret_val = phy->ops.read_reg(hw, PHY_ID1, &phy_id); if (ret_val) - goto out; + return ret_val; phy->id = (u32)(phy_id << 16); usec_delay(20); ret_val = phy->ops.read_reg(hw, PHY_ID2, &phy_id); if (ret_val) - goto out; + return ret_val; phy->id |= (u32)(phy_id); phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK); break; default: - ret_val = -E1000_ERR_PHY; + return -E1000_ERR_PHY; break; } -out: - return ret_val; + + return E1000_SUCCESS; } /** @@ -528,15 +514,13 @@ out: static s32 e1000_get_hw_semaphore_82571(struct e1000_hw *hw) { u32 swsm; - s32 ret_val = E1000_SUCCESS; s32 sw_timeout = hw->nvm.word_size + 1; s32 fw_timeout = hw->nvm.word_size + 1; s32 i = 0; DEBUGFUNC("e1000_get_hw_semaphore_82571"); - /* - * If we have timedout 3 times on trying to acquire + /* If we have timedout 3 times on trying to acquire * the inter-port SMBI semaphore, there is old code * operating on the other port, and it is not * releasing SMBI. Modify the number of times that @@ -576,12 +560,10 @@ static s32 e1000_get_hw_semaphore_82571( /* Release semaphores */ e1000_put_hw_semaphore_82571(hw); DEBUGOUT("Driver can't access the NVM\n"); - ret_val = -E1000_ERR_NVM; - goto out; + return -E1000_ERR_NVM; } -out: - return ret_val; + return E1000_SUCCESS; } /** @@ -613,22 +595,19 @@ static void e1000_put_hw_semaphore_82571 static s32 e1000_get_hw_semaphore_82573(struct e1000_hw *hw) { u32 extcnf_ctrl; - s32 ret_val = E1000_SUCCESS; s32 i = 0; DEBUGFUNC("e1000_get_hw_semaphore_82573"); extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL); - extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; do { + extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; E1000_WRITE_REG(hw, E1000_EXTCNF_CTRL, extcnf_ctrl); extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL); if (extcnf_ctrl & E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP) break; - extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; - msec_delay(2); i++; } while (i < MDIO_OWNERSHIP_TIMEOUT); @@ -637,12 +616,10 @@ static s32 e1000_get_hw_semaphore_82573( /* Release semaphores */ e1000_put_hw_semaphore_82573(hw); DEBUGOUT("Driver can't access the PHY\n"); - ret_val = -E1000_ERR_PHY; - goto out; + return -E1000_ERR_PHY; } -out: - return ret_val; + return E1000_SUCCESS; } /** @@ -712,7 +689,7 @@ static void e1000_put_hw_semaphore_82574 **/ static s32 e1000_set_d0_lplu_state_82574(struct e1000_hw *hw, bool active) { - u16 data = E1000_READ_REG(hw, E1000_POEMB); + u32 data = E1000_READ_REG(hw, E1000_POEMB); DEBUGFUNC("e1000_set_d0_lplu_state_82574"); @@ -738,7 +715,7 @@ static s32 e1000_set_d0_lplu_state_82574 **/ static s32 e1000_set_d3_lplu_state_82574(struct e1000_hw *hw, bool active) { - u16 data = E1000_READ_REG(hw, E1000_POEMB); + u32 data = E1000_READ_REG(hw, E1000_POEMB); DEBUGFUNC("e1000_set_d3_lplu_state_82574"); @@ -771,7 +748,7 @@ static s32 e1000_acquire_nvm_82571(struc ret_val = e1000_get_hw_semaphore_82571(hw); if (ret_val) - goto out; + return ret_val; switch (hw->mac.type) { case e1000_82573: @@ -784,7 +761,6 @@ static s32 e1000_acquire_nvm_82571(struc if (ret_val) e1000_put_hw_semaphore_82571(hw); -out: return ret_val; } @@ -817,7 +793,7 @@ static void e1000_release_nvm_82571(stru static s32 e1000_write_nvm_82571(struct e1000_hw *hw, u16 offset, u16 words, u16 *data) { - s32 ret_val = E1000_SUCCESS; + s32 ret_val; DEBUGFUNC("e1000_write_nvm_82571"); @@ -857,31 +833,27 @@ static s32 e1000_update_nvm_checksum_825 ret_val = e1000_update_nvm_checksum_generic(hw); if (ret_val) - goto out; + return ret_val; - /* - * If our nvm is an EEPROM, then we're done + /* If our nvm is an EEPROM, then we're done * otherwise, commit the checksum to the flash NVM. */ if (hw->nvm.type != e1000_nvm_flash_hw) - goto out; + return E1000_SUCCESS; /* Check for pending operations. */ for (i = 0; i < E1000_FLASH_UPDATES; i++) { msec_delay(1); - if ((E1000_READ_REG(hw, E1000_EECD) & E1000_EECD_FLUPD) == 0) + if (!(E1000_READ_REG(hw, E1000_EECD) & E1000_EECD_FLUPD)) break; } - if (i == E1000_FLASH_UPDATES) { - ret_val = -E1000_ERR_NVM; - goto out; - } + if (i == E1000_FLASH_UPDATES) + return -E1000_ERR_NVM; /* Reset the firmware if using STM opcode. */ if ((E1000_READ_REG(hw, E1000_FLOP) & 0xFF00) == E1000_STM_OPCODE) { - /* - * The enabling of and the actual reset must be done + /* The enabling of and the actual reset must be done * in two write cycles. */ E1000_WRITE_REG(hw, E1000_HICR, E1000_HICR_FW_RESET_ENABLE); @@ -895,17 +867,14 @@ static s32 e1000_update_nvm_checksum_825 for (i = 0; i < E1000_FLASH_UPDATES; i++) { msec_delay(1); - if ((E1000_READ_REG(hw, E1000_EECD) & E1000_EECD_FLUPD) == 0) + if (!(E1000_READ_REG(hw, E1000_EECD) & E1000_EECD_FLUPD)) break; } - if (i == E1000_FLASH_UPDATES) { - ret_val = -E1000_ERR_NVM; - goto out; - } + if (i == E1000_FLASH_UPDATES) + return -E1000_ERR_NVM; -out: - return ret_val; + return E1000_SUCCESS; } /** @@ -944,19 +913,17 @@ static s32 e1000_write_nvm_eewr_82571(st { struct e1000_nvm_info *nvm = &hw->nvm; u32 i, eewr = 0; - s32 ret_val = 0; + s32 ret_val = E1000_SUCCESS; DEBUGFUNC("e1000_write_nvm_eewr_82571"); - /* - * A check for invalid values: offset too large, too many words, + /* A check for invalid values: offset too large, too many words, * and not enough words. */ if ((offset >= nvm->word_size) || (words > (nvm->word_size - offset)) || (words == 0)) { DEBUGOUT("nvm parameter(s) out of bounds\n"); - ret_val = -E1000_ERR_NVM; - goto out; + return -E1000_ERR_NVM; } for (i = 0; i < words; i++) { @@ -975,7 +942,6 @@ static s32 e1000_write_nvm_eewr_82571(st break; } -out: return ret_val; } @@ -988,7 +954,6 @@ out: static s32 e1000_get_cfg_done_82571(struct e1000_hw *hw) { s32 timeout = PHY_CFG_TIMEOUT; - s32 ret_val = E1000_SUCCESS; DEBUGFUNC("e1000_get_cfg_done_82571"); @@ -1001,12 +966,10 @@ static s32 e1000_get_cfg_done_82571(stru } if (!timeout) { DEBUGOUT("MNG configuration cycle has not completed.\n"); - ret_val = -E1000_ERR_RESET; - goto out; + return -E1000_ERR_RESET; } -out: - return ret_val; + return E1000_SUCCESS; } /** @@ -1023,39 +986,40 @@ out: static s32 e1000_set_d0_lplu_state_82571(struct e1000_hw *hw, bool active) { struct e1000_phy_info *phy = &hw->phy; - s32 ret_val = E1000_SUCCESS; + s32 ret_val; u16 data; DEBUGFUNC("e1000_set_d0_lplu_state_82571"); if (!(phy->ops.read_reg)) - goto out; + return E1000_SUCCESS; ret_val = phy->ops.read_reg(hw, IGP02E1000_PHY_POWER_MGMT, &data); if (ret_val) - goto out; + return ret_val; if (active) { data |= IGP02E1000_PM_D0_LPLU; ret_val = phy->ops.write_reg(hw, IGP02E1000_PHY_POWER_MGMT, data); if (ret_val) - goto out; + return ret_val; /* When LPLU is enabled, we should disable SmartSpeed */ ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CONFIG, &data); + if (ret_val) + return ret_val; data &= ~IGP01E1000_PSCFR_SMART_SPEED; ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CONFIG, data); if (ret_val) - goto out; + return ret_val; } else { data &= ~IGP02E1000_PM_D0_LPLU; ret_val = phy->ops.write_reg(hw, IGP02E1000_PHY_POWER_MGMT, data); - /* - * LPLU and SmartSpeed are mutually exclusive. LPLU is used + /* LPLU and SmartSpeed are mutually exclusive. LPLU is used * during Dx states where the power conservation is most * important. During driver activity we should enable * SmartSpeed, so performance is maintained. @@ -1065,32 +1029,31 @@ static s32 e1000_set_d0_lplu_state_82571 IGP01E1000_PHY_PORT_CONFIG, &data); if (ret_val) - goto out; + return ret_val; data |= IGP01E1000_PSCFR_SMART_SPEED; ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CONFIG, data); if (ret_val) - goto out; + return ret_val; } else if (phy->smart_speed == e1000_smart_speed_off) { ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CONFIG, &data); if (ret_val) - goto out; + return ret_val; data &= ~IGP01E1000_PSCFR_SMART_SPEED; ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CONFIG, data); if (ret_val) - goto out; + return ret_val; } } -out: - return ret_val; + return E1000_SUCCESS; } /** @@ -1101,13 +1064,12 @@ out: **/ static s32 e1000_reset_hw_82571(struct e1000_hw *hw) { - u32 ctrl, ctrl_ext; + u32 ctrl, ctrl_ext, eecd, tctl; s32 ret_val; DEBUGFUNC("e1000_reset_hw_82571"); - /* - * Prevent the PCI-E bus from sticking if there is no TLP connection + /* Prevent the PCI-E bus from sticking if there is no TLP connection * on the last TLP read/write transaction when MAC is reset. */ ret_val = e1000_disable_pcie_master_generic(hw); @@ -1118,13 +1080,14 @@ static s32 e1000_reset_hw_82571(struct e E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); E1000_WRITE_REG(hw, E1000_RCTL, 0); - E1000_WRITE_REG(hw, E1000_TCTL, E1000_TCTL_PSP); + tctl = E1000_READ_REG(hw, E1000_TCTL); + tctl &= ~E1000_TCTL_EN; + E1000_WRITE_REG(hw, E1000_TCTL, tctl); E1000_WRITE_FLUSH(hw); msec_delay(10); - /* - * Must acquire the MDIO ownership before MAC reset. + /* Must acquire the MDIO ownership before MAC reset. * Ownership defaults to firmware after a reset. */ switch (hw->mac.type) { @@ -1167,15 +1130,23 @@ static s32 e1000_reset_hw_82571(struct e ret_val = e1000_get_auto_rd_done_generic(hw); if (ret_val) /* We don't want to continue accessing MAC registers. */ - goto out; + return ret_val; - /* - * Phy configuration from NVM just starts after EECD_AUTO_RD is set. + /* Phy configuration from NVM just starts after EECD_AUTO_RD is set. * Need to wait for Phy configuration completion before accessing * NVM and Phy. */ switch (hw->mac.type) { + case e1000_82571: + case e1000_82572: + /* REQ and GNT bits need to be cleared when using AUTO_RD + * to access the EEPROM. + */ + eecd = E1000_READ_REG(hw, E1000_EECD); + eecd &= ~(E1000_EECD_REQ | E1000_EECD_GNT); + E1000_WRITE_REG(hw, E1000_EECD, eecd); + break; case e1000_82573: case e1000_82574: case e1000_82583: @@ -1193,7 +1164,7 @@ static s32 e1000_reset_hw_82571(struct e /* Install any alternate MAC address into RAR0 */ ret_val = e1000_check_alt_mac_addr_generic(hw); if (ret_val) - goto out; + return ret_val; e1000_set_laa_state_82571(hw, TRUE); } @@ -1202,8 +1173,7 @@ static s32 e1000_reset_hw_82571(struct e if (hw->phy.media_type == e1000_media_type_internal_serdes) hw->mac.serdes_link_state = e1000_serdes_link_down; -out: - return ret_val; + return E1000_SUCCESS; } /** @@ -1225,16 +1195,15 @@ static s32 e1000_init_hw_82571(struct e1 /* Initialize identification LED */ ret_val = mac->ops.id_led_init(hw); + /* An error is not fatal and we should not stop init due to this */ if (ret_val) DEBUGOUT("Error initializing identification LED\n"); - /* This is not fatal and we should not stop init due to this */ /* Disabling VLAN filtering */ DEBUGOUT("Initializing the IEEE VLAN\n"); mac->ops.clear_vfta(hw); - /* Setup the receive address. */ - /* + /* Setup the receive address. * If, however, a locally administered address was assigned to the * 82571, we must reserve a RAR for it to work around an issue where * resetting one port will reload the MAC on the other port. @@ -1277,8 +1246,7 @@ static s32 e1000_init_hw_82571(struct e1 break; } - /* - * Clear all of the statistics registers (clear on read). It is + /* Clear all of the statistics registers (clear on read). It is * important that we do this after we have tried to establish link * because the symbol error count will increment wildly if there * is no link. @@ -1377,8 +1345,7 @@ static void e1000_initialize_hw_bits_825 E1000_WRITE_REG(hw, E1000_PBA_ECC, reg); } - /* - * Workaround for hardware errata. + /* Workaround for hardware errata. * Ensure that DMA Dynamic Clock gating is disabled on 82571 and 82572 */ if ((hw->mac.type == e1000_82571) || @@ -1388,6 +1355,15 @@ static void e1000_initialize_hw_bits_825 E1000_WRITE_REG(hw, E1000_CTRL_EXT, reg); } + /* Disable IPv6 extension header parsing because some malformed + * IPv6 headers can hang the Rx. + */ + if (hw->mac.type <= e1000_82573) { + reg = E1000_READ_REG(hw, E1000_RFCTL); + reg |= (E1000_RFCTL_IPV6_EX_DIS | E1000_RFCTL_NEW_IPV6_EXT_DIS); + E1000_WRITE_REG(hw, E1000_RFCTL, reg); + } + /* PCI-Ex Control Registers */ switch (hw->mac.type) { case e1000_82574: @@ -1396,8 +1372,7 @@ static void e1000_initialize_hw_bits_825 reg |= (1 << 22); E1000_WRITE_REG(hw, E1000_GCR, reg); - /* - * Workaround for hardware errata. + /* Workaround for hardware errata. * apply workaround for hardware errata documented in errata * docs Fixes issue where some error prone or unreliable PCIe * completions are occurring, particularly with ASPM enabled. @@ -1435,25 +1410,25 @@ static void e1000_clear_vfta_82571(struc case e1000_82574: case e1000_82583: if (hw->mng_cookie.vlan_id != 0) { - /* - * The VFTA is a 4096b bit-field, each identifying + /* The VFTA is a 4096b bit-field, each identifying * a single VLAN ID. The following operations * determine which 32b entry (i.e. offset) into the * array we want to set the VLAN ID (i.e. bit) of * the manageability unit. */ vfta_offset = (hw->mng_cookie.vlan_id >> - E1000_VFTA_ENTRY_SHIFT) & E1000_VFTA_ENTRY_MASK; - vfta_bit_in_reg = 1 << (hw->mng_cookie.vlan_id & - E1000_VFTA_ENTRY_BIT_SHIFT_MASK); + E1000_VFTA_ENTRY_SHIFT) & + E1000_VFTA_ENTRY_MASK; + vfta_bit_in_reg = + 1 << (hw->mng_cookie.vlan_id & + E1000_VFTA_ENTRY_BIT_SHIFT_MASK); } break; default: break; } for (offset = 0; offset < E1000_VLAN_FILTER_TBL_SIZE; offset++) { - /* - * If the offset we want to clear is the same offset of the + /* If the offset we want to clear is the same offset of the * manageability VLAN ID, then clear all bits except that of * the manageability unit. */ @@ -1495,8 +1470,7 @@ static s32 e1000_led_on_82574(struct e10 ctrl = hw->mac.ledctl_mode2; if (!(E1000_STATUS_LU & E1000_READ_REG(hw, E1000_STATUS))) { - /* - * If no link, then turn LED on by setting the invert bit + /* If no link, then turn LED on by setting the invert bit * for each LED that's "on" (0x0E) in ledctl_mode2. */ for (i = 0; i < 4; i++) @@ -1519,30 +1493,28 @@ bool e1000_check_phy_82574(struct e1000_ { u16 status_1kbt = 0; u16 receive_errors = 0; - bool phy_hung = FALSE; - s32 ret_val = E1000_SUCCESS; + s32 ret_val; DEBUGFUNC("e1000_check_phy_82574"); - /* - * Read PHY Receive Error counter first, if its is max - all F's then + /* Read PHY Receive Error counter first, if its is max - all F's then * read the Base1000T status register If both are max then PHY is hung. */ ret_val = hw->phy.ops.read_reg(hw, E1000_RECEIVE_ERROR_COUNTER, &receive_errors); if (ret_val) - goto out; + return FALSE; if (receive_errors == E1000_RECEIVE_ERROR_MAX) { ret_val = hw->phy.ops.read_reg(hw, E1000_BASE1000T_STATUS, &status_1kbt); if (ret_val) - goto out; + return FALSE; if ((status_1kbt & E1000_IDLE_ERROR_COUNT_MASK) == E1000_IDLE_ERROR_COUNT_MASK) - phy_hung = TRUE; + return TRUE; } -out: - return phy_hung; + + return FALSE; } @@ -1560,8 +1532,7 @@ static s32 e1000_setup_link_82571(struct { DEBUGFUNC("e1000_setup_link_82571"); - /* - * 82573 does not have a word in the NVM to determine + /* 82573 does not have a word in the NVM to determine * the default flow control setting, so we explicitly * set it to full. */ @@ -1608,17 +1579,14 @@ static s32 e1000_setup_copper_link_82571 ret_val = e1000_copper_link_setup_igp(hw); break; default: - ret_val = -E1000_ERR_PHY; + return -E1000_ERR_PHY; break; } if (ret_val) - goto out; - - ret_val = e1000_setup_copper_link_generic(hw); + return ret_val; -out: - return ret_val; + return e1000_setup_copper_link_generic(hw); } /** @@ -1635,8 +1603,7 @@ static s32 e1000_setup_fiber_serdes_link switch (hw->mac.type) { case e1000_82571: case e1000_82572: - /* - * If SerDes loopback mode is entered, there is no form + /* If SerDes loopback mode is entered, there is no form * of reset to take the adapter out of that mode. So we * have to explicitly take the adapter out of loopback * mode. This prevents drivers from twiddling their thumbs @@ -1685,16 +1652,17 @@ static s32 e1000_check_for_serdes_link_8 ctrl = E1000_READ_REG(hw, E1000_CTRL); status = E1000_READ_REG(hw, E1000_STATUS); + E1000_READ_REG(hw, E1000_RXCW); + /* SYNCH bit and IV bit are sticky */ + usec_delay(10); rxcw = E1000_READ_REG(hw, E1000_RXCW); if ((rxcw & E1000_RXCW_SYNCH) && !(rxcw & E1000_RXCW_IV)) { - /* Receiver is synchronized with no invalid bits. */ switch (mac->serdes_link_state) { case e1000_serdes_link_autoneg_complete: if (!(status & E1000_STATUS_LU)) { - /* - * We have lost link, retry autoneg before + /* We have lost link, retry autoneg before * reporting link failure */ mac->serdes_link_state = @@ -1707,15 +1675,12 @@ static s32 e1000_check_for_serdes_link_8 break; case e1000_serdes_link_forced_up: - /* - * If we are receiving /C/ ordered sets, re-enable + /* If we are receiving /C/ ordered sets, re-enable * auto-negotiation in the TXCW register and disable * forced link in the Device Control register in an * attempt to auto-negotiate with our link partner. - * If the partner code word is null, stop forcing - * and restart auto negotiation. */ - if ((rxcw & E1000_RXCW_C) || !(rxcw & E1000_RXCW_CW)) { + if (rxcw & E1000_RXCW_C) { /* Enable autoneg, and unforce link up */ E1000_WRITE_REG(hw, E1000_TXCW, mac->txcw); E1000_WRITE_REG(hw, E1000_CTRL, @@ -1731,8 +1696,7 @@ static s32 e1000_check_for_serdes_link_8 case e1000_serdes_link_autoneg_progress: if (rxcw & E1000_RXCW_C) { - /* - * We received /C/ ordered sets, meaning the + /* We received /C/ ordered sets, meaning the * link partner has autonegotiated, and we can * trust the Link Up (LU) status bit. */ @@ -1748,8 +1712,7 @@ static s32 e1000_check_for_serdes_link_8 DEBUGOUT("AN_PROG -> DOWN\n"); } } else { - /* - * The link partner did not autoneg. + /* The link partner did not autoneg. * Force link up and full duplex, and change * state to forced. */ @@ -1774,8 +1737,7 @@ static s32 e1000_check_for_serdes_link_8 case e1000_serdes_link_down: default: - /* - * The link was down but the receiver has now gained + /* The link was down but the receiver has now gained * valid sync, so lets see if we can bring the link * up. */ @@ -1794,17 +1756,18 @@ static s32 e1000_check_for_serdes_link_8 mac->serdes_link_state = e1000_serdes_link_down; DEBUGOUT("ANYSTATE -> DOWN\n"); } else { - /* - * Check several times, if Sync and Config - * both are consistently 1 then simply ignore - * the Invalid bit and restart Autoneg + /* Check several times, if SYNCH bit and CONFIG + * bit both are consistently 1 then simply ignore + * the IV bit and restart Autoneg */ for (i = 0; i < AN_RETRY_COUNT; i++) { usec_delay(10); rxcw = E1000_READ_REG(hw, E1000_RXCW); - if ((rxcw & E1000_RXCW_IV) && - !((rxcw & E1000_RXCW_SYNCH) && - (rxcw & E1000_RXCW_C))) { + if ((rxcw & E1000_RXCW_SYNCH) && + (rxcw & E1000_RXCW_C)) + continue; + + if (rxcw & E1000_RXCW_IV) { mac->serdes_has_link = FALSE; mac->serdes_link_state = e1000_serdes_link_down; @@ -1845,7 +1808,7 @@ static s32 e1000_valid_led_default_82571 ret_val = hw->nvm.ops.read(hw, NVM_ID_LED_SETTINGS, 1, data); if (ret_val) { DEBUGOUT("NVM Read Error\n"); - goto out; + return ret_val; } switch (hw->mac.type) { @@ -1862,8 +1825,7 @@ static s32 e1000_valid_led_default_82571 break; } -out: - return ret_val; + return E1000_SUCCESS; } /** @@ -1900,15 +1862,14 @@ void e1000_set_laa_state_82571(struct e1 /* If workaround is activated... */ if (state) - /* - * Hold a copy of the LAA in RAR[14] This is done so that + /* Hold a copy of the LAA in RAR[14] This is done so that * between the time RAR[0] gets clobbered and the time it * gets fixed, the actual LAA is in one of the RARs and no * incoming packets directed to this port are dropped. * Eventually the LAA will be in RAR[0] and RAR[14]. */ hw->mac.ops.rar_set(hw, hw->mac.addr, - hw->mac.rar_entry_count - 1); + hw->mac.rar_entry_count - 1); return; } @@ -1925,25 +1886,23 @@ void e1000_set_laa_state_82571(struct e1 static s32 e1000_fix_nvm_checksum_82571(struct e1000_hw *hw) { struct e1000_nvm_info *nvm = &hw->nvm; - s32 ret_val = E1000_SUCCESS; + s32 ret_val; u16 data; DEBUGFUNC("e1000_fix_nvm_checksum_82571"); if (nvm->type != e1000_nvm_flash_hw) - goto out; + return E1000_SUCCESS; - /* - * Check bit 4 of word 10h. If it is 0, firmware is done updating + /* Check bit 4 of word 10h. If it is 0, firmware is done updating * 10h-12h. Checksum may need to be fixed. */ ret_val = nvm->ops.read(hw, 0x10, 1, &data); if (ret_val) - goto out; + return ret_val; if (!(data & 0x10)) { - /* - * Read 0x23 and check bit 15. This bit is a 1 + /* Read 0x23 and check bit 15. This bit is a 1 * when the checksum has already been fixed. If * the checksum is still wrong and this bit is a * 1, we need to return bad checksum. Otherwise, @@ -1952,19 +1911,20 @@ static s32 e1000_fix_nvm_checksum_82571( */ ret_val = nvm->ops.read(hw, 0x23, 1, &data); if (ret_val) - goto out; + return ret_val; if (!(data & 0x8000)) { data |= 0x8000; ret_val = nvm->ops.write(hw, 0x23, 1, &data); if (ret_val) - goto out; + return ret_val; ret_val = nvm->ops.update(hw); + if (ret_val) + return ret_val; } } -out: - return ret_val; + return E1000_SUCCESS; } @@ -1974,25 +1934,21 @@ out: **/ static s32 e1000_read_mac_addr_82571(struct e1000_hw *hw) { - s32 ret_val = E1000_SUCCESS; - DEBUGFUNC("e1000_read_mac_addr_82571"); if (hw->mac.type == e1000_82571) { - /* - * If there's an alternate MAC address place it in RAR0 + s32 ret_val; + + /* If there's an alternate MAC address place it in RAR0 * so that it will override the Si installed default perm * address. */ ret_val = e1000_check_alt_mac_addr_generic(hw); if (ret_val) - goto out; + return ret_val; } - ret_val = e1000_read_mac_addr_generic(hw); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 22:57:30 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A87C0AA5; Thu, 14 Mar 2013 22:57:30 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7EA77C2; Thu, 14 Mar 2013 22:57:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EMvUfj053575; Thu, 14 Mar 2013 22:57:30 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EMvRcf053553; Thu, 14 Mar 2013 22:57:27 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303142257.r2EMvRcf053553@svn.freebsd.org> From: Brooks Davis Date: Thu, 14 Mar 2013 22:57:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248293 - in stable/9/usr.sbin/makefs: . cd9660 ffs X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 22:57:30 -0000 Author: brooks Date: Thu Mar 14 22:57:27 2013 New Revision: 248293 URL: http://svnweb.freebsd.org/changeset/base/248293 Log: MFC all change to makefs through r247052. Key functional changes include: r239562: Add -p flag to create the image as a sparse file. r242501: If no contents keyword is specified, the default for files is the named file. r247041: Add a -D flag that causes duplicate entries in an mtree manifest to be treated as warnings rather than errors. r247042: Fix the -N option in manifest mode by using pwcache(3). This also speeds up image creation appreciably. r247043: Allow '.' components in manifest paths. They are always the first component of mtree -C and install -M output and are easily skipped. r247052: Support hardlinks in manifest files by the same logic as the treewalk code. Modified: stable/9/usr.sbin/makefs/cd9660.c stable/9/usr.sbin/makefs/cd9660/cd9660_eltorito.c stable/9/usr.sbin/makefs/cd9660/cd9660_write.c stable/9/usr.sbin/makefs/cd9660/iso9660_rrip.c stable/9/usr.sbin/makefs/ffs.c stable/9/usr.sbin/makefs/ffs/ffs_alloc.c stable/9/usr.sbin/makefs/ffs/ffs_extern.h stable/9/usr.sbin/makefs/ffs/ffs_subr.c stable/9/usr.sbin/makefs/ffs/ufs_bmap.c stable/9/usr.sbin/makefs/makefs.8 stable/9/usr.sbin/makefs/makefs.c stable/9/usr.sbin/makefs/makefs.h stable/9/usr.sbin/makefs/mtree.c stable/9/usr.sbin/makefs/walk.c Directory Properties: stable/9/usr.sbin/makefs/ (props changed) Modified: stable/9/usr.sbin/makefs/cd9660.c ============================================================================== --- stable/9/usr.sbin/makefs/cd9660.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/cd9660.c Thu Mar 14 22:57:27 2013 (r248293) @@ -621,10 +621,6 @@ static void cd9660_finalize_PVD(void) { time_t tim; - unsigned char *temp; - - /* Copy the root directory record */ - temp = (unsigned char *) &diskStructure.primaryDescriptor; /* root should be a fixed size of 34 bytes since it has no name */ memcpy(diskStructure.primaryDescriptor.root_directory_record, @@ -1051,7 +1047,7 @@ static cd9660node * cd9660_rename_filename(cd9660node *iter, int num, int delete_chars) { int i = 0; - int numbts, dot, semi, digit, digits, temp, powers, multiplier, count; + int numbts, digit, digits, temp, powers, count; char *naming; int maxlength; char *tmp; @@ -1073,7 +1069,6 @@ cd9660_rename_filename(cd9660node *iter, powers = 1; count = 0; digits = 1; - multiplier = 1; while (((int)(i / powers) ) >= 10) { digits++; powers = powers * 10; @@ -1088,15 +1083,9 @@ cd9660_rename_filename(cd9660node *iter, } */ - dot = -1; - semi = -1; while (count < maxlength) { - if (*naming == '.') - dot = count; - else if (*naming == ';') { - semi = count; + if (*naming == ';') break; - } naming++; count++; } @@ -1527,7 +1516,6 @@ cd9660_generate_path_table(void) cd9660node *last = dirNode; int pathTableSize = 0; /* computed as we go */ int counter = 1; /* root gets a count of 0 */ - int parentRecNum = 0; /* root's parent is '0' */ TAILQ_HEAD(cd9660_pt_head, ptq_entry) pt_head; TAILQ_INIT(&pt_head); @@ -1557,10 +1545,6 @@ cd9660_generate_path_table(void) } last = dirNode; - parentRecNum = 1; - if (dirNode->parent != 0) - parentRecNum = dirNode->parent->ptnumber; - /* Push children onto queue */ TAILQ_FOREACH(cn, &dirNode->cn_children, cn_next_child) { /* Modified: stable/9/usr.sbin/makefs/cd9660/cd9660_eltorito.c ============================================================================== --- stable/9/usr.sbin/makefs/cd9660/cd9660_eltorito.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/cd9660/cd9660_eltorito.c Thu Mar 14 22:57:27 2013 (r248293) @@ -610,7 +610,7 @@ cd9660_write_boot(FILE *fd) e->entry_type); } /* - * It doesnt matter which one gets written + * It doesn't matter which one gets written * since they are the same size */ fwrite(&(e->entry_data.VE), 1, 32, fd); Modified: stable/9/usr.sbin/makefs/cd9660/cd9660_write.c ============================================================================== --- stable/9/usr.sbin/makefs/cd9660/cd9660_write.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/cd9660/cd9660_write.c Thu Mar 14 22:57:27 2013 (r248293) @@ -305,10 +305,10 @@ cd9660_write_file(FILE *fd, cd9660node * } } else { /* - * Here is a new revelation that ECMA didnt explain + * Here is a new revelation that ECMA didn't explain * (at least not well). * ALL . and .. records store the name "\0" and "\1" - * resepctively. So, for each directory, we have to + * respectively. So, for each directory, we have to * make a new node. * * This is where it gets kinda messy, since we have to Modified: stable/9/usr.sbin/makefs/cd9660/iso9660_rrip.c ============================================================================== --- stable/9/usr.sbin/makefs/cd9660/iso9660_rrip.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/cd9660/iso9660_rrip.c Thu Mar 14 22:57:27 2013 (r248293) @@ -298,7 +298,7 @@ cd9660_susp_initialize_node(cd9660node * * CE: is added for us where needed * ST: not sure if it is even required, but if so, should be * handled by the CE code - * PD: isnt needed (though might be added for testing) + * PD: isn't needed (though might be added for testing) * SP: is stored ONLY on the . record of the root directory * ES: not sure */ Modified: stable/9/usr.sbin/makefs/ffs.c ============================================================================== --- stable/9/usr.sbin/makefs/ffs.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/ffs.c Thu Mar 14 22:57:27 2013 (r248293) @@ -145,7 +145,7 @@ static void *ffs_build_dinode2(struct u int sectorsize; /* XXX: for buf.c::getblk() */ - /* publically visible functions */ + /* publicly visible functions */ void ffs_prep_opts(fsinfo_t *fsopts) @@ -493,13 +493,25 @@ ffs_create_image(const char *image, fsin bufsize = sfs.f_iosize; #endif bufrem = fsopts->size; - if (debug & DEBUG_FS_CREATE_IMAGE) - printf( - "zero-ing image `%s', %lld sectors, using %d byte chunks\n", - image, (long long)bufrem, bufsize); - if ((buf = calloc(1, bufsize)) == NULL) { - warn("Can't create buffer for sector"); - return (-1); + if (fsopts->sparse) { + if (ftruncate(fsopts->fd, bufrem) == -1) { + warn("sparse option disabled.\n"); + fsopts->sparse = 0; + } + } + if (fsopts->sparse) { + /* File truncated at bufrem. Remaining is 0 */ + bufrem = 0; + buf = NULL; + } else { + if (debug & DEBUG_FS_CREATE_IMAGE) + printf("zero-ing image `%s', %lld sectors, " + "using %d byte chunks\n", image, (long long)bufrem, + bufsize); + if ((buf = calloc(1, bufsize)) == NULL) { + warn("Can't create buffer for sector"); + return (-1); + } } while (bufrem > 0) { i = write(fsopts->fd, buf, MIN(bufsize, bufrem)); @@ -511,7 +523,8 @@ ffs_create_image(const char *image, fsin } bufrem -= i; } - free(buf); + if (buf) + free(buf); /* make the file system */ if (debug & DEBUG_FS_CREATE_IMAGE) Modified: stable/9/usr.sbin/makefs/ffs/ffs_alloc.c ============================================================================== --- stable/9/usr.sbin/makefs/ffs/ffs_alloc.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/ffs/ffs_alloc.c Thu Mar 14 22:57:27 2013 (r248293) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include "makefs.h" @@ -439,8 +440,8 @@ ffs_blkfree(struct inode *ip, daddr_t bn } cg = dtog(fs, bno); if (bno >= fs->fs_size) { - warnx("bad block %lld, ino %llu", (long long)bno, - (unsigned long long)ip->i_number); + warnx("bad block %lld, ino %ju", (long long)bno, + (uintmax_t)ip->i_number); return; } error = bread(ip->i_fd, ip->i_fs, fsbtodb(fs, cgtod(fs, cg)), Modified: stable/9/usr.sbin/makefs/ffs/ffs_extern.h ============================================================================== --- stable/9/usr.sbin/makefs/ffs/ffs_extern.h Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/ffs/ffs_extern.h Thu Mar 14 22:57:27 2013 (r248293) @@ -35,6 +35,8 @@ #include "ffs/buf.h" +struct inode; + /* * Structure used to pass around logical block paths generated by * ufs_getlbns and used by truncate and bmap code. @@ -42,12 +44,10 @@ struct indir { daddr_t in_lbn; /* Logical block number. */ int in_off; /* Offset in buffer. */ - int in_exists; /* Flag if the block exists. */ }; /* ffs.c */ -void panic(const char *, ...) - __attribute__((__noreturn__,__format__(__printf__,1,2))); +_Noreturn void panic(const char *, ...) __printflike(1, 2); /* ffs_alloc.c */ int ffs_alloc(struct inode *, daddr_t, daddr_t, int, daddr_t *); Modified: stable/9/usr.sbin/makefs/ffs/ffs_subr.c ============================================================================== --- stable/9/usr.sbin/makefs/ffs/ffs_subr.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/ffs/ffs_subr.c Thu Mar 14 22:57:27 2013 (r248293) @@ -38,11 +38,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include "ffs/ffs_extern.h" #include "ffs/ufs_bswap.h" -void panic __P((const char *, ...)) - __attribute__((__noreturn__,__format__(__printf__,1,2))); - /* * Update the frsum fields to reflect addition or deletion * of some frags. @@ -80,8 +78,8 @@ ffs_fragacct_swap(struct fs *fs, int fra * block operations * * check if a block is available - * returns true if all the correponding bits in the free map are 1 - * returns false if any corresponding bit in the free map is 0 + * returns true if all the corresponding bits in the free map are 1 + * returns false if any corresponding bit in the free map is 0 */ int ffs_isblock(fs, cp, h) Modified: stable/9/usr.sbin/makefs/ffs/ufs_bmap.c ============================================================================== --- stable/9/usr.sbin/makefs/ffs/ufs_bmap.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/ffs/ufs_bmap.c Thu Mar 14 22:57:27 2013 (r248293) @@ -117,7 +117,6 @@ ufs_getlbns(struct inode *ip, daddr_t bn */ ap->in_lbn = metalbn; ap->in_off = off = NIADDR - i; - ap->in_exists = 0; ap++; for (++numlevels; i <= NIADDR; i++) { /* If searching for a meta-data block, quit when found. */ @@ -131,7 +130,6 @@ ufs_getlbns(struct inode *ip, daddr_t bn ++numlevels; ap->in_lbn = metalbn; ap->in_off = off; - ap->in_exists = 0; ++ap; metalbn -= -1 + (off << lbc); Modified: stable/9/usr.sbin/makefs/makefs.8 ============================================================================== --- stable/9/usr.sbin/makefs/makefs.8 Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/makefs.8 Thu Mar 14 22:57:27 2013 (r248293) @@ -35,7 +35,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 30, 2012 +.Dd August 22, 2012 .Dt MAKEFS 8 .Os .Sh NAME @@ -43,7 +43,7 @@ .Nd create a file system image from a directory tree or a mtree manifest .Sh SYNOPSIS .Nm -.Op Fl x +.Op Fl Dpx .Op Fl B Ar byte-order .Op Fl b Ar free-blocks .Op Fl d Ar debug-mask @@ -106,6 +106,8 @@ An optional suffix may be provided to indicate that .Ar free-blocks indicates a percentage of the calculated image size. +.It Fl D +Treat duplicate paths in an mtree manifest as warnings not error. .It Fl d Ar debug-mask Enable various levels of debugging, depending upon which bits are set in @@ -188,6 +190,8 @@ Set file system specific options. .Ar fs-options is a comma separated list of options. Valid file system specific options are detailed below. +.It Fl p +Create the image as a sparse file. .It Fl S Ar sector-size Set the file system sector size to .Ar sector-size . Modified: stable/9/usr.sbin/makefs/makefs.c ============================================================================== --- stable/9/usr.sbin/makefs/makefs.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/makefs.c Thu Mar 14 22:57:27 2013 (r248293) @@ -73,6 +73,7 @@ static fstype_t fstypes[] = { }; u_int debug; +int dupsok; struct timespec start_time; static fstype_t *get_fstype(const char *); @@ -112,7 +113,7 @@ main(int argc, char *argv[]) start_time.tv_sec = start.tv_sec; start_time.tv_nsec = start.tv_usec * 1000; - while ((ch = getopt(argc, argv, "B:b:d:f:F:M:m:N:o:s:S:t:x")) != -1) { + while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:ps:S:t:x")) != -1) { switch (ch) { case 'B': @@ -148,6 +149,10 @@ main(int argc, char *argv[]) } break; + case 'D': + dupsok = 1; + break; + case 'd': debug = strtoll(optarg, NULL, 0); break; @@ -199,6 +204,9 @@ main(int argc, char *argv[]) } break; } + case 'p': + fsoptions.sparse = 1; + break; case 's': fsoptions.minsize = fsoptions.maxsize = @@ -346,7 +354,7 @@ usage(void) fprintf(stderr, "usage: %s [-t fs-type] [-o fs-options] [-d debug-mask] [-B endian]\n" "\t[-S sector-size] [-M minimum-size] [-m maximum-size] [-s image-size]\n" -"\t[-b free-blocks] [-f free-files] [-F mtree-specfile] [-x]\n" +"\t[-b free-blocks] [-f free-files] [-F mtree-specfile] [-px]\n" "\t[-N userdb-dir] image-file directory | manifest [extra-directory ...]\n", prog); exit(1); Modified: stable/9/usr.sbin/makefs/makefs.h ============================================================================== --- stable/9/usr.sbin/makefs/makefs.h Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/makefs.h Thu Mar 14 22:57:27 2013 (r248293) @@ -129,6 +129,7 @@ typedef struct { int freeblockpc; /* free block % */ int needswap; /* non-zero if byte swapping needed */ int sectorsize; /* sector size */ + int sparse; /* sparse image, don't fill it with zeros */ void *fs_specific; /* File system specific additions. */ } fsinfo_t; @@ -168,6 +169,7 @@ void cd9660_makefs(const char *, const extern u_int debug; +extern int dupsok; extern struct timespec start_time; /* @@ -278,6 +280,8 @@ extern struct timespec start_time; struct fs; void ffs_fragacct_swap(struct fs *, int, int32_t [], int, int); +fsinode *link_check(fsinode *); + /* * Declarations for compat routines. */ Modified: stable/9/usr.sbin/makefs/mtree.c ============================================================================== --- stable/9/usr.sbin/makefs/mtree.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/mtree.c Thu Mar 14 22:57:27 2013 (r248293) @@ -135,6 +135,47 @@ mtree_warning(const char *fmt, ...) fputc('\n', stderr); } +#ifndef MAKEFS_MAX_TREE_DEPTH +# define MAKEFS_MAX_TREE_DEPTH (MAXPATHLEN/2) +#endif + +/* construct path to node->name */ +static char * +mtree_file_path(fsnode *node) +{ + fsnode *pnode; + struct sbuf *sb; + char *res, *rp[MAKEFS_MAX_TREE_DEPTH]; + int depth; + + depth = 0; + rp[depth] = node->name; + for (pnode = node->parent; pnode && depth < MAKEFS_MAX_TREE_DEPTH; + pnode = pnode->parent) { + if (strcmp(pnode->name, ".") == 0) + break; + rp[++depth] = pnode->name; + } + + sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND); + if (sb == NULL) { + errno = ENOMEM; + return (NULL); + } + while (depth > 0) { + sbuf_cat(sb, rp[depth--]); + sbuf_putc(sb, '/'); + } + sbuf_cat(sb, rp[depth]); + sbuf_finish(sb); + res = strdup(sbuf_data(sb)); + sbuf_delete(sb); + if (res == NULL) + errno = ENOMEM; + return res; + +} + /* mtree_resolve() sets errno to indicate why NULL was returned. */ static char * mtree_resolve(const char *spec, int *istemp) @@ -467,8 +508,8 @@ read_mtree_keywords(FILE *fp, fsnode *no { char keyword[PATH_MAX]; char *name, *p, *value; - struct group *grent; - struct passwd *pwent; + gid_t gid; + uid_t uid; struct stat *st, sb; intmax_t num; u_long flset, flclr; @@ -544,11 +585,10 @@ read_mtree_keywords(FILE *fp, fsnode *no error = ENOATTR; break; } - grent = getgrnam(value); - if (grent != NULL) - st->st_gid = grent->gr_gid; + if (gid_from_group(value, &gid) == 0) + st->st_gid = gid; else - error = errno; + error = EINVAL; } else error = ENOSYS; break; @@ -657,11 +697,10 @@ read_mtree_keywords(FILE *fp, fsnode *no error = ENOATTR; break; } - pwent = getpwnam(value); - if (pwent != NULL) - st->st_uid = pwent->pw_uid; + if (uid_from_user(value, &uid) == 0) + st->st_uid = uid; else - error = errno; + error = EINVAL; } else error = ENOSYS; break; @@ -706,6 +745,12 @@ read_mtree_keywords(FILE *fp, fsnode *no return (0); } type = S_IFREG; + } else if (node->type != 0) { + type = node->type; + if (type == S_IFREG) { + /* the named path is the default contents */ + node->contents = mtree_file_path(node); + } } else type = (node->symlink != NULL) ? S_IFLNK : S_IFDIR; @@ -734,6 +779,24 @@ read_mtree_keywords(FILE *fp, fsnode *no return (0); } + /* + * Check for hardlinks. If the contents key is used, then the check + * will only trigger if the contents file is a link even if it is used + * by more than one file + */ + if (sb.st_nlink > 1) { + fsinode *curino; + + st->st_ino = sb.st_ino; + st->st_dev = sb.st_dev; + curino = link_check(node->inode); + if (curino != NULL) { + free(node->inode); + node->inode = curino; + node->inode->nlink++; + } + } + free(node->contents); node->contents = name; st->st_size = sb.st_size; @@ -834,8 +897,14 @@ read_mtree_spec1(FILE *fp, bool def, con if (strcmp(name, node->name) == 0) { if (def == true) { - mtree_error("duplicate definition of %s", - name); + if (!dupsok) + mtree_error( + "duplicate definition of %s", + name); + else + mtree_warning( + "duplicate definition of %s", + name); return (0); } @@ -923,15 +992,15 @@ read_mtree_spec(FILE *fp) do { *cp++ = '\0'; - /* Disallow '.' and '..' as components. */ - if (IS_DOT(pathspec) || IS_DOTDOT(pathspec)) { - mtree_error("absolute path cannot contain . " - "or .. components"); + /* Disallow '..' as a component. */ + if (IS_DOTDOT(pathspec)) { + mtree_error("absolute path cannot contain " + ".. component"); goto out; } - /* Ignore multiple adjacent slashes. */ - if (pathspec[0] != '\0') + /* Ignore multiple adjacent slashes and '.'. */ + if (pathspec[0] != '\0' && !IS_DOT(pathspec)) error = read_mtree_spec1(fp, false, pathspec); memmove(pathspec, cp, strlen(cp) + 1); cp = strchr(pathspec, '/'); Modified: stable/9/usr.sbin/makefs/walk.c ============================================================================== --- stable/9/usr.sbin/makefs/walk.c Thu Mar 14 22:55:59 2013 (r248292) +++ stable/9/usr.sbin/makefs/walk.c Thu Mar 14 22:57:27 2013 (r248293) @@ -59,7 +59,6 @@ static void apply_specdir(const char *, static void apply_specentry(const char *, NODE *, fsnode *); static fsnode *create_fsnode(const char *, const char *, const char *, struct stat *); -static fsinode *link_check(fsinode *); /* @@ -236,7 +235,7 @@ create_fsnode(const char *root, const ch /* * free_fsnodes -- * Removes node from tree and frees it and all of - * its decendents. + * its descendants. */ void free_fsnodes(fsnode *node) @@ -644,7 +643,7 @@ inode_type(mode_t mode) /* This was borrowed from du.c and tweaked to keep an fsnode * pointer instead. -- dbj@netbsd.org */ -static fsinode * +fsinode * link_check(fsinode *entry) { static struct entry { From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:03:49 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1EBD9C9B; Thu, 14 Mar 2013 23:03:49 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EEF97105; Thu, 14 Mar 2013 23:03:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EN3m2O056250; Thu, 14 Mar 2013 23:03:48 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EN3miE056249; Thu, 14 Mar 2013 23:03:48 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303142303.r2EN3miE056249@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 14 Mar 2013 23:03:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248294 - head/sbin/hastd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:03:49 -0000 Author: pjd Date: Thu Mar 14 23:03:48 2013 New Revision: 248294 URL: http://svnweb.freebsd.org/changeset/base/248294 Log: Delete requests can be larger than MAXPHYS. Modified: head/sbin/hastd/secondary.c Modified: head/sbin/hastd/secondary.c ============================================================================== --- head/sbin/hastd/secondary.c Thu Mar 14 22:57:27 2013 (r248293) +++ head/sbin/hastd/secondary.c Thu Mar 14 23:03:48 2013 (r248294) @@ -582,7 +582,7 @@ requnpack(struct hast_resource *res, str hio->hio_error = EINVAL; goto end; } - if (hio->hio_length > MAXPHYS) { + if (hio->hio_cmd != HIO_DELETE && hio->hio_length > MAXPHYS) { pjdlog_error("Data length is too large (%ju > %ju).", (uintmax_t)hio->hio_length, (uintmax_t)MAXPHYS); hio->hio_error = EINVAL; From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:07:01 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E1CC1E1E; Thu, 14 Mar 2013 23:07:01 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D4719118; Thu, 14 Mar 2013 23:07:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EN71o4056853; Thu, 14 Mar 2013 23:07:01 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EN71iF056852; Thu, 14 Mar 2013 23:07:01 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303142307.r2EN71iF056852@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 14 Mar 2013 23:07:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248295 - head/sys/geom/gate X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:07:02 -0000 Author: pjd Date: Thu Mar 14 23:07:01 2013 New Revision: 248295 URL: http://svnweb.freebsd.org/changeset/base/248295 Log: We don't need buffer to handle BIO_DELETE, so don't check buffer size for it. This fixes handling BIO_DELETE larger than MAXPHYS. Modified: head/sys/geom/gate/g_gate.c Modified: head/sys/geom/gate/g_gate.c ============================================================================== --- head/sys/geom/gate/g_gate.c Thu Mar 14 23:03:48 2013 (r248294) +++ head/sys/geom/gate/g_gate.c Thu Mar 14 23:07:01 2013 (r248295) @@ -813,7 +813,7 @@ g_gate_ioctl(struct cdev *dev, u_long cm } } ggio->gctl_cmd = bp->bio_cmd; - if ((bp->bio_cmd == BIO_DELETE || bp->bio_cmd == BIO_WRITE) && + if (bp->bio_cmd == BIO_WRITE && bp->bio_length > ggio->gctl_length) { mtx_unlock(&sc->sc_queue_mtx); ggio->gctl_length = bp->bio_length; From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:11:53 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 79616215; Thu, 14 Mar 2013 23:11:53 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 552F5141; Thu, 14 Mar 2013 23:11:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ENBrew059317; Thu, 14 Mar 2013 23:11:53 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ENBrC0059316; Thu, 14 Mar 2013 23:11:53 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303142311.r2ENBrC0059316@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 14 Mar 2013 23:11:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248296 - head/sbin/hastd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:11:53 -0000 Author: pjd Date: Thu Mar 14 23:11:52 2013 New Revision: 248296 URL: http://svnweb.freebsd.org/changeset/base/248296 Log: Minor corrections. Modified: head/sbin/hastd/hastd.8 Modified: head/sbin/hastd/hastd.8 ============================================================================== --- head/sbin/hastd/hastd.8 Thu Mar 14 23:07:01 2013 (r248295) +++ head/sbin/hastd/hastd.8 Thu Mar 14 23:11:52 2013 (r248296) @@ -51,7 +51,7 @@ Only one machine (cluster node) can acti This machine is called primary. The .Nm -daemon operates on block level, which makes it transparent for file +daemon operates on block level, which makes it transparent to file systems and applications. .Pp There is one main @@ -68,7 +68,7 @@ The exact format is: hastd: () .Ed .Pp -When (and only when) +If (and only if) .Nm operates in primary role for the given resource, corresponding .Pa /dev/hast/ @@ -77,8 +77,8 @@ File systems and applications can use th requests to. Every write, delete and flush operation .Dv ( BIO_WRITE , BIO_DELETE , BIO_FLUSH ) -is send to local component and synchronously replicated -to the remote (secondary) node if it is available. +is send to local component and replicated to the remote (secondary) node if it +is available. Read operations .Dv ( BIO_READ ) are handled locally unless I/O error occurs or local version of the data From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:14:48 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1B81B46F; Thu, 14 Mar 2013 23:14:48 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F3144166; Thu, 14 Mar 2013 23:14:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ENElxw059891; Thu, 14 Mar 2013 23:14:47 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ENElAc059890; Thu, 14 Mar 2013 23:14:47 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303142314.r2ENElAc059890@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 14 Mar 2013 23:14:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248297 - head/sbin/hastd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:14:48 -0000 Author: pjd Date: Thu Mar 14 23:14:47 2013 New Revision: 248297 URL: http://svnweb.freebsd.org/changeset/base/248297 Log: Now that ioctl(2) is allowed in capability mode and we can limit ioctls for the given descriptors, use Capsicum sandboxing for hastd in primary and secondary modes. Allow for DIOCGDELETE and DIOCGFLUSH ioctls on provider descriptor and for G_GATE_CMD_MODIFY, G_GATE_CMD_START, G_GATE_CMD_DONE and G_GATE_CMD_DESTROY on GEOM Gate descriptor. Sponsored by: The FreeBSD Foundation Modified: head/sbin/hastd/subr.c Modified: head/sbin/hastd/subr.c ============================================================================== --- head/sbin/hastd/subr.c Thu Mar 14 23:11:52 2013 (r248296) +++ head/sbin/hastd/subr.c Thu Mar 14 23:14:47 2013 (r248297) @@ -31,14 +31,15 @@ #include __FBSDID("$FreeBSD$"); -#ifdef HAVE_CAPSICUM -#include -#endif #include #include #include #include #include +#ifdef HAVE_CAPSICUM +#include +#include +#endif #include #include @@ -224,22 +225,53 @@ drop_privs(const struct hast_resource *r return (-1); } - /* - * Until capsicum doesn't allow ioctl(2) we cannot use it to sandbox - * primary and secondary worker processes, as primary uses GGATE - * ioctls and secondary uses ioctls to handle BIO_DELETE and BIO_FLUSH. - * For now capsicum is only used to sandbox hastctl. - */ #ifdef HAVE_CAPSICUM - if (res == NULL) { - capsicum = (cap_enter() == 0); - if (!capsicum) { - pjdlog_common(LOG_DEBUG, 1, errno, - "Unable to sandbox using capsicum"); + capsicum = (cap_enter() == 0); + if (!capsicum) { + pjdlog_common(LOG_DEBUG, 1, errno, + "Unable to sandbox using capsicum"); + } else if (res != NULL) { + static const unsigned long geomcmds[] = { + DIOCGDELETE, + DIOCGFLUSH + }; + + PJDLOG_ASSERT(res->hr_role == HAST_ROLE_PRIMARY || + res->hr_role == HAST_ROLE_SECONDARY); + + if (cap_rights_limit(res->hr_localfd, + CAP_FLOCK | CAP_IOCTL | CAP_PREAD | CAP_PWRITE) == -1) { + pjdlog_errno(LOG_ERR, + "Unable to limit capability rights on local descriptor"); + } + if (cap_ioctls_limit(res->hr_localfd, geomcmds, + sizeof(geomcmds) / sizeof(geomcmds[0])) == -1) { + pjdlog_errno(LOG_ERR, + "Unable to limit allowed GEOM ioctls"); + } + + if (res->hr_role == HAST_ROLE_PRIMARY) { + static const unsigned long ggatecmds[] = { + G_GATE_CMD_MODIFY, + G_GATE_CMD_START, + G_GATE_CMD_DONE, + G_GATE_CMD_DESTROY + }; + + if (cap_rights_limit(res->hr_ggatefd, CAP_IOCTL) == -1) { + pjdlog_errno(LOG_ERR, + "Unable to limit capability rights to CAP_IOCTL on ggate descriptor"); + } + if (cap_ioctls_limit(res->hr_ggatefd, ggatecmds, + sizeof(ggatecmds) / sizeof(ggatecmds[0])) == -1) { + pjdlog_errno(LOG_ERR, + "Unable to limit allowed ggate ioctls"); + } } - } else + } +#else + capsicum = false; #endif - capsicum = false; /* * Better be sure that everything succeeded. From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:20:19 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 55735737; Thu, 14 Mar 2013 23:20:19 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 480201A6; Thu, 14 Mar 2013 23:20:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ENKJg2060776; Thu, 14 Mar 2013 23:20:19 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ENKJln060775; Thu, 14 Mar 2013 23:20:19 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201303142320.r2ENKJln060775@svn.freebsd.org> From: Edward Tomasz Napierala Date: Thu, 14 Mar 2013 23:20:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248298 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:20:19 -0000 Author: trasz Date: Thu Mar 14 23:20:18 2013 New Revision: 248298 URL: http://svnweb.freebsd.org/changeset/base/248298 Log: Accessing td_state requires thread lock to be held. Submitted by: Rudo Tomori Reviewed by: kib Modified: head/sys/kern/kern_racct.c Modified: head/sys/kern/kern_racct.c ============================================================================== --- head/sys/kern/kern_racct.c Thu Mar 14 23:14:47 2013 (r248297) +++ head/sys/kern/kern_racct.c Thu Mar 14 23:20:18 2013 (r248298) @@ -1033,6 +1033,7 @@ racct_proc_throttle(struct proc *p) p->p_throttled = 1; FOREACH_THREAD_IN_PROC(p, td) { + thread_lock(td); switch (td->td_state) { case TDS_RUNQ: /* @@ -1041,27 +1042,24 @@ racct_proc_throttle(struct proc *p) * TDF_NEEDRESCHED for the thread, so that once it is * running, it is taken off the cpu as soon as possible. */ - thread_lock(td); td->td_flags |= TDF_NEEDRESCHED; - thread_unlock(td); break; case TDS_RUNNING: /* * If the thread is running, we request a context * switch for it by setting the TDF_NEEDRESCHED flag. */ - thread_lock(td); td->td_flags |= TDF_NEEDRESCHED; #ifdef SMP cpuid = td->td_oncpu; if ((cpuid != NOCPU) && (td != curthread)) ipi_cpu(cpuid, IPI_AST); #endif - thread_unlock(td); break; default: break; } + thread_unlock(td); } } From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:25:01 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D6BD29F3; Thu, 14 Mar 2013 23:25:01 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C8EAC1D4; Thu, 14 Mar 2013 23:25:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ENP1Sf063008; Thu, 14 Mar 2013 23:25:01 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ENP1BS063007; Thu, 14 Mar 2013 23:25:01 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303142325.r2ENP1BS063007@svn.freebsd.org> From: Brooks Davis Date: Thu, 14 Mar 2013 23:25:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r248299 - in vendor/NetBSD/libc-vis: . 20121214 20121214a 20121412 20121412a 20130221 20132102 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:25:01 -0000 Author: brooks Date: Thu Mar 14 23:25:01 2013 New Revision: 248299 URL: http://svnweb.freebsd.org/changeset/base/248299 Log: Fix the date command for tagging imports in the instructions and rename the resulting errant tags to from YYYYDDMM to YYYYMMDD. Added: vendor/NetBSD/libc-vis/20121214/ - copied from r248297, vendor/NetBSD/libc-vis/20121412/ vendor/NetBSD/libc-vis/20121214a/ - copied from r248297, vendor/NetBSD/libc-vis/20121412a/ vendor/NetBSD/libc-vis/20130221/ - copied from r248297, vendor/NetBSD/libc-vis/20132102/ Deleted: vendor/NetBSD/libc-vis/20121412/ vendor/NetBSD/libc-vis/20121412a/ vendor/NetBSD/libc-vis/20132102/ Modified: vendor/NetBSD/libc-vis/FreeBSD-Upgrade Modified: vendor/NetBSD/libc-vis/FreeBSD-Upgrade ============================================================================== --- vendor/NetBSD/libc-vis/FreeBSD-Upgrade Thu Mar 14 23:20:18 2013 (r248298) +++ vendor/NetBSD/libc-vis/FreeBSD-Upgrade Thu Mar 14 23:25:01 2013 (r248299) @@ -20,7 +20,7 @@ Instructions for updating unvis(3) and v svn commit -m "Vendor import of NetBSD's (un)vis(3) at `date +%F`" dist svn cp -m "Tag `date +%F` import of NetBSD's (un)vis(3)" \ $REPO/base/vendor/NetBSD/libc-vis/dist \ - $REPO/base/vendor/NetBSD/libc-vis/`date +%Y%d%m` + $REPO/base/vendor/NetBSD/libc-vis/`date +%Y%m%d` 4) Update the files in src/contrib/libc-pwcache: From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:25:42 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CA0BDB53; Thu, 14 Mar 2013 23:25:42 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B7C6F1DC; Thu, 14 Mar 2013 23:25:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ENPgpt063124; Thu, 14 Mar 2013 23:25:42 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ENPgeH063123; Thu, 14 Mar 2013 23:25:42 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201303142325.r2ENPgeH063123@svn.freebsd.org> From: Edward Tomasz Napierala Date: Thu, 14 Mar 2013 23:25:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248300 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:25:42 -0000 Author: trasz Date: Thu Mar 14 23:25:42 2013 New Revision: 248300 URL: http://svnweb.freebsd.org/changeset/base/248300 Log: When throttling a process to enforce RACCT limits, do not use neither PBDRY (which simply doesn't make any sense) nor PCATCH (which could be used by a malicious process to work around the PCPU limit). Submitted by: Rudo Tomori Reviewed by: kib Modified: head/sys/kern/subr_trap.c Modified: head/sys/kern/subr_trap.c ============================================================================== --- head/sys/kern/subr_trap.c Thu Mar 14 23:25:01 2013 (r248299) +++ head/sys/kern/subr_trap.c Thu Mar 14 23:25:42 2013 (r248300) @@ -100,9 +100,6 @@ void userret(struct thread *td, struct trapframe *frame) { struct proc *p = td->td_proc; -#ifdef RACCT - int sig; -#endif CTR3(KTR_SYSC, "userret: thread %p (pid %d, %s)", td, p->p_pid, td->td_name); @@ -175,12 +172,8 @@ userret(struct thread *td, struct trapfr #endif #ifdef RACCT PROC_LOCK(p); - while (p->p_throttled == 1) { - sig = msleep(p->p_racct, &p->p_mtx, PCATCH | PBDRY, "racct", - hz); - if ((sig == EINTR) || (sig == ERESTART)) - break; - } + while (p->p_throttled == 1) + msleep(p->p_racct, &p->p_mtx, 0, "racct", 0); PROC_UNLOCK(p); #endif } From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:35:53 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 76CB3ECF; Thu, 14 Mar 2013 23:35:53 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5CEA1233; Thu, 14 Mar 2013 23:35:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ENZrbN066199; Thu, 14 Mar 2013 23:35:53 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ENZrRu066196; Thu, 14 Mar 2013 23:35:53 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303142335.r2ENZrRu066196@svn.freebsd.org> From: Brooks Davis Date: Thu, 14 Mar 2013 23:35:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r248301 - in vendor/NetBSD: unvis unvis/20130221 unvis/20132102 vis vis/20130221 vis/20132102 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:35:53 -0000 Author: brooks Date: Thu Mar 14 23:35:52 2013 New Revision: 248301 URL: http://svnweb.freebsd.org/changeset/base/248301 Log: Correct typo in update instuctions and resulting YYYYDDMM format tags. Added: vendor/NetBSD/unvis/20130221/ - copied from r248300, vendor/NetBSD/unvis/20132102/ vendor/NetBSD/vis/20130221/ - copied from r248300, vendor/NetBSD/vis/20132102/ Deleted: vendor/NetBSD/unvis/20132102/ vendor/NetBSD/vis/20132102/ Modified: vendor/NetBSD/unvis/FreeBSD-Upgrade vendor/NetBSD/vis/FreeBSD-Upgrade Modified: vendor/NetBSD/unvis/FreeBSD-Upgrade ============================================================================== --- vendor/NetBSD/unvis/FreeBSD-Upgrade Thu Mar 14 23:25:42 2013 (r248300) +++ vendor/NetBSD/unvis/FreeBSD-Upgrade Thu Mar 14 23:35:52 2013 (r248301) @@ -16,7 +16,7 @@ Instructions for updating unvis(1): svn commit -m "Vendor import of NetBSD's unvis(1) at `date +%F`" dist svn cp -m "Tag `date +%F` import of NetBSD's unvis(1)" \ $REPO/base/vendor/NetBSD/unvis/dist \ - $REPO/base/vendor/NetBSD/unvis/`date +%Y%d%m` + $REPO/base/vendor/NetBSD/unvis/`date +%Y%m%d` 4) Update the files in src/contrib/unvis: Modified: vendor/NetBSD/vis/FreeBSD-Upgrade ============================================================================== --- vendor/NetBSD/vis/FreeBSD-Upgrade Thu Mar 14 23:25:42 2013 (r248300) +++ vendor/NetBSD/vis/FreeBSD-Upgrade Thu Mar 14 23:35:52 2013 (r248301) @@ -16,7 +16,7 @@ Instructions for updating vis(1): svn commit -m "Vendor import of NetBSD's vis(1) at `date +%F`" dist svn cp -m "Tag `date +%F` import of NetBSD's vis(1)" \ $REPO/base/vendor/NetBSD/vis/dist \ - $REPO/base/vendor/NetBSD/vis/`date +%Y%d%m` + $REPO/base/vendor/NetBSD/vis/`date +%Y%m%d` 4) Update the files in src/contrib/vis: From owner-svn-src-all@FreeBSD.ORG Thu Mar 14 23:51:48 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 5F40E23C; Thu, 14 Mar 2013 23:51:48 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 34A8D2AE; Thu, 14 Mar 2013 23:51:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2ENpmob071491; Thu, 14 Mar 2013 23:51:48 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2ENplKC071486; Thu, 14 Mar 2013 23:51:47 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303142351.r2ENplKC071486@svn.freebsd.org> From: Brooks Davis Date: Thu, 14 Mar 2013 23:51:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248302 - in head: contrib/libc-vis lib/libc/gen X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 23:51:48 -0000 Author: brooks Date: Thu Mar 14 23:51:47 2013 New Revision: 248302 URL: http://svnweb.freebsd.org/changeset/base/248302 Log: Update to the latest (un)vis(3) sources from NetBSD. This adds multibyte support[0] and the new functions strenvisx and strsenvisx. Add MLINKS for vis(3) functions add by this and the initial import from NetBSD[1]. PR: bin/166364, bin/175418 Submitted by: "J.R. Oldroyd" [0] stefanf[1] Obtained from: NetBSD MFC after: 2 weeks Modified: head/contrib/libc-vis/unvis.3 head/contrib/libc-vis/unvis.c head/contrib/libc-vis/vis.3 head/contrib/libc-vis/vis.c head/contrib/libc-vis/vis.h head/lib/libc/gen/Makefile.inc head/lib/libc/gen/Symbol.map Directory Properties: head/contrib/libc-vis/ (props changed) Modified: head/contrib/libc-vis/unvis.3 ============================================================================== --- head/contrib/libc-vis/unvis.3 Thu Mar 14 23:35:52 2013 (r248301) +++ head/contrib/libc-vis/unvis.3 Thu Mar 14 23:51:47 2013 (r248302) @@ -1,4 +1,4 @@ -.\" $NetBSD: unvis.3,v 1.23 2011/03/17 14:06:29 wiz Exp $ +.\" $NetBSD: unvis.3,v 1.27 2012/12/15 07:34:36 wiz Exp $ .\" $FreeBSD$ .\" .\" Copyright (c) 1989, 1991, 1993 @@ -126,15 +126,17 @@ The function has several return codes that must be handled properly. They are: .Bl -tag -width UNVIS_VALIDPUSH -.It Li \&0 (zero) +.It Li \&0 No (zero) Another character is necessary; nothing has been recognized yet. .It Dv UNVIS_VALID A valid character has been recognized and is available at the location -pointed to by cp. +pointed to by +.Fa cp . .It Dv UNVIS_VALIDPUSH A valid character has been recognized and is available at the location -pointed to by cp; however, the character currently passed in should -be passed in again. +pointed to by +.Fa cp ; +however, the character currently passed in should be passed in again. .It Dv UNVIS_NOCHAR A valid sequence was detected, but no character was produced. This return code is necessary to indicate a logical break between characters. @@ -150,7 +152,7 @@ one more time with flag set to to extract any remaining character (the character passed in is ignored). .Pp The -.Ar flag +.Fa flag argument is also used to specify the encoding style of the source. If set to .Dv VIS_HTTPSTYLE @@ -161,7 +163,8 @@ will decode URI strings as specified in If set to .Dv VIS_HTTP1866 , .Fn unvis -will decode URI strings as specified in RFC 1866. +will decode entity references and numeric character references +as specified in RFC 1866. If set to .Dv VIS_MIMESTYLE , .Fn unvis @@ -169,7 +172,9 @@ will decode MIME Quoted-Printable string If set to .Dv VIS_NOESCAPE , .Fn unvis -will not decode \e quoted characters. +will not decode +.Ql \e +quoted characters. .Pp The following code fragment illustrates a proper use of .Fn unvis . @@ -204,7 +209,7 @@ The functions and .Fn strnunvisx will return \-1 on error and set -.Va errno +.Va errno to: .Bl -tag -width Er .It Bq Er EINVAL @@ -212,7 +217,7 @@ An invalid escape sequence was detected, .El .Pp In addition the functions -.Fn strnunvis +.Fn strnunvis and .Fn strnunvisx will can also set @@ -244,4 +249,14 @@ and functions appeared in .Nx 6.0 and -.Fx 10.0 . +.Fx 9.2 . +.Sh BUGS +The names +.Dv VIS_HTTP1808 +and +.Dv VIS_HTTP1866 +are wrong. +Percent-encoding was defined in RFC 1738, the original RFC for URL. +RFC 1866 defines HTML 2.0, an application of SGML, from which it +inherits concepts of numeric character references and entity +references. Modified: head/contrib/libc-vis/unvis.c ============================================================================== --- head/contrib/libc-vis/unvis.c Thu Mar 14 23:35:52 2013 (r248301) +++ head/contrib/libc-vis/unvis.c Thu Mar 14 23:51:47 2013 (r248302) @@ -1,4 +1,4 @@ -/* $NetBSD: unvis.c,v 1.40 2012/12/14 21:31:01 christos Exp $ */ +/* $NetBSD: unvis.c,v 1.41 2012/12/15 04:29:53 matt Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)unvis.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: unvis.c,v 1.40 2012/12/14 21:31:01 christos Exp $"); +__RCSID("$NetBSD: unvis.c,v 1.41 2012/12/15 04:29:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ __FBSDID("$FreeBSD$"); @@ -90,7 +90,7 @@ __weak_alias(strnunvisx,_strnunvisx) * RFC 1866 */ static const struct nv { - const char name[7]; + char name[7]; uint8_t value; } nv[] = { { "AElig", 198 }, /* capital AE diphthong (ligature) */ Modified: head/contrib/libc-vis/vis.3 ============================================================================== --- head/contrib/libc-vis/vis.3 Thu Mar 14 23:35:52 2013 (r248301) +++ head/contrib/libc-vis/vis.3 Thu Mar 14 23:51:47 2013 (r248302) @@ -1,4 +1,4 @@ -.\" $NetBSD: vis.3,v 1.29 2012/12/14 22:55:59 christos Exp $ +.\" $NetBSD: vis.3,v 1.39 2013/02/20 20:05:26 christos Exp $ .\" $FreeBSD$ .\" .\" Copyright (c) 1989, 1991, 1993 @@ -30,7 +30,7 @@ .\" .\" @(#)vis.3 8.1 (Berkeley) 6/9/93 .\" -.Dd December 14, 2012 +.Dd February 19, 2013 .Dt VIS 3 .Os .Sh NAME @@ -40,12 +40,14 @@ .Nm strnvis , .Nm strvisx , .Nm strnvisx , +.Nm strenvisx , .Nm svis , .Nm snvis , .Nm strsvis , .Nm strsnvis , -.Nm strsvisx -.Nm strsnvisx +.Nm strsvisx , +.Nm strsnvisx , +.Nm strsenvisx .Nd visually encode characters .Sh LIBRARY .Lb libc @@ -63,6 +65,8 @@ .Fn strvisx "char *dst" "const char *src" "size_t len" "int flag" .Ft int .Fn strnvisx "char *dst" "size_t dlen" "const char *src" "size_t len" "int flag" +.Ft int +.Fn strenvisx "char *dst" "size_t dlen" "const char *src" "size_t len" "int flag" "int *cerr_ptr" .Ft char * .Fn svis "char *dst" "int c" "int flag" "int nextc" "const char *extra" .Ft char * @@ -75,6 +79,8 @@ .Fn strsvisx "char *dst" "const char *src" "size_t len" "int flag" "const char *extra" .Ft int .Fn strsnvisx "char *dst" "size_t dlen" "const char *src" "size_t len" "int flag" "const char *extra" +.Ft int +.Fn strsenvisx "char *dst" "size_t dlen" "const char *src" "size_t len" "int flag" "const char *extra" "int *cerr_ptr" .Sh DESCRIPTION The .Fn vis @@ -89,11 +95,11 @@ needs no encoding, it is copied in unalt The string is null terminated, and a pointer to the end of the string is returned. The maximum length of any encoding is four -characters (not including the trailing +bytes (not including the trailing .Dv NUL ) ; thus, when encoding a set of characters into a buffer, the size of the buffer should -be four times the number of characters encoded, plus one for the trailing +be four times the number of bytes encoded, plus one for the trailing .Dv NUL . The flag parameter is used for altering the default range of characters considered for encoding and for altering the visual @@ -142,16 +148,17 @@ terminate The size of .Fa dst must be four times the number -of characters encoded from +of bytes encoded from .Fa src (plus one for the .Dv NUL ) . Both -forms return the number of characters in dst (not including -the trailing +forms return the number of characters in +.Fa dst +(not including the trailing .Dv NUL ) . The -.Dq n +.Dq Nm n versions of the functions also take an additional argument .Fa dlen that indicates the length of the @@ -159,7 +166,7 @@ that indicates the length of the buffer. If .Fa dlen -is not large enough to fix the converted string then the +is not large enough to fit the converted string then the .Fn strnvis and .Fn strnvisx @@ -167,6 +174,14 @@ functions return \-1 and set .Va errno to .Dv ENOSPC . +The +.Fn strenvisx +function takes an additional argument, +.Fa cerr_ptr , +that is used to pass in and out a multibyte conversion error flag. +This is useful when processing single characters at a time when +it is possible that the locale may be set to something other +than the locale of the characters in the input data. .Pp The functions .Fn svis , @@ -174,16 +189,18 @@ The functions .Fn strsvis , .Fn strsnvis , .Fn strsvisx , +.Fn strsnvisx , and -.Fn strsnvisx +.Fn strsenvisx correspond to .Fn vis , .Fn nvis , .Fn strvis , .Fn strnvis , .Fn strvisx , +.Fn strnvisx , and -.Fn strnvisx +.Fn strenvisx but have an additional argument .Fa extra , pointing to a @@ -214,14 +231,13 @@ and .Fn strnvisx ) , and the type of representation used. By default, all non-graphic characters, -except space, tab, and newline are encoded. -(See -.Xr isgraph 3 . ) +except space, tab, and newline are encoded (see +.Xr isgraph 3 ) . The following flags alter this: .Bl -tag -width VIS_WHITEX .It Dv VIS_GLOB -Also encode magic characters +Also encode the magic characters .Ql ( * , .Ql \&? , .Ql \&[ @@ -243,11 +259,13 @@ Synonym for \&| .Dv VIS_NL . .It Dv VIS_SAFE -Only encode "unsafe" characters. +Only encode +.Dq unsafe +characters. Unsafe means control characters which may cause common terminals to perform unexpected functions. Currently this form allows space, tab, newline, backspace, bell, and -return - in addition to all graphic characters - unencoded. +return \(em in addition to all graphic characters \(em unencoded. .El .Pp (The above flags have no effect for @@ -287,8 +305,8 @@ Use an to represent meta characters (characters with the 8th bit set), and use caret .Ql ^ -to represent control characters see -.Pf ( Xr iscntrl 3 ) . +to represent control characters (see +.Xr iscntrl 3 ) . The following formats are used: .Bl -tag -width xxxxx .It Dv \e^C @@ -335,19 +353,20 @@ Use C-style backslash sequences to repre characters. The following sequences are used to represent the indicated characters: .Bd -unfilled -offset indent -.Li \ea Tn - BEL No (007) -.Li \eb Tn - BS No (010) -.Li \ef Tn - NP No (014) -.Li \en Tn - NL No (012) -.Li \er Tn - CR No (015) -.Li \es Tn - SP No (040) -.Li \et Tn - HT No (011) -.Li \ev Tn - VT No (013) -.Li \e0 Tn - NUL No (000) +.Li \ea Tn \(em BEL No (007) +.Li \eb Tn \(em BS No (010) +.Li \ef Tn \(em NP No (014) +.Li \en Tn \(em NL No (012) +.Li \er Tn \(em CR No (015) +.Li \es Tn \(em SP No (040) +.Li \et Tn \(em HT No (011) +.Li \ev Tn \(em VT No (013) +.Li \e0 Tn \(em NUL No (000) .Ed .Pp -When using this format, the nextc parameter is looked at to determine -if a +When using this format, the +.Fa nextc +parameter is looked at to determine if a .Dv NUL character can be encoded as .Ql \e0 @@ -374,8 +393,8 @@ represents a lower case hexadecimal digi .It Dv VIS_MIMESTYLE Use MIME Quoted-Printable encoding as described in RFC 2045, only don't break lines and don't handle CRLF. -The form is: -.Ql %XX +The form is +.Ql =XX where .Em X represents an upper case hexadecimal digit. @@ -392,6 +411,41 @@ meta characters as .Ql M-C ) . With this flag set, the encoding is ambiguous and non-invertible. +.Sh MULTIBYTE CHARACTER SUPPORT +These functions support multibyte character input. +The encoding conversion is influenced by the setting of the +.Ev LC_CTYPE +environment variable which defines the set of characters +that can be copied without encoding. +.Pp +When 8-bit data is present in the input, +.Ev LC_CTYPE +must be set to the correct locale or to the C locale. +If the locales of the data and the conversion are mismatched, +multibyte character recognition may fail and encoding will be performed +byte-by-byte instead. +.Pp +As noted above, +.Fa dst +must be four times the number of bytes processed from +.Fa src . +But note that each multibyte character can be up to +.Dv MB_LEN_MAX +bytes +.\" (see +.\" .Xr multibyte 3 ) +so in terms of multibyte characters, +.Fa dst +must be four times +.Dv MB_LEN_MAX +times the number of characters processed from +.Fa src . +.Sh ENVIRONMENT +.Bl -tag -width ".Ev LC_CTYPE" +.It Ev LC_CTYPE +Specify the locale of the input data. +Set to C if the input data locale is unknown. +.El .Sh ERRORS The functions .Fn nvis @@ -407,11 +461,11 @@ and .Fn strsnvisx , will return \-1 when the .Fa dlen -destination buffer length size is not enough to perform the conversion while +destination buffer size is not enough to perform the conversion while setting .Va errno to: -.Bl -tag -width Er +.Bl -tag -width ".Bq Er ENOSPC" .It Bq Er ENOSPC The destination buffer size is not large enough to perform the conversion. .El @@ -419,18 +473,23 @@ The destination buffer size is not large .Xr unvis 1 , .Xr vis 1 , .Xr glob 3 , +.\" .Xr multibyte 3 , .Xr unvis 3 .Rs .%A T. Berners-Lee .%T Uniform Resource Locators (URL) -.%O RFC1738 +.%O "RFC 1738" +.Re +.Rs +.%T "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies" +.%O "RFC 2045" .Re .Sh HISTORY The .Fn vis , .Fn strvis , and -.Fa strvisx +.Fn strvisx functions first appeared in .Bx 4.4 . The @@ -441,7 +500,7 @@ and functions appeared in .Nx 1.5 and -.Fx 10.0 . +.Fx 9.2 . The buffer size limited versions of the functions .Po Fn nvis , .Fn strnvis , @@ -451,6 +510,9 @@ The buffer size limited versions of the and .Fn strsnvisx Pc appeared in -.Nx 6.0 and -.Fx 10.0 . +.Fx 9.2 . +Myltibyte character support was added in +.Nx 7.0 +and +.Fx 9.2 . Modified: head/contrib/libc-vis/vis.c ============================================================================== --- head/contrib/libc-vis/vis.c Thu Mar 14 23:35:52 2013 (r248301) +++ head/contrib/libc-vis/vis.c Thu Mar 14 23:51:47 2013 (r248302) @@ -1,4 +1,4 @@ -/* $NetBSD: vis.c,v 1.45 2012/12/14 21:38:18 christos Exp $ */ +/* $NetBSD: vis.c,v 1.60 2013/02/21 16:21:20 joerg Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -57,19 +57,23 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: vis.c,v 1.45 2012/12/14 21:38:18 christos Exp $"); +__RCSID("$NetBSD: vis.c,v 1.60 2013/02/21 16:21:20 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ +#ifdef __FBSDID __FBSDID("$FreeBSD$"); +#define _DIAGASSERT(x) assert(x) +#endif #include "namespace.h" #include +#include #include #include #include #include - -#define _DIAGASSERT(x) assert(x) +#include +#include #ifdef __weak_alias __weak_alias(strvisx,_strvisx) @@ -81,65 +85,66 @@ __weak_alias(strvisx,_strvisx) #include #include -static char *do_svis(char *, size_t *, int, int, int, const char *); +/* + * The reason for going through the trouble to deal with character encodings + * in vis(3), is that we use this to safe encode output of commands. This + * safe encoding varies depending on the character set. For example if we + * display ps output in French, we don't want to display French characters + * as M-foo. + */ + +static wchar_t *do_svis(wchar_t *, wint_t, int, wint_t, const wchar_t *); #undef BELL -#define BELL '\a' +#define BELL L'\a' + +#define iswoctal(c) (((u_char)(c)) >= L'0' && ((u_char)(c)) <= L'7') +#define iswwhite(c) (c == L' ' || c == L'\t' || c == L'\n') +#define iswsafe(c) (c == L'\b' || c == BELL || c == L'\r') +#define xtoa(c) L"0123456789abcdef"[c] +#define XTOA(c) L"0123456789ABCDEF"[c] -#define isoctal(c) (((u_char)(c)) >= '0' && ((u_char)(c)) <= '7') -#define iswhite(c) (c == ' ' || c == '\t' || c == '\n') -#define issafe(c) (c == '\b' || c == BELL || c == '\r') -#define xtoa(c) "0123456789abcdef"[c] -#define XTOA(c) "0123456789ABCDEF"[c] - -#define MAXEXTRAS 9 - -#define MAKEEXTRALIST(flag, extra, orig_str) \ -do { \ - const char *orig = orig_str; \ - const char *o = orig; \ - char *e; \ - while (*o++) \ - continue; \ - extra = malloc((size_t)((o - orig) + MAXEXTRAS)); \ - if (!extra) break; \ - for (o = orig, e = extra; (*e++ = *o++) != '\0';) \ - continue; \ - e--; \ - if (flag & VIS_GLOB) { \ - *e++ = '*'; \ - *e++ = '?'; \ - *e++ = '['; \ - *e++ = '#'; \ - } \ - if (flag & VIS_SP) *e++ = ' '; \ - if (flag & VIS_TAB) *e++ = '\t'; \ - if (flag & VIS_NL) *e++ = '\n'; \ - if ((flag & VIS_NOSLASH) == 0) *e++ = '\\'; \ - *e = '\0'; \ -} while (/*CONSTCOND*/0) +#define MAXEXTRAS 10 + +#if !HAVE_NBTOOL_CONFIG_H +#ifndef __NetBSD__ +/* + * On NetBSD MB_LEN_MAX is currently 32 which does not fit on any integer + * integral type and it is probably wrong, since currently the maximum + * number of bytes and character needs is 6. Until this is fixed, the + * loops below are using sizeof(uint64_t) - 1 instead of MB_LEN_MAX, and + * the assertion is commented out. + */ +#ifdef __FreeBSD__ +/* + * On FreeBSD including for CTASSERT only works in kernel + * mode. + */ +#ifndef CTASSERT +#define CTASSERT(x) _CTASSERT(x, __LINE__) +#define _CTASSERT(x, y) __CTASSERT(x, y) +#define __CTASSERT(x, y) typedef char __assert ## y[(x) ? 1 : -1] +#endif +#endif /* __FreeBSD__ */ +CTASSERT(MB_LEN_MAX <= sizeof(uint64_t)); +#endif /* !__NetBSD__ */ +#endif /* * This is do_hvis, for HTTP style (RFC 1808) */ -static char * -do_hvis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) +static wchar_t * +do_hvis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) { - - if ((isascii(c) && isalnum(c)) + if (iswalnum(c) /* safe */ - || c == '$' || c == '-' || c == '_' || c == '.' || c == '+' + || c == L'$' || c == L'-' || c == L'_' || c == L'.' || c == L'+' /* extra */ - || c == '!' || c == '*' || c == '\'' || c == '(' || c == ')' - || c == ',') { - dst = do_svis(dst, dlen, c, flag, nextc, extra); - } else { - if (dlen) { - if (*dlen < 3) - return NULL; - *dlen -= 3; - } - *dst++ = '%'; + || c == L'!' || c == L'*' || c == L'\'' || c == L'(' || c == L')' + || c == L',') + dst = do_svis(dst, c, flags, nextc, extra); + else { + *dst++ = L'%'; *dst++ = xtoa(((unsigned int)c >> 4) & 0xf); *dst++ = xtoa((unsigned int)c & 0xf); } @@ -151,312 +156,448 @@ do_hvis(char *dst, size_t *dlen, int c, * This is do_mvis, for Quoted-Printable MIME (RFC 2045) * NB: No handling of long lines or CRLF. */ -static char * -do_mvis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) +static wchar_t * +do_mvis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) { - if ((c != '\n') && + if ((c != L'\n') && /* Space at the end of the line */ - ((isspace(c) && (nextc == '\r' || nextc == '\n')) || + ((iswspace(c) && (nextc == L'\r' || nextc == L'\n')) || /* Out of range */ - (!isspace(c) && (c < 33 || (c > 60 && c < 62) || c > 126)) || - /* Specific char to be escaped */ - strchr("#$@[\\]^`{|}~", c) != NULL)) { - if (dlen) { - if (*dlen < 3) - return NULL; - *dlen -= 3; - } - *dst++ = '='; + (!iswspace(c) && (c < 33 || (c > 60 && c < 62) || c > 126)) || + /* Specific char to be escaped */ + wcschr(L"#$@[\\]^`{|}~", c) != NULL)) { + *dst++ = L'='; *dst++ = XTOA(((unsigned int)c >> 4) & 0xf); *dst++ = XTOA((unsigned int)c & 0xf); - } else { - dst = do_svis(dst, dlen, c, flag, nextc, extra); - } + } else + dst = do_svis(dst, c, flags, nextc, extra); return dst; } /* - * This is do_vis, the central code of vis. - * dst: Pointer to the destination buffer - * c: Character to encode - * flag: Flag word - * nextc: The character following 'c' - * extra: Pointer to the list of extra characters to be - * backslash-protected. + * Output single byte of multibyte character. */ -static char * -do_svis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) +static wchar_t * +do_mbyte(wchar_t *dst, wint_t c, int flags, wint_t nextc, int iswextra) { - int isextra; - size_t odlen = dlen ? *dlen : 0; - - isextra = strchr(extra, c) != NULL; -#define HAVE(x) \ - do { \ - if (dlen) { \ - if (*dlen < (x)) \ - goto out; \ - *dlen -= (x); \ - } \ - } while (/*CONSTCOND*/0) - if (!isextra && isascii(c) && (isgraph(c) || iswhite(c) || - ((flag & VIS_SAFE) && issafe(c)))) { - HAVE(1); - *dst++ = c; - return dst; - } - if (flag & VIS_CSTYLE) { - HAVE(2); + if (flags & VIS_CSTYLE) { switch (c) { - case '\n': - *dst++ = '\\'; *dst++ = 'n'; + case L'\n': + *dst++ = L'\\'; *dst++ = L'n'; return dst; - case '\r': - *dst++ = '\\'; *dst++ = 'r'; + case L'\r': + *dst++ = L'\\'; *dst++ = L'r'; return dst; - case '\b': - *dst++ = '\\'; *dst++ = 'b'; + case L'\b': + *dst++ = L'\\'; *dst++ = L'b'; return dst; case BELL: - *dst++ = '\\'; *dst++ = 'a'; + *dst++ = L'\\'; *dst++ = L'a'; return dst; - case '\v': - *dst++ = '\\'; *dst++ = 'v'; + case L'\v': + *dst++ = L'\\'; *dst++ = L'v'; return dst; - case '\t': - *dst++ = '\\'; *dst++ = 't'; + case L'\t': + *dst++ = L'\\'; *dst++ = L't'; return dst; - case '\f': - *dst++ = '\\'; *dst++ = 'f'; + case L'\f': + *dst++ = L'\\'; *dst++ = L'f'; return dst; - case ' ': - *dst++ = '\\'; *dst++ = 's'; + case L' ': + *dst++ = L'\\'; *dst++ = L's'; return dst; - case '\0': - *dst++ = '\\'; *dst++ = '0'; - if (isoctal(nextc)) { - HAVE(2); - *dst++ = '0'; - *dst++ = '0'; + case L'\0': + *dst++ = L'\\'; *dst++ = L'0'; + if (iswoctal(nextc)) { + *dst++ = L'0'; + *dst++ = L'0'; } return dst; default: - if (isgraph(c)) { - *dst++ = '\\'; *dst++ = c; + if (iswgraph(c)) { + *dst++ = L'\\'; + *dst++ = c; return dst; } - if (dlen) - *dlen = odlen; } } - if (isextra || ((c & 0177) == ' ') || (flag & VIS_OCTAL)) { - HAVE(4); - *dst++ = '\\'; - *dst++ = (u_char)(((u_int32_t)(u_char)c >> 6) & 03) + '0'; - *dst++ = (u_char)(((u_int32_t)(u_char)c >> 3) & 07) + '0'; - *dst++ = (c & 07) + '0'; + if (iswextra || ((c & 0177) == L' ') || (flags & VIS_OCTAL)) { + *dst++ = L'\\'; + *dst++ = (u_char)(((u_int32_t)(u_char)c >> 6) & 03) + L'0'; + *dst++ = (u_char)(((u_int32_t)(u_char)c >> 3) & 07) + L'0'; + *dst++ = (c & 07) + L'0'; } else { - if ((flag & VIS_NOSLASH) == 0) { - HAVE(1); - *dst++ = '\\'; - } + if ((flags & VIS_NOSLASH) == 0) + *dst++ = L'\\'; if (c & 0200) { - HAVE(1); - c &= 0177; *dst++ = 'M'; + c &= 0177; + *dst++ = L'M'; } - if (iscntrl(c)) { - HAVE(2); - *dst++ = '^'; + if (iswcntrl(c)) { + *dst++ = L'^'; if (c == 0177) - *dst++ = '?'; + *dst++ = L'?'; else - *dst++ = c + '@'; + *dst++ = c + L'@'; } else { - HAVE(2); - *dst++ = '-'; *dst++ = c; + *dst++ = L'-'; + *dst++ = c; } } + + return dst; +} + +/* + * This is do_vis, the central code of vis. + * dst: Pointer to the destination buffer + * c: Character to encode + * flags: Flags word + * nextc: The character following 'c' + * extra: Pointer to the list of extra characters to be + * backslash-protected. + */ +static wchar_t * +do_svis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) +{ + int iswextra, i, shft; + uint64_t bmsk, wmsk; + + iswextra = wcschr(extra, c) != NULL; + if (!iswextra && (iswgraph(c) || iswwhite(c) || + ((flags & VIS_SAFE) && iswsafe(c)))) { + *dst++ = c; + return dst; + } + + /* See comment in istrsenvisx() output loop, below. */ + wmsk = 0; + for (i = sizeof(wmsk) - 1; i >= 0; i--) { + shft = i * NBBY; + bmsk = (uint64_t)0xffLL << shft; + wmsk |= bmsk; + if ((c & wmsk) || i == 0) + dst = do_mbyte(dst, (wint_t)( + (uint64_t)(c & bmsk) >> shft), + flags, nextc, iswextra); + } + return dst; -out: - *dlen = odlen; - return NULL; } -typedef char *(*visfun_t)(char *, size_t *, int, int, int, const char *); +typedef wchar_t *(*visfun_t)(wchar_t *, wint_t, int, wint_t, const wchar_t *); /* * Return the appropriate encoding function depending on the flags given. */ static visfun_t -getvisfun(int flag) +getvisfun(int flags) { - if (flag & VIS_HTTPSTYLE) + if (flags & VIS_HTTPSTYLE) return do_hvis; - if (flag & VIS_MIMESTYLE) + if (flags & VIS_MIMESTYLE) return do_mvis; return do_svis; } /* - * isnvis - visually encode characters, also encoding the characters - * pointed to by `extra' + * Expand list of extra characters to not visually encode. */ -static char * -isnvis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) +static wchar_t * +makeextralist(int flags, const char *src) { - char *nextra = NULL; - visfun_t f; + wchar_t *dst, *d; + size_t len; - _DIAGASSERT(dst != NULL); - _DIAGASSERT(extra != NULL); - MAKEEXTRALIST(flag, nextra, extra); - if (!nextra) { - if (dlen && *dlen == 0) { - errno = ENOSPC; - return NULL; - } - *dst = '\0'; /* can't create nextra, return "" */ - return dst; - } - f = getvisfun(flag); - dst = (*f)(dst, dlen, c, flag, nextc, nextra); - free(nextra); - if (dst == NULL || (dlen && *dlen == 0)) { - errno = ENOSPC; + len = strlen(src); + if ((dst = calloc(len + MAXEXTRAS, sizeof(*dst))) == NULL) return NULL; - } - *dst = '\0'; - return dst; -} -char * -svis(char *dst, int c, int flag, int nextc, const char *extra) -{ - return isnvis(dst, NULL, c, flag, nextc, extra); -} + if (mbstowcs(dst, src, len) == (size_t)-1) { + size_t i; + for (i = 0; i < len; i++) + dst[i] = (wint_t)(u_char)src[i]; + d = dst + len; + } else + d = dst + wcslen(dst); + + if (flags & VIS_GLOB) { + *d++ = L'*'; + *d++ = L'?'; + *d++ = L'['; + *d++ = L'#'; + } + + if (flags & VIS_SP) *d++ = L' '; + if (flags & VIS_TAB) *d++ = L'\t'; + if (flags & VIS_NL) *d++ = L'\n'; + if ((flags & VIS_NOSLASH) == 0) *d++ = L'\\'; + *d = L'\0'; -char * -snvis(char *dst, size_t dlen, int c, int flag, int nextc, const char *extra) -{ - return isnvis(dst, &dlen, c, flag, nextc, extra); + return dst; } - /* - * strsvis, strsvisx - visually encode characters from src into dst - * - * Extra is a pointer to a \0-terminated list of characters to - * be encoded, too. These functions are useful e. g. to - * encode strings in such a way so that they are not interpreted - * by a shell. - * - * Dst must be 4 times the size of src to account for possible - * expansion. The length of dst, not including the trailing NULL, - * is returned. - * - * Strsvisx encodes exactly len bytes from src into dst. - * This is useful for encoding a block of data. + * istrsenvisx() + * The main internal function. + * All user-visible functions call this one. */ static int -istrsnvis(char *dst, size_t *dlen, const char *csrc, int flag, const char *extra) +istrsenvisx(char *mbdst, size_t *dlen, const char *mbsrc, size_t mblength, + int flags, const char *mbextra, int *cerr_ptr) { - int c; - char *start; - char *nextra = NULL; - const unsigned char *src = (const unsigned char *)csrc; + wchar_t *dst, *src, *pdst, *psrc, *start, *extra; + size_t len, olen; + uint64_t bmsk, wmsk; + wint_t c; visfun_t f; + int clen = 0, cerr = 0, error = -1, i, shft; + ssize_t mbslength, maxolen; - _DIAGASSERT(dst != NULL); - _DIAGASSERT(src != NULL); - _DIAGASSERT(extra != NULL); - MAKEEXTRALIST(flag, nextra, extra); - if (!nextra) { - *dst = '\0'; /* can't create nextra, return "" */ - return 0; + _DIAGASSERT(mbdst != NULL); + _DIAGASSERT(mbsrc != NULL); + _DIAGASSERT(mbextra != NULL); + + /* + * Input (mbsrc) is a char string considered to be multibyte + * characters. The input loop will read this string pulling + * one character, possibly multiple bytes, from mbsrc and + * converting each to wchar_t in src. + * + * The vis conversion will be done using the wide char + * wchar_t string. + * + * This will then be converted back to a multibyte string to + * return to the caller. + */ + + /* Allocate space for the wide char strings */ + psrc = pdst = extra = NULL; + if (!mblength) + mblength = strlen(mbsrc); + if ((psrc = calloc(mblength + 1, sizeof(*psrc))) == NULL) + return -1; + if ((pdst = calloc((4 * mblength) + 1, sizeof(*pdst))) == NULL) + goto out; + dst = pdst; + src = psrc; + + /* Use caller's multibyte conversion error flag. */ + if (cerr_ptr) + cerr = *cerr_ptr; + + /* + * Input loop. + * Handle up to mblength characters (not bytes). We do not + * stop at NULs because we may be processing a block of data + * that includes NULs. + */ + mbslength = (ssize_t)mblength; + /* + * When inputing a single character, must also read in the + * next character for nextc, the look-ahead character. + */ + if (mbslength == 1) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 00:05:51 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 86CF46C6; Fri, 15 Mar 2013 00:05:51 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7380A343; Fri, 15 Mar 2013 00:05:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F05oIL075271; Fri, 15 Mar 2013 00:05:50 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F05oXK075269; Fri, 15 Mar 2013 00:05:50 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303150005.r2F05oXK075269@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 00:05:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248303 - in head: contrib/unvis contrib/vis usr.bin/unvis usr.bin/vis X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 00:05:51 -0000 Author: brooks Date: Fri Mar 15 00:05:50 2013 New Revision: 248303 URL: http://svnweb.freebsd.org/changeset/base/248303 Log: Replace our (un)vis(1) commands with implementations from NetBSD to match our import of the (un)vis(3) APIs. This adds support for multibyte encoding and the -h and -m flags which support HTTP and MIME encoding respectively. PR: bin/175418 Obtained from: NetBSD Added: head/contrib/unvis/ - copied from r247132, vendor/NetBSD/unvis/dist/ head/contrib/vis/ - copied from r247132, vendor/NetBSD/vis/dist/ Deleted: head/usr.bin/unvis/unvis.1 head/usr.bin/unvis/unvis.c head/usr.bin/vis/extern.h head/usr.bin/vis/foldit.c head/usr.bin/vis/vis.1 head/usr.bin/vis/vis.c Modified: head/usr.bin/unvis/Makefile head/usr.bin/vis/Makefile Modified: head/usr.bin/unvis/Makefile ============================================================================== --- head/usr.bin/unvis/Makefile Thu Mar 14 23:51:47 2013 (r248302) +++ head/usr.bin/unvis/Makefile Fri Mar 15 00:05:50 2013 (r248303) @@ -3,4 +3,6 @@ PROG= unvis +.PATH: ${.CURDIR}/../../contrib/unvis + .include Modified: head/usr.bin/vis/Makefile ============================================================================== --- head/usr.bin/vis/Makefile Thu Mar 14 23:51:47 2013 (r248302) +++ head/usr.bin/vis/Makefile Fri Mar 15 00:05:50 2013 (r248303) @@ -1,6 +1,10 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 +# $FreeBSD$ PROG= vis SRCS= vis.c foldit.c +.PATH: ${.CURDIR}/../../contrib/vis +CFLAGS+= -I${.CURDIR}/../../contrib/vis + .include From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 00:10:38 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CC75C9FA; Fri, 15 Mar 2013 00:10:38 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BD90137C; Fri, 15 Mar 2013 00:10:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F0AckI076591; Fri, 15 Mar 2013 00:10:38 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F0AcuB076569; Fri, 15 Mar 2013 00:10:38 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303150010.r2F0AcuB076569@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Fri, 15 Mar 2013 00:10:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248304 - head/tools/regression/pjdfstest/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 00:10:38 -0000 Author: pjd Date: Fri Mar 15 00:10:38 2013 New Revision: 248304 URL: http://svnweb.freebsd.org/changeset/base/248304 Log: Make file name generation to work with both new and old versions of OpenSSL. Sponsored by: The FreeBSD Foundation Modified: head/tools/regression/pjdfstest/tests/misc.sh Modified: head/tools/regression/pjdfstest/tests/misc.sh ============================================================================== --- head/tools/regression/pjdfstest/tests/misc.sh Fri Mar 15 00:05:50 2013 (r248303) +++ head/tools/regression/pjdfstest/tests/misc.sh Fri Mar 15 00:10:38 2013 (r248304) @@ -89,7 +89,7 @@ todo() namegen() { - echo "pjdfstest_`dd if=/dev/urandom bs=1k count=1 2>/dev/null | openssl md5`" + echo "pjdfstest_`dd if=/dev/urandom bs=1k count=1 2>/dev/null | openssl md5 | awk '{print $NF}'`" } namegen_len() @@ -98,7 +98,7 @@ namegen_len() name="" while :; do - namepart="`dd if=/dev/urandom bs=64 count=1 2>/dev/null | openssl md5`" + namepart="`dd if=/dev/urandom bs=64 count=1 2>/dev/null | openssl md5 | awk '{print $NF}'`" name="${name}${namepart}" curlen=`printf "%s" "${name}" | wc -c` [ ${curlen} -lt ${len} ] || break From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 00:17:21 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6BBB4D1C; Fri, 15 Mar 2013 00:17:21 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4572E3EC; Fri, 15 Mar 2013 00:17:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F0HLNl078869; Fri, 15 Mar 2013 00:17:21 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F0HJcp078861; Fri, 15 Mar 2013 00:17:19 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201303150017.r2F0HJcp078861@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 15 Mar 2013 00:17:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r248305 - vendor/tzdata/dist X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 00:17:21 -0000 Author: edwin Date: Fri Mar 15 00:17:19 2013 New Revision: 248305 URL: http://svnweb.freebsd.org/changeset/base/248305 Log: Vendor import of tzdata2013b: Lots of historical data added. Morocco: add DST rules for the coming years Cuba: Doing DST in 2013. Chili: Will do DST in 2013 as it seems. Obtained from: ftp://ftp.iana.org/tz/releases/ Modified: vendor/tzdata/dist/africa vendor/tzdata/dist/antarctica vendor/tzdata/dist/asia vendor/tzdata/dist/australasia vendor/tzdata/dist/europe vendor/tzdata/dist/northamerica vendor/tzdata/dist/southamerica vendor/tzdata/dist/zone.tab Modified: vendor/tzdata/dist/africa ============================================================================== --- vendor/tzdata/dist/africa Fri Mar 15 00:10:38 2013 (r248304) +++ vendor/tzdata/dist/africa Fri Mar 15 00:17:19 2013 (r248305) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -116,8 +120,12 @@ Zone Africa/Porto-Novo 0:10:28 - LMT 191 1:00 - WAT # Botswana +# From Paul Eggert (2013-02-21): +# Milne says they were regulated by the Cape Town Signal in 1899; +# assume they switched to 2:00 when Cape Town did. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Gaborone 1:43:40 - LMT 1885 + 1:30 - SAST 1903 Mar 2:00 - CAT 1943 Sep 19 2:00 2:00 1:00 CAST 1944 Mar 19 2:00 2:00 - CAT @@ -189,6 +197,11 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 # Egypt +# Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh +# observatory; round to nearest. Milne also says that the official time for +# Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this +# did not apply to Cairo, Alexandria, or Port Said. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Egypt 1940 only - Jul 15 0:00 1:00 S Rule Egypt 1940 only - Oct 1 0:00 0 - @@ -329,7 +342,7 @@ Rule Egypt 2010 only - Sep 10 0:00 1:00 Rule Egypt 2010 only - Sep lastThu 23:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Cairo 2:05:00 - LMT 1900 Oct +Zone Africa/Cairo 2:05:09 - LMT 1900 Oct 2:00 Egypt EE%sT # Equatorial Guinea @@ -833,6 +846,41 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 J # 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes # August 20, 2012 from 2:00 am. +# From Paul Eggert (2013-03-06): +# Morocco's daylight-saving transitions due to Ramadan seem to be +# announced a bit in advance. On 2012-07-11 the Moroccan government +# announced that year's Ramadan daylight-saving transitions would be +# 2012-07-20 and 2012-08-20; see +# . +# +# To estimate what the Moroccan government will do in future years, +# transition dates for 2013 through 2021 were determined by running +# the following program under GNU Emacs 24.3: +# +# (let ((islamic-year 1434)) +# (while (< islamic-year 1444) +# (let ((a +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 9 1 islamic-year)))) +# (b +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 10 1 islamic-year))))) +# (insert +# (format +# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 3:00\t0\t-\n" +# "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 2:00\t1:00\tS\n") +# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a)) +# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b))))) +# (setq islamic-year (+ 1 islamic-year)))) +# +# with the results hand-edited for 2020-2022, when the normal spring-forward +# date falls during the estimated Ramadan. +# +# From 2023 through 2038 Ramadan is not predicted to overlap with +# daylight saving time. Starting in 2039 there will be overlap again, +# but 32-bit time_t values roll around in 2038 so for now do not worry +# about dates after 2038. + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Morocco 1939 only - Sep 12 0:00 1:00 S @@ -858,10 +906,28 @@ Rule Morocco 2010 only - May 2 0:00 1: Rule Morocco 2010 only - Aug 8 0:00 0 - Rule Morocco 2011 only - Apr 3 0:00 1:00 S Rule Morocco 2011 only - Jul 31 0 0 - -Rule Morocco 2012 max - Apr lastSun 2:00 1:00 S +Rule Morocco 2012 2019 - Apr lastSun 2:00 1:00 S Rule Morocco 2012 max - Sep lastSun 3:00 0 - Rule Morocco 2012 only - Jul 20 3:00 0 - Rule Morocco 2012 only - Aug 20 2:00 1:00 S +Rule Morocco 2013 only - Jul 9 3:00 0 - +Rule Morocco 2013 only - Aug 8 2:00 1:00 S +Rule Morocco 2014 only - Jun 29 3:00 0 - +Rule Morocco 2014 only - Jul 29 2:00 1:00 S +Rule Morocco 2015 only - Jun 18 3:00 0 - +Rule Morocco 2015 only - Jul 18 2:00 1:00 S +Rule Morocco 2016 only - Jun 7 3:00 0 - +Rule Morocco 2016 only - Jul 7 2:00 1:00 S +Rule Morocco 2017 only - May 27 3:00 0 - +Rule Morocco 2017 only - Jun 26 2:00 1:00 S +Rule Morocco 2018 only - May 16 3:00 0 - +Rule Morocco 2018 only - Jun 15 2:00 1:00 S +Rule Morocco 2019 only - May 6 3:00 0 - +Rule Morocco 2019 only - Jun 5 2:00 1:00 S +Rule Morocco 2020 only - May 24 2:00 1:00 S +Rule Morocco 2021 only - May 13 2:00 1:00 S +Rule Morocco 2022 only - May 3 2:00 1:00 S +Rule Morocco 2023 max - Apr lastSun 2:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 Modified: vendor/tzdata/dist/antarctica ============================================================================== --- vendor/tzdata/dist/antarctica Fri Mar 15 00:10:38 2013 (r248304) +++ vendor/tzdata/dist/antarctica Fri Mar 15 00:17:19 2013 (r248305) @@ -50,10 +50,8 @@ Rule ChileAQ 2009 only - Mar Sun>=9 3:00 Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 - Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 - Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule ChileAQ 2012 only - Apr Sun>=23 3:00u 0 - -Rule ChileAQ 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule ChileAQ 2013 max - Mar Sun>=9 3:00u 0 - -Rule ChileAQ 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule ChileAQ 2012 max - Apr Sun>=23 3:00u 0 - +Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S # These rules are stolen from the `australasia' file. Rule AusAQ 1917 only - Jan 1 0:01 1:00 - Modified: vendor/tzdata/dist/asia ============================================================================== --- vendor/tzdata/dist/asia Fri Mar 15 00:10:38 2013 (r248304) +++ vendor/tzdata/dist/asia Fri Mar 15 00:17:19 2013 (r248305) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -279,9 +283,12 @@ Zone Asia/Brunei 7:39:40 - LMT 1926 Mar 8:00 - BNT # Burma / Myanmar + +# Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Rangoon 6:24:40 - LMT 1880 # or Yangon - 6:24:36 - RMT 1920 # Rangoon Mean Time? + 6:24:40 - RMT 1920 # Rangoon Mean Time? 6:30 - BURT 1942 May # Burma Time 9:00 - JST 1945 May 3 6:30 - MMT # Myanmar Time @@ -384,7 +391,8 @@ Zone Asia/Harbin 8:26:44 - LMT 1928 # or 8:00 PRC C%sT # Zhongyuan Time ("Central plain Time") # most of China -Zone Asia/Shanghai 8:05:52 - LMT 1928 +# Milne gives 8:05:56.7; round to nearest. +Zone Asia/Shanghai 8:05:57 - LMT 1928 8:00 Shang C%sT 1949 8:00 PRC C%sT # Long-shu Time (probably due to Long and Shu being two names of that area) @@ -481,6 +489,10 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o 8:00 PRC C%sT +# Hong Kong (Xianggang) + +# Milne gives 7:36:41.7; round this. + # From Lee Yiu Chung (2009-10-24): # I found there are some mistakes for the...DST rule for Hong # Kong. [According] to the DST record from Hong Kong Observatory (actually, @@ -547,7 +559,6 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o # The Japanese surrender of Hong Kong was signed 1945-09-15. # For lack of anything better, use start of those days as the transition times. -# Hong Kong (Xianggang) # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule HK 1941 only - Apr 1 3:30 1:00 S Rule HK 1941 only - Sep 30 3:30 0 - @@ -569,7 +580,7 @@ Rule HK 1973 only - Dec 30 3:30 1:00 S Rule HK 1979 only - May Sun>=8 3:30 1:00 S Rule HK 1979 only - Oct Sun>=16 3:30 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30 +Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 8:00 HK HK%sT 1941 Dec 25 9:00 - JST 1945 Sep 15 8:00 HK HK%sT @@ -646,6 +657,9 @@ Zone Asia/Macau 7:34:20 - LMT 1912 ############################################################################### # Cyprus +# +# Milne says the Eastern Telegraph Company used 2:14:00. Stick with LMT. +# # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Cyprus 1975 only - Apr 13 0:00 1:00 S Rule Cyprus 1975 only - Oct 12 0:00 0 - @@ -1804,8 +1818,11 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920 5:45 - NPT # Nepal Time # Oman + +# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Muscat 3:54:20 - LMT 1920 +Zone Asia/Muscat 3:54:24 - LMT 1920 4:00 - GST # Pakistan @@ -2400,6 +2417,13 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 J # no information # Sri Lanka + +# From Paul Eggert (2013-02-21): +# Milne says "Madras mean time use from May 1, 1898. Prior to this Colombo +# mean time, 5h. 4m. 21.9s. F., was used." But 5:04:21.9 differs considerably +# from Colombo's meridian 5:19:24, so for now ignore Milne and stick with +# Shanks and Pottenger. + # From Paul Eggert (1996-09-03): # "Sri Lanka advances clock by an hour to avoid blackout" # (www.virtual-pc.com/lankaweb/news/items/240596-2.html, 1996-05-24, @@ -2699,6 +2723,12 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 Ma # Vietnam +# From Paul Eggert (2013-02-21): +# Milne gives 7:16:56 for the meridian of Saigon in 1899, as being +# used in Lower Laos, Cambodia, and Annam. But this is quite a ways +# from Saigon's location. For now, ignore this and stick with Shanks +# and Pottenger. + # From Arthur David Olson (2008-03-18): # The English-language name of Vietnam's most populous city is "Ho Chi Min City"; # we use Ho_Chi_Minh below to avoid a name of more than 14 characters. @@ -2712,6 +2742,10 @@ Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 7:00 - ICT # Yemen + +# Milne says 2:59:54 was the meridian of the saluting battery at Aden, +# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Aden 3:00:48 - LMT 1950 +Zone Asia/Aden 2:59:54 - LMT 1950 3:00 - AST Modified: vendor/tzdata/dist/australasia ============================================================================== --- vendor/tzdata/dist/australasia Fri Mar 15 00:10:38 2013 (r248304) +++ vendor/tzdata/dist/australasia Fri Mar 15 00:17:19 2013 (r248305) @@ -246,6 +246,9 @@ Zone Indian/Cocos 6:27:40 - LMT 1900 6:30 - CCT # Cocos Islands Time # Fiji + +# Milne gives 11:55:44 for Suva. + # From Alexander Krivenyshev (2009-11-10): # According to Fiji Broadcasting Corporation, Fiji plans to re-introduce DST # from November 29th 2009 to April 25th 2010. @@ -339,7 +342,7 @@ Rule Fiji 2010 max - Oct Sun>=18 2:00 1: Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - Rule Fiji 2012 max - Jan Sun>=18 3:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva +Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva 12:00 Fiji FJ%sT # Fiji Time # French Polynesia @@ -782,7 +785,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). @@ -800,6 +803,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # Modified: vendor/tzdata/dist/europe ============================================================================== --- vendor/tzdata/dist/europe Fri Mar 15 00:10:38 2013 (r248304) +++ vendor/tzdata/dist/europe Fri Mar 15 00:17:19 2013 (r248305) @@ -30,6 +30,12 @@ # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . He writes: +# "It is requested that corrections and additions to these tables +# may be sent to Mr. John Milne, Royal Geographical Society, +# Savile Row, London." Nowadays please email them to tz@iana.org. +# # Brazil's Departamento Servico da Hora (DSH), # # History of Summer Time @@ -666,6 +672,8 @@ Zone Europe/Andorra 0:06:04 - LMT 1901 # Austria +# Milne says Vienna time was 1:05:21. + # From Paul Eggert (2006-03-22): Shanks & Pottenger give 1918-06-16 and # 1945-11-18, but the Austrian Federal Office of Metrology and # Surveying (BEV) gives 1918-09-16 and for Vienna gives the "alleged" @@ -683,7 +691,7 @@ Rule Austria 1948 only - Apr 18 2:00s 1: Rule Austria 1980 only - Apr 6 0:00 1:00 S Rule Austria 1980 only - Sep 28 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Europe/Vienna 1:05:20 - LMT 1893 Apr +Zone Europe/Vienna 1:05:21 - LMT 1893 Apr 1:00 C-Eur CE%sT 1920 1:00 Austria CE%sT 1940 Apr 1 2:00s 1:00 C-Eur CE%sT 1945 Apr 2 2:00s @@ -1239,6 +1247,21 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Ap 1:00 Germany CE%sT 1980 1:00 EU CE%sT +# From Tobias Conradi (2011-09-12): +# Busingen , surrounded by the Swiss canton +# Schaffhausen, did not start observing DST in 1980 as the rest of DE +# (West Germany at that time) and DD (East Germany at that time) did. +# DD merged into DE, the area is currently covered by code DE in ISO 3166-1, +# which in turn is covered by the zone Europe/Berlin. +# +# Source for the time in Busingen 1980: +# http://www.srf.ch/player/video?id=c012c029-03b7-4c2b-9164-aa5902cd58d3 + +# From Arthur David Olson (2012-03-03): +# Busingen and Zurich have shared clocks since 1970. + +Link Europe/Zurich Europe/Busingen + # Georgia # Please see the "asia" file for Asia/Tbilisi. # Herodotus (Histories, IV.45) says Georgia north of the Phasis (now Rioni) @@ -2043,6 +2066,70 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 # Russia +# From Alexander Krivenyshev (2011-09-15): +# Based on last Russian Government Decree # 725 on August 31, 2011 +# (Government document +# +# http://www.government.ru/gov/results/16355/print/ +# +# in Russian) +# there are few corrections have to be made for some Russian time zones... +# All updated Russian Time Zones were placed in table and translated to English +# by WorldTimeZone.com at the link below: +# +# http://www.worldtimezone.com/dst_news/dst_news_russia36.htm +# + +# From Sanjeev Gupta (2011-09-27): +# Scans of [Decree #23 of January 8, 1992] are available at: +# +# http://government.consultant.ru/page.aspx?1223966 +# They are in Cyrillic letters (presumably Russian). + +# From Arthur David Olson (2012-05-09): +# Regarding the instant when clocks in time-zone-shifting parts of Russia +# changed in September 2011: +# +# One source is +# < a href="http://government.ru/gov/results/16355/> +# http://government.ru/gov/results/16355/ +# +# which, according to translate.google.com, begins "Decree of August 31, +# 2011 No 725" and contains no other dates or "effective date" information. +# +# Another source is +# +# http://www.rg.ru/2011/09/06/chas-zona-dok.html +# +# which, according to translate.google.com, begins "Resolution of the +# Government of the Russian Federation on August 31, 2011 N 725" and also +# contains "Date first official publication: September 6, 2011 Posted on: +# in the 'RG' - Federal Issue number 5573 September 6, 2011" but which +# does not contain any "effective date" information. +# +# Another source is +# +# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 +# +# which, in note 8, contains "Resolution #725 of August 31, 2011... +# Effective as of after 7 days following the day of the official publication" +# but which does not contain any reference to September 6, 2011. +# +# The Wikipedia article refers to +# +# http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=118896 +# +# which seems to copy the text of the government.ru page. +# +# Tobias Conradi combines Wikipedia's +# "as of after 7 days following the day of the official publication" +# with www.rg.ru's "Date of first official publication: September 6, 2011" to get +# September 13, 2011 as the cutover date (unusually, a Tuesday, as Tobias Conradi notes). +# +# None of the sources indicates a time of day for changing clocks. +# +# Go with 2011-09-13 0:00s. + # From Paul Eggert (2006-03-22): # Except for Moscow after 1919-07-01, I invented the time zone abbreviations. # Moscow time zone abbreviations after 1919-07-01, and Moscow rules after 1991, @@ -2270,14 +2357,32 @@ Zone Asia/Yakutsk 8:38:40 - LMT 1919 De # [parts of] Respublika Sakha (Yakutiya). # From Oscar van Vlijmen (2009-11-29): -# The Sakha districts are: Bulunskij, Verkhoyanskij, Tomponskij, Ust'-Majskij, -# Ust'-Yanskij. +# The Sakha districts are: Bulunskij, Verkhoyanskij, ... Ust'-Yanskij. Zone Asia/Vladivostok 8:47:44 - LMT 1922 Nov 15 9:00 - VLAT 1930 Jun 21 # Vladivostok Time 10:00 Russia VLA%sT 1991 Mar 31 2:00s 9:00 Russia VLA%sST 1992 Jan 19 2:00s 10:00 Russia VLA%sT 2011 Mar 27 2:00s 11:00 - VLAT + +# From Arthur David Olson (2012-05-09): +# Tomponskij and Ust'-Majskij switched from Vladivostok time to Yakutsk time +# in 2011. +# +# From Paul Eggert (2012-11-25): +# Shanks and Pottenger (2003) has Khandyga on Yakutsk time. +# Make a wild guess that it switched to Vladivostok time in 2004. +# This transition is no doubt wrong, but we have no better info. +# +Zone Asia/Khandyga 9:02:13 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAK%sT 1991 Mar 31 2:00s + 8:00 Russia YAK%sT 1992 Jan 19 2:00s + 9:00 Russia YAK%sT 2004 + 10:00 Russia VLA%sT 2011 Mar 27 2:00s + 11:00 - VLAT 2011 Sep 13 0:00s # Decree 725? + 10:00 - YAKT + # # Sakhalinskaya oblast'. # The Zone name should be Yuzhno-Sakhalinsk, but that's too long. @@ -2296,14 +2401,26 @@ Zone Asia/Sakhalin 9:30:48 - LMT 1905 A # From Oscar van Vlijmen (2009-11-29): # The Sakha districts are: Abyjskij, Allaikhovskij, Verkhhhnekolymskij, Momskij, -# Nizhnekolymskij, Ojmyakonskij, Srednekolymskij. +# Nizhnekolymskij, ... Srednekolymskij. Zone Asia/Magadan 10:03:12 - LMT 1924 May 2 10:00 - MAGT 1930 Jun 21 # Magadan Time 11:00 Russia MAG%sT 1991 Mar 31 2:00s 10:00 Russia MAG%sT 1992 Jan 19 2:00s 11:00 Russia MAG%sT 2011 Mar 27 2:00s 12:00 - MAGT -# + +# From Arthur David Olson (2012-05-09): +# Ojmyakonskij and the Kuril Islands switched from +# Magadan time to Vladivostok time in 2011. +Zone Asia/Ust-Nera 9:32:54 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAKT 1981 Apr 1 + 11:00 Russia MAG%sT 1991 Mar 31 2:00s + 10:00 Russia MAG%sT 1992 Jan 19 2:00s + 11:00 Russia MAG%sT 2011 Mar 27 2:00s + 12:00 - MAGT 2011 Sep 13 0:00s # Decree 725? + 11:00 - VLAT + # From Oscar van Vlijmen (2001-08-25): [This region consists of] # Kamchatskaya oblast', Koryakskij avtonomnyj okrug. # Modified: vendor/tzdata/dist/northamerica ============================================================================== --- vendor/tzdata/dist/northamerica Fri Mar 15 00:10:38 2013 (r248304) +++ vendor/tzdata/dist/northamerica Fri Mar 15 00:17:19 2013 (r248305) @@ -1019,6 +1019,9 @@ Zone America/Menominee -5:50:27 - LMT 18 # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # See the `europe' file for Greenland. # Canada @@ -2554,6 +2557,8 @@ Zone America/Antigua -4:07:12 - LMT 1912 # Bahamas # +# For 1899 Milne gives -5:09:29.5; round that. +# # From Sue Williams (2006-12-07): # The Bahamas announced about a month ago that they plan to change their DST # rules to sync with the U.S. starting in 2007.... @@ -2563,11 +2568,14 @@ Zone America/Antigua -4:07:12 - LMT 1912 Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Nassau -5:09:24 - LMT 1912 Mar 2 +Zone America/Nassau -5:09:30 - LMT 1912 Mar 2 -5:00 Bahamas E%sT 1976 -5:00 US E%sT # Barbados + +# For 1899 Milne gives -3:58:29.2; round that. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Barb 1977 only - Jun 12 2:00 1:00 D Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S @@ -2575,8 +2583,8 @@ Rule Barb 1978 1980 - Apr Sun>=15 2:00 1 Rule Barb 1979 only - Sep 30 2:00 0 S Rule Barb 1980 only - Sep 25 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Barbados -3:58:28 - LMT 1924 # Bridgetown - -3:58:28 - BMT 1932 # Bridgetown Mean Time +Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown + -3:58:29 - BMT 1932 # Bridgetown Mean Time -4:00 Barb A%sT # Belize @@ -2594,6 +2602,9 @@ Zone America/Belize -5:52:48 - LMT 1912 # Bermuda +# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower, +# Bermuda dockyard, Ireland I; round that. + # From Dan Jones, reporting in The Royal Gazette (2006-06-26): # Next year, however, clocks in the US will go forward on the second Sunday @@ -2603,7 +2614,7 @@ Zone America/Belize -5:52:48 - LMT 1912 # http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135 # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Atlantic/Bermuda -4:19:04 - LMT 1930 Jan 1 2:00 # Hamilton +Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton -4:00 - AST 1974 Apr 28 2:00 -4:00 Bahamas A%sT 1976 -4:00 US A%sT @@ -2615,6 +2626,9 @@ Zone America/Cayman -5:25:32 - LMT 1890 -5:00 - EST # Costa Rica + +# Milne gives -5:36:13.3 as San Jose mean time; round to nearest. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CR 1979 1980 - Feb lastSun 0:00 1:00 D Rule CR 1979 1980 - Jun Sun>=1 0:00 0 S @@ -2625,14 +2639,19 @@ Rule CR 1991 only - Jul 1 0:00 0 S Rule CR 1992 only - Mar 15 0:00 0 S # There are too many San Joses elsewhere, so we'll use `Costa Rica'. # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Costa_Rica -5:36:20 - LMT 1890 # San Jose - -5:36:20 - SJMT 1921 Jan 15 # San Jose Mean Time +Zone America/Costa_Rica -5:36:13 - LMT 1890 # San Jose + -5:36:13 - SJMT 1921 Jan 15 # San Jose Mean Time -6:00 CR C%sT # Coco # no information; probably like America/Costa_Rica # Cuba +# From Paul Eggert (2013-02-21): +# Milne gives -5:28:50.45 for the observatory at Havana, -5:29:23.57 +# for the port, and -5:30 for meteorological observations. +# For now, stick with Shanks & Pottenger. + # From Arthur David Olson (1999-03-29): # The 1999-03-28 exhibition baseball game held in Havana, Cuba, between # the Cuban National Team and the Baltimore Orioles was carried live on @@ -2981,24 +3000,21 @@ Zone America/Guatemala -6:02:04 - LMT 19 # apparently using the same start and end date as USA/Canada. # So this means they have already changed their time. # -# (Sources in French): -# # http://www.alterpresse.org/spip.php?article12510 -# -# # http://radiovision2000haiti.net/home/?p=13253 -# # -# Our coverage: -# -# http://www.timeanddate.com/news/time/haiti-dst-2012.html -# - # From Arthur David Olson (2012-03-11): # The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to # 3:00 a.m. rather than the traditional Haitian jump at midnight. -# Assume a US-style fall back as well XXX. -# Do not yet assume that the change carries forward past 2012 XXX. +# Assume a US-style fall back as well. + +# From Steffen Thorsen (2013-03-10): +# It appears that Haiti is observing DST this year as well, same rules +# as US/Canada. They did it last year as well, and it looks like they +# are going to observe DST every year now... +# +# http://radiovision2000haiti.net/public/haiti-avis-changement-dheure-dimanche/ +# http://www.canalplushaiti.net/?p=6714 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Haiti 1983 only - May 8 0:00 1:00 D @@ -3010,8 +3026,8 @@ Rule Haiti 1988 1997 - Apr Sun>=1 1:00s Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S -Rule Haiti 2012 only - Mar Sun>=8 2:00 1:00 D -Rule Haiti 2012 only - Nov Sun>=1 2:00 0 S +Rule Haiti 2012 max - Mar Sun>=8 2:00 1:00 D +Rule Haiti 2012 max - Nov Sun>=1 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Port-au-Prince -4:49:20 - LMT 1890 -4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT Modified: vendor/tzdata/dist/southamerica ============================================================================== --- vendor/tzdata/dist/southamerica Fri Mar 15 00:10:38 2013 (r248304) +++ vendor/tzdata/dist/southamerica Fri Mar 15 00:17:19 2013 (r248305) @@ -11,6 +11,10 @@ # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # Gwillim Law writes that a good source # for recent time zone data is the International Air Transport # Association's Standard Schedules Information Manual (IATA SSIM), @@ -381,21 +385,11 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # # is the official page for the Province Government). # -# There's also a note in only one of the major national papers (La Nación) at -# +# There's also a note in only one of the major national papers ... # http://www.lanacion.com.ar/nota.asp?nota_id=1107912 -# # -# The press release says: -# (...) anunció que el próximo domingo a las 00:00 los puntanos deberán -# atrasar una hora sus relojes. -# -# A partir de entonces, San Luis establecerá el huso horario propio de -# la Provincia. De esta manera, durante el periodo del calendario anual -# 2009, el cambio horario quedará comprendido entre las 00:00 del tercer -# domingo de marzo y las 24:00 del segundo sábado de octubre. -# Quick&dirty translation -# (...) announced that next Sunday, at 00:00, Puntanos (the San Luis +# The press release says [quick and dirty translation]: +# ... announced that next Sunday, at 00:00, Puntanos (the San Luis # inhabitants) will have to turn back one hour their clocks # # Since then, San Luis will establish its own Province timezone. Thus, @@ -457,6 +451,9 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # rules...San Luis is still using "Western ARgentina Time" and it got # stuck on Summer daylight savings time even though the summer is over. +# From Paul Eggert (2013-02-21): +# Milne says Cordoba time was -4:16:48.2. Round to the nearest second. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Buenos Aires (BA), Capital Federal (CF), @@ -812,9 +809,9 @@ Zone America/La_Paz -4:32:36 - LMT 1890 # From Guilherme Bernardes Rodrigues (2011-10-07): # There is news in the media, however there is still no decree about it. -# I just send a e-mail to Zulmira Brandão at +# I just send a e-mail to Zulmira Brandao at # http://pcdsh01.on.br/ the -# oficial agency about time in Brazil, and she confirmed that the old rule is +# official agency about time in Brazil, and she confirmed that the old rule is # still in force. # From Guilherme Bernardes Rodrigues (2011-10-14) @@ -1243,9 +1240,13 @@ Zone America/Rio_Branco -4:31:12 - LMT 1 # b. Saturday, September 1, 2012, clocks should go forward 60 minutes; that is, # at 23:59:59, instead of passing to 0:00, the time should be adjusted to be # 01:00 on September 2. -# -# Note that...this is yet another "temporary" change that will be reevaluated -# AGAIN in 2013. + +# From Steffen Thorsen (2013-02-15): +# According to several news sources, Chile has extended DST this year, +# they will end DST later and start DST earlier than planned. They +# hope to save energy. The new end date is 2013-04-28 00:00 and new +# start date is 2013-09-08 00:00.... +# http://www.gob.cl/informa/2013/02/15/gobierno-anuncia-fechas-de-cambio-de-hora-para-el-ano-2013.htm # NOTE: ChileAQ rules for Antarctic bases are stored separately in the # 'antarctica' file. @@ -1288,10 +1289,8 @@ Rule Chile 2009 only - Mar Sun>=9 3:00u Rule Chile 2010 only - Apr Sun>=1 3:00u 0 - Rule Chile 2011 only - May Sun>=2 3:00u 0 - Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule Chile 2012 only - Apr Sun>=23 3:00u 0 - -Rule Chile 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule Chile 2013 max - Mar Sun>=9 3:00u 0 - -Rule Chile 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule Chile 2012 max - Apr Sun>=23 3:00u 0 - +Rule Chile 2012 max - Sep Sun>=2 4:00u 1:00 S # IATA SSIM anomalies: (1992-02) says 1992-03-14; # (1996-09) says 1998-03-08. Ignore these. # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1313,17 +1312,23 @@ Zone Pacific/Easter -7:17:44 - LMT 1890 # San Felix, and Antarctic bases, are like America/Santiago. # Colombia + +# Milne gives 4:56:16.4 for Bogota time in 1899; round to nearest. He writes, +# "A variation of fifteen minutes in the public clocks of Bogota is not rare." + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CO 1992 only - May 3 0:00 1:00 S Rule CO 1993 only - Apr 4 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Bogota -4:56:20 - LMT 1884 Mar 13 - -4:56:20 - BMT 1914 Nov 23 # Bogota Mean Time +Zone America/Bogota -4:56:16 - LMT 1884 Mar 13 + -4:56:16 - BMT 1914 Nov 23 # Bogota Mean Time -5:00 CO CO%sT # Colombia Time # Malpelo, Providencia, San Andres # no information; probably like America/Bogota # Curacao + +# Milne gives 4:35:46.9 for Curacao mean time; round to nearest. # # From Paul Eggert (2006-03-22): # Shanks & Pottenger say that The Bottom and Philipsburg have been at @@ -1340,7 +1345,7 @@ Zone America/Bogota -4:56:20 - LMT 1884 # though, as far as we know. # # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad +Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad -4:30 - ANT 1965 # Netherlands Antilles Time -4:00 - AST @@ -1354,6 +1359,8 @@ Link America/Curacao America/Kralendijk # Ecuador # +# Milne says the Sentral and South American Telegraph Company used -5:24:15. +# # From Paul Eggert (2007-03-04): # Apparently Ecuador had a failed experiment with DST in 1992. # (2007-02-27) and @@ -1560,6 +1567,15 @@ Rule Para 2005 2009 - Mar Sun>=8 0:00 0 # ... Rule Para 2010 max - Oct Sun>=1 0:00 1:00 S Rule Para 2010 max - Apr Sun>=8 0:00 0 - +# +# From Steffen Thorsen (2013-03-07): +# Paraguay will end DST on 2013-03-24 00:00.... +# They do not tell if this will be a permanent change or just this year.... +# http://www.ande.gov.py/interna.php?id=1075 +# +# From Paul Eggert (2013-03-07): +# For now, assume it's just this year. +Rule Para 2013 only - Mar 24 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Asuncion -3:50:40 - LMT 1890 Modified: vendor/tzdata/dist/zone.tab ============================================================================== --- vendor/tzdata/dist/zone.tab Fri Mar 15 00:10:38 2013 (r248304) +++ vendor/tzdata/dist/zone.tab Fri Mar 15 00:17:19 2013 (r248305) @@ -159,7 +159,8 @@ CW +1211-06900 America/Curacao CX -1025+10543 Indian/Christmas CY +3510+03322 Asia/Nicosia CZ +5005+01426 Europe/Prague -DE +5230+01322 Europe/Berlin +DE +5230+01322 Europe/Berlin most locations +DE +4742+00841 Europe/Busingen Busingen DJ +1136+04309 Africa/Djibouti DK +5540+01235 Europe/Copenhagen DM +1518-06124 America/Dominica @@ -341,8 +342,10 @@ RU +5345+08707 Asia/Novokuznetsk Moscow+ RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River +RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island +RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky RU +5934+15048 Asia/Magadan Moscow+08 - Magadan RU +5301+15839 Asia/Kamchatka Moscow+08 - Kamchatka RU +6445+17729 Asia/Anadyr Moscow+08 - Bering Sea From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 00:25:54 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DA9C7F96; Fri, 15 Mar 2013 00:25:54 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AA91B607; Fri, 15 Mar 2013 00:25:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F0PskG081588; Fri, 15 Mar 2013 00:25:54 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F0PsY8081587; Fri, 15 Mar 2013 00:25:54 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201303150025.r2F0PsY8081587@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 15 Mar 2013 00:25:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r248306 - vendor/tzdata/tzdata2013b X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 00:25:54 -0000 Author: edwin Date: Fri Mar 15 00:25:54 2013 New Revision: 248306 URL: http://svnweb.freebsd.org/changeset/base/248306 Log: Tag of tzdata 2013b Added: vendor/tzdata/tzdata2013b/ - copied from r248305, vendor/tzdata/dist/ From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 00:27:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0223118A; Fri, 15 Mar 2013 00:27:26 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E6DF0613; Fri, 15 Mar 2013 00:27:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F0RPa6081852; Fri, 15 Mar 2013 00:27:25 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F0ROPH081840; Fri, 15 Mar 2013 00:27:24 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201303150027.r2F0ROPH081840@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 15 Mar 2013 00:27:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248307 - head/contrib/tzdata X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 00:27:26 -0000 Author: edwin Date: Fri Mar 15 00:27:24 2013 New Revision: 248307 URL: http://svnweb.freebsd.org/changeset/base/248307 Log: MFV of 248305, tzdata2013b Lots of historical data added. Morocco: add DST rules for the coming years Cuba: Doing DST in 2013. Chili: Will do DST in 2013 as it seems. Modified: head/contrib/tzdata/africa head/contrib/tzdata/antarctica head/contrib/tzdata/asia head/contrib/tzdata/australasia head/contrib/tzdata/europe head/contrib/tzdata/northamerica head/contrib/tzdata/southamerica head/contrib/tzdata/zone.tab Directory Properties: head/contrib/tzdata/ (props changed) Modified: head/contrib/tzdata/africa ============================================================================== --- head/contrib/tzdata/africa Fri Mar 15 00:25:54 2013 (r248306) +++ head/contrib/tzdata/africa Fri Mar 15 00:27:24 2013 (r248307) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -116,8 +120,12 @@ Zone Africa/Porto-Novo 0:10:28 - LMT 191 1:00 - WAT # Botswana +# From Paul Eggert (2013-02-21): +# Milne says they were regulated by the Cape Town Signal in 1899; +# assume they switched to 2:00 when Cape Town did. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Gaborone 1:43:40 - LMT 1885 + 1:30 - SAST 1903 Mar 2:00 - CAT 1943 Sep 19 2:00 2:00 1:00 CAST 1944 Mar 19 2:00 2:00 - CAT @@ -189,6 +197,11 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 # Egypt +# Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh +# observatory; round to nearest. Milne also says that the official time for +# Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this +# did not apply to Cairo, Alexandria, or Port Said. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Egypt 1940 only - Jul 15 0:00 1:00 S Rule Egypt 1940 only - Oct 1 0:00 0 - @@ -329,7 +342,7 @@ Rule Egypt 2010 only - Sep 10 0:00 1:00 Rule Egypt 2010 only - Sep lastThu 23:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Cairo 2:05:00 - LMT 1900 Oct +Zone Africa/Cairo 2:05:09 - LMT 1900 Oct 2:00 Egypt EE%sT # Equatorial Guinea @@ -833,6 +846,41 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 J # 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes # August 20, 2012 from 2:00 am. +# From Paul Eggert (2013-03-06): +# Morocco's daylight-saving transitions due to Ramadan seem to be +# announced a bit in advance. On 2012-07-11 the Moroccan government +# announced that year's Ramadan daylight-saving transitions would be +# 2012-07-20 and 2012-08-20; see +# . +# +# To estimate what the Moroccan government will do in future years, +# transition dates for 2013 through 2021 were determined by running +# the following program under GNU Emacs 24.3: +# +# (let ((islamic-year 1434)) +# (while (< islamic-year 1444) +# (let ((a +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 9 1 islamic-year)))) +# (b +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 10 1 islamic-year))))) +# (insert +# (format +# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 3:00\t0\t-\n" +# "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 2:00\t1:00\tS\n") +# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a)) +# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b))))) +# (setq islamic-year (+ 1 islamic-year)))) +# +# with the results hand-edited for 2020-2022, when the normal spring-forward +# date falls during the estimated Ramadan. +# +# From 2023 through 2038 Ramadan is not predicted to overlap with +# daylight saving time. Starting in 2039 there will be overlap again, +# but 32-bit time_t values roll around in 2038 so for now do not worry +# about dates after 2038. + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Morocco 1939 only - Sep 12 0:00 1:00 S @@ -858,10 +906,28 @@ Rule Morocco 2010 only - May 2 0:00 1: Rule Morocco 2010 only - Aug 8 0:00 0 - Rule Morocco 2011 only - Apr 3 0:00 1:00 S Rule Morocco 2011 only - Jul 31 0 0 - -Rule Morocco 2012 max - Apr lastSun 2:00 1:00 S +Rule Morocco 2012 2019 - Apr lastSun 2:00 1:00 S Rule Morocco 2012 max - Sep lastSun 3:00 0 - Rule Morocco 2012 only - Jul 20 3:00 0 - Rule Morocco 2012 only - Aug 20 2:00 1:00 S +Rule Morocco 2013 only - Jul 9 3:00 0 - +Rule Morocco 2013 only - Aug 8 2:00 1:00 S +Rule Morocco 2014 only - Jun 29 3:00 0 - +Rule Morocco 2014 only - Jul 29 2:00 1:00 S +Rule Morocco 2015 only - Jun 18 3:00 0 - +Rule Morocco 2015 only - Jul 18 2:00 1:00 S +Rule Morocco 2016 only - Jun 7 3:00 0 - +Rule Morocco 2016 only - Jul 7 2:00 1:00 S +Rule Morocco 2017 only - May 27 3:00 0 - +Rule Morocco 2017 only - Jun 26 2:00 1:00 S +Rule Morocco 2018 only - May 16 3:00 0 - +Rule Morocco 2018 only - Jun 15 2:00 1:00 S +Rule Morocco 2019 only - May 6 3:00 0 - +Rule Morocco 2019 only - Jun 5 2:00 1:00 S +Rule Morocco 2020 only - May 24 2:00 1:00 S +Rule Morocco 2021 only - May 13 2:00 1:00 S +Rule Morocco 2022 only - May 3 2:00 1:00 S +Rule Morocco 2023 max - Apr lastSun 2:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 Modified: head/contrib/tzdata/antarctica ============================================================================== --- head/contrib/tzdata/antarctica Fri Mar 15 00:25:54 2013 (r248306) +++ head/contrib/tzdata/antarctica Fri Mar 15 00:27:24 2013 (r248307) @@ -50,10 +50,8 @@ Rule ChileAQ 2009 only - Mar Sun>=9 3:00 Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 - Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 - Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule ChileAQ 2012 only - Apr Sun>=23 3:00u 0 - -Rule ChileAQ 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule ChileAQ 2013 max - Mar Sun>=9 3:00u 0 - -Rule ChileAQ 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule ChileAQ 2012 max - Apr Sun>=23 3:00u 0 - +Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S # These rules are stolen from the `australasia' file. Rule AusAQ 1917 only - Jan 1 0:01 1:00 - Modified: head/contrib/tzdata/asia ============================================================================== --- head/contrib/tzdata/asia Fri Mar 15 00:25:54 2013 (r248306) +++ head/contrib/tzdata/asia Fri Mar 15 00:27:24 2013 (r248307) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -279,9 +283,12 @@ Zone Asia/Brunei 7:39:40 - LMT 1926 Mar 8:00 - BNT # Burma / Myanmar + +# Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Rangoon 6:24:40 - LMT 1880 # or Yangon - 6:24:36 - RMT 1920 # Rangoon Mean Time? + 6:24:40 - RMT 1920 # Rangoon Mean Time? 6:30 - BURT 1942 May # Burma Time 9:00 - JST 1945 May 3 6:30 - MMT # Myanmar Time @@ -384,7 +391,8 @@ Zone Asia/Harbin 8:26:44 - LMT 1928 # or 8:00 PRC C%sT # Zhongyuan Time ("Central plain Time") # most of China -Zone Asia/Shanghai 8:05:52 - LMT 1928 +# Milne gives 8:05:56.7; round to nearest. +Zone Asia/Shanghai 8:05:57 - LMT 1928 8:00 Shang C%sT 1949 8:00 PRC C%sT # Long-shu Time (probably due to Long and Shu being two names of that area) @@ -481,6 +489,10 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o 8:00 PRC C%sT +# Hong Kong (Xianggang) + +# Milne gives 7:36:41.7; round this. + # From Lee Yiu Chung (2009-10-24): # I found there are some mistakes for the...DST rule for Hong # Kong. [According] to the DST record from Hong Kong Observatory (actually, @@ -547,7 +559,6 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o # The Japanese surrender of Hong Kong was signed 1945-09-15. # For lack of anything better, use start of those days as the transition times. -# Hong Kong (Xianggang) # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule HK 1941 only - Apr 1 3:30 1:00 S Rule HK 1941 only - Sep 30 3:30 0 - @@ -569,7 +580,7 @@ Rule HK 1973 only - Dec 30 3:30 1:00 S Rule HK 1979 only - May Sun>=8 3:30 1:00 S Rule HK 1979 only - Oct Sun>=16 3:30 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30 +Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 8:00 HK HK%sT 1941 Dec 25 9:00 - JST 1945 Sep 15 8:00 HK HK%sT @@ -646,6 +657,9 @@ Zone Asia/Macau 7:34:20 - LMT 1912 ############################################################################### # Cyprus +# +# Milne says the Eastern Telegraph Company used 2:14:00. Stick with LMT. +# # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Cyprus 1975 only - Apr 13 0:00 1:00 S Rule Cyprus 1975 only - Oct 12 0:00 0 - @@ -1804,8 +1818,11 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920 5:45 - NPT # Nepal Time # Oman + +# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Muscat 3:54:20 - LMT 1920 +Zone Asia/Muscat 3:54:24 - LMT 1920 4:00 - GST # Pakistan @@ -2400,6 +2417,13 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 J # no information # Sri Lanka + +# From Paul Eggert (2013-02-21): +# Milne says "Madras mean time use from May 1, 1898. Prior to this Colombo +# mean time, 5h. 4m. 21.9s. F., was used." But 5:04:21.9 differs considerably +# from Colombo's meridian 5:19:24, so for now ignore Milne and stick with +# Shanks and Pottenger. + # From Paul Eggert (1996-09-03): # "Sri Lanka advances clock by an hour to avoid blackout" # (www.virtual-pc.com/lankaweb/news/items/240596-2.html, 1996-05-24, @@ -2699,6 +2723,12 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 Ma # Vietnam +# From Paul Eggert (2013-02-21): +# Milne gives 7:16:56 for the meridian of Saigon in 1899, as being +# used in Lower Laos, Cambodia, and Annam. But this is quite a ways +# from Saigon's location. For now, ignore this and stick with Shanks +# and Pottenger. + # From Arthur David Olson (2008-03-18): # The English-language name of Vietnam's most populous city is "Ho Chi Min City"; # we use Ho_Chi_Minh below to avoid a name of more than 14 characters. @@ -2712,6 +2742,10 @@ Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 7:00 - ICT # Yemen + +# Milne says 2:59:54 was the meridian of the saluting battery at Aden, +# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Aden 3:00:48 - LMT 1950 +Zone Asia/Aden 2:59:54 - LMT 1950 3:00 - AST Modified: head/contrib/tzdata/australasia ============================================================================== --- head/contrib/tzdata/australasia Fri Mar 15 00:25:54 2013 (r248306) +++ head/contrib/tzdata/australasia Fri Mar 15 00:27:24 2013 (r248307) @@ -246,6 +246,9 @@ Zone Indian/Cocos 6:27:40 - LMT 1900 6:30 - CCT # Cocos Islands Time # Fiji + +# Milne gives 11:55:44 for Suva. + # From Alexander Krivenyshev (2009-11-10): # According to Fiji Broadcasting Corporation, Fiji plans to re-introduce DST # from November 29th 2009 to April 25th 2010. @@ -339,7 +342,7 @@ Rule Fiji 2010 max - Oct Sun>=18 2:00 1: Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - Rule Fiji 2012 max - Jan Sun>=18 3:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva +Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva 12:00 Fiji FJ%sT # Fiji Time # French Polynesia @@ -782,7 +785,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). @@ -800,6 +803,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # Modified: head/contrib/tzdata/europe ============================================================================== --- head/contrib/tzdata/europe Fri Mar 15 00:25:54 2013 (r248306) +++ head/contrib/tzdata/europe Fri Mar 15 00:27:24 2013 (r248307) @@ -30,6 +30,12 @@ # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . He writes: +# "It is requested that corrections and additions to these tables +# may be sent to Mr. John Milne, Royal Geographical Society, +# Savile Row, London." Nowadays please email them to tz@iana.org. +# # Brazil's Departamento Servico da Hora (DSH), # # History of Summer Time @@ -666,6 +672,8 @@ Zone Europe/Andorra 0:06:04 - LMT 1901 # Austria +# Milne says Vienna time was 1:05:21. + # From Paul Eggert (2006-03-22): Shanks & Pottenger give 1918-06-16 and # 1945-11-18, but the Austrian Federal Office of Metrology and # Surveying (BEV) gives 1918-09-16 and for Vienna gives the "alleged" @@ -683,7 +691,7 @@ Rule Austria 1948 only - Apr 18 2:00s 1: Rule Austria 1980 only - Apr 6 0:00 1:00 S Rule Austria 1980 only - Sep 28 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Europe/Vienna 1:05:20 - LMT 1893 Apr +Zone Europe/Vienna 1:05:21 - LMT 1893 Apr 1:00 C-Eur CE%sT 1920 1:00 Austria CE%sT 1940 Apr 1 2:00s 1:00 C-Eur CE%sT 1945 Apr 2 2:00s @@ -1239,6 +1247,21 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Ap 1:00 Germany CE%sT 1980 1:00 EU CE%sT +# From Tobias Conradi (2011-09-12): +# Busingen , surrounded by the Swiss canton +# Schaffhausen, did not start observing DST in 1980 as the rest of DE +# (West Germany at that time) and DD (East Germany at that time) did. +# DD merged into DE, the area is currently covered by code DE in ISO 3166-1, +# which in turn is covered by the zone Europe/Berlin. +# +# Source for the time in Busingen 1980: +# http://www.srf.ch/player/video?id=c012c029-03b7-4c2b-9164-aa5902cd58d3 + +# From Arthur David Olson (2012-03-03): +# Busingen and Zurich have shared clocks since 1970. + +Link Europe/Zurich Europe/Busingen + # Georgia # Please see the "asia" file for Asia/Tbilisi. # Herodotus (Histories, IV.45) says Georgia north of the Phasis (now Rioni) @@ -2043,6 +2066,70 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 # Russia +# From Alexander Krivenyshev (2011-09-15): +# Based on last Russian Government Decree # 725 on August 31, 2011 +# (Government document +# +# http://www.government.ru/gov/results/16355/print/ +# +# in Russian) +# there are few corrections have to be made for some Russian time zones... +# All updated Russian Time Zones were placed in table and translated to English +# by WorldTimeZone.com at the link below: +# +# http://www.worldtimezone.com/dst_news/dst_news_russia36.htm +# + +# From Sanjeev Gupta (2011-09-27): +# Scans of [Decree #23 of January 8, 1992] are available at: +# +# http://government.consultant.ru/page.aspx?1223966 +# They are in Cyrillic letters (presumably Russian). + +# From Arthur David Olson (2012-05-09): +# Regarding the instant when clocks in time-zone-shifting parts of Russia +# changed in September 2011: +# +# One source is +# < a href="http://government.ru/gov/results/16355/> +# http://government.ru/gov/results/16355/ +# +# which, according to translate.google.com, begins "Decree of August 31, +# 2011 No 725" and contains no other dates or "effective date" information. +# +# Another source is +# +# http://www.rg.ru/2011/09/06/chas-zona-dok.html +# +# which, according to translate.google.com, begins "Resolution of the +# Government of the Russian Federation on August 31, 2011 N 725" and also +# contains "Date first official publication: September 6, 2011 Posted on: +# in the 'RG' - Federal Issue number 5573 September 6, 2011" but which +# does not contain any "effective date" information. +# +# Another source is +# +# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 +# +# which, in note 8, contains "Resolution #725 of August 31, 2011... +# Effective as of after 7 days following the day of the official publication" +# but which does not contain any reference to September 6, 2011. +# +# The Wikipedia article refers to +# +# http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=118896 +# +# which seems to copy the text of the government.ru page. +# +# Tobias Conradi combines Wikipedia's +# "as of after 7 days following the day of the official publication" +# with www.rg.ru's "Date of first official publication: September 6, 2011" to get +# September 13, 2011 as the cutover date (unusually, a Tuesday, as Tobias Conradi notes). +# +# None of the sources indicates a time of day for changing clocks. +# +# Go with 2011-09-13 0:00s. + # From Paul Eggert (2006-03-22): # Except for Moscow after 1919-07-01, I invented the time zone abbreviations. # Moscow time zone abbreviations after 1919-07-01, and Moscow rules after 1991, @@ -2270,14 +2357,32 @@ Zone Asia/Yakutsk 8:38:40 - LMT 1919 De # [parts of] Respublika Sakha (Yakutiya). # From Oscar van Vlijmen (2009-11-29): -# The Sakha districts are: Bulunskij, Verkhoyanskij, Tomponskij, Ust'-Majskij, -# Ust'-Yanskij. +# The Sakha districts are: Bulunskij, Verkhoyanskij, ... Ust'-Yanskij. Zone Asia/Vladivostok 8:47:44 - LMT 1922 Nov 15 9:00 - VLAT 1930 Jun 21 # Vladivostok Time 10:00 Russia VLA%sT 1991 Mar 31 2:00s 9:00 Russia VLA%sST 1992 Jan 19 2:00s 10:00 Russia VLA%sT 2011 Mar 27 2:00s 11:00 - VLAT + +# From Arthur David Olson (2012-05-09): +# Tomponskij and Ust'-Majskij switched from Vladivostok time to Yakutsk time +# in 2011. +# +# From Paul Eggert (2012-11-25): +# Shanks and Pottenger (2003) has Khandyga on Yakutsk time. +# Make a wild guess that it switched to Vladivostok time in 2004. +# This transition is no doubt wrong, but we have no better info. +# +Zone Asia/Khandyga 9:02:13 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAK%sT 1991 Mar 31 2:00s + 8:00 Russia YAK%sT 1992 Jan 19 2:00s + 9:00 Russia YAK%sT 2004 + 10:00 Russia VLA%sT 2011 Mar 27 2:00s + 11:00 - VLAT 2011 Sep 13 0:00s # Decree 725? + 10:00 - YAKT + # # Sakhalinskaya oblast'. # The Zone name should be Yuzhno-Sakhalinsk, but that's too long. @@ -2296,14 +2401,26 @@ Zone Asia/Sakhalin 9:30:48 - LMT 1905 A # From Oscar van Vlijmen (2009-11-29): # The Sakha districts are: Abyjskij, Allaikhovskij, Verkhhhnekolymskij, Momskij, -# Nizhnekolymskij, Ojmyakonskij, Srednekolymskij. +# Nizhnekolymskij, ... Srednekolymskij. Zone Asia/Magadan 10:03:12 - LMT 1924 May 2 10:00 - MAGT 1930 Jun 21 # Magadan Time 11:00 Russia MAG%sT 1991 Mar 31 2:00s 10:00 Russia MAG%sT 1992 Jan 19 2:00s 11:00 Russia MAG%sT 2011 Mar 27 2:00s 12:00 - MAGT -# + +# From Arthur David Olson (2012-05-09): +# Ojmyakonskij and the Kuril Islands switched from +# Magadan time to Vladivostok time in 2011. +Zone Asia/Ust-Nera 9:32:54 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAKT 1981 Apr 1 + 11:00 Russia MAG%sT 1991 Mar 31 2:00s + 10:00 Russia MAG%sT 1992 Jan 19 2:00s + 11:00 Russia MAG%sT 2011 Mar 27 2:00s + 12:00 - MAGT 2011 Sep 13 0:00s # Decree 725? + 11:00 - VLAT + # From Oscar van Vlijmen (2001-08-25): [This region consists of] # Kamchatskaya oblast', Koryakskij avtonomnyj okrug. # Modified: head/contrib/tzdata/northamerica ============================================================================== --- head/contrib/tzdata/northamerica Fri Mar 15 00:25:54 2013 (r248306) +++ head/contrib/tzdata/northamerica Fri Mar 15 00:27:24 2013 (r248307) @@ -1019,6 +1019,9 @@ Zone America/Menominee -5:50:27 - LMT 18 # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # See the `europe' file for Greenland. # Canada @@ -2554,6 +2557,8 @@ Zone America/Antigua -4:07:12 - LMT 1912 # Bahamas # +# For 1899 Milne gives -5:09:29.5; round that. +# # From Sue Williams (2006-12-07): # The Bahamas announced about a month ago that they plan to change their DST # rules to sync with the U.S. starting in 2007.... @@ -2563,11 +2568,14 @@ Zone America/Antigua -4:07:12 - LMT 1912 Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Nassau -5:09:24 - LMT 1912 Mar 2 +Zone America/Nassau -5:09:30 - LMT 1912 Mar 2 -5:00 Bahamas E%sT 1976 -5:00 US E%sT # Barbados + +# For 1899 Milne gives -3:58:29.2; round that. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Barb 1977 only - Jun 12 2:00 1:00 D Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S @@ -2575,8 +2583,8 @@ Rule Barb 1978 1980 - Apr Sun>=15 2:00 1 Rule Barb 1979 only - Sep 30 2:00 0 S Rule Barb 1980 only - Sep 25 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Barbados -3:58:28 - LMT 1924 # Bridgetown - -3:58:28 - BMT 1932 # Bridgetown Mean Time +Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown + -3:58:29 - BMT 1932 # Bridgetown Mean Time -4:00 Barb A%sT # Belize @@ -2594,6 +2602,9 @@ Zone America/Belize -5:52:48 - LMT 1912 # Bermuda +# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower, +# Bermuda dockyard, Ireland I; round that. + # From Dan Jones, reporting in The Royal Gazette (2006-06-26): # Next year, however, clocks in the US will go forward on the second Sunday @@ -2603,7 +2614,7 @@ Zone America/Belize -5:52:48 - LMT 1912 # http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135 # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Atlantic/Bermuda -4:19:04 - LMT 1930 Jan 1 2:00 # Hamilton +Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton -4:00 - AST 1974 Apr 28 2:00 -4:00 Bahamas A%sT 1976 -4:00 US A%sT @@ -2615,6 +2626,9 @@ Zone America/Cayman -5:25:32 - LMT 1890 -5:00 - EST # Costa Rica + +# Milne gives -5:36:13.3 as San Jose mean time; round to nearest. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CR 1979 1980 - Feb lastSun 0:00 1:00 D Rule CR 1979 1980 - Jun Sun>=1 0:00 0 S @@ -2625,14 +2639,19 @@ Rule CR 1991 only - Jul 1 0:00 0 S Rule CR 1992 only - Mar 15 0:00 0 S # There are too many San Joses elsewhere, so we'll use `Costa Rica'. # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Costa_Rica -5:36:20 - LMT 1890 # San Jose - -5:36:20 - SJMT 1921 Jan 15 # San Jose Mean Time +Zone America/Costa_Rica -5:36:13 - LMT 1890 # San Jose + -5:36:13 - SJMT 1921 Jan 15 # San Jose Mean Time -6:00 CR C%sT # Coco # no information; probably like America/Costa_Rica # Cuba +# From Paul Eggert (2013-02-21): +# Milne gives -5:28:50.45 for the observatory at Havana, -5:29:23.57 +# for the port, and -5:30 for meteorological observations. +# For now, stick with Shanks & Pottenger. + # From Arthur David Olson (1999-03-29): # The 1999-03-28 exhibition baseball game held in Havana, Cuba, between # the Cuban National Team and the Baltimore Orioles was carried live on @@ -2981,24 +3000,21 @@ Zone America/Guatemala -6:02:04 - LMT 19 # apparently using the same start and end date as USA/Canada. # So this means they have already changed their time. # -# (Sources in French): -# # http://www.alterpresse.org/spip.php?article12510 -# -# # http://radiovision2000haiti.net/home/?p=13253 -# # -# Our coverage: -# -# http://www.timeanddate.com/news/time/haiti-dst-2012.html -# - # From Arthur David Olson (2012-03-11): # The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to # 3:00 a.m. rather than the traditional Haitian jump at midnight. -# Assume a US-style fall back as well XXX. -# Do not yet assume that the change carries forward past 2012 XXX. +# Assume a US-style fall back as well. + +# From Steffen Thorsen (2013-03-10): +# It appears that Haiti is observing DST this year as well, same rules +# as US/Canada. They did it last year as well, and it looks like they +# are going to observe DST every year now... +# +# http://radiovision2000haiti.net/public/haiti-avis-changement-dheure-dimanche/ +# http://www.canalplushaiti.net/?p=6714 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Haiti 1983 only - May 8 0:00 1:00 D @@ -3010,8 +3026,8 @@ Rule Haiti 1988 1997 - Apr Sun>=1 1:00s Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S -Rule Haiti 2012 only - Mar Sun>=8 2:00 1:00 D -Rule Haiti 2012 only - Nov Sun>=1 2:00 0 S +Rule Haiti 2012 max - Mar Sun>=8 2:00 1:00 D +Rule Haiti 2012 max - Nov Sun>=1 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Port-au-Prince -4:49:20 - LMT 1890 -4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT Modified: head/contrib/tzdata/southamerica ============================================================================== --- head/contrib/tzdata/southamerica Fri Mar 15 00:25:54 2013 (r248306) +++ head/contrib/tzdata/southamerica Fri Mar 15 00:27:24 2013 (r248307) @@ -11,6 +11,10 @@ # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # Gwillim Law writes that a good source # for recent time zone data is the International Air Transport # Association's Standard Schedules Information Manual (IATA SSIM), @@ -381,21 +385,11 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # # is the official page for the Province Government). # -# There's also a note in only one of the major national papers (La Nación) at -# +# There's also a note in only one of the major national papers ... # http://www.lanacion.com.ar/nota.asp?nota_id=1107912 -# # -# The press release says: -# (...) anunció que el próximo domingo a las 00:00 los puntanos deberán -# atrasar una hora sus relojes. -# -# A partir de entonces, San Luis establecerá el huso horario propio de -# la Provincia. De esta manera, durante el periodo del calendario anual -# 2009, el cambio horario quedará comprendido entre las 00:00 del tercer -# domingo de marzo y las 24:00 del segundo sábado de octubre. -# Quick&dirty translation -# (...) announced that next Sunday, at 00:00, Puntanos (the San Luis +# The press release says [quick and dirty translation]: +# ... announced that next Sunday, at 00:00, Puntanos (the San Luis # inhabitants) will have to turn back one hour their clocks # # Since then, San Luis will establish its own Province timezone. Thus, @@ -457,6 +451,9 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # rules...San Luis is still using "Western ARgentina Time" and it got # stuck on Summer daylight savings time even though the summer is over. +# From Paul Eggert (2013-02-21): +# Milne says Cordoba time was -4:16:48.2. Round to the nearest second. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Buenos Aires (BA), Capital Federal (CF), @@ -812,9 +809,9 @@ Zone America/La_Paz -4:32:36 - LMT 1890 # From Guilherme Bernardes Rodrigues (2011-10-07): # There is news in the media, however there is still no decree about it. -# I just send a e-mail to Zulmira Brandão at +# I just send a e-mail to Zulmira Brandao at # http://pcdsh01.on.br/ the -# oficial agency about time in Brazil, and she confirmed that the old rule is +# official agency about time in Brazil, and she confirmed that the old rule is # still in force. # From Guilherme Bernardes Rodrigues (2011-10-14) @@ -1243,9 +1240,13 @@ Zone America/Rio_Branco -4:31:12 - LMT 1 # b. Saturday, September 1, 2012, clocks should go forward 60 minutes; that is, # at 23:59:59, instead of passing to 0:00, the time should be adjusted to be # 01:00 on September 2. -# -# Note that...this is yet another "temporary" change that will be reevaluated -# AGAIN in 2013. + +# From Steffen Thorsen (2013-02-15): +# According to several news sources, Chile has extended DST this year, +# they will end DST later and start DST earlier than planned. They +# hope to save energy. The new end date is 2013-04-28 00:00 and new +# start date is 2013-09-08 00:00.... +# http://www.gob.cl/informa/2013/02/15/gobierno-anuncia-fechas-de-cambio-de-hora-para-el-ano-2013.htm # NOTE: ChileAQ rules for Antarctic bases are stored separately in the # 'antarctica' file. @@ -1288,10 +1289,8 @@ Rule Chile 2009 only - Mar Sun>=9 3:00u Rule Chile 2010 only - Apr Sun>=1 3:00u 0 - Rule Chile 2011 only - May Sun>=2 3:00u 0 - Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule Chile 2012 only - Apr Sun>=23 3:00u 0 - -Rule Chile 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule Chile 2013 max - Mar Sun>=9 3:00u 0 - -Rule Chile 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule Chile 2012 max - Apr Sun>=23 3:00u 0 - +Rule Chile 2012 max - Sep Sun>=2 4:00u 1:00 S # IATA SSIM anomalies: (1992-02) says 1992-03-14; # (1996-09) says 1998-03-08. Ignore these. # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1313,17 +1312,23 @@ Zone Pacific/Easter -7:17:44 - LMT 1890 # San Felix, and Antarctic bases, are like America/Santiago. # Colombia + +# Milne gives 4:56:16.4 for Bogota time in 1899; round to nearest. He writes, +# "A variation of fifteen minutes in the public clocks of Bogota is not rare." + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CO 1992 only - May 3 0:00 1:00 S Rule CO 1993 only - Apr 4 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Bogota -4:56:20 - LMT 1884 Mar 13 - -4:56:20 - BMT 1914 Nov 23 # Bogota Mean Time +Zone America/Bogota -4:56:16 - LMT 1884 Mar 13 + -4:56:16 - BMT 1914 Nov 23 # Bogota Mean Time -5:00 CO CO%sT # Colombia Time # Malpelo, Providencia, San Andres # no information; probably like America/Bogota # Curacao + +# Milne gives 4:35:46.9 for Curacao mean time; round to nearest. # # From Paul Eggert (2006-03-22): # Shanks & Pottenger say that The Bottom and Philipsburg have been at @@ -1340,7 +1345,7 @@ Zone America/Bogota -4:56:20 - LMT 1884 # though, as far as we know. # # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad +Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad -4:30 - ANT 1965 # Netherlands Antilles Time -4:00 - AST @@ -1354,6 +1359,8 @@ Link America/Curacao America/Kralendijk # Ecuador # +# Milne says the Sentral and South American Telegraph Company used -5:24:15. +# # From Paul Eggert (2007-03-04): # Apparently Ecuador had a failed experiment with DST in 1992. # (2007-02-27) and @@ -1560,6 +1567,15 @@ Rule Para 2005 2009 - Mar Sun>=8 0:00 0 # ... Rule Para 2010 max - Oct Sun>=1 0:00 1:00 S Rule Para 2010 max - Apr Sun>=8 0:00 0 - +# +# From Steffen Thorsen (2013-03-07): +# Paraguay will end DST on 2013-03-24 00:00.... +# They do not tell if this will be a permanent change or just this year.... +# http://www.ande.gov.py/interna.php?id=1075 +# +# From Paul Eggert (2013-03-07): +# For now, assume it's just this year. +Rule Para 2013 only - Mar 24 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Asuncion -3:50:40 - LMT 1890 Modified: head/contrib/tzdata/zone.tab ============================================================================== --- head/contrib/tzdata/zone.tab Fri Mar 15 00:25:54 2013 (r248306) +++ head/contrib/tzdata/zone.tab Fri Mar 15 00:27:24 2013 (r248307) @@ -159,7 +159,8 @@ CW +1211-06900 America/Curacao CX -1025+10543 Indian/Christmas CY +3510+03322 Asia/Nicosia CZ +5005+01426 Europe/Prague -DE +5230+01322 Europe/Berlin +DE +5230+01322 Europe/Berlin most locations +DE +4742+00841 Europe/Busingen Busingen DJ +1136+04309 Africa/Djibouti DK +5540+01235 Europe/Copenhagen DM +1518-06124 America/Dominica @@ -341,8 +342,10 @@ RU +5345+08707 Asia/Novokuznetsk Moscow+ RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River +RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island +RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky RU +5934+15048 Asia/Magadan Moscow+08 - Magadan RU +5301+15839 Asia/Kamchatka Moscow+08 - Kamchatka RU +6445+17729 Asia/Anadyr Moscow+08 - Bering Sea From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 00:48:57 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E5076BFF; Fri, 15 Mar 2013 00:48:57 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D15C56E0; Fri, 15 Mar 2013 00:48:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F0mvH0088414; Fri, 15 Mar 2013 00:48:57 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F0muQn088406; Fri, 15 Mar 2013 00:48:56 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201303150048.r2F0muQn088406@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 15 Mar 2013 00:48:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-6@freebsd.org Subject: svn commit: r248308 - stable/6/share/zoneinfo X-SVN-Group: stable-6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 00:48:58 -0000 Author: edwin Date: Fri Mar 15 00:48:55 2013 New Revision: 248308 URL: http://svnweb.freebsd.org/changeset/base/248308 Log: Merge of current of tzdata2013b Lots of historical data added. Morocco: add DST rules for the coming years Cuba: Doing DST in 2013. Chili: Will do DST in 2013 as it seems. Modified: stable/6/share/zoneinfo/africa stable/6/share/zoneinfo/antarctica stable/6/share/zoneinfo/asia stable/6/share/zoneinfo/australasia stable/6/share/zoneinfo/europe stable/6/share/zoneinfo/northamerica stable/6/share/zoneinfo/southamerica stable/6/share/zoneinfo/zone.tab Directory Properties: stable/6/share/zoneinfo/ (props changed) Modified: stable/6/share/zoneinfo/africa ============================================================================== --- stable/6/share/zoneinfo/africa Fri Mar 15 00:27:24 2013 (r248307) +++ stable/6/share/zoneinfo/africa Fri Mar 15 00:48:55 2013 (r248308) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -116,8 +120,12 @@ Zone Africa/Porto-Novo 0:10:28 - LMT 191 1:00 - WAT # Botswana +# From Paul Eggert (2013-02-21): +# Milne says they were regulated by the Cape Town Signal in 1899; +# assume they switched to 2:00 when Cape Town did. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Gaborone 1:43:40 - LMT 1885 + 1:30 - SAST 1903 Mar 2:00 - CAT 1943 Sep 19 2:00 2:00 1:00 CAST 1944 Mar 19 2:00 2:00 - CAT @@ -189,6 +197,11 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 # Egypt +# Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh +# observatory; round to nearest. Milne also says that the official time for +# Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this +# did not apply to Cairo, Alexandria, or Port Said. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Egypt 1940 only - Jul 15 0:00 1:00 S Rule Egypt 1940 only - Oct 1 0:00 0 - @@ -329,7 +342,7 @@ Rule Egypt 2010 only - Sep 10 0:00 1:00 Rule Egypt 2010 only - Sep lastThu 23:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Cairo 2:05:00 - LMT 1900 Oct +Zone Africa/Cairo 2:05:09 - LMT 1900 Oct 2:00 Egypt EE%sT # Equatorial Guinea @@ -833,6 +846,41 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 J # 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes # August 20, 2012 from 2:00 am. +# From Paul Eggert (2013-03-06): +# Morocco's daylight-saving transitions due to Ramadan seem to be +# announced a bit in advance. On 2012-07-11 the Moroccan government +# announced that year's Ramadan daylight-saving transitions would be +# 2012-07-20 and 2012-08-20; see +# . +# +# To estimate what the Moroccan government will do in future years, +# transition dates for 2013 through 2021 were determined by running +# the following program under GNU Emacs 24.3: +# +# (let ((islamic-year 1434)) +# (while (< islamic-year 1444) +# (let ((a +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 9 1 islamic-year)))) +# (b +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 10 1 islamic-year))))) +# (insert +# (format +# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 3:00\t0\t-\n" +# "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 2:00\t1:00\tS\n") +# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a)) +# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b))))) +# (setq islamic-year (+ 1 islamic-year)))) +# +# with the results hand-edited for 2020-2022, when the normal spring-forward +# date falls during the estimated Ramadan. +# +# From 2023 through 2038 Ramadan is not predicted to overlap with +# daylight saving time. Starting in 2039 there will be overlap again, +# but 32-bit time_t values roll around in 2038 so for now do not worry +# about dates after 2038. + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Morocco 1939 only - Sep 12 0:00 1:00 S @@ -858,10 +906,28 @@ Rule Morocco 2010 only - May 2 0:00 1: Rule Morocco 2010 only - Aug 8 0:00 0 - Rule Morocco 2011 only - Apr 3 0:00 1:00 S Rule Morocco 2011 only - Jul 31 0 0 - -Rule Morocco 2012 max - Apr lastSun 2:00 1:00 S +Rule Morocco 2012 2019 - Apr lastSun 2:00 1:00 S Rule Morocco 2012 max - Sep lastSun 3:00 0 - Rule Morocco 2012 only - Jul 20 3:00 0 - Rule Morocco 2012 only - Aug 20 2:00 1:00 S +Rule Morocco 2013 only - Jul 9 3:00 0 - +Rule Morocco 2013 only - Aug 8 2:00 1:00 S +Rule Morocco 2014 only - Jun 29 3:00 0 - +Rule Morocco 2014 only - Jul 29 2:00 1:00 S +Rule Morocco 2015 only - Jun 18 3:00 0 - +Rule Morocco 2015 only - Jul 18 2:00 1:00 S +Rule Morocco 2016 only - Jun 7 3:00 0 - +Rule Morocco 2016 only - Jul 7 2:00 1:00 S +Rule Morocco 2017 only - May 27 3:00 0 - +Rule Morocco 2017 only - Jun 26 2:00 1:00 S +Rule Morocco 2018 only - May 16 3:00 0 - +Rule Morocco 2018 only - Jun 15 2:00 1:00 S +Rule Morocco 2019 only - May 6 3:00 0 - +Rule Morocco 2019 only - Jun 5 2:00 1:00 S +Rule Morocco 2020 only - May 24 2:00 1:00 S +Rule Morocco 2021 only - May 13 2:00 1:00 S +Rule Morocco 2022 only - May 3 2:00 1:00 S +Rule Morocco 2023 max - Apr lastSun 2:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 Modified: stable/6/share/zoneinfo/antarctica ============================================================================== --- stable/6/share/zoneinfo/antarctica Fri Mar 15 00:27:24 2013 (r248307) +++ stable/6/share/zoneinfo/antarctica Fri Mar 15 00:48:55 2013 (r248308) @@ -50,10 +50,8 @@ Rule ChileAQ 2009 only - Mar Sun>=9 3:00 Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 - Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 - Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule ChileAQ 2012 only - Apr Sun>=23 3:00u 0 - -Rule ChileAQ 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule ChileAQ 2013 max - Mar Sun>=9 3:00u 0 - -Rule ChileAQ 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule ChileAQ 2012 max - Apr Sun>=23 3:00u 0 - +Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S # These rules are stolen from the `australasia' file. Rule AusAQ 1917 only - Jan 1 0:01 1:00 - Modified: stable/6/share/zoneinfo/asia ============================================================================== --- stable/6/share/zoneinfo/asia Fri Mar 15 00:27:24 2013 (r248307) +++ stable/6/share/zoneinfo/asia Fri Mar 15 00:48:55 2013 (r248308) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -279,9 +283,12 @@ Zone Asia/Brunei 7:39:40 - LMT 1926 Mar 8:00 - BNT # Burma / Myanmar + +# Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Rangoon 6:24:40 - LMT 1880 # or Yangon - 6:24:36 - RMT 1920 # Rangoon Mean Time? + 6:24:40 - RMT 1920 # Rangoon Mean Time? 6:30 - BURT 1942 May # Burma Time 9:00 - JST 1945 May 3 6:30 - MMT # Myanmar Time @@ -384,7 +391,8 @@ Zone Asia/Harbin 8:26:44 - LMT 1928 # or 8:00 PRC C%sT # Zhongyuan Time ("Central plain Time") # most of China -Zone Asia/Shanghai 8:05:52 - LMT 1928 +# Milne gives 8:05:56.7; round to nearest. +Zone Asia/Shanghai 8:05:57 - LMT 1928 8:00 Shang C%sT 1949 8:00 PRC C%sT # Long-shu Time (probably due to Long and Shu being two names of that area) @@ -481,6 +489,10 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o 8:00 PRC C%sT +# Hong Kong (Xianggang) + +# Milne gives 7:36:41.7; round this. + # From Lee Yiu Chung (2009-10-24): # I found there are some mistakes for the...DST rule for Hong # Kong. [According] to the DST record from Hong Kong Observatory (actually, @@ -547,7 +559,6 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o # The Japanese surrender of Hong Kong was signed 1945-09-15. # For lack of anything better, use start of those days as the transition times. -# Hong Kong (Xianggang) # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule HK 1941 only - Apr 1 3:30 1:00 S Rule HK 1941 only - Sep 30 3:30 0 - @@ -569,7 +580,7 @@ Rule HK 1973 only - Dec 30 3:30 1:00 S Rule HK 1979 only - May Sun>=8 3:30 1:00 S Rule HK 1979 only - Oct Sun>=16 3:30 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30 +Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 8:00 HK HK%sT 1941 Dec 25 9:00 - JST 1945 Sep 15 8:00 HK HK%sT @@ -646,6 +657,9 @@ Zone Asia/Macau 7:34:20 - LMT 1912 ############################################################################### # Cyprus +# +# Milne says the Eastern Telegraph Company used 2:14:00. Stick with LMT. +# # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Cyprus 1975 only - Apr 13 0:00 1:00 S Rule Cyprus 1975 only - Oct 12 0:00 0 - @@ -1804,8 +1818,11 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920 5:45 - NPT # Nepal Time # Oman + +# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Muscat 3:54:20 - LMT 1920 +Zone Asia/Muscat 3:54:24 - LMT 1920 4:00 - GST # Pakistan @@ -2400,6 +2417,13 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 J # no information # Sri Lanka + +# From Paul Eggert (2013-02-21): +# Milne says "Madras mean time use from May 1, 1898. Prior to this Colombo +# mean time, 5h. 4m. 21.9s. F., was used." But 5:04:21.9 differs considerably +# from Colombo's meridian 5:19:24, so for now ignore Milne and stick with +# Shanks and Pottenger. + # From Paul Eggert (1996-09-03): # "Sri Lanka advances clock by an hour to avoid blackout" # (www.virtual-pc.com/lankaweb/news/items/240596-2.html, 1996-05-24, @@ -2699,6 +2723,12 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 Ma # Vietnam +# From Paul Eggert (2013-02-21): +# Milne gives 7:16:56 for the meridian of Saigon in 1899, as being +# used in Lower Laos, Cambodia, and Annam. But this is quite a ways +# from Saigon's location. For now, ignore this and stick with Shanks +# and Pottenger. + # From Arthur David Olson (2008-03-18): # The English-language name of Vietnam's most populous city is "Ho Chi Min City"; # we use Ho_Chi_Minh below to avoid a name of more than 14 characters. @@ -2712,6 +2742,10 @@ Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 7:00 - ICT # Yemen + +# Milne says 2:59:54 was the meridian of the saluting battery at Aden, +# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Aden 3:00:48 - LMT 1950 +Zone Asia/Aden 2:59:54 - LMT 1950 3:00 - AST Modified: stable/6/share/zoneinfo/australasia ============================================================================== --- stable/6/share/zoneinfo/australasia Fri Mar 15 00:27:24 2013 (r248307) +++ stable/6/share/zoneinfo/australasia Fri Mar 15 00:48:55 2013 (r248308) @@ -246,6 +246,9 @@ Zone Indian/Cocos 6:27:40 - LMT 1900 6:30 - CCT # Cocos Islands Time # Fiji + +# Milne gives 11:55:44 for Suva. + # From Alexander Krivenyshev (2009-11-10): # According to Fiji Broadcasting Corporation, Fiji plans to re-introduce DST # from November 29th 2009 to April 25th 2010. @@ -339,7 +342,7 @@ Rule Fiji 2010 max - Oct Sun>=18 2:00 1: Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - Rule Fiji 2012 max - Jan Sun>=18 3:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva +Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva 12:00 Fiji FJ%sT # Fiji Time # French Polynesia @@ -782,7 +785,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). @@ -800,6 +803,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # Modified: stable/6/share/zoneinfo/europe ============================================================================== --- stable/6/share/zoneinfo/europe Fri Mar 15 00:27:24 2013 (r248307) +++ stable/6/share/zoneinfo/europe Fri Mar 15 00:48:55 2013 (r248308) @@ -30,6 +30,12 @@ # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . He writes: +# "It is requested that corrections and additions to these tables +# may be sent to Mr. John Milne, Royal Geographical Society, +# Savile Row, London." Nowadays please email them to tz@iana.org. +# # Brazil's Departamento Servico da Hora (DSH), # # History of Summer Time @@ -666,6 +672,8 @@ Zone Europe/Andorra 0:06:04 - LMT 1901 # Austria +# Milne says Vienna time was 1:05:21. + # From Paul Eggert (2006-03-22): Shanks & Pottenger give 1918-06-16 and # 1945-11-18, but the Austrian Federal Office of Metrology and # Surveying (BEV) gives 1918-09-16 and for Vienna gives the "alleged" @@ -683,7 +691,7 @@ Rule Austria 1948 only - Apr 18 2:00s 1: Rule Austria 1980 only - Apr 6 0:00 1:00 S Rule Austria 1980 only - Sep 28 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Europe/Vienna 1:05:20 - LMT 1893 Apr +Zone Europe/Vienna 1:05:21 - LMT 1893 Apr 1:00 C-Eur CE%sT 1920 1:00 Austria CE%sT 1940 Apr 1 2:00s 1:00 C-Eur CE%sT 1945 Apr 2 2:00s @@ -1239,6 +1247,21 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Ap 1:00 Germany CE%sT 1980 1:00 EU CE%sT +# From Tobias Conradi (2011-09-12): +# Busingen , surrounded by the Swiss canton +# Schaffhausen, did not start observing DST in 1980 as the rest of DE +# (West Germany at that time) and DD (East Germany at that time) did. +# DD merged into DE, the area is currently covered by code DE in ISO 3166-1, +# which in turn is covered by the zone Europe/Berlin. +# +# Source for the time in Busingen 1980: +# http://www.srf.ch/player/video?id=c012c029-03b7-4c2b-9164-aa5902cd58d3 + +# From Arthur David Olson (2012-03-03): +# Busingen and Zurich have shared clocks since 1970. + +Link Europe/Zurich Europe/Busingen + # Georgia # Please see the "asia" file for Asia/Tbilisi. # Herodotus (Histories, IV.45) says Georgia north of the Phasis (now Rioni) @@ -2043,6 +2066,70 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 # Russia +# From Alexander Krivenyshev (2011-09-15): +# Based on last Russian Government Decree # 725 on August 31, 2011 +# (Government document +# +# http://www.government.ru/gov/results/16355/print/ +# +# in Russian) +# there are few corrections have to be made for some Russian time zones... +# All updated Russian Time Zones were placed in table and translated to English +# by WorldTimeZone.com at the link below: +# +# http://www.worldtimezone.com/dst_news/dst_news_russia36.htm +# + +# From Sanjeev Gupta (2011-09-27): +# Scans of [Decree #23 of January 8, 1992] are available at: +# +# http://government.consultant.ru/page.aspx?1223966 +# They are in Cyrillic letters (presumably Russian). + +# From Arthur David Olson (2012-05-09): +# Regarding the instant when clocks in time-zone-shifting parts of Russia +# changed in September 2011: +# +# One source is +# < a href="http://government.ru/gov/results/16355/> +# http://government.ru/gov/results/16355/ +# +# which, according to translate.google.com, begins "Decree of August 31, +# 2011 No 725" and contains no other dates or "effective date" information. +# +# Another source is +# +# http://www.rg.ru/2011/09/06/chas-zona-dok.html +# +# which, according to translate.google.com, begins "Resolution of the +# Government of the Russian Federation on August 31, 2011 N 725" and also +# contains "Date first official publication: September 6, 2011 Posted on: +# in the 'RG' - Federal Issue number 5573 September 6, 2011" but which +# does not contain any "effective date" information. +# +# Another source is +# +# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 +# +# which, in note 8, contains "Resolution #725 of August 31, 2011... +# Effective as of after 7 days following the day of the official publication" +# but which does not contain any reference to September 6, 2011. +# +# The Wikipedia article refers to +# +# http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=118896 +# +# which seems to copy the text of the government.ru page. +# +# Tobias Conradi combines Wikipedia's +# "as of after 7 days following the day of the official publication" +# with www.rg.ru's "Date of first official publication: September 6, 2011" to get +# September 13, 2011 as the cutover date (unusually, a Tuesday, as Tobias Conradi notes). +# +# None of the sources indicates a time of day for changing clocks. +# +# Go with 2011-09-13 0:00s. + # From Paul Eggert (2006-03-22): # Except for Moscow after 1919-07-01, I invented the time zone abbreviations. # Moscow time zone abbreviations after 1919-07-01, and Moscow rules after 1991, @@ -2270,14 +2357,32 @@ Zone Asia/Yakutsk 8:38:40 - LMT 1919 De # [parts of] Respublika Sakha (Yakutiya). # From Oscar van Vlijmen (2009-11-29): -# The Sakha districts are: Bulunskij, Verkhoyanskij, Tomponskij, Ust'-Majskij, -# Ust'-Yanskij. +# The Sakha districts are: Bulunskij, Verkhoyanskij, ... Ust'-Yanskij. Zone Asia/Vladivostok 8:47:44 - LMT 1922 Nov 15 9:00 - VLAT 1930 Jun 21 # Vladivostok Time 10:00 Russia VLA%sT 1991 Mar 31 2:00s 9:00 Russia VLA%sST 1992 Jan 19 2:00s 10:00 Russia VLA%sT 2011 Mar 27 2:00s 11:00 - VLAT + +# From Arthur David Olson (2012-05-09): +# Tomponskij and Ust'-Majskij switched from Vladivostok time to Yakutsk time +# in 2011. +# +# From Paul Eggert (2012-11-25): +# Shanks and Pottenger (2003) has Khandyga on Yakutsk time. +# Make a wild guess that it switched to Vladivostok time in 2004. +# This transition is no doubt wrong, but we have no better info. +# +Zone Asia/Khandyga 9:02:13 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAK%sT 1991 Mar 31 2:00s + 8:00 Russia YAK%sT 1992 Jan 19 2:00s + 9:00 Russia YAK%sT 2004 + 10:00 Russia VLA%sT 2011 Mar 27 2:00s + 11:00 - VLAT 2011 Sep 13 0:00s # Decree 725? + 10:00 - YAKT + # # Sakhalinskaya oblast'. # The Zone name should be Yuzhno-Sakhalinsk, but that's too long. @@ -2296,14 +2401,26 @@ Zone Asia/Sakhalin 9:30:48 - LMT 1905 A # From Oscar van Vlijmen (2009-11-29): # The Sakha districts are: Abyjskij, Allaikhovskij, Verkhhhnekolymskij, Momskij, -# Nizhnekolymskij, Ojmyakonskij, Srednekolymskij. +# Nizhnekolymskij, ... Srednekolymskij. Zone Asia/Magadan 10:03:12 - LMT 1924 May 2 10:00 - MAGT 1930 Jun 21 # Magadan Time 11:00 Russia MAG%sT 1991 Mar 31 2:00s 10:00 Russia MAG%sT 1992 Jan 19 2:00s 11:00 Russia MAG%sT 2011 Mar 27 2:00s 12:00 - MAGT -# + +# From Arthur David Olson (2012-05-09): +# Ojmyakonskij and the Kuril Islands switched from +# Magadan time to Vladivostok time in 2011. +Zone Asia/Ust-Nera 9:32:54 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAKT 1981 Apr 1 + 11:00 Russia MAG%sT 1991 Mar 31 2:00s + 10:00 Russia MAG%sT 1992 Jan 19 2:00s + 11:00 Russia MAG%sT 2011 Mar 27 2:00s + 12:00 - MAGT 2011 Sep 13 0:00s # Decree 725? + 11:00 - VLAT + # From Oscar van Vlijmen (2001-08-25): [This region consists of] # Kamchatskaya oblast', Koryakskij avtonomnyj okrug. # Modified: stable/6/share/zoneinfo/northamerica ============================================================================== --- stable/6/share/zoneinfo/northamerica Fri Mar 15 00:27:24 2013 (r248307) +++ stable/6/share/zoneinfo/northamerica Fri Mar 15 00:48:55 2013 (r248308) @@ -1019,6 +1019,9 @@ Zone America/Menominee -5:50:27 - LMT 18 # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # See the `europe' file for Greenland. # Canada @@ -2554,6 +2557,8 @@ Zone America/Antigua -4:07:12 - LMT 1912 # Bahamas # +# For 1899 Milne gives -5:09:29.5; round that. +# # From Sue Williams (2006-12-07): # The Bahamas announced about a month ago that they plan to change their DST # rules to sync with the U.S. starting in 2007.... @@ -2563,11 +2568,14 @@ Zone America/Antigua -4:07:12 - LMT 1912 Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Nassau -5:09:24 - LMT 1912 Mar 2 +Zone America/Nassau -5:09:30 - LMT 1912 Mar 2 -5:00 Bahamas E%sT 1976 -5:00 US E%sT # Barbados + +# For 1899 Milne gives -3:58:29.2; round that. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Barb 1977 only - Jun 12 2:00 1:00 D Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S @@ -2575,8 +2583,8 @@ Rule Barb 1978 1980 - Apr Sun>=15 2:00 1 Rule Barb 1979 only - Sep 30 2:00 0 S Rule Barb 1980 only - Sep 25 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Barbados -3:58:28 - LMT 1924 # Bridgetown - -3:58:28 - BMT 1932 # Bridgetown Mean Time +Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown + -3:58:29 - BMT 1932 # Bridgetown Mean Time -4:00 Barb A%sT # Belize @@ -2594,6 +2602,9 @@ Zone America/Belize -5:52:48 - LMT 1912 # Bermuda +# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower, +# Bermuda dockyard, Ireland I; round that. + # From Dan Jones, reporting in The Royal Gazette (2006-06-26): # Next year, however, clocks in the US will go forward on the second Sunday @@ -2603,7 +2614,7 @@ Zone America/Belize -5:52:48 - LMT 1912 # http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135 # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Atlantic/Bermuda -4:19:04 - LMT 1930 Jan 1 2:00 # Hamilton +Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton -4:00 - AST 1974 Apr 28 2:00 -4:00 Bahamas A%sT 1976 -4:00 US A%sT @@ -2615,6 +2626,9 @@ Zone America/Cayman -5:25:32 - LMT 1890 -5:00 - EST # Costa Rica + +# Milne gives -5:36:13.3 as San Jose mean time; round to nearest. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CR 1979 1980 - Feb lastSun 0:00 1:00 D Rule CR 1979 1980 - Jun Sun>=1 0:00 0 S @@ -2625,14 +2639,19 @@ Rule CR 1991 only - Jul 1 0:00 0 S Rule CR 1992 only - Mar 15 0:00 0 S # There are too many San Joses elsewhere, so we'll use `Costa Rica'. # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Costa_Rica -5:36:20 - LMT 1890 # San Jose - -5:36:20 - SJMT 1921 Jan 15 # San Jose Mean Time +Zone America/Costa_Rica -5:36:13 - LMT 1890 # San Jose + -5:36:13 - SJMT 1921 Jan 15 # San Jose Mean Time -6:00 CR C%sT # Coco # no information; probably like America/Costa_Rica # Cuba +# From Paul Eggert (2013-02-21): +# Milne gives -5:28:50.45 for the observatory at Havana, -5:29:23.57 +# for the port, and -5:30 for meteorological observations. +# For now, stick with Shanks & Pottenger. + # From Arthur David Olson (1999-03-29): # The 1999-03-28 exhibition baseball game held in Havana, Cuba, between # the Cuban National Team and the Baltimore Orioles was carried live on @@ -2981,24 +3000,21 @@ Zone America/Guatemala -6:02:04 - LMT 19 # apparently using the same start and end date as USA/Canada. # So this means they have already changed their time. # -# (Sources in French): -# # http://www.alterpresse.org/spip.php?article12510 -# -# # http://radiovision2000haiti.net/home/?p=13253 -# # -# Our coverage: -# -# http://www.timeanddate.com/news/time/haiti-dst-2012.html -# - # From Arthur David Olson (2012-03-11): # The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to # 3:00 a.m. rather than the traditional Haitian jump at midnight. -# Assume a US-style fall back as well XXX. -# Do not yet assume that the change carries forward past 2012 XXX. +# Assume a US-style fall back as well. + +# From Steffen Thorsen (2013-03-10): +# It appears that Haiti is observing DST this year as well, same rules +# as US/Canada. They did it last year as well, and it looks like they +# are going to observe DST every year now... +# +# http://radiovision2000haiti.net/public/haiti-avis-changement-dheure-dimanche/ +# http://www.canalplushaiti.net/?p=6714 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Haiti 1983 only - May 8 0:00 1:00 D @@ -3010,8 +3026,8 @@ Rule Haiti 1988 1997 - Apr Sun>=1 1:00s Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S -Rule Haiti 2012 only - Mar Sun>=8 2:00 1:00 D -Rule Haiti 2012 only - Nov Sun>=1 2:00 0 S +Rule Haiti 2012 max - Mar Sun>=8 2:00 1:00 D +Rule Haiti 2012 max - Nov Sun>=1 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Port-au-Prince -4:49:20 - LMT 1890 -4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT Modified: stable/6/share/zoneinfo/southamerica ============================================================================== --- stable/6/share/zoneinfo/southamerica Fri Mar 15 00:27:24 2013 (r248307) +++ stable/6/share/zoneinfo/southamerica Fri Mar 15 00:48:55 2013 (r248308) @@ -11,6 +11,10 @@ # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # Gwillim Law writes that a good source # for recent time zone data is the International Air Transport # Association's Standard Schedules Information Manual (IATA SSIM), @@ -381,21 +385,11 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # # is the official page for the Province Government). # -# There's also a note in only one of the major national papers (La Nación) at -# +# There's also a note in only one of the major national papers ... # http://www.lanacion.com.ar/nota.asp?nota_id=1107912 -# # -# The press release says: -# (...) anunció que el próximo domingo a las 00:00 los puntanos deberán -# atrasar una hora sus relojes. -# -# A partir de entonces, San Luis establecerá el huso horario propio de -# la Provincia. De esta manera, durante el periodo del calendario anual -# 2009, el cambio horario quedará comprendido entre las 00:00 del tercer -# domingo de marzo y las 24:00 del segundo sábado de octubre. -# Quick&dirty translation -# (...) announced that next Sunday, at 00:00, Puntanos (the San Luis +# The press release says [quick and dirty translation]: +# ... announced that next Sunday, at 00:00, Puntanos (the San Luis # inhabitants) will have to turn back one hour their clocks # # Since then, San Luis will establish its own Province timezone. Thus, @@ -457,6 +451,9 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # rules...San Luis is still using "Western ARgentina Time" and it got # stuck on Summer daylight savings time even though the summer is over. +# From Paul Eggert (2013-02-21): +# Milne says Cordoba time was -4:16:48.2. Round to the nearest second. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Buenos Aires (BA), Capital Federal (CF), @@ -812,9 +809,9 @@ Zone America/La_Paz -4:32:36 - LMT 1890 # From Guilherme Bernardes Rodrigues (2011-10-07): # There is news in the media, however there is still no decree about it. -# I just send a e-mail to Zulmira Brandão at +# I just send a e-mail to Zulmira Brandao at # http://pcdsh01.on.br/ the -# oficial agency about time in Brazil, and she confirmed that the old rule is +# official agency about time in Brazil, and she confirmed that the old rule is # still in force. # From Guilherme Bernardes Rodrigues (2011-10-14) @@ -1243,9 +1240,13 @@ Zone America/Rio_Branco -4:31:12 - LMT 1 # b. Saturday, September 1, 2012, clocks should go forward 60 minutes; that is, # at 23:59:59, instead of passing to 0:00, the time should be adjusted to be # 01:00 on September 2. -# -# Note that...this is yet another "temporary" change that will be reevaluated -# AGAIN in 2013. + +# From Steffen Thorsen (2013-02-15): +# According to several news sources, Chile has extended DST this year, +# they will end DST later and start DST earlier than planned. They +# hope to save energy. The new end date is 2013-04-28 00:00 and new +# start date is 2013-09-08 00:00.... +# http://www.gob.cl/informa/2013/02/15/gobierno-anuncia-fechas-de-cambio-de-hora-para-el-ano-2013.htm # NOTE: ChileAQ rules for Antarctic bases are stored separately in the # 'antarctica' file. @@ -1288,10 +1289,8 @@ Rule Chile 2009 only - Mar Sun>=9 3:00u Rule Chile 2010 only - Apr Sun>=1 3:00u 0 - Rule Chile 2011 only - May Sun>=2 3:00u 0 - Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule Chile 2012 only - Apr Sun>=23 3:00u 0 - -Rule Chile 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule Chile 2013 max - Mar Sun>=9 3:00u 0 - -Rule Chile 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule Chile 2012 max - Apr Sun>=23 3:00u 0 - +Rule Chile 2012 max - Sep Sun>=2 4:00u 1:00 S # IATA SSIM anomalies: (1992-02) says 1992-03-14; # (1996-09) says 1998-03-08. Ignore these. # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1313,17 +1312,23 @@ Zone Pacific/Easter -7:17:44 - LMT 1890 # San Felix, and Antarctic bases, are like America/Santiago. # Colombia + +# Milne gives 4:56:16.4 for Bogota time in 1899; round to nearest. He writes, +# "A variation of fifteen minutes in the public clocks of Bogota is not rare." + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CO 1992 only - May 3 0:00 1:00 S Rule CO 1993 only - Apr 4 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Bogota -4:56:20 - LMT 1884 Mar 13 - -4:56:20 - BMT 1914 Nov 23 # Bogota Mean Time +Zone America/Bogota -4:56:16 - LMT 1884 Mar 13 + -4:56:16 - BMT 1914 Nov 23 # Bogota Mean Time -5:00 CO CO%sT # Colombia Time # Malpelo, Providencia, San Andres # no information; probably like America/Bogota # Curacao + +# Milne gives 4:35:46.9 for Curacao mean time; round to nearest. # # From Paul Eggert (2006-03-22): # Shanks & Pottenger say that The Bottom and Philipsburg have been at @@ -1340,7 +1345,7 @@ Zone America/Bogota -4:56:20 - LMT 1884 # though, as far as we know. # # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad +Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad -4:30 - ANT 1965 # Netherlands Antilles Time -4:00 - AST @@ -1354,6 +1359,8 @@ Link America/Curacao America/Kralendijk # Ecuador # +# Milne says the Sentral and South American Telegraph Company used -5:24:15. +# # From Paul Eggert (2007-03-04): # Apparently Ecuador had a failed experiment with DST in 1992. # (2007-02-27) and @@ -1560,6 +1567,15 @@ Rule Para 2005 2009 - Mar Sun>=8 0:00 0 # ... Rule Para 2010 max - Oct Sun>=1 0:00 1:00 S Rule Para 2010 max - Apr Sun>=8 0:00 0 - +# +# From Steffen Thorsen (2013-03-07): +# Paraguay will end DST on 2013-03-24 00:00.... +# They do not tell if this will be a permanent change or just this year.... +# http://www.ande.gov.py/interna.php?id=1075 +# +# From Paul Eggert (2013-03-07): +# For now, assume it's just this year. +Rule Para 2013 only - Mar 24 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Asuncion -3:50:40 - LMT 1890 Modified: stable/6/share/zoneinfo/zone.tab ============================================================================== --- stable/6/share/zoneinfo/zone.tab Fri Mar 15 00:27:24 2013 (r248307) +++ stable/6/share/zoneinfo/zone.tab Fri Mar 15 00:48:55 2013 (r248308) @@ -159,7 +159,8 @@ CW +1211-06900 America/Curacao CX -1025+10543 Indian/Christmas CY +3510+03322 Asia/Nicosia CZ +5005+01426 Europe/Prague -DE +5230+01322 Europe/Berlin +DE +5230+01322 Europe/Berlin most locations +DE +4742+00841 Europe/Busingen Busingen DJ +1136+04309 Africa/Djibouti DK +5540+01235 Europe/Copenhagen DM +1518-06124 America/Dominica @@ -341,8 +342,10 @@ RU +5345+08707 Asia/Novokuznetsk Moscow+ RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River +RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island +RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky RU +5934+15048 Asia/Magadan Moscow+08 - Magadan RU +5301+15839 Asia/Kamchatka Moscow+08 - Kamchatka RU +6445+17729 Asia/Anadyr Moscow+08 - Bering Sea From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 01:01:16 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B7F8466B; Fri, 15 Mar 2013 01:01:16 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 933E2747; Fri, 15 Mar 2013 01:01:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F11GJc093834; Fri, 15 Mar 2013 01:01:16 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F11FvM093824; Fri, 15 Mar 2013 01:01:15 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201303150101.r2F11FvM093824@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 15 Mar 2013 01:01:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r248309 - stable/7/share/zoneinfo X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 01:01:16 -0000 Author: edwin Date: Fri Mar 15 01:01:14 2013 New Revision: 248309 URL: http://svnweb.freebsd.org/changeset/base/248309 Log: Merge of current of tzdata2013b Lots of historical data added. Morocco: add DST rules for the coming years Cuba: Doing DST in 2013. Chili: Will do DST in 2013 as it seems Modified: stable/7/share/zoneinfo/africa stable/7/share/zoneinfo/antarctica stable/7/share/zoneinfo/asia stable/7/share/zoneinfo/australasia stable/7/share/zoneinfo/europe stable/7/share/zoneinfo/northamerica stable/7/share/zoneinfo/southamerica stable/7/share/zoneinfo/zone.tab Directory Properties: stable/7/share/zoneinfo/ (props changed) Modified: stable/7/share/zoneinfo/africa ============================================================================== --- stable/7/share/zoneinfo/africa Fri Mar 15 00:48:55 2013 (r248308) +++ stable/7/share/zoneinfo/africa Fri Mar 15 01:01:14 2013 (r248309) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -116,8 +120,12 @@ Zone Africa/Porto-Novo 0:10:28 - LMT 191 1:00 - WAT # Botswana +# From Paul Eggert (2013-02-21): +# Milne says they were regulated by the Cape Town Signal in 1899; +# assume they switched to 2:00 when Cape Town did. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Gaborone 1:43:40 - LMT 1885 + 1:30 - SAST 1903 Mar 2:00 - CAT 1943 Sep 19 2:00 2:00 1:00 CAST 1944 Mar 19 2:00 2:00 - CAT @@ -189,6 +197,11 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 # Egypt +# Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh +# observatory; round to nearest. Milne also says that the official time for +# Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this +# did not apply to Cairo, Alexandria, or Port Said. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Egypt 1940 only - Jul 15 0:00 1:00 S Rule Egypt 1940 only - Oct 1 0:00 0 - @@ -329,7 +342,7 @@ Rule Egypt 2010 only - Sep 10 0:00 1:00 Rule Egypt 2010 only - Sep lastThu 23:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Cairo 2:05:00 - LMT 1900 Oct +Zone Africa/Cairo 2:05:09 - LMT 1900 Oct 2:00 Egypt EE%sT # Equatorial Guinea @@ -833,6 +846,41 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 J # 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes # August 20, 2012 from 2:00 am. +# From Paul Eggert (2013-03-06): +# Morocco's daylight-saving transitions due to Ramadan seem to be +# announced a bit in advance. On 2012-07-11 the Moroccan government +# announced that year's Ramadan daylight-saving transitions would be +# 2012-07-20 and 2012-08-20; see +# . +# +# To estimate what the Moroccan government will do in future years, +# transition dates for 2013 through 2021 were determined by running +# the following program under GNU Emacs 24.3: +# +# (let ((islamic-year 1434)) +# (while (< islamic-year 1444) +# (let ((a +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 9 1 islamic-year)))) +# (b +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 10 1 islamic-year))))) +# (insert +# (format +# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 3:00\t0\t-\n" +# "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 2:00\t1:00\tS\n") +# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a)) +# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b))))) +# (setq islamic-year (+ 1 islamic-year)))) +# +# with the results hand-edited for 2020-2022, when the normal spring-forward +# date falls during the estimated Ramadan. +# +# From 2023 through 2038 Ramadan is not predicted to overlap with +# daylight saving time. Starting in 2039 there will be overlap again, +# but 32-bit time_t values roll around in 2038 so for now do not worry +# about dates after 2038. + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Morocco 1939 only - Sep 12 0:00 1:00 S @@ -858,10 +906,28 @@ Rule Morocco 2010 only - May 2 0:00 1: Rule Morocco 2010 only - Aug 8 0:00 0 - Rule Morocco 2011 only - Apr 3 0:00 1:00 S Rule Morocco 2011 only - Jul 31 0 0 - -Rule Morocco 2012 max - Apr lastSun 2:00 1:00 S +Rule Morocco 2012 2019 - Apr lastSun 2:00 1:00 S Rule Morocco 2012 max - Sep lastSun 3:00 0 - Rule Morocco 2012 only - Jul 20 3:00 0 - Rule Morocco 2012 only - Aug 20 2:00 1:00 S +Rule Morocco 2013 only - Jul 9 3:00 0 - +Rule Morocco 2013 only - Aug 8 2:00 1:00 S +Rule Morocco 2014 only - Jun 29 3:00 0 - +Rule Morocco 2014 only - Jul 29 2:00 1:00 S +Rule Morocco 2015 only - Jun 18 3:00 0 - +Rule Morocco 2015 only - Jul 18 2:00 1:00 S +Rule Morocco 2016 only - Jun 7 3:00 0 - +Rule Morocco 2016 only - Jul 7 2:00 1:00 S +Rule Morocco 2017 only - May 27 3:00 0 - +Rule Morocco 2017 only - Jun 26 2:00 1:00 S +Rule Morocco 2018 only - May 16 3:00 0 - +Rule Morocco 2018 only - Jun 15 2:00 1:00 S +Rule Morocco 2019 only - May 6 3:00 0 - +Rule Morocco 2019 only - Jun 5 2:00 1:00 S +Rule Morocco 2020 only - May 24 2:00 1:00 S +Rule Morocco 2021 only - May 13 2:00 1:00 S +Rule Morocco 2022 only - May 3 2:00 1:00 S +Rule Morocco 2023 max - Apr lastSun 2:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 Modified: stable/7/share/zoneinfo/antarctica ============================================================================== --- stable/7/share/zoneinfo/antarctica Fri Mar 15 00:48:55 2013 (r248308) +++ stable/7/share/zoneinfo/antarctica Fri Mar 15 01:01:14 2013 (r248309) @@ -50,10 +50,8 @@ Rule ChileAQ 2009 only - Mar Sun>=9 3:00 Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 - Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 - Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule ChileAQ 2012 only - Apr Sun>=23 3:00u 0 - -Rule ChileAQ 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule ChileAQ 2013 max - Mar Sun>=9 3:00u 0 - -Rule ChileAQ 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule ChileAQ 2012 max - Apr Sun>=23 3:00u 0 - +Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S # These rules are stolen from the `australasia' file. Rule AusAQ 1917 only - Jan 1 0:01 1:00 - Modified: stable/7/share/zoneinfo/asia ============================================================================== --- stable/7/share/zoneinfo/asia Fri Mar 15 00:48:55 2013 (r248308) +++ stable/7/share/zoneinfo/asia Fri Mar 15 01:01:14 2013 (r248309) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -279,9 +283,12 @@ Zone Asia/Brunei 7:39:40 - LMT 1926 Mar 8:00 - BNT # Burma / Myanmar + +# Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Rangoon 6:24:40 - LMT 1880 # or Yangon - 6:24:36 - RMT 1920 # Rangoon Mean Time? + 6:24:40 - RMT 1920 # Rangoon Mean Time? 6:30 - BURT 1942 May # Burma Time 9:00 - JST 1945 May 3 6:30 - MMT # Myanmar Time @@ -384,7 +391,8 @@ Zone Asia/Harbin 8:26:44 - LMT 1928 # or 8:00 PRC C%sT # Zhongyuan Time ("Central plain Time") # most of China -Zone Asia/Shanghai 8:05:52 - LMT 1928 +# Milne gives 8:05:56.7; round to nearest. +Zone Asia/Shanghai 8:05:57 - LMT 1928 8:00 Shang C%sT 1949 8:00 PRC C%sT # Long-shu Time (probably due to Long and Shu being two names of that area) @@ -481,6 +489,10 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o 8:00 PRC C%sT +# Hong Kong (Xianggang) + +# Milne gives 7:36:41.7; round this. + # From Lee Yiu Chung (2009-10-24): # I found there are some mistakes for the...DST rule for Hong # Kong. [According] to the DST record from Hong Kong Observatory (actually, @@ -547,7 +559,6 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o # The Japanese surrender of Hong Kong was signed 1945-09-15. # For lack of anything better, use start of those days as the transition times. -# Hong Kong (Xianggang) # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule HK 1941 only - Apr 1 3:30 1:00 S Rule HK 1941 only - Sep 30 3:30 0 - @@ -569,7 +580,7 @@ Rule HK 1973 only - Dec 30 3:30 1:00 S Rule HK 1979 only - May Sun>=8 3:30 1:00 S Rule HK 1979 only - Oct Sun>=16 3:30 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30 +Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 8:00 HK HK%sT 1941 Dec 25 9:00 - JST 1945 Sep 15 8:00 HK HK%sT @@ -646,6 +657,9 @@ Zone Asia/Macau 7:34:20 - LMT 1912 ############################################################################### # Cyprus +# +# Milne says the Eastern Telegraph Company used 2:14:00. Stick with LMT. +# # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Cyprus 1975 only - Apr 13 0:00 1:00 S Rule Cyprus 1975 only - Oct 12 0:00 0 - @@ -1804,8 +1818,11 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920 5:45 - NPT # Nepal Time # Oman + +# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Muscat 3:54:20 - LMT 1920 +Zone Asia/Muscat 3:54:24 - LMT 1920 4:00 - GST # Pakistan @@ -2400,6 +2417,13 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 J # no information # Sri Lanka + +# From Paul Eggert (2013-02-21): +# Milne says "Madras mean time use from May 1, 1898. Prior to this Colombo +# mean time, 5h. 4m. 21.9s. F., was used." But 5:04:21.9 differs considerably +# from Colombo's meridian 5:19:24, so for now ignore Milne and stick with +# Shanks and Pottenger. + # From Paul Eggert (1996-09-03): # "Sri Lanka advances clock by an hour to avoid blackout" # (www.virtual-pc.com/lankaweb/news/items/240596-2.html, 1996-05-24, @@ -2699,6 +2723,12 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 Ma # Vietnam +# From Paul Eggert (2013-02-21): +# Milne gives 7:16:56 for the meridian of Saigon in 1899, as being +# used in Lower Laos, Cambodia, and Annam. But this is quite a ways +# from Saigon's location. For now, ignore this and stick with Shanks +# and Pottenger. + # From Arthur David Olson (2008-03-18): # The English-language name of Vietnam's most populous city is "Ho Chi Min City"; # we use Ho_Chi_Minh below to avoid a name of more than 14 characters. @@ -2712,6 +2742,10 @@ Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 7:00 - ICT # Yemen + +# Milne says 2:59:54 was the meridian of the saluting battery at Aden, +# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Aden 3:00:48 - LMT 1950 +Zone Asia/Aden 2:59:54 - LMT 1950 3:00 - AST Modified: stable/7/share/zoneinfo/australasia ============================================================================== --- stable/7/share/zoneinfo/australasia Fri Mar 15 00:48:55 2013 (r248308) +++ stable/7/share/zoneinfo/australasia Fri Mar 15 01:01:14 2013 (r248309) @@ -246,6 +246,9 @@ Zone Indian/Cocos 6:27:40 - LMT 1900 6:30 - CCT # Cocos Islands Time # Fiji + +# Milne gives 11:55:44 for Suva. + # From Alexander Krivenyshev (2009-11-10): # According to Fiji Broadcasting Corporation, Fiji plans to re-introduce DST # from November 29th 2009 to April 25th 2010. @@ -339,7 +342,7 @@ Rule Fiji 2010 max - Oct Sun>=18 2:00 1: Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - Rule Fiji 2012 max - Jan Sun>=18 3:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva +Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva 12:00 Fiji FJ%sT # Fiji Time # French Polynesia @@ -782,7 +785,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). @@ -800,6 +803,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # Modified: stable/7/share/zoneinfo/europe ============================================================================== --- stable/7/share/zoneinfo/europe Fri Mar 15 00:48:55 2013 (r248308) +++ stable/7/share/zoneinfo/europe Fri Mar 15 01:01:14 2013 (r248309) @@ -30,6 +30,12 @@ # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . He writes: +# "It is requested that corrections and additions to these tables +# may be sent to Mr. John Milne, Royal Geographical Society, +# Savile Row, London." Nowadays please email them to tz@iana.org. +# # Brazil's Departamento Servico da Hora (DSH), # # History of Summer Time @@ -666,6 +672,8 @@ Zone Europe/Andorra 0:06:04 - LMT 1901 # Austria +# Milne says Vienna time was 1:05:21. + # From Paul Eggert (2006-03-22): Shanks & Pottenger give 1918-06-16 and # 1945-11-18, but the Austrian Federal Office of Metrology and # Surveying (BEV) gives 1918-09-16 and for Vienna gives the "alleged" @@ -683,7 +691,7 @@ Rule Austria 1948 only - Apr 18 2:00s 1: Rule Austria 1980 only - Apr 6 0:00 1:00 S Rule Austria 1980 only - Sep 28 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Europe/Vienna 1:05:20 - LMT 1893 Apr +Zone Europe/Vienna 1:05:21 - LMT 1893 Apr 1:00 C-Eur CE%sT 1920 1:00 Austria CE%sT 1940 Apr 1 2:00s 1:00 C-Eur CE%sT 1945 Apr 2 2:00s @@ -1239,6 +1247,21 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Ap 1:00 Germany CE%sT 1980 1:00 EU CE%sT +# From Tobias Conradi (2011-09-12): +# Busingen , surrounded by the Swiss canton +# Schaffhausen, did not start observing DST in 1980 as the rest of DE +# (West Germany at that time) and DD (East Germany at that time) did. +# DD merged into DE, the area is currently covered by code DE in ISO 3166-1, +# which in turn is covered by the zone Europe/Berlin. +# +# Source for the time in Busingen 1980: +# http://www.srf.ch/player/video?id=c012c029-03b7-4c2b-9164-aa5902cd58d3 + +# From Arthur David Olson (2012-03-03): +# Busingen and Zurich have shared clocks since 1970. + +Link Europe/Zurich Europe/Busingen + # Georgia # Please see the "asia" file for Asia/Tbilisi. # Herodotus (Histories, IV.45) says Georgia north of the Phasis (now Rioni) @@ -2043,6 +2066,70 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 # Russia +# From Alexander Krivenyshev (2011-09-15): +# Based on last Russian Government Decree # 725 on August 31, 2011 +# (Government document +# +# http://www.government.ru/gov/results/16355/print/ +# +# in Russian) +# there are few corrections have to be made for some Russian time zones... +# All updated Russian Time Zones were placed in table and translated to English +# by WorldTimeZone.com at the link below: +# +# http://www.worldtimezone.com/dst_news/dst_news_russia36.htm +# + +# From Sanjeev Gupta (2011-09-27): +# Scans of [Decree #23 of January 8, 1992] are available at: +# +# http://government.consultant.ru/page.aspx?1223966 +# They are in Cyrillic letters (presumably Russian). + +# From Arthur David Olson (2012-05-09): +# Regarding the instant when clocks in time-zone-shifting parts of Russia +# changed in September 2011: +# +# One source is +# < a href="http://government.ru/gov/results/16355/> +# http://government.ru/gov/results/16355/ +# +# which, according to translate.google.com, begins "Decree of August 31, +# 2011 No 725" and contains no other dates or "effective date" information. +# +# Another source is +# +# http://www.rg.ru/2011/09/06/chas-zona-dok.html +# +# which, according to translate.google.com, begins "Resolution of the +# Government of the Russian Federation on August 31, 2011 N 725" and also +# contains "Date first official publication: September 6, 2011 Posted on: +# in the 'RG' - Federal Issue number 5573 September 6, 2011" but which +# does not contain any "effective date" information. +# +# Another source is +# +# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 +# +# which, in note 8, contains "Resolution #725 of August 31, 2011... +# Effective as of after 7 days following the day of the official publication" +# but which does not contain any reference to September 6, 2011. +# +# The Wikipedia article refers to +# +# http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=118896 +# +# which seems to copy the text of the government.ru page. +# +# Tobias Conradi combines Wikipedia's +# "as of after 7 days following the day of the official publication" +# with www.rg.ru's "Date of first official publication: September 6, 2011" to get +# September 13, 2011 as the cutover date (unusually, a Tuesday, as Tobias Conradi notes). +# +# None of the sources indicates a time of day for changing clocks. +# +# Go with 2011-09-13 0:00s. + # From Paul Eggert (2006-03-22): # Except for Moscow after 1919-07-01, I invented the time zone abbreviations. # Moscow time zone abbreviations after 1919-07-01, and Moscow rules after 1991, @@ -2270,14 +2357,32 @@ Zone Asia/Yakutsk 8:38:40 - LMT 1919 De # [parts of] Respublika Sakha (Yakutiya). # From Oscar van Vlijmen (2009-11-29): -# The Sakha districts are: Bulunskij, Verkhoyanskij, Tomponskij, Ust'-Majskij, -# Ust'-Yanskij. +# The Sakha districts are: Bulunskij, Verkhoyanskij, ... Ust'-Yanskij. Zone Asia/Vladivostok 8:47:44 - LMT 1922 Nov 15 9:00 - VLAT 1930 Jun 21 # Vladivostok Time 10:00 Russia VLA%sT 1991 Mar 31 2:00s 9:00 Russia VLA%sST 1992 Jan 19 2:00s 10:00 Russia VLA%sT 2011 Mar 27 2:00s 11:00 - VLAT + +# From Arthur David Olson (2012-05-09): +# Tomponskij and Ust'-Majskij switched from Vladivostok time to Yakutsk time +# in 2011. +# +# From Paul Eggert (2012-11-25): +# Shanks and Pottenger (2003) has Khandyga on Yakutsk time. +# Make a wild guess that it switched to Vladivostok time in 2004. +# This transition is no doubt wrong, but we have no better info. +# +Zone Asia/Khandyga 9:02:13 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAK%sT 1991 Mar 31 2:00s + 8:00 Russia YAK%sT 1992 Jan 19 2:00s + 9:00 Russia YAK%sT 2004 + 10:00 Russia VLA%sT 2011 Mar 27 2:00s + 11:00 - VLAT 2011 Sep 13 0:00s # Decree 725? + 10:00 - YAKT + # # Sakhalinskaya oblast'. # The Zone name should be Yuzhno-Sakhalinsk, but that's too long. @@ -2296,14 +2401,26 @@ Zone Asia/Sakhalin 9:30:48 - LMT 1905 A # From Oscar van Vlijmen (2009-11-29): # The Sakha districts are: Abyjskij, Allaikhovskij, Verkhhhnekolymskij, Momskij, -# Nizhnekolymskij, Ojmyakonskij, Srednekolymskij. +# Nizhnekolymskij, ... Srednekolymskij. Zone Asia/Magadan 10:03:12 - LMT 1924 May 2 10:00 - MAGT 1930 Jun 21 # Magadan Time 11:00 Russia MAG%sT 1991 Mar 31 2:00s 10:00 Russia MAG%sT 1992 Jan 19 2:00s 11:00 Russia MAG%sT 2011 Mar 27 2:00s 12:00 - MAGT -# + +# From Arthur David Olson (2012-05-09): +# Ojmyakonskij and the Kuril Islands switched from +# Magadan time to Vladivostok time in 2011. +Zone Asia/Ust-Nera 9:32:54 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAKT 1981 Apr 1 + 11:00 Russia MAG%sT 1991 Mar 31 2:00s + 10:00 Russia MAG%sT 1992 Jan 19 2:00s + 11:00 Russia MAG%sT 2011 Mar 27 2:00s + 12:00 - MAGT 2011 Sep 13 0:00s # Decree 725? + 11:00 - VLAT + # From Oscar van Vlijmen (2001-08-25): [This region consists of] # Kamchatskaya oblast', Koryakskij avtonomnyj okrug. # Modified: stable/7/share/zoneinfo/northamerica ============================================================================== --- stable/7/share/zoneinfo/northamerica Fri Mar 15 00:48:55 2013 (r248308) +++ stable/7/share/zoneinfo/northamerica Fri Mar 15 01:01:14 2013 (r248309) @@ -1019,6 +1019,9 @@ Zone America/Menominee -5:50:27 - LMT 18 # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # See the `europe' file for Greenland. # Canada @@ -2554,6 +2557,8 @@ Zone America/Antigua -4:07:12 - LMT 1912 # Bahamas # +# For 1899 Milne gives -5:09:29.5; round that. +# # From Sue Williams (2006-12-07): # The Bahamas announced about a month ago that they plan to change their DST # rules to sync with the U.S. starting in 2007.... @@ -2563,11 +2568,14 @@ Zone America/Antigua -4:07:12 - LMT 1912 Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Nassau -5:09:24 - LMT 1912 Mar 2 +Zone America/Nassau -5:09:30 - LMT 1912 Mar 2 -5:00 Bahamas E%sT 1976 -5:00 US E%sT # Barbados + +# For 1899 Milne gives -3:58:29.2; round that. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Barb 1977 only - Jun 12 2:00 1:00 D Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S @@ -2575,8 +2583,8 @@ Rule Barb 1978 1980 - Apr Sun>=15 2:00 1 Rule Barb 1979 only - Sep 30 2:00 0 S Rule Barb 1980 only - Sep 25 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Barbados -3:58:28 - LMT 1924 # Bridgetown - -3:58:28 - BMT 1932 # Bridgetown Mean Time +Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown + -3:58:29 - BMT 1932 # Bridgetown Mean Time -4:00 Barb A%sT # Belize @@ -2594,6 +2602,9 @@ Zone America/Belize -5:52:48 - LMT 1912 # Bermuda +# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower, +# Bermuda dockyard, Ireland I; round that. + # From Dan Jones, reporting in The Royal Gazette (2006-06-26): # Next year, however, clocks in the US will go forward on the second Sunday @@ -2603,7 +2614,7 @@ Zone America/Belize -5:52:48 - LMT 1912 # http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135 # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Atlantic/Bermuda -4:19:04 - LMT 1930 Jan 1 2:00 # Hamilton +Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton -4:00 - AST 1974 Apr 28 2:00 -4:00 Bahamas A%sT 1976 -4:00 US A%sT @@ -2615,6 +2626,9 @@ Zone America/Cayman -5:25:32 - LMT 1890 -5:00 - EST # Costa Rica + +# Milne gives -5:36:13.3 as San Jose mean time; round to nearest. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CR 1979 1980 - Feb lastSun 0:00 1:00 D Rule CR 1979 1980 - Jun Sun>=1 0:00 0 S @@ -2625,14 +2639,19 @@ Rule CR 1991 only - Jul 1 0:00 0 S Rule CR 1992 only - Mar 15 0:00 0 S # There are too many San Joses elsewhere, so we'll use `Costa Rica'. # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Costa_Rica -5:36:20 - LMT 1890 # San Jose - -5:36:20 - SJMT 1921 Jan 15 # San Jose Mean Time +Zone America/Costa_Rica -5:36:13 - LMT 1890 # San Jose + -5:36:13 - SJMT 1921 Jan 15 # San Jose Mean Time -6:00 CR C%sT # Coco # no information; probably like America/Costa_Rica # Cuba +# From Paul Eggert (2013-02-21): +# Milne gives -5:28:50.45 for the observatory at Havana, -5:29:23.57 +# for the port, and -5:30 for meteorological observations. +# For now, stick with Shanks & Pottenger. + # From Arthur David Olson (1999-03-29): # The 1999-03-28 exhibition baseball game held in Havana, Cuba, between # the Cuban National Team and the Baltimore Orioles was carried live on @@ -2981,24 +3000,21 @@ Zone America/Guatemala -6:02:04 - LMT 19 # apparently using the same start and end date as USA/Canada. # So this means they have already changed their time. # -# (Sources in French): -# # http://www.alterpresse.org/spip.php?article12510 -# -# # http://radiovision2000haiti.net/home/?p=13253 -# # -# Our coverage: -# -# http://www.timeanddate.com/news/time/haiti-dst-2012.html -# - # From Arthur David Olson (2012-03-11): # The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to # 3:00 a.m. rather than the traditional Haitian jump at midnight. -# Assume a US-style fall back as well XXX. -# Do not yet assume that the change carries forward past 2012 XXX. +# Assume a US-style fall back as well. + +# From Steffen Thorsen (2013-03-10): +# It appears that Haiti is observing DST this year as well, same rules +# as US/Canada. They did it last year as well, and it looks like they +# are going to observe DST every year now... +# +# http://radiovision2000haiti.net/public/haiti-avis-changement-dheure-dimanche/ +# http://www.canalplushaiti.net/?p=6714 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Haiti 1983 only - May 8 0:00 1:00 D @@ -3010,8 +3026,8 @@ Rule Haiti 1988 1997 - Apr Sun>=1 1:00s Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S -Rule Haiti 2012 only - Mar Sun>=8 2:00 1:00 D -Rule Haiti 2012 only - Nov Sun>=1 2:00 0 S +Rule Haiti 2012 max - Mar Sun>=8 2:00 1:00 D +Rule Haiti 2012 max - Nov Sun>=1 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Port-au-Prince -4:49:20 - LMT 1890 -4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT Modified: stable/7/share/zoneinfo/southamerica ============================================================================== --- stable/7/share/zoneinfo/southamerica Fri Mar 15 00:48:55 2013 (r248308) +++ stable/7/share/zoneinfo/southamerica Fri Mar 15 01:01:14 2013 (r248309) @@ -11,6 +11,10 @@ # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # Gwillim Law writes that a good source # for recent time zone data is the International Air Transport # Association's Standard Schedules Information Manual (IATA SSIM), @@ -381,21 +385,11 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # # is the official page for the Province Government). # -# There's also a note in only one of the major national papers (La Nación) at -# +# There's also a note in only one of the major national papers ... # http://www.lanacion.com.ar/nota.asp?nota_id=1107912 -# # -# The press release says: -# (...) anunció que el próximo domingo a las 00:00 los puntanos deberán -# atrasar una hora sus relojes. -# -# A partir de entonces, San Luis establecerá el huso horario propio de -# la Provincia. De esta manera, durante el periodo del calendario anual -# 2009, el cambio horario quedará comprendido entre las 00:00 del tercer -# domingo de marzo y las 24:00 del segundo sábado de octubre. -# Quick&dirty translation -# (...) announced that next Sunday, at 00:00, Puntanos (the San Luis +# The press release says [quick and dirty translation]: +# ... announced that next Sunday, at 00:00, Puntanos (the San Luis # inhabitants) will have to turn back one hour their clocks # # Since then, San Luis will establish its own Province timezone. Thus, @@ -457,6 +451,9 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # rules...San Luis is still using "Western ARgentina Time" and it got # stuck on Summer daylight savings time even though the summer is over. +# From Paul Eggert (2013-02-21): +# Milne says Cordoba time was -4:16:48.2. Round to the nearest second. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Buenos Aires (BA), Capital Federal (CF), @@ -812,9 +809,9 @@ Zone America/La_Paz -4:32:36 - LMT 1890 # From Guilherme Bernardes Rodrigues (2011-10-07): # There is news in the media, however there is still no decree about it. -# I just send a e-mail to Zulmira Brandão at +# I just send a e-mail to Zulmira Brandao at # http://pcdsh01.on.br/ the -# oficial agency about time in Brazil, and she confirmed that the old rule is +# official agency about time in Brazil, and she confirmed that the old rule is # still in force. # From Guilherme Bernardes Rodrigues (2011-10-14) @@ -1243,9 +1240,13 @@ Zone America/Rio_Branco -4:31:12 - LMT 1 # b. Saturday, September 1, 2012, clocks should go forward 60 minutes; that is, # at 23:59:59, instead of passing to 0:00, the time should be adjusted to be # 01:00 on September 2. -# -# Note that...this is yet another "temporary" change that will be reevaluated -# AGAIN in 2013. + +# From Steffen Thorsen (2013-02-15): +# According to several news sources, Chile has extended DST this year, +# they will end DST later and start DST earlier than planned. They +# hope to save energy. The new end date is 2013-04-28 00:00 and new +# start date is 2013-09-08 00:00.... +# http://www.gob.cl/informa/2013/02/15/gobierno-anuncia-fechas-de-cambio-de-hora-para-el-ano-2013.htm # NOTE: ChileAQ rules for Antarctic bases are stored separately in the # 'antarctica' file. @@ -1288,10 +1289,8 @@ Rule Chile 2009 only - Mar Sun>=9 3:00u Rule Chile 2010 only - Apr Sun>=1 3:00u 0 - Rule Chile 2011 only - May Sun>=2 3:00u 0 - Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule Chile 2012 only - Apr Sun>=23 3:00u 0 - -Rule Chile 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule Chile 2013 max - Mar Sun>=9 3:00u 0 - -Rule Chile 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule Chile 2012 max - Apr Sun>=23 3:00u 0 - +Rule Chile 2012 max - Sep Sun>=2 4:00u 1:00 S # IATA SSIM anomalies: (1992-02) says 1992-03-14; # (1996-09) says 1998-03-08. Ignore these. # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1313,17 +1312,23 @@ Zone Pacific/Easter -7:17:44 - LMT 1890 # San Felix, and Antarctic bases, are like America/Santiago. # Colombia + +# Milne gives 4:56:16.4 for Bogota time in 1899; round to nearest. He writes, +# "A variation of fifteen minutes in the public clocks of Bogota is not rare." + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CO 1992 only - May 3 0:00 1:00 S Rule CO 1993 only - Apr 4 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Bogota -4:56:20 - LMT 1884 Mar 13 - -4:56:20 - BMT 1914 Nov 23 # Bogota Mean Time +Zone America/Bogota -4:56:16 - LMT 1884 Mar 13 + -4:56:16 - BMT 1914 Nov 23 # Bogota Mean Time -5:00 CO CO%sT # Colombia Time # Malpelo, Providencia, San Andres # no information; probably like America/Bogota # Curacao + +# Milne gives 4:35:46.9 for Curacao mean time; round to nearest. # # From Paul Eggert (2006-03-22): # Shanks & Pottenger say that The Bottom and Philipsburg have been at @@ -1340,7 +1345,7 @@ Zone America/Bogota -4:56:20 - LMT 1884 # though, as far as we know. # # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad +Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad -4:30 - ANT 1965 # Netherlands Antilles Time -4:00 - AST @@ -1354,6 +1359,8 @@ Link America/Curacao America/Kralendijk # Ecuador # +# Milne says the Sentral and South American Telegraph Company used -5:24:15. +# # From Paul Eggert (2007-03-04): # Apparently Ecuador had a failed experiment with DST in 1992. # (2007-02-27) and @@ -1560,6 +1567,15 @@ Rule Para 2005 2009 - Mar Sun>=8 0:00 0 # ... Rule Para 2010 max - Oct Sun>=1 0:00 1:00 S Rule Para 2010 max - Apr Sun>=8 0:00 0 - +# +# From Steffen Thorsen (2013-03-07): +# Paraguay will end DST on 2013-03-24 00:00.... +# They do not tell if this will be a permanent change or just this year.... +# http://www.ande.gov.py/interna.php?id=1075 +# +# From Paul Eggert (2013-03-07): +# For now, assume it's just this year. +Rule Para 2013 only - Mar 24 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Asuncion -3:50:40 - LMT 1890 Modified: stable/7/share/zoneinfo/zone.tab ============================================================================== --- stable/7/share/zoneinfo/zone.tab Fri Mar 15 00:48:55 2013 (r248308) +++ stable/7/share/zoneinfo/zone.tab Fri Mar 15 01:01:14 2013 (r248309) @@ -159,7 +159,8 @@ CW +1211-06900 America/Curacao CX -1025+10543 Indian/Christmas CY +3510+03322 Asia/Nicosia CZ +5005+01426 Europe/Prague -DE +5230+01322 Europe/Berlin +DE +5230+01322 Europe/Berlin most locations +DE +4742+00841 Europe/Busingen Busingen DJ +1136+04309 Africa/Djibouti DK +5540+01235 Europe/Copenhagen DM +1518-06124 America/Dominica @@ -341,8 +342,10 @@ RU +5345+08707 Asia/Novokuznetsk Moscow+ RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River +RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island +RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky RU +5934+15048 Asia/Magadan Moscow+08 - Magadan RU +5301+15839 Asia/Kamchatka Moscow+08 - Kamchatka RU +6445+17729 Asia/Anadyr Moscow+08 - Bering Sea From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 01:02:37 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E52E57E4; Fri, 15 Mar 2013 01:02:37 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D22B1754; Fri, 15 Mar 2013 01:02:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F12bDd094157; Fri, 15 Mar 2013 01:02:37 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F12acc094142; Fri, 15 Mar 2013 01:02:36 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201303150102.r2F12acc094142@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 15 Mar 2013 01:02:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248310 - stable/9/contrib/tzdata X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 01:02:38 -0000 Author: edwin Date: Fri Mar 15 01:02:35 2013 New Revision: 248310 URL: http://svnweb.freebsd.org/changeset/base/248310 Log: Merge of current of tzdata2013b Lots of historical data added. Morocco: add DST rules for the coming years Cuba: Doing DST in 2013. Chili: Will do DST in 2013 as it seems Modified: stable/9/contrib/tzdata/africa stable/9/contrib/tzdata/antarctica stable/9/contrib/tzdata/asia stable/9/contrib/tzdata/australasia stable/9/contrib/tzdata/europe stable/9/contrib/tzdata/northamerica stable/9/contrib/tzdata/southamerica stable/9/contrib/tzdata/zone.tab Directory Properties: stable/9/contrib/tzdata/ (props changed) Modified: stable/9/contrib/tzdata/africa ============================================================================== --- stable/9/contrib/tzdata/africa Fri Mar 15 01:01:14 2013 (r248309) +++ stable/9/contrib/tzdata/africa Fri Mar 15 01:02:35 2013 (r248310) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -116,8 +120,12 @@ Zone Africa/Porto-Novo 0:10:28 - LMT 191 1:00 - WAT # Botswana +# From Paul Eggert (2013-02-21): +# Milne says they were regulated by the Cape Town Signal in 1899; +# assume they switched to 2:00 when Cape Town did. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Gaborone 1:43:40 - LMT 1885 + 1:30 - SAST 1903 Mar 2:00 - CAT 1943 Sep 19 2:00 2:00 1:00 CAST 1944 Mar 19 2:00 2:00 - CAT @@ -189,6 +197,11 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 # Egypt +# Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh +# observatory; round to nearest. Milne also says that the official time for +# Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this +# did not apply to Cairo, Alexandria, or Port Said. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Egypt 1940 only - Jul 15 0:00 1:00 S Rule Egypt 1940 only - Oct 1 0:00 0 - @@ -329,7 +342,7 @@ Rule Egypt 2010 only - Sep 10 0:00 1:00 Rule Egypt 2010 only - Sep lastThu 23:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Cairo 2:05:00 - LMT 1900 Oct +Zone Africa/Cairo 2:05:09 - LMT 1900 Oct 2:00 Egypt EE%sT # Equatorial Guinea @@ -833,6 +846,41 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 J # 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes # August 20, 2012 from 2:00 am. +# From Paul Eggert (2013-03-06): +# Morocco's daylight-saving transitions due to Ramadan seem to be +# announced a bit in advance. On 2012-07-11 the Moroccan government +# announced that year's Ramadan daylight-saving transitions would be +# 2012-07-20 and 2012-08-20; see +# . +# +# To estimate what the Moroccan government will do in future years, +# transition dates for 2013 through 2021 were determined by running +# the following program under GNU Emacs 24.3: +# +# (let ((islamic-year 1434)) +# (while (< islamic-year 1444) +# (let ((a +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 9 1 islamic-year)))) +# (b +# (calendar-gregorian-from-absolute +# (calendar-islamic-to-absolute (list 10 1 islamic-year))))) +# (insert +# (format +# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 3:00\t0\t-\n" +# "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 2:00\t1:00\tS\n") +# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a)) +# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b))))) +# (setq islamic-year (+ 1 islamic-year)))) +# +# with the results hand-edited for 2020-2022, when the normal spring-forward +# date falls during the estimated Ramadan. +# +# From 2023 through 2038 Ramadan is not predicted to overlap with +# daylight saving time. Starting in 2039 there will be overlap again, +# but 32-bit time_t values roll around in 2038 so for now do not worry +# about dates after 2038. + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Morocco 1939 only - Sep 12 0:00 1:00 S @@ -858,10 +906,28 @@ Rule Morocco 2010 only - May 2 0:00 1: Rule Morocco 2010 only - Aug 8 0:00 0 - Rule Morocco 2011 only - Apr 3 0:00 1:00 S Rule Morocco 2011 only - Jul 31 0 0 - -Rule Morocco 2012 max - Apr lastSun 2:00 1:00 S +Rule Morocco 2012 2019 - Apr lastSun 2:00 1:00 S Rule Morocco 2012 max - Sep lastSun 3:00 0 - Rule Morocco 2012 only - Jul 20 3:00 0 - Rule Morocco 2012 only - Aug 20 2:00 1:00 S +Rule Morocco 2013 only - Jul 9 3:00 0 - +Rule Morocco 2013 only - Aug 8 2:00 1:00 S +Rule Morocco 2014 only - Jun 29 3:00 0 - +Rule Morocco 2014 only - Jul 29 2:00 1:00 S +Rule Morocco 2015 only - Jun 18 3:00 0 - +Rule Morocco 2015 only - Jul 18 2:00 1:00 S +Rule Morocco 2016 only - Jun 7 3:00 0 - +Rule Morocco 2016 only - Jul 7 2:00 1:00 S +Rule Morocco 2017 only - May 27 3:00 0 - +Rule Morocco 2017 only - Jun 26 2:00 1:00 S +Rule Morocco 2018 only - May 16 3:00 0 - +Rule Morocco 2018 only - Jun 15 2:00 1:00 S +Rule Morocco 2019 only - May 6 3:00 0 - +Rule Morocco 2019 only - Jun 5 2:00 1:00 S +Rule Morocco 2020 only - May 24 2:00 1:00 S +Rule Morocco 2021 only - May 13 2:00 1:00 S +Rule Morocco 2022 only - May 3 2:00 1:00 S +Rule Morocco 2023 max - Apr lastSun 2:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 Modified: stable/9/contrib/tzdata/antarctica ============================================================================== --- stable/9/contrib/tzdata/antarctica Fri Mar 15 01:01:14 2013 (r248309) +++ stable/9/contrib/tzdata/antarctica Fri Mar 15 01:02:35 2013 (r248310) @@ -50,10 +50,8 @@ Rule ChileAQ 2009 only - Mar Sun>=9 3:00 Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 - Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 - Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule ChileAQ 2012 only - Apr Sun>=23 3:00u 0 - -Rule ChileAQ 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule ChileAQ 2013 max - Mar Sun>=9 3:00u 0 - -Rule ChileAQ 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule ChileAQ 2012 max - Apr Sun>=23 3:00u 0 - +Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S # These rules are stolen from the `australasia' file. Rule AusAQ 1917 only - Jan 1 0:01 1:00 - Modified: stable/9/contrib/tzdata/asia ============================================================================== --- stable/9/contrib/tzdata/asia Fri Mar 15 01:01:14 2013 (r248309) +++ stable/9/contrib/tzdata/asia Fri Mar 15 01:02:35 2013 (r248310) @@ -6,7 +6,7 @@ # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -25,6 +25,10 @@ # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # @@ -279,9 +283,12 @@ Zone Asia/Brunei 7:39:40 - LMT 1926 Mar 8:00 - BNT # Burma / Myanmar + +# Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Rangoon 6:24:40 - LMT 1880 # or Yangon - 6:24:36 - RMT 1920 # Rangoon Mean Time? + 6:24:40 - RMT 1920 # Rangoon Mean Time? 6:30 - BURT 1942 May # Burma Time 9:00 - JST 1945 May 3 6:30 - MMT # Myanmar Time @@ -384,7 +391,8 @@ Zone Asia/Harbin 8:26:44 - LMT 1928 # or 8:00 PRC C%sT # Zhongyuan Time ("Central plain Time") # most of China -Zone Asia/Shanghai 8:05:52 - LMT 1928 +# Milne gives 8:05:56.7; round to nearest. +Zone Asia/Shanghai 8:05:57 - LMT 1928 8:00 Shang C%sT 1949 8:00 PRC C%sT # Long-shu Time (probably due to Long and Shu being two names of that area) @@ -481,6 +489,10 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o 8:00 PRC C%sT +# Hong Kong (Xianggang) + +# Milne gives 7:36:41.7; round this. + # From Lee Yiu Chung (2009-10-24): # I found there are some mistakes for the...DST rule for Hong # Kong. [According] to the DST record from Hong Kong Observatory (actually, @@ -547,7 +559,6 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # o # The Japanese surrender of Hong Kong was signed 1945-09-15. # For lack of anything better, use start of those days as the transition times. -# Hong Kong (Xianggang) # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule HK 1941 only - Apr 1 3:30 1:00 S Rule HK 1941 only - Sep 30 3:30 0 - @@ -569,7 +580,7 @@ Rule HK 1973 only - Dec 30 3:30 1:00 S Rule HK 1979 only - May Sun>=8 3:30 1:00 S Rule HK 1979 only - Oct Sun>=16 3:30 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30 +Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 8:00 HK HK%sT 1941 Dec 25 9:00 - JST 1945 Sep 15 8:00 HK HK%sT @@ -646,6 +657,9 @@ Zone Asia/Macau 7:34:20 - LMT 1912 ############################################################################### # Cyprus +# +# Milne says the Eastern Telegraph Company used 2:14:00. Stick with LMT. +# # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Cyprus 1975 only - Apr 13 0:00 1:00 S Rule Cyprus 1975 only - Oct 12 0:00 0 - @@ -1804,8 +1818,11 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920 5:45 - NPT # Nepal Time # Oman + +# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Muscat 3:54:20 - LMT 1920 +Zone Asia/Muscat 3:54:24 - LMT 1920 4:00 - GST # Pakistan @@ -2400,6 +2417,13 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 J # no information # Sri Lanka + +# From Paul Eggert (2013-02-21): +# Milne says "Madras mean time use from May 1, 1898. Prior to this Colombo +# mean time, 5h. 4m. 21.9s. F., was used." But 5:04:21.9 differs considerably +# from Colombo's meridian 5:19:24, so for now ignore Milne and stick with +# Shanks and Pottenger. + # From Paul Eggert (1996-09-03): # "Sri Lanka advances clock by an hour to avoid blackout" # (www.virtual-pc.com/lankaweb/news/items/240596-2.html, 1996-05-24, @@ -2699,6 +2723,12 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 Ma # Vietnam +# From Paul Eggert (2013-02-21): +# Milne gives 7:16:56 for the meridian of Saigon in 1899, as being +# used in Lower Laos, Cambodia, and Annam. But this is quite a ways +# from Saigon's location. For now, ignore this and stick with Shanks +# and Pottenger. + # From Arthur David Olson (2008-03-18): # The English-language name of Vietnam's most populous city is "Ho Chi Min City"; # we use Ho_Chi_Minh below to avoid a name of more than 14 characters. @@ -2712,6 +2742,10 @@ Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 7:00 - ICT # Yemen + +# Milne says 2:59:54 was the meridian of the saluting battery at Aden, +# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Aden 3:00:48 - LMT 1950 +Zone Asia/Aden 2:59:54 - LMT 1950 3:00 - AST Modified: stable/9/contrib/tzdata/australasia ============================================================================== --- stable/9/contrib/tzdata/australasia Fri Mar 15 01:01:14 2013 (r248309) +++ stable/9/contrib/tzdata/australasia Fri Mar 15 01:02:35 2013 (r248310) @@ -246,6 +246,9 @@ Zone Indian/Cocos 6:27:40 - LMT 1900 6:30 - CCT # Cocos Islands Time # Fiji + +# Milne gives 11:55:44 for Suva. + # From Alexander Krivenyshev (2009-11-10): # According to Fiji Broadcasting Corporation, Fiji plans to re-introduce DST # from November 29th 2009 to April 25th 2010. @@ -339,7 +342,7 @@ Rule Fiji 2010 max - Oct Sun>=18 2:00 1: Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - Rule Fiji 2012 max - Jan Sun>=18 3:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva +Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva 12:00 Fiji FJ%sT # Fiji Time # French Polynesia @@ -782,7 +785,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # go ahead and edit the file (and please send any changes to # tz@iana.org for general use in the future). -# From Paul Eggert (2006-03-22): +# From Paul Eggert (2013-02-21): # A good source for time zone historical data outside the U.S. is # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). @@ -800,6 +803,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # I found in the UCLA library. # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). # Modified: stable/9/contrib/tzdata/europe ============================================================================== --- stable/9/contrib/tzdata/europe Fri Mar 15 01:01:14 2013 (r248309) +++ stable/9/contrib/tzdata/europe Fri Mar 15 01:02:35 2013 (r248310) @@ -30,6 +30,12 @@ # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . He writes: +# "It is requested that corrections and additions to these tables +# may be sent to Mr. John Milne, Royal Geographical Society, +# Savile Row, London." Nowadays please email them to tz@iana.org. +# # Brazil's Departamento Servico da Hora (DSH), # # History of Summer Time @@ -666,6 +672,8 @@ Zone Europe/Andorra 0:06:04 - LMT 1901 # Austria +# Milne says Vienna time was 1:05:21. + # From Paul Eggert (2006-03-22): Shanks & Pottenger give 1918-06-16 and # 1945-11-18, but the Austrian Federal Office of Metrology and # Surveying (BEV) gives 1918-09-16 and for Vienna gives the "alleged" @@ -683,7 +691,7 @@ Rule Austria 1948 only - Apr 18 2:00s 1: Rule Austria 1980 only - Apr 6 0:00 1:00 S Rule Austria 1980 only - Sep 28 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Europe/Vienna 1:05:20 - LMT 1893 Apr +Zone Europe/Vienna 1:05:21 - LMT 1893 Apr 1:00 C-Eur CE%sT 1920 1:00 Austria CE%sT 1940 Apr 1 2:00s 1:00 C-Eur CE%sT 1945 Apr 2 2:00s @@ -1239,6 +1247,21 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Ap 1:00 Germany CE%sT 1980 1:00 EU CE%sT +# From Tobias Conradi (2011-09-12): +# Busingen , surrounded by the Swiss canton +# Schaffhausen, did not start observing DST in 1980 as the rest of DE +# (West Germany at that time) and DD (East Germany at that time) did. +# DD merged into DE, the area is currently covered by code DE in ISO 3166-1, +# which in turn is covered by the zone Europe/Berlin. +# +# Source for the time in Busingen 1980: +# http://www.srf.ch/player/video?id=c012c029-03b7-4c2b-9164-aa5902cd58d3 + +# From Arthur David Olson (2012-03-03): +# Busingen and Zurich have shared clocks since 1970. + +Link Europe/Zurich Europe/Busingen + # Georgia # Please see the "asia" file for Asia/Tbilisi. # Herodotus (Histories, IV.45) says Georgia north of the Phasis (now Rioni) @@ -2043,6 +2066,70 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 # Russia +# From Alexander Krivenyshev (2011-09-15): +# Based on last Russian Government Decree # 725 on August 31, 2011 +# (Government document +# +# http://www.government.ru/gov/results/16355/print/ +# +# in Russian) +# there are few corrections have to be made for some Russian time zones... +# All updated Russian Time Zones were placed in table and translated to English +# by WorldTimeZone.com at the link below: +# +# http://www.worldtimezone.com/dst_news/dst_news_russia36.htm +# + +# From Sanjeev Gupta (2011-09-27): +# Scans of [Decree #23 of January 8, 1992] are available at: +# +# http://government.consultant.ru/page.aspx?1223966 +# They are in Cyrillic letters (presumably Russian). + +# From Arthur David Olson (2012-05-09): +# Regarding the instant when clocks in time-zone-shifting parts of Russia +# changed in September 2011: +# +# One source is +# < a href="http://government.ru/gov/results/16355/> +# http://government.ru/gov/results/16355/ +# +# which, according to translate.google.com, begins "Decree of August 31, +# 2011 No 725" and contains no other dates or "effective date" information. +# +# Another source is +# +# http://www.rg.ru/2011/09/06/chas-zona-dok.html +# +# which, according to translate.google.com, begins "Resolution of the +# Government of the Russian Federation on August 31, 2011 N 725" and also +# contains "Date first official publication: September 6, 2011 Posted on: +# in the 'RG' - Federal Issue number 5573 September 6, 2011" but which +# does not contain any "effective date" information. +# +# Another source is +# +# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 +# +# which, in note 8, contains "Resolution #725 of August 31, 2011... +# Effective as of after 7 days following the day of the official publication" +# but which does not contain any reference to September 6, 2011. +# +# The Wikipedia article refers to +# +# http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=118896 +# +# which seems to copy the text of the government.ru page. +# +# Tobias Conradi combines Wikipedia's +# "as of after 7 days following the day of the official publication" +# with www.rg.ru's "Date of first official publication: September 6, 2011" to get +# September 13, 2011 as the cutover date (unusually, a Tuesday, as Tobias Conradi notes). +# +# None of the sources indicates a time of day for changing clocks. +# +# Go with 2011-09-13 0:00s. + # From Paul Eggert (2006-03-22): # Except for Moscow after 1919-07-01, I invented the time zone abbreviations. # Moscow time zone abbreviations after 1919-07-01, and Moscow rules after 1991, @@ -2270,14 +2357,32 @@ Zone Asia/Yakutsk 8:38:40 - LMT 1919 De # [parts of] Respublika Sakha (Yakutiya). # From Oscar van Vlijmen (2009-11-29): -# The Sakha districts are: Bulunskij, Verkhoyanskij, Tomponskij, Ust'-Majskij, -# Ust'-Yanskij. +# The Sakha districts are: Bulunskij, Verkhoyanskij, ... Ust'-Yanskij. Zone Asia/Vladivostok 8:47:44 - LMT 1922 Nov 15 9:00 - VLAT 1930 Jun 21 # Vladivostok Time 10:00 Russia VLA%sT 1991 Mar 31 2:00s 9:00 Russia VLA%sST 1992 Jan 19 2:00s 10:00 Russia VLA%sT 2011 Mar 27 2:00s 11:00 - VLAT + +# From Arthur David Olson (2012-05-09): +# Tomponskij and Ust'-Majskij switched from Vladivostok time to Yakutsk time +# in 2011. +# +# From Paul Eggert (2012-11-25): +# Shanks and Pottenger (2003) has Khandyga on Yakutsk time. +# Make a wild guess that it switched to Vladivostok time in 2004. +# This transition is no doubt wrong, but we have no better info. +# +Zone Asia/Khandyga 9:02:13 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAK%sT 1991 Mar 31 2:00s + 8:00 Russia YAK%sT 1992 Jan 19 2:00s + 9:00 Russia YAK%sT 2004 + 10:00 Russia VLA%sT 2011 Mar 27 2:00s + 11:00 - VLAT 2011 Sep 13 0:00s # Decree 725? + 10:00 - YAKT + # # Sakhalinskaya oblast'. # The Zone name should be Yuzhno-Sakhalinsk, but that's too long. @@ -2296,14 +2401,26 @@ Zone Asia/Sakhalin 9:30:48 - LMT 1905 A # From Oscar van Vlijmen (2009-11-29): # The Sakha districts are: Abyjskij, Allaikhovskij, Verkhhhnekolymskij, Momskij, -# Nizhnekolymskij, Ojmyakonskij, Srednekolymskij. +# Nizhnekolymskij, ... Srednekolymskij. Zone Asia/Magadan 10:03:12 - LMT 1924 May 2 10:00 - MAGT 1930 Jun 21 # Magadan Time 11:00 Russia MAG%sT 1991 Mar 31 2:00s 10:00 Russia MAG%sT 1992 Jan 19 2:00s 11:00 Russia MAG%sT 2011 Mar 27 2:00s 12:00 - MAGT -# + +# From Arthur David Olson (2012-05-09): +# Ojmyakonskij and the Kuril Islands switched from +# Magadan time to Vladivostok time in 2011. +Zone Asia/Ust-Nera 9:32:54 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time + 9:00 Russia YAKT 1981 Apr 1 + 11:00 Russia MAG%sT 1991 Mar 31 2:00s + 10:00 Russia MAG%sT 1992 Jan 19 2:00s + 11:00 Russia MAG%sT 2011 Mar 27 2:00s + 12:00 - MAGT 2011 Sep 13 0:00s # Decree 725? + 11:00 - VLAT + # From Oscar van Vlijmen (2001-08-25): [This region consists of] # Kamchatskaya oblast', Koryakskij avtonomnyj okrug. # Modified: stable/9/contrib/tzdata/northamerica ============================================================================== --- stable/9/contrib/tzdata/northamerica Fri Mar 15 01:01:14 2013 (r248309) +++ stable/9/contrib/tzdata/northamerica Fri Mar 15 01:02:35 2013 (r248310) @@ -1019,6 +1019,9 @@ Zone America/Menominee -5:50:27 - LMT 18 # William Willett, The Waste of Daylight, 19th edition # (1914-03) # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # See the `europe' file for Greenland. # Canada @@ -2554,6 +2557,8 @@ Zone America/Antigua -4:07:12 - LMT 1912 # Bahamas # +# For 1899 Milne gives -5:09:29.5; round that. +# # From Sue Williams (2006-12-07): # The Bahamas announced about a month ago that they plan to change their DST # rules to sync with the U.S. starting in 2007.... @@ -2563,11 +2568,14 @@ Zone America/Antigua -4:07:12 - LMT 1912 Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Nassau -5:09:24 - LMT 1912 Mar 2 +Zone America/Nassau -5:09:30 - LMT 1912 Mar 2 -5:00 Bahamas E%sT 1976 -5:00 US E%sT # Barbados + +# For 1899 Milne gives -3:58:29.2; round that. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Barb 1977 only - Jun 12 2:00 1:00 D Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S @@ -2575,8 +2583,8 @@ Rule Barb 1978 1980 - Apr Sun>=15 2:00 1 Rule Barb 1979 only - Sep 30 2:00 0 S Rule Barb 1980 only - Sep 25 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Barbados -3:58:28 - LMT 1924 # Bridgetown - -3:58:28 - BMT 1932 # Bridgetown Mean Time +Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown + -3:58:29 - BMT 1932 # Bridgetown Mean Time -4:00 Barb A%sT # Belize @@ -2594,6 +2602,9 @@ Zone America/Belize -5:52:48 - LMT 1912 # Bermuda +# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower, +# Bermuda dockyard, Ireland I; round that. + # From Dan Jones, reporting in The Royal Gazette (2006-06-26): # Next year, however, clocks in the US will go forward on the second Sunday @@ -2603,7 +2614,7 @@ Zone America/Belize -5:52:48 - LMT 1912 # http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135 # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Atlantic/Bermuda -4:19:04 - LMT 1930 Jan 1 2:00 # Hamilton +Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton -4:00 - AST 1974 Apr 28 2:00 -4:00 Bahamas A%sT 1976 -4:00 US A%sT @@ -2615,6 +2626,9 @@ Zone America/Cayman -5:25:32 - LMT 1890 -5:00 - EST # Costa Rica + +# Milne gives -5:36:13.3 as San Jose mean time; round to nearest. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CR 1979 1980 - Feb lastSun 0:00 1:00 D Rule CR 1979 1980 - Jun Sun>=1 0:00 0 S @@ -2625,14 +2639,19 @@ Rule CR 1991 only - Jul 1 0:00 0 S Rule CR 1992 only - Mar 15 0:00 0 S # There are too many San Joses elsewhere, so we'll use `Costa Rica'. # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Costa_Rica -5:36:20 - LMT 1890 # San Jose - -5:36:20 - SJMT 1921 Jan 15 # San Jose Mean Time +Zone America/Costa_Rica -5:36:13 - LMT 1890 # San Jose + -5:36:13 - SJMT 1921 Jan 15 # San Jose Mean Time -6:00 CR C%sT # Coco # no information; probably like America/Costa_Rica # Cuba +# From Paul Eggert (2013-02-21): +# Milne gives -5:28:50.45 for the observatory at Havana, -5:29:23.57 +# for the port, and -5:30 for meteorological observations. +# For now, stick with Shanks & Pottenger. + # From Arthur David Olson (1999-03-29): # The 1999-03-28 exhibition baseball game held in Havana, Cuba, between # the Cuban National Team and the Baltimore Orioles was carried live on @@ -2981,24 +3000,21 @@ Zone America/Guatemala -6:02:04 - LMT 19 # apparently using the same start and end date as USA/Canada. # So this means they have already changed their time. # -# (Sources in French): -# # http://www.alterpresse.org/spip.php?article12510 -# -# # http://radiovision2000haiti.net/home/?p=13253 -# # -# Our coverage: -# -# http://www.timeanddate.com/news/time/haiti-dst-2012.html -# - # From Arthur David Olson (2012-03-11): # The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to # 3:00 a.m. rather than the traditional Haitian jump at midnight. -# Assume a US-style fall back as well XXX. -# Do not yet assume that the change carries forward past 2012 XXX. +# Assume a US-style fall back as well. + +# From Steffen Thorsen (2013-03-10): +# It appears that Haiti is observing DST this year as well, same rules +# as US/Canada. They did it last year as well, and it looks like they +# are going to observe DST every year now... +# +# http://radiovision2000haiti.net/public/haiti-avis-changement-dheure-dimanche/ +# http://www.canalplushaiti.net/?p=6714 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Haiti 1983 only - May 8 0:00 1:00 D @@ -3010,8 +3026,8 @@ Rule Haiti 1988 1997 - Apr Sun>=1 1:00s Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S -Rule Haiti 2012 only - Mar Sun>=8 2:00 1:00 D -Rule Haiti 2012 only - Nov Sun>=1 2:00 0 S +Rule Haiti 2012 max - Mar Sun>=8 2:00 1:00 D +Rule Haiti 2012 max - Nov Sun>=1 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Port-au-Prince -4:49:20 - LMT 1890 -4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT Modified: stable/9/contrib/tzdata/southamerica ============================================================================== --- stable/9/contrib/tzdata/southamerica Fri Mar 15 01:01:14 2013 (r248309) +++ stable/9/contrib/tzdata/southamerica Fri Mar 15 01:02:35 2013 (r248310) @@ -11,6 +11,10 @@ # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), # San Diego: ACS Publications, Inc. (2003). # +# For data circa 1899, a common source is: +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# # Gwillim Law writes that a good source # for recent time zone data is the International Air Transport # Association's Standard Schedules Information Manual (IATA SSIM), @@ -381,21 +385,11 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # # is the official page for the Province Government). # -# There's also a note in only one of the major national papers (La Nación) at -# +# There's also a note in only one of the major national papers ... # http://www.lanacion.com.ar/nota.asp?nota_id=1107912 -# # -# The press release says: -# (...) anunció que el próximo domingo a las 00:00 los puntanos deberán -# atrasar una hora sus relojes. -# -# A partir de entonces, San Luis establecerá el huso horario propio de -# la Provincia. De esta manera, durante el periodo del calendario anual -# 2009, el cambio horario quedará comprendido entre las 00:00 del tercer -# domingo de marzo y las 24:00 del segundo sábado de octubre. -# Quick&dirty translation -# (...) announced that next Sunday, at 00:00, Puntanos (the San Luis +# The press release says [quick and dirty translation]: +# ... announced that next Sunday, at 00:00, Puntanos (the San Luis # inhabitants) will have to turn back one hour their clocks # # Since then, San Luis will establish its own Province timezone. Thus, @@ -457,6 +451,9 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1: # rules...San Luis is still using "Western ARgentina Time" and it got # stuck on Summer daylight savings time even though the summer is over. +# From Paul Eggert (2013-02-21): +# Milne says Cordoba time was -4:16:48.2. Round to the nearest second. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Buenos Aires (BA), Capital Federal (CF), @@ -812,9 +809,9 @@ Zone America/La_Paz -4:32:36 - LMT 1890 # From Guilherme Bernardes Rodrigues (2011-10-07): # There is news in the media, however there is still no decree about it. -# I just send a e-mail to Zulmira Brandão at +# I just send a e-mail to Zulmira Brandao at # http://pcdsh01.on.br/ the -# oficial agency about time in Brazil, and she confirmed that the old rule is +# official agency about time in Brazil, and she confirmed that the old rule is # still in force. # From Guilherme Bernardes Rodrigues (2011-10-14) @@ -1243,9 +1240,13 @@ Zone America/Rio_Branco -4:31:12 - LMT 1 # b. Saturday, September 1, 2012, clocks should go forward 60 minutes; that is, # at 23:59:59, instead of passing to 0:00, the time should be adjusted to be # 01:00 on September 2. -# -# Note that...this is yet another "temporary" change that will be reevaluated -# AGAIN in 2013. + +# From Steffen Thorsen (2013-02-15): +# According to several news sources, Chile has extended DST this year, +# they will end DST later and start DST earlier than planned. They +# hope to save energy. The new end date is 2013-04-28 00:00 and new +# start date is 2013-09-08 00:00.... +# http://www.gob.cl/informa/2013/02/15/gobierno-anuncia-fechas-de-cambio-de-hora-para-el-ano-2013.htm # NOTE: ChileAQ rules for Antarctic bases are stored separately in the # 'antarctica' file. @@ -1288,10 +1289,8 @@ Rule Chile 2009 only - Mar Sun>=9 3:00u Rule Chile 2010 only - Apr Sun>=1 3:00u 0 - Rule Chile 2011 only - May Sun>=2 3:00u 0 - Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule Chile 2012 only - Apr Sun>=23 3:00u 0 - -Rule Chile 2012 only - Sep Sun>=2 4:00u 1:00 S -Rule Chile 2013 max - Mar Sun>=9 3:00u 0 - -Rule Chile 2013 max - Oct Sun>=9 4:00u 1:00 S +Rule Chile 2012 max - Apr Sun>=23 3:00u 0 - +Rule Chile 2012 max - Sep Sun>=2 4:00u 1:00 S # IATA SSIM anomalies: (1992-02) says 1992-03-14; # (1996-09) says 1998-03-08. Ignore these. # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1313,17 +1312,23 @@ Zone Pacific/Easter -7:17:44 - LMT 1890 # San Felix, and Antarctic bases, are like America/Santiago. # Colombia + +# Milne gives 4:56:16.4 for Bogota time in 1899; round to nearest. He writes, +# "A variation of fifteen minutes in the public clocks of Bogota is not rare." + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CO 1992 only - May 3 0:00 1:00 S Rule CO 1993 only - Apr 4 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Bogota -4:56:20 - LMT 1884 Mar 13 - -4:56:20 - BMT 1914 Nov 23 # Bogota Mean Time +Zone America/Bogota -4:56:16 - LMT 1884 Mar 13 + -4:56:16 - BMT 1914 Nov 23 # Bogota Mean Time -5:00 CO CO%sT # Colombia Time # Malpelo, Providencia, San Andres # no information; probably like America/Bogota # Curacao + +# Milne gives 4:35:46.9 for Curacao mean time; round to nearest. # # From Paul Eggert (2006-03-22): # Shanks & Pottenger say that The Bottom and Philipsburg have been at @@ -1340,7 +1345,7 @@ Zone America/Bogota -4:56:20 - LMT 1884 # though, as far as we know. # # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad +Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad -4:30 - ANT 1965 # Netherlands Antilles Time -4:00 - AST @@ -1354,6 +1359,8 @@ Link America/Curacao America/Kralendijk # Ecuador # +# Milne says the Sentral and South American Telegraph Company used -5:24:15. +# # From Paul Eggert (2007-03-04): # Apparently Ecuador had a failed experiment with DST in 1992. # (2007-02-27) and @@ -1560,6 +1567,15 @@ Rule Para 2005 2009 - Mar Sun>=8 0:00 0 # ... Rule Para 2010 max - Oct Sun>=1 0:00 1:00 S Rule Para 2010 max - Apr Sun>=8 0:00 0 - +# +# From Steffen Thorsen (2013-03-07): +# Paraguay will end DST on 2013-03-24 00:00.... +# They do not tell if this will be a permanent change or just this year.... +# http://www.ande.gov.py/interna.php?id=1075 +# +# From Paul Eggert (2013-03-07): +# For now, assume it's just this year. +Rule Para 2013 only - Mar 24 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Asuncion -3:50:40 - LMT 1890 Modified: stable/9/contrib/tzdata/zone.tab ============================================================================== --- stable/9/contrib/tzdata/zone.tab Fri Mar 15 01:01:14 2013 (r248309) +++ stable/9/contrib/tzdata/zone.tab Fri Mar 15 01:02:35 2013 (r248310) @@ -159,7 +159,8 @@ CW +1211-06900 America/Curacao CX -1025+10543 Indian/Christmas CY +3510+03322 Asia/Nicosia CZ +5005+01426 Europe/Prague -DE +5230+01322 Europe/Berlin +DE +5230+01322 Europe/Berlin most locations +DE +4742+00841 Europe/Busingen Busingen DJ +1136+04309 Africa/Djibouti DK +5540+01235 Europe/Copenhagen DM +1518-06124 America/Dominica @@ -341,8 +342,10 @@ RU +5345+08707 Asia/Novokuznetsk Moscow+ RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River +RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island +RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky RU +5934+15048 Asia/Magadan Moscow+08 - Magadan RU +5301+15839 Asia/Kamchatka Moscow+08 - Kamchatka RU +6445+17729 Asia/Anadyr Moscow+08 - Bering Sea From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 02:52:38 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 936B445D; Fri, 15 Mar 2013 02:52:38 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 76C8FABC; Fri, 15 Mar 2013 02:52:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F2qcmU030025; Fri, 15 Mar 2013 02:52:38 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F2qcpx030023; Fri, 15 Mar 2013 02:52:38 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303150252.r2F2qcpx030023@svn.freebsd.org> From: Adrian Chadd Date: Fri, 15 Mar 2013 02:52:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248311 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 02:52:38 -0000 Author: adrian Date: Fri Mar 15 02:52:37 2013 New Revision: 248311 URL: http://svnweb.freebsd.org/changeset/base/248311 Log: Add locking around the new holdingbf code. Since this is being done during buffer free, it's a crap shoot whether the TX path lock is held or not. I tried putting the ath_freebuf() code inside the TX lock and I got all kinds of locking issues - it turns out that the buffer free path sometimes is called with the lock held and sometimes isn't. So I'll go and fix that soon. Hence for now the holdingbf buffers are protected by the TXBUF lock. Modified: head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_athvar.h Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Fri Mar 15 01:02:35 2013 (r248310) +++ head/sys/dev/ath/if_ath.c Fri Mar 15 02:52:37 2013 (r248311) @@ -4156,14 +4156,13 @@ ath_returnbuf_head(struct ath_softc *sc, static void ath_txq_freeholdingbuf(struct ath_softc *sc, struct ath_txq *txq) { + ATH_TXBUF_LOCK_ASSERT(sc); if (txq->axq_holdingbf == NULL) return; txq->axq_holdingbf->bf_flags &= ~ATH_BUF_BUSY; - ATH_TXBUF_LOCK(sc); ath_returnbuf_tail(sc, txq->axq_holdingbf); - ATH_TXBUF_UNLOCK(sc); txq->axq_holdingbf = NULL; } @@ -4176,6 +4175,8 @@ ath_txq_addholdingbuf(struct ath_softc * { struct ath_txq *txq; + ATH_TXBUF_LOCK_ASSERT(sc); + /* XXX assert ATH_BUF_BUSY is set */ /* XXX assert the tx queue is under the max number */ @@ -4188,10 +4189,8 @@ ath_txq_addholdingbuf(struct ath_softc * ath_returnbuf_tail(sc, bf); return; } - txq = &sc->sc_txq[bf->bf_state.bfs_tx_queue]; ath_txq_freeholdingbuf(sc, txq); - txq->axq_holdingbf = bf; } @@ -4219,7 +4218,9 @@ ath_freebuf(struct ath_softc *sc, struct * If this buffer is busy, push it onto the holding queue */ if (bf->bf_flags & ATH_BUF_BUSY) { + ATH_TXBUF_LOCK(sc); ath_txq_addholdingbuf(sc, bf); + ATH_TXBUF_UNLOCK(sc); return; } @@ -4342,7 +4343,9 @@ ath_tx_draintxq(struct ath_softc *sc, st /* * Free the holding buffer if it exists */ + ATH_TXBUF_LOCK(sc); ath_txq_freeholdingbuf(sc, txq); + ATH_TXBUF_UNLOCK(sc); /* * Drain software queued frames which are on Modified: head/sys/dev/ath/if_athvar.h ============================================================================== --- head/sys/dev/ath/if_athvar.h Fri Mar 15 01:02:35 2013 (r248310) +++ head/sys/dev/ath/if_athvar.h Fri Mar 15 02:52:37 2013 (r248311) @@ -329,6 +329,15 @@ struct ath_txq { u_int axq_intrcnt; /* interrupt count */ u_int32_t *axq_link; /* link ptr in last TX desc */ TAILQ_HEAD(axq_q_s, ath_buf) axq_q; /* transmit queue */ + /* + * XXX the holdingbf field is protected by the TXBUF lock + * for now, NOT the TX lock. + * + * Architecturally, it would likely be better to move + * the holdingbf field to a separate array in ath_softc + * just to highlight that it's not protected by the normal + * TX path lock. + */ struct ath_buf *axq_holdingbf; /* holding TX buffer */ char axq_name[12]; /* e.g. "ath0_txq4" */ From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 04:43:28 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6B193516; Fri, 15 Mar 2013 04:43:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5C232F2C; Fri, 15 Mar 2013 04:43:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F4hS1a064221; Fri, 15 Mar 2013 04:43:28 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F4hSGR064220; Fri, 15 Mar 2013 04:43:28 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303150443.r2F4hSGR064220@svn.freebsd.org> From: Adrian Chadd Date: Fri, 15 Mar 2013 04:43:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248312 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 04:43:28 -0000 Author: adrian Date: Fri Mar 15 04:43:27 2013 New Revision: 248312 URL: http://svnweb.freebsd.org/changeset/base/248312 Log: Remove a now incorrect comment. This comment dates back to my initial stab at TX aggregation completion, where I didn't even bother trying to do software retries. Modified: head/sys/dev/ath/if_ath_tx.c Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Fri Mar 15 02:52:37 2013 (r248311) +++ head/sys/dev/ath/if_ath_tx.c Fri Mar 15 04:43:27 2013 (r248312) @@ -4176,8 +4176,6 @@ ath_tx_comp_cleanup_aggr(struct ath_soft /* * Handle completion of an set of aggregate frames. * - * XXX for now, simply complete each sub-frame. - * * Note: the completion handler is the last descriptor in the aggregate, * not the last descriptor in the first frame. */ From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 05:00:54 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 4664971A; Fri, 15 Mar 2013 05:00:54 +0000 (UTC) (envelope-from dteske@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 20A1CF8D; Fri, 15 Mar 2013 05:00:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F50saT069630; Fri, 15 Mar 2013 05:00:54 GMT (envelope-from dteske@svn.freebsd.org) Received: (from dteske@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F50qfi069615; Fri, 15 Mar 2013 05:00:52 GMT (envelope-from dteske@svn.freebsd.org) Message-Id: <201303150500.r2F50qfi069615@svn.freebsd.org> From: Devin Teske Date: Fri, 15 Mar 2013 05:00:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248313 - in stable/9/usr.sbin/sysinstall: . help X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 05:00:54 -0000 Author: dteske Date: Fri Mar 15 05:00:51 2013 New Revision: 248313 URL: http://svnweb.freebsd.org/changeset/base/248313 Log: Add support for installation directly via HTTP. Submitted by: Rick Miller Reviewed by: jkh Added: stable/9/usr.sbin/sysinstall/httpdirect.c (contents, props changed) Modified: stable/9/usr.sbin/sysinstall/Makefile stable/9/usr.sbin/sysinstall/dispatch.c stable/9/usr.sbin/sysinstall/help/media.hlp stable/9/usr.sbin/sysinstall/http.c stable/9/usr.sbin/sysinstall/media.c stable/9/usr.sbin/sysinstall/menus.c stable/9/usr.sbin/sysinstall/options.c stable/9/usr.sbin/sysinstall/sysinstall.8 stable/9/usr.sbin/sysinstall/sysinstall.h Modified: stable/9/usr.sbin/sysinstall/Makefile ============================================================================== --- stable/9/usr.sbin/sysinstall/Makefile Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/Makefile Fri Mar 15 05:00:51 2013 (r248313) @@ -8,9 +8,9 @@ PROG= sysinstall MAN= sysinstall.8 SRCS= anonFTP.c cdrom.c command.c config.c devices.c dhcp.c \ disks.c dispatch.c dist.c dmenu.c doc.c dos.c floppy.c \ - ftp.c globals.c http.c index.c install.c installUpgrade.c keymap.c \ - label.c main.c makedevs.c media.c menus.c misc.c modules.c \ - mouse.c msg.c network.c nfs.c options.c package.c \ + ftp.c globals.c http.c httpdirect.c index.c install.c \ + installUpgrade.c keymap.c label.c main.c makedevs.c media.c menus.c \ + misc.c modules.c mouse.c msg.c network.c nfs.c options.c package.c \ system.c tcpip.c termcap.c ttys.c ufs.c usb.c user.c \ variable.c ${_wizard} keymap.h countries.h Modified: stable/9/usr.sbin/sysinstall/dispatch.c ============================================================================== --- stable/9/usr.sbin/sysinstall/dispatch.c Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/dispatch.c Fri Mar 15 05:00:51 2013 (r248313) @@ -103,6 +103,7 @@ static struct _word { { "mediaSetFTPActive", mediaSetFTPActive }, { "mediaSetFTPPassive", mediaSetFTPPassive }, { "mediaSetHTTP", mediaSetHTTP }, + { "mediaSetHTTPDirect", mediaSetHTTPDirect }, { "mediaSetUFS", mediaSetUFS }, { "mediaSetNFS", mediaSetNFS }, { "mediaSetFTPUserPass", mediaSetFTPUserPass }, Modified: stable/9/usr.sbin/sysinstall/help/media.hlp ============================================================================== --- stable/9/usr.sbin/sysinstall/help/media.hlp Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/help/media.hlp Fri Mar 15 05:00:51 2013 (r248313) @@ -41,6 +41,14 @@ You can install from the following types Options screen. + HTTP Direct + Get the distribution files directly from an HTTP server. + + If you chose to enter your own URL in the HTTP Direct menu, + please note that all paths are *relative* to the root + directory of the web server. + + NFS Get the distribution files from an NFS server somewhere (make sure that permissions on the server allow this!). If this install method hangs on you or refuses to work Modified: stable/9/usr.sbin/sysinstall/http.c ============================================================================== --- stable/9/usr.sbin/sysinstall/http.c Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/http.c Fri Mar 15 05:00:51 2013 (r248313) @@ -36,18 +36,9 @@ extern const char *ftp_dirs[]; /* defined in ftp.c */ -static Boolean -checkAccess(Boolean proxyCheckOnly) +Boolean +checkAccess(Boolean connectCheckOnly, Boolean isProxy) { -/* - * Some proxies fetch files with certain extensions in "ascii mode" instead - * of "binary mode" for FTP. The FTP server then translates all LF to CRLF. - * - * You can force Squid to use binary mode by appending ";type=i" to the URL, - * which is what I do here. For other proxies, the LF->CRLF substitution - * is reverted in distExtract(). - */ - int rv, s, af; bool el, found=FALSE; /* end of header line */ char *cp, buf[PATH_MAX], req[BUFSIZ]; @@ -76,18 +67,26 @@ checkAccess(Boolean proxyCheckOnly) } freeaddrinfo(res0); if (s == -1) { - msgConfirm("Couldn't connect to proxy %s:%s", - variable_get(VAR_HTTP_HOST),variable_get(VAR_HTTP_PORT)); + if (isProxy) { + msgConfirm("Couldn't connect to proxy %s:%s", + variable_get(VAR_HTTP_HOST),variable_get(VAR_HTTP_PORT)); + } else { + msgConfirm("Couldn't connect to server http://%s:%s/", + variable_get(VAR_HTTP_HOST),variable_get(VAR_HTTP_PORT)); + } variable_unset(VAR_HTTP_HOST); return FALSE; } - if (proxyCheckOnly) { + if (connectCheckOnly) { close(s); return TRUE; } msgNotify("Checking access to\n %s", variable_get(VAR_HTTP_PATH)); - sprintf(req,"GET %s/ HTTP/1.0\r\n\r\n", variable_get(VAR_HTTP_PATH)); + if (isProxy) + sprintf(req,"GET %s/ HTTP/1.0\r\n\r\n", variable_get(VAR_HTTP_PATH)); + else + sprintf(req,"GET /%s/ HTTP/1.0\r\n\r\n", variable_get(VAR_HTTP_PATH)); write(s,req,strlen(req)); /* * scan the headers of the response @@ -108,7 +107,16 @@ checkAccess(Boolean proxyCheckOnly) } } - if (!strncmp(buf,"Server: ",8)) { + /* + * Some proxies fetch files with certain extensions in "ascii mode" + * instead of "binary mode" for FTP. The FTP server then translates + * all LF to CRLF. + * + * You can force Squid to use binary mode by appending ";type=i" to + * the URL, which is what I do here. For other proxies, the + * LF->CRLF substitution is reverted in distExtract(). + */ + if (isProxy && !strncmp(buf,"Server: ",8)) { if (!strncmp(buf,"Server: Squid",13)) { variable_set2(VAR_HTTP_FTP_MODE,";type=i",0); } else { @@ -143,11 +151,11 @@ mediaInitHTTP(Device *dev) /* * First verify the proxy access */ - checkAccess(TRUE); + checkAccess(TRUE, TRUE); while (variable_get(VAR_HTTP_HOST) == NULL) { if (DITEM_STATUS(mediaSetHTTP(NULL)) == DITEM_FAILURE) return FALSE; - checkAccess(TRUE); + checkAccess(TRUE, TRUE); } again: /* If the release is specified as "__RELEASE" or "any", then just @@ -163,14 +171,14 @@ again: sprintf(req, "%s/%s/%s", variable_get(VAR_FTP_PATH), ftp_dirs[fdir], rel); variable_set2(VAR_HTTP_PATH, req, 0); - if (checkAccess(FALSE)) { + if (checkAccess(FALSE, TRUE)) { found = TRUE; break; } } } else { variable_set2(VAR_HTTP_PATH, variable_get(VAR_FTP_PATH), 0); - found = checkAccess(FALSE); + found = checkAccess(FALSE, TRUE); } if (!found) { msgConfirm("No such directory: %s\n" Added: stable/9/usr.sbin/sysinstall/httpdirect.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/9/usr.sbin/sysinstall/httpdirect.c Fri Mar 15 05:00:51 2013 (r248313) @@ -0,0 +1,182 @@ +/* + * Copyright (c) 1999 + * Philipp Mergenthaler + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, LIFE OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include "sysinstall.h" +#include +#include +#include +#include +#include + +extern const char *ftp_dirs[]; /* defined in ftp.c */ + +Boolean +mediaInitHTTPDirect(Device *dev) +{ + bool found=FALSE; /* end of header line */ + char *rel, req[BUFSIZ]; + int fdir; + + /* + * First verify basic access + */ + checkAccess(TRUE, FALSE); + while (variable_get(VAR_HTTP_HOST) == NULL) { + if (DITEM_STATUS(mediaSetHTTPDirect(NULL)) == DITEM_FAILURE) + return FALSE; + checkAccess(TRUE, FALSE); + } +again: + /* If the release is specified as "__RELEASE" or "any", then just + * assume that the path the user gave is ok. + */ + rel = variable_get(VAR_RELNAME); + /* + msgConfirm("rel: -%s-", rel); + */ + + if (strcmp(rel, "__RELEASE") && strcmp(rel, "any")) { + for (fdir = 0; ftp_dirs[fdir]; fdir++) { + sprintf(req, "%s/%s/%s", variable_get(VAR_HTTP_DIR), + ftp_dirs[fdir], rel); + variable_set2(VAR_HTTP_PATH, req, 0); + if (checkAccess(FALSE, FALSE)) { + found = TRUE; + break; + } + } + } else { + variable_set2(VAR_HTTP_PATH, variable_get(VAR_HTTP_DIR), 0); + found = checkAccess(FALSE, FALSE); + } + if (!found) { + msgConfirm("No such directory: %s\n" + "please check the URL and try again.", variable_get(VAR_HTTP_PATH)); + variable_unset(VAR_HTTP_PATH); + dialog_clear_norefresh(); + clear(); + if (DITEM_STATUS(mediaSetHTTPDirect(NULL)) != DITEM_FAILURE) goto again; + } + return found; +} + +FILE * +mediaGetHTTPDirect(Device *dev, char *file, Boolean probe) +{ + FILE *fp; + int rv, s, af; + bool el; /* end of header line */ + char *cp, buf[PATH_MAX], req[BUFSIZ]; + struct addrinfo hints, *res, *res0; + + af = variable_cmp(VAR_IPV6_ENABLE, "YES") ? AF_INET : AF_UNSPEC; + memset(&hints, 0, sizeof(hints)); + hints.ai_family = af; + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = 0; + if ((rv = getaddrinfo(variable_get(VAR_HTTP_HOST), + variable_get(VAR_HTTP_PORT), &hints, &res0)) != 0) { + msgConfirm("%s", gai_strerror(rv)); + return NULL; + } + s = -1; + for (res = res0; res; res = res->ai_next) { + if ((s = socket(res->ai_family, res->ai_socktype, + res->ai_protocol)) < 0) + continue; + if (connect(s, res->ai_addr, res->ai_addrlen) >= 0) + break; + close(s); + s = -1; + } + freeaddrinfo(res0); + if (s == -1) { + msgConfirm("Couldn't connect to http://%s:%s/", + variable_get(VAR_HTTP_HOST),variable_get(VAR_HTTP_PORT)); + return NULL; + } + + sprintf(req,"GET /%s/%s HTTP/1.0\r\n\r\n", + variable_get(VAR_HTTP_PATH), file); + + if (isDebug()) { + msgDebug("sending http request: %s\n",req); + } + write(s,req,strlen(req)); + +/* + * scan the headers of the response + * this is extremely quick'n dirty + * + */ + cp=buf; + el=FALSE; + rv=read(s,cp,1); + while (rv>0) { + if ((*cp == '\012') && el) { + /* reached end of a header line */ + if (!strncmp(buf,"HTTP",4)) { + rv=strtol((char *)(buf+9),0,0); + *(cp-1)='\0'; /* chop the CRLF off */ + if (probe && (rv != 200)) { + return NULL; + } else if (rv >= 500) { + msgConfirm("Server error %s when sending %s, you could try an other server",buf, req); + return NULL; + } else if (rv == 404) { + msgConfirm("%s was not found, maybe directory or release-version are wrong?",req); + return NULL; + } else if (rv >= 400) { + msgConfirm("Client error %s, you could try an other server",buf); + return NULL; + } else if (rv >= 300) { + msgConfirm("Error %s",buf); + return NULL; + } else if (rv != 200) { + msgConfirm("Error %s when sending %s, you could try an other server",buf, req); + return NULL; + } + } + /* ignore other headers */ + /* check for "\015\012" at beginning of line, i.e. end of headers */ + if ((cp-buf) == 1) + break; + cp=buf; + rv=read(s,cp,1); + } else { + el=FALSE; + if (*cp == '\015') + el=TRUE; + cp++; + rv=read(s,cp,1); + } + } + fp=fdopen(s,"r"); + return fp; +} Modified: stable/9/usr.sbin/sysinstall/media.c ============================================================================== --- stable/9/usr.sbin/sysinstall/media.c Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/media.c Fri Mar 15 05:00:51 2013 (r248313) @@ -52,6 +52,7 @@ static Boolean got_intr = FALSE; static Boolean ftp_skip_resolve = FALSE; +static Boolean http_skip_resolve = FALSE; /* timeout handler */ static void @@ -508,6 +509,139 @@ int mediaSetHTTP(dialogMenuItem *self) mediaDevice->shutdown = dummyShutdown; return DITEM_SUCCESS | DITEM_LEAVE_MENU | what; } + +/* + * Return 0 if we successfully found and set the installation type to + * be an http server + */ +int +mediaSetHTTPDirect(dialogMenuItem *self) +{ + static Device httpDevice; + char *cp, hbuf[MAXPATHLEN], *hostname, *dir; + struct addrinfo hints, *res; + int af; + size_t urllen; + int HttpPort; + static Device *networkDev = NULL; + + mediaClose(); + cp = variable_get(VAR_HTTP_PATH); + /* If we've been through here before ... */ + if (networkDev && cp && msgYesNo("Re-use old HTTP site selection values?")) + cp = NULL; + if (!cp) { + if (!dmenuOpenSimple(&MenuMediaHTTPDirect, FALSE)) + return DITEM_FAILURE; + else + cp = variable_get(VAR_HTTP_PATH); + } + if (!cp) + return DITEM_FAILURE; + else if (!strcmp(cp, "other")) { + variable_set2(VAR_HTTP_PATH, "http://", 0); + cp = variable_get_value(VAR_HTTP_PATH, "Please specify the URL of a FreeBSD distribution on a\n" + "remote http site.\n" + "A URL looks like this: http:///", 0); + if (!cp || !*cp || !strcmp(cp, "http://")) { + variable_unset(VAR_HTTP_PATH); + return DITEM_FAILURE; + } + urllen = strlen(cp); + if (urllen >= sizeof(httpDevice.name)) { + msgConfirm("Length of specified URL is %zu characters. Allowable maximum is %zu.", + urllen,sizeof(httpDevice.name)-1); + variable_unset(VAR_HTTP_PATH); + return DITEM_FAILURE; + } + } + if (strncmp("http://", cp, 7)) { + msgConfirm("Sorry, %s is an invalid URL!", cp); + variable_unset(VAR_HTTP_PATH); + return DITEM_FAILURE; + } + SAFE_STRCPY(httpDevice.name, cp); + SAFE_STRCPY(hbuf, cp + 7); + hostname = hbuf; + + if (!networkDev || msgYesNo("You've already done the network configuration once,\n" + "would you like to skip over it now?") != 0) { + if (networkDev) + DEVICE_SHUTDOWN(networkDev); + if (!(networkDev = tcpDeviceSelect())) { + variable_unset(VAR_HTTP_PATH); + return DITEM_FAILURE; + } + } + if (!DEVICE_INIT(networkDev)) { + if (isDebug()) + msgDebug("mediaSetHTTPDirect: Net device init failed.\n"); + variable_unset(VAR_HTTP_PATH); + return DITEM_FAILURE; + } + if (*hostname == '[' && (cp = index(hostname + 1, ']')) != NULL && + (*++cp == '\0' || *cp == '/' || *cp == ':')) { + ++hostname; + *(cp - 1) = '\0'; + } + else + cp = index(hostname, ':'); + if (cp != NULL && *cp == ':') { + *(cp++) = '\0'; + HttpPort = strtol(cp, 0, 0); + } + else + HttpPort = 80; + if ((dir = index(cp ? cp : hostname, '/')) != NULL) + *(dir++) = '\0'; + if (isDebug()) { + msgDebug("hostname = `%s'\n", hostname); + msgDebug("dir = `%s'\n", dir ? dir : "/"); + msgDebug("port # = `%d'\n", HttpPort); + } + if (!http_skip_resolve && variable_get(VAR_NAMESERVER)) { + msgNotify("Looking up host %s.", hostname); + if (isDebug()) + msgDebug("Starting DNS.\n"); + kickstart_dns(); + if (isDebug()) + msgDebug("Looking up hostname, %s, using getaddrinfo(AI_NUMERICHOST).\n", hostname); + af = variable_cmp(VAR_IPV6_ENABLE, "YES") ? AF_INET : AF_UNSPEC; + memset(&hints, 0, sizeof(hints)); + hints.ai_family = af; + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST; + if (getaddrinfo(hostname, NULL, &hints, &res) != 0) { + if (isDebug()) + msgDebug("Looking up hostname, %s, using getaddrinfo().\n", + hostname); + hints.ai_flags = AI_PASSIVE; + if (getaddrinfo(hostname, NULL, &hints, &res) != 0) { + msgConfirm("Cannot resolve hostname `%s'! Are you sure that" + " your\nname server, gateway and network interface are" + " correctly configured?", hostname); + if (networkDev) + DEVICE_SHUTDOWN(networkDev); + networkDev = NULL; + variable_unset(VAR_HTTP_PATH); + return DITEM_FAILURE; + } + } + freeaddrinfo(res); + if (isDebug()) + msgDebug("Found DNS entry for %s successfully..\n", hostname); + } + variable_set2(VAR_HTTP_HOST, hostname, 0); + variable_set2(VAR_HTTP_DIR, dir ? dir : "/", 0); + variable_set2(VAR_HTTP_PORT, itoa(HttpPort), 0); + httpDevice.type = DEVICE_TYPE_HTTP_DIRECT; + httpDevice.init = mediaInitHTTPDirect; + httpDevice.get = mediaGetHTTPDirect; + httpDevice.shutdown = dummyShutdown; + httpDevice.private = networkDev; + mediaDevice = &httpDevice; + return DITEM_SUCCESS | DITEM_LEAVE_MENU | DITEM_RESTORE; +} int Modified: stable/9/usr.sbin/sysinstall/menus.c ============================================================================== --- stable/9/usr.sbin/sysinstall/menus.c Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/menus.c Fri Mar 15 05:00:51 2013 (r248313) @@ -213,7 +213,8 @@ DMenu MenuIndex = { { " Media, UFS", "Select UFS installation media.", NULL, mediaSetUFS }, { " Media, FTP", "Select FTP installation media.", NULL, mediaSetFTP }, { " Media, FTP Passive", "Select passive FTP installation media.", NULL, mediaSetFTPPassive }, - { " Media, HTTP", "Select FTP via HTTP proxy install media.", NULL, mediaSetHTTP }, + { " Media, HTTP Proxy", "Select FTP via HTTP proxy install media.", NULL, mediaSetHTTP }, + { " Media, HTTP Direct", "Select HTTP direct installation media.", NULL, mediaSetHTTPDirect }, { " Network Interfaces", "Configure network interfaces", NULL, tcpMenuSelect }, { " Networking Services", "The network services menu.", NULL, dmenuSubmenu, NULL, &MenuNetworking }, { " NFS, client", "Set NFS client flag.", dmenuVarCheck, dmenuToggleVariable, NULL, "nfs_client_enable=YES" }, @@ -881,6 +882,21 @@ DMenu MenuMediaFTP = { { NULL } } }; +DMenu MenuMediaHTTPDirect = { + DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS, + "Please select a FreeBSD HTTP distribution site", + "Please select the site closest to you or \"other\" if you'd like to\n" + "specify a different choice. Also note that not every site listed here\n" + "carries more than the base distribution kits. Only Primary sites are\n" + "guaranteed to carry the full range of possible distributions.", + "Select a site that's close!", + NULL, + { { "URL", "Specify some other ftp site by URL", NULL, dmenuSetVariable, NULL, + VAR_HTTP_PATH "=other" }, + + { NULL } } +}; + DMenu MenuNetworkDevice = { DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS, "Network interface information required", @@ -926,12 +942,13 @@ DMenu MenuMedia = { { { "1 CD/DVD", "Install from a FreeBSD CD/DVD", NULL, mediaSetCDROM }, { "2 FTP", "Install from an FTP server", NULL, mediaSetFTPActive }, { "3 FTP Passive", "Install from an FTP server through a firewall", NULL, mediaSetFTPPassive }, - { "4 HTTP", "Install from an FTP server through a http proxy", NULL, mediaSetHTTP }, - { "5 DOS", "Install from a DOS partition", NULL, mediaSetDOS }, - { "6 NFS", "Install over NFS", NULL, mediaSetNFS }, - { "7 File System", "Install from an existing filesystem", NULL, mediaSetUFS }, - { "8 Floppy", "Install from a floppy disk set", NULL, mediaSetFloppy }, - { "9 USB", "Install from a USB drive", NULL, mediaSetUSB }, + { "4 HTTP Proxy", "Install from an FTP server through a http proxy", NULL, mediaSetHTTP }, + { "5 HTTP Direct", "Install from an HTTP server", NULL, mediaSetHTTPDirect }, + { "6 DOS", "Install from a DOS partition", NULL, mediaSetDOS }, + { "7 NFS", "Install over NFS", NULL, mediaSetNFS }, + { "8 File System", "Install from an existing filesystem", NULL, mediaSetUFS }, + { "9 Floppy", "Install from a floppy disk set", NULL, mediaSetFloppy }, + { "A USB", "Install from a USB drive", NULL, mediaSetUSB }, { "X Options", "Go to the Options screen", NULL, optionsEditor }, { NULL } }, }; Modified: stable/9/usr.sbin/sysinstall/options.c ============================================================================== --- stable/9/usr.sbin/sysinstall/options.c Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/options.c Fri Mar 15 05:00:51 2013 (r248313) @@ -78,6 +78,9 @@ mediaCheck(Option *opt) case DEVICE_TYPE_HTTP: return "HTTP Proxy"; + case DEVICE_TYPE_HTTP_DIRECT: + return "HTTP Direct"; + case DEVICE_TYPE_CDROM: return "CDROM"; Modified: stable/9/usr.sbin/sysinstall/sysinstall.8 ============================================================================== --- stable/9/usr.sbin/sysinstall/sysinstall.8 Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/sysinstall.8 Fri Mar 15 05:00:51 2013 (r248313) @@ -684,6 +684,8 @@ plus .Bl -tag -width indent .It _httpPath The proxy to use (host:port) (non-optional). +.It httpDirectory +The path from http root. .El .It mediaSetUFS Select an existing UFS partition (mounted with the label editor) as Modified: stable/9/usr.sbin/sysinstall/sysinstall.h ============================================================================== --- stable/9/usr.sbin/sysinstall/sysinstall.h Fri Mar 15 04:43:27 2013 (r248312) +++ stable/9/usr.sbin/sysinstall/sysinstall.h Fri Mar 15 05:00:51 2013 (r248313) @@ -118,6 +118,7 @@ #define VAR_FTP_STATE "ftpState" #define VAR_FTP_USER "ftpUser" #define VAR_FTP_HOST "ftpHost" +#define VAR_HTTP_DIR "httpDirectory" #define VAR_HTTP_PATH "_httpPath" #define VAR_HTTP_PROXY "httpProxy" #define VAR_HTTP_PORT "httpPort" @@ -273,6 +274,7 @@ typedef enum { DEVICE_TYPE_NFS, DEVICE_TYPE_ANY, DEVICE_TYPE_HTTP, + DEVICE_TYPE_HTTP_DIRECT, } DeviceType; /* CDROM mount codes */ @@ -443,6 +445,7 @@ extern DMenu MenuMediaUSB; /* USB medi extern DMenu MenuMediaDOS; /* DOS media menu */ extern DMenu MenuMediaFloppy; /* Floppy media menu */ extern DMenu MenuMediaFTP; /* FTP media menu */ +extern DMenu MenuMediaHTTPDirect; /* HTTP Direct media menu */ extern DMenu MenuNetworkDevice; /* Network device menu */ extern DMenu MenuNTP; /* NTP time server menu */ extern DMenu MenuSecurity; /* System security options menu */ @@ -650,9 +653,14 @@ extern FILE *mediaGetFTP(Device *dev, ch extern void mediaShutdownFTP(Device *dev); /* http.c */ +extern Boolean checkAccess(Boolean connectCheckOnly, Boolean isProxy); extern Boolean mediaInitHTTP(Device *dev); extern FILE *mediaGetHTTP(Device *dev, char *file, Boolean probe); +/* httpdirect.c */ +extern Boolean mediaInitHTTPDirect(Device *dev); +extern FILE *mediaGetHTTPDirect(Device *dev, char *file, Boolean probe); + /* globals.c */ extern void globalsInit(void); @@ -726,6 +734,7 @@ extern int mediaSetFTP(dialogMenuItem *s extern int mediaSetFTPActive(dialogMenuItem *self); extern int mediaSetFTPPassive(dialogMenuItem *self); extern int mediaSetHTTP(dialogMenuItem *self); +extern int mediaSetHTTPDirect(dialogMenuItem *self); extern int mediaSetUFS(dialogMenuItem *self); extern int mediaSetNFS(dialogMenuItem *self); extern int mediaSetFTPUserPass(dialogMenuItem *self); From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 06:07:58 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id F2A08D53; Fri, 15 Mar 2013 06:07:57 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) by mx1.freebsd.org (Postfix) with ESMTP id 61BCD1C7; Fri, 15 Mar 2013 06:07:57 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.6/8.14.6) with ESMTP id r2F67riL010394; Fri, 15 Mar 2013 08:07:53 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.8.0 kib.kiev.ua r2F67riL010394 Received: (from kostik@localhost) by tom.home (8.14.6/8.14.6/Submit) id r2F67rjP010393; Fri, 15 Mar 2013 08:07:53 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 15 Mar 2013 08:07:53 +0200 From: Konstantin Belousov To: Edward Tomasz Napierala Subject: Re: svn commit: r248298 - head/sys/kern Message-ID: <20130315060753.GS3794@kib.kiev.ua> References: <201303142320.r2ENKJln060775@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Xqa6BLk9/BAwVQKe" Content-Disposition: inline In-Reply-To: <201303142320.r2ENKJln060775@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on tom.home Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 06:07:58 -0000 --Xqa6BLk9/BAwVQKe Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Mar 14, 2013 at 11:20:19PM +0000, Edward Tomasz Napierala wrote: > Author: trasz > Date: Thu Mar 14 23:20:18 2013 > New Revision: 248298 > URL: http://svnweb.freebsd.org/changeset/base/248298 >=20 > Log: > Accessing td_state requires thread lock to be held. It is not the access to td_state which should be protected, but the consistency between thread state and later action based on the state, which should be atomic. --Xqa6BLk9/BAwVQKe Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQIcBAEBAgAGBQJRQrq5AAoJEJDCuSvBvK1BUJQP/0GdFpI0P9baTNSlwgtrFoco BVReg34Wy4zV1bhOrVuM88LcJ6U1txj5cfwz9ZNhYoFxRXGuzvRnipiLN1Ya74qJ bVlGb8rIa2kF6CtWFEJ4QX6XV8C7lkacS7vikR64pha5WSxlOto8YtsZFsqlbyV9 e4T8jCQO0z/Q+DtUMXyR0WMqZVXmWJx0ZOpTTIPlA1PPLcolP/jn7/MCsfvm0Iq9 YQo1OOX6tF+FEhUUzkbJwFK9T4vHkOkQR9r9ntO4ZIEpVw2M9xYo7L3CCK0v0y0R xzBqEzG9Hhacjn5J4grBUS4gtqTniNKbC6kjBO6NFfMd+34Ti/7TudKW2jHsrLl4 iN3xK0Aab1Ex9UbSzbxQkteWgkU2BfVwNCxHJ+/ruLcZ7urnPsHTNJxF/LnhA06v KLeBjoBmEkaYJykqTjmZ5TTZxkB+Cw4zvt8j8QSCAcc9rMifrNU4DqymnKiRccYT 8BzA2MB6ts90BkJdbLhNLca5fIffXwEzUyH4hRGTczSFbOSXOKKuCq0P8tpEoqXL dNkLKWX8TWBWYEN0Ub58rvKhf4dLepDXdGG2UIuEnZo+ib+P3Y845A1uPn7UV2kZ 33b7Zmv3KM3YTPsj6loo8uFQlupdRGme2vk9Cd8crOzSautJ0kl9JisT4sEhScQp v01Kjlr+7PFXihiWzqhm =7a3w -----END PGP SIGNATURE----- --Xqa6BLk9/BAwVQKe-- From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 09:19:20 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 09ACCA84; Fri, 15 Mar 2013 09:19:20 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F077EC01; Fri, 15 Mar 2013 09:19:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2F9JJX7049627; Fri, 15 Mar 2013 09:19:19 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2F9JJpx049626; Fri, 15 Mar 2013 09:19:19 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303150919.r2F9JJpx049626@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 09:19:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248314 - head/lib/libipsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 09:19:20 -0000 Author: glebius Date: Fri Mar 15 09:19:19 2013 New Revision: 248314 URL: http://svnweb.freebsd.org/changeset/base/248314 Log: Make this more compilable. Modified: head/lib/libipsec/test-policy.c Modified: head/lib/libipsec/test-policy.c ============================================================================== --- head/lib/libipsec/test-policy.c Fri Mar 15 05:00:51 2013 (r248313) +++ head/lib/libipsec/test-policy.c Fri Mar 15 09:19:19 2013 (r248314) @@ -75,14 +75,13 @@ struct req_t { { 1, "out ipsec ah/transport esp/use" }, { 1, "in ipsec ah/transport esp/tunnel" }, { 0, "in ipsec ah/transport esp/tunnel/::1-::1" }, -{ 0, "in ipsec - ah / transport - esp / tunnel / ::1-::2" }, -{ 0, "out ipsec - ah/transport/::1-::2 esp/tunnel/::3-::4/use ah/transport/::5-::6/require - ah/transport/::1-::2 esp/tunnel/::3-::4/use ah/transport/::5-::6/require - ah/transport/::1-::2 esp/tunnel/::3-::4/use ah/transport/::5-::6/require - " }, +{ 0, "in ipsec\n" + "ah / transport\n" + "esp / tunnel / ::1-::2" }, +{ 0, "out ipsec\n" + "ah/transport/::1-::2 esp/tunnel/::3-::4/use ah/transport/::5-::6/require\n" + "ah/transport/::1-::2 esp/tunnel/::3-::4/use ah/transport/::5-::6/require\n" + "ah/transport/::1-::2 esp/tunnel/::3-::4/use ah/transport/::5-::6/require\n" }, { 0, "out ipsec esp/transport/fec0::10-fec0::11/use" }, }; From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 10:15:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id EC0A2C6A; Fri, 15 Mar 2013 10:15:07 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DAFCAF79; Fri, 15 Mar 2013 10:15:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FAF7PK067659; Fri, 15 Mar 2013 10:15:07 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FAF7O0067658; Fri, 15 Mar 2013 10:15:07 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151015.r2FAF7O0067658@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 10:15:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248315 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 10:15:08 -0000 Author: glebius Date: Fri Mar 15 10:15:07 2013 New Revision: 248315 URL: http://svnweb.freebsd.org/changeset/base/248315 Log: Make m_get2() never use clusters that are bigger than PAGE_SIZE. Requested by: andre, jhb Sponsored by: Nginx, Inc. Modified: head/sys/kern/uipc_mbuf.c Modified: head/sys/kern/uipc_mbuf.c ============================================================================== --- head/sys/kern/uipc_mbuf.c Fri Mar 15 09:19:19 2013 (r248314) +++ head/sys/kern/uipc_mbuf.c Fri Mar 15 10:15:07 2013 (r248315) @@ -92,7 +92,6 @@ m_get2(int size, int how, short type, in { struct mb_args args; struct mbuf *m, *n; - uma_zone_t zone; args.flags = flags; args.type = type; @@ -101,24 +100,15 @@ m_get2(int size, int how, short type, in return (uma_zalloc_arg(zone_mbuf, &args, how)); if (size <= MCLBYTES) return (uma_zalloc_arg(zone_pack, &args, how)); - if (size > MJUM16BYTES) + + if (size > MJUMPAGESIZE) return (NULL); m = uma_zalloc_arg(zone_mbuf, &args, how); if (m == NULL) return (NULL); -#if MJUMPAGESIZE != MCLBYTES - if (size <= MJUMPAGESIZE) - zone = zone_jumbop; - else -#endif - if (size <= MJUM9BYTES) - zone = zone_jumbo9; - else - zone = zone_jumbo16; - - n = uma_zalloc_arg(zone, m, how); + n = uma_zalloc_arg(zone_jumbop, m, how); if (n == NULL) { uma_zfree(zone_mbuf, m); return (NULL); From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 10:17:24 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C5809E70; Fri, 15 Mar 2013 10:17:24 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B70A0FB6; Fri, 15 Mar 2013 10:17:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FAHOAK067990; Fri, 15 Mar 2013 10:17:24 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FAHO2C067989; Fri, 15 Mar 2013 10:17:24 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151017.r2FAHO2C067989@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 10:17:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248316 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 10:17:24 -0000 Author: glebius Date: Fri Mar 15 10:17:24 2013 New Revision: 248316 URL: http://svnweb.freebsd.org/changeset/base/248316 Log: - Use m_get2() instead of hand allocating. - No need for u_int cast here. Sponsored by: Nginx, Inc. Modified: head/sys/kern/uipc_syscalls.c Modified: head/sys/kern/uipc_syscalls.c ============================================================================== --- head/sys/kern/uipc_syscalls.c Fri Mar 15 10:15:07 2013 (r248315) +++ head/sys/kern/uipc_syscalls.c Fri Mar 15 10:17:24 2013 (r248316) @@ -1701,18 +1701,16 @@ sockargs(mp, buf, buflen, type) struct mbuf *m; int error; - if ((u_int)buflen > MLEN) { + if (buflen > MLEN) { #ifdef COMPAT_OLDSOCK - if (type == MT_SONAME && (u_int)buflen <= 112) + if (type == MT_SONAME && buflen <= 112) buflen = MLEN; /* unix domain compat. hack */ else #endif - if ((u_int)buflen > MCLBYTES) + if (buflen > MCLBYTES) return (EINVAL); } - m = m_get(M_WAITOK, type); - if ((u_int)buflen > MLEN) - MCLGET(m, M_WAITOK); + m = m_get2(buflen, M_WAITOK, type, 0); m->m_len = buflen; error = copyin(buf, mtod(m, caddr_t), (u_int)buflen); if (error) From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 10:20:16 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 66B3C19E; Fri, 15 Mar 2013 10:20:16 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 59BD9FF5; Fri, 15 Mar 2013 10:20:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FAKGKF068418; Fri, 15 Mar 2013 10:20:16 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FAKGp9068417; Fri, 15 Mar 2013 10:20:16 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151020.r2FAKGp9068417@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 10:20:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248317 - head/sys/netipsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 10:20:16 -0000 Author: glebius Date: Fri Mar 15 10:20:15 2013 New Revision: 248317 URL: http://svnweb.freebsd.org/changeset/base/248317 Log: Use m_get2() + m_align() instead of hand made key_alloc_mbuf(). Code examination shows, that although key_alloc_mbuf() could return chains, the callers never use chains, so m_get2() should suffice. Sponsored by: Nginx, Inc. Modified: head/sys/netipsec/key.c Modified: head/sys/netipsec/key.c ============================================================================== --- head/sys/netipsec/key.c Fri Mar 15 10:17:24 2013 (r248316) +++ head/sys/netipsec/key.c Fri Mar 15 10:20:15 2013 (r248317) @@ -547,7 +547,6 @@ static const char *key_getfqdn __P((void static const char *key_getuserfqdn __P((void)); #endif static void key_sa_chgstate __P((struct secasvar *, u_int8_t)); -static struct mbuf *key_alloc_mbuf __P((int)); static __inline void sa_initref(struct secasvar *sav) @@ -1634,15 +1633,11 @@ key_sp2msg(sp) tlen = key_getspreqmsglen(sp); - m = key_alloc_mbuf(tlen); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); - return NULL; - } - + m = m_get2(tlen, M_NOWAIT, MT_DATA, 0); + if (m == NULL) + return (NULL); + m_align(m, tlen); m->m_len = tlen; - m->m_next = NULL; xpl = mtod(m, struct sadb_x_policy *); bzero(xpl, tlen); @@ -1732,12 +1727,11 @@ key_gather_mbuf(m, mhp, ndeep, nitem, va mtod(n, caddr_t)); } else if (i < ndeep) { len = mhp->extlen[idx]; - n = key_alloc_mbuf(len); - if (!n || n->m_next) { /*XXX*/ - if (n) - m_freem(n); + n = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (n == NULL) goto fail; - } + m_align(n, len); + n->m_len = len; m_copydata(m, mhp->extoff[idx], mhp->extlen[idx], mtod(n, caddr_t)); } else { @@ -2602,13 +2596,13 @@ key_spdexpire(sp) /* create lifetime extension (current and hard) */ len = PFKEY_ALIGN8(sizeof(*lt)) * 2; - m = key_alloc_mbuf(len); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); + m = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (m == NULL) { error = ENOBUFS; goto fail; } + m_align(m, len); + m->m_len = len; bzero(mtod(m, caddr_t), len); lt = mtod(m, struct sadb_lifetime *); lt->sadb_lifetime_len = PFKEY_UNIT64(sizeof(struct sadb_lifetime)); @@ -3602,15 +3596,12 @@ key_setsadbsa(sav) int len; len = PFKEY_ALIGN8(sizeof(struct sadb_sa)); - m = key_alloc_mbuf(len); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); - return NULL; - } - + m = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (m == NULL) + return (NULL); + m_align(m, len); + m->m_len = len; p = mtod(m, struct sadb_sa *); - bzero(p, len); p->sadb_sa_len = PFKEY_UNIT64(len); p->sadb_sa_exttype = SADB_EXT_SA; @@ -3636,13 +3627,11 @@ key_setsadbaddr(u_int16_t exttype, const len = PFKEY_ALIGN8(sizeof(struct sadb_address)) + PFKEY_ALIGN8(saddr->sa_len); - m = key_alloc_mbuf(len); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); - return NULL; - } - + m = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (m == NULL) + return (NULL); + m_align(m, len); + m->m_len = len; p = mtod(m, struct sadb_address *); bzero(p, len); @@ -3682,13 +3671,11 @@ key_setsadbxsa2(u_int8_t mode, u_int32_t size_t len; len = PFKEY_ALIGN8(sizeof(struct sadb_x_sa2)); - m = key_alloc_mbuf(len); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); - return NULL; - } - + m = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (m == NULL) + return (NULL); + m_align(m, len); + m->m_len = len; p = mtod(m, struct sadb_x_sa2 *); bzero(p, len); @@ -3716,13 +3703,11 @@ key_setsadbxtype(u_int16_t type) len = PFKEY_ALIGN8(sizeof(struct sadb_x_nat_t_type)); - m = key_alloc_mbuf(len); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); + m = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (m == NULL) return (NULL); - } - + m_align(m, len); + m->m_len = len; p = mtod(m, struct sadb_x_nat_t_type *); bzero(p, len); @@ -3745,13 +3730,11 @@ key_setsadbxport(u_int16_t port, u_int16 len = PFKEY_ALIGN8(sizeof(struct sadb_x_nat_t_port)); - m = key_alloc_mbuf(len); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); + m = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (m == NULL) return (NULL); - } - + m_align(m, len); + m->m_len = len; p = mtod(m, struct sadb_x_nat_t_port *); bzero(p, len); @@ -3822,13 +3805,11 @@ key_setsadbxpolicy(u_int16_t type, u_int size_t len; len = PFKEY_ALIGN8(sizeof(struct sadb_x_policy)); - m = key_alloc_mbuf(len); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); - return NULL; - } - + m = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (m == NULL) + return (NULL); + m_align(m, len); + m->m_len = len; p = mtod(m, struct sadb_x_policy *); bzero(p, len); @@ -6951,13 +6932,13 @@ key_expire(struct secasvar *sav) /* create lifetime extension (current and soft) */ len = PFKEY_ALIGN8(sizeof(*lt)) * 2; - m = key_alloc_mbuf(len); - if (!m || m->m_next) { /*XXX*/ - if (m) - m_freem(m); + m = m_get2(len, M_NOWAIT, MT_DATA, 0); + if (m == NULL) { error = ENOBUFS; goto fail; } + m_align(m, len); + m->m_len = len; bzero(mtod(m, caddr_t), len); lt = mtod(m, struct sadb_lifetime *); lt->sadb_lifetime_len = PFKEY_UNIT64(sizeof(struct sadb_lifetime)); @@ -7959,45 +7940,6 @@ key_sa_stir_iv(sav) key_randomfill(sav->iv, sav->ivlen); } -/* XXX too much? */ -static struct mbuf * -key_alloc_mbuf(l) - int l; -{ - struct mbuf *m = NULL, *n; - int len, t; - - len = l; - while (len > 0) { - MGET(n, M_NOWAIT, MT_DATA); - if (n && len > MLEN) - MCLGET(n, M_NOWAIT); - if (!n) { - m_freem(m); - return NULL; - } - - n->m_next = NULL; - n->m_len = 0; - n->m_len = M_TRAILINGSPACE(n); - /* use the bottom of mbuf, hoping we can prepend afterwards */ - if (n->m_len > len) { - t = (n->m_len - len) & ~(sizeof(long) - 1); - n->m_data += t; - n->m_len = len; - } - - len -= n->m_len; - - if (m) - m_cat(m, n); - else - m = n; - } - - return m; -} - /* * Take one of the kernel's security keys and convert it into a PF_KEY * structure within an mbuf, suitable for sending up to a waiting @@ -8022,9 +7964,11 @@ key_setkey(struct seckey *src, u_int16_t return NULL; len = PFKEY_ALIGN8(sizeof(struct sadb_key) + _KEYLEN(src)); - m = key_alloc_mbuf(len); + m = m_get2(len, M_NOWAIT, MT_DATA, 0); if (m == NULL) return NULL; + m_align(m, len); + m->m_len = len; p = mtod(m, struct sadb_key *); bzero(p, len); p->sadb_key_len = PFKEY_UNIT64(len); @@ -8059,9 +8003,11 @@ key_setlifetime(struct seclifetime *src, if (src == NULL) return NULL; - m = key_alloc_mbuf(len); + m = m_get2(len, M_NOWAIT, MT_DATA, 0); if (m == NULL) return m; + m_align(m, len); + m->m_len = len; p = mtod(m, struct sadb_lifetime *); bzero(p, len); From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 10:21:19 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1A41C32B; Fri, 15 Mar 2013 10:21:19 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E96729C; Fri, 15 Mar 2013 10:21:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FALI45070152; Fri, 15 Mar 2013 10:21:18 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FALIPX070145; Fri, 15 Mar 2013 10:21:18 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151021.r2FALIPX070145@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 10:21:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248318 - in head/sys: kern nfs xdr X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 10:21:19 -0000 Author: glebius Date: Fri Mar 15 10:21:18 2013 New Revision: 248318 URL: http://svnweb.freebsd.org/changeset/base/248318 Log: Use m_get() and m_getcl() instead of compat macros. Modified: head/sys/kern/uipc_sockbuf.c head/sys/nfs/nfs_common.c head/sys/xdr/xdr_mbuf.c Modified: head/sys/kern/uipc_sockbuf.c ============================================================================== --- head/sys/kern/uipc_sockbuf.c Fri Mar 15 10:20:15 2013 (r248317) +++ head/sys/kern/uipc_sockbuf.c Fri Mar 15 10:21:18 2013 (r248318) @@ -644,8 +644,8 @@ sbappendaddr_locked(struct sockbuf *sb, if (asa->sa_len > MLEN) return (0); #endif - MGET(m, M_NOWAIT, MT_SONAME); - if (m == 0) + m = m_get(M_NOWAIT, MT_SONAME); + if (m == NULL) return (0); m->m_len = asa->sa_len; bcopy(asa, mtod(m, caddr_t), asa->sa_len); Modified: head/sys/nfs/nfs_common.c ============================================================================== --- head/sys/nfs/nfs_common.c Fri Mar 15 10:20:15 2013 (r248317) +++ head/sys/nfs/nfs_common.c Fri Mar 15 10:21:18 2013 (r248318) @@ -192,7 +192,7 @@ nfsm_disct(struct mbuf **mdp, caddr_t *d } else if (siz > MHLEN) { panic("nfs S too big"); } else { - MGET(mp2, how, MT_DATA); + mp2 = m_get(how, MT_DATA); if (mp2 == NULL) return (NULL); mp2->m_len = siz; @@ -266,7 +266,7 @@ nfsm_build_xx(int s, struct mbuf **mb, c void *ret; if (s > M_TRAILINGSPACE(*mb)) { - MGET(mb2, M_WAITOK, MT_DATA); + mb2 = m_get(M_WAITOK, MT_DATA); if (s > MLEN) panic("build > MLEN"); (*mb)->m_next = mb2; Modified: head/sys/xdr/xdr_mbuf.c ============================================================================== --- head/sys/xdr/xdr_mbuf.c Fri Mar 15 10:20:15 2013 (r248317) +++ head/sys/xdr/xdr_mbuf.c Fri Mar 15 10:21:18 2013 (r248318) @@ -123,7 +123,7 @@ xdrmbuf_getall(XDR *xdrs) if (m) m_adj(m, xdrs->x_handy); else - MGET(m, M_WAITOK, MT_DATA); + m = m_get(M_WAITOK, MT_DATA); return (m); } @@ -228,9 +228,10 @@ xdrmbuf_putbytes(XDR *xdrs, const char * if (xdrs->x_handy == m->m_len && M_TRAILINGSPACE(m) == 0) { if (!m->m_next) { - MGET(n, M_WAITOK, m->m_type); if (m->m_flags & M_EXT) - MCLGET(n, M_WAITOK); + n = m_getcl(M_WAITOK, m->m_type, 0); + else + n = m_get(M_WAITOK, m->m_type); m->m_next = n; } m = m->m_next; From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 11:16:13 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 859F3A76; Fri, 15 Mar 2013 11:16:13 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5F9167C1; Fri, 15 Mar 2013 11:16:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FBGD3Y086479; Fri, 15 Mar 2013 11:16:13 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FBGCRC086477; Fri, 15 Mar 2013 11:16:12 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303151116.r2FBGCRC086477@svn.freebsd.org> From: Konstantin Belousov Date: Fri, 15 Mar 2013 11:16:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248319 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 11:16:13 -0000 Author: kib Date: Fri Mar 15 11:16:12 2013 New Revision: 248319 URL: http://svnweb.freebsd.org/changeset/base/248319 Log: Implement the helper function vn_io_fault_pgmove(), intended to use by the filesystem VOP_READ() and VOP_WRITE() implementations in the same way as vn_io_fault_uiomove() over the unmapped buffers. Helper provides the convenient wrapper over the pmap_copy_pages() for struct uio consumers, taking care of the TDP_UIOHELD situations. Sponsored by: The FreeBSD Foundation Tested by: pho MFC after: 2 weeks Modified: head/sys/kern/vfs_vnops.c head/sys/sys/vnode.h Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Fri Mar 15 10:21:18 2013 (r248318) +++ head/sys/kern/vfs_vnops.c Fri Mar 15 11:16:12 2013 (r248319) @@ -1122,6 +1122,45 @@ vn_io_fault_uiomove(char *data, int xfer return (error); } +int +vn_io_fault_pgmove(vm_page_t ma[], vm_offset_t offset, int xfersize, + struct uio *uio) +{ + struct thread *td; + vm_offset_t iov_base; + int cnt, pgadv; + + td = curthread; + if ((td->td_pflags & TDP_UIOHELD) == 0 || + uio->uio_segflg != UIO_USERSPACE) + return (uiomove_fromphys(ma, offset, xfersize, uio)); + + KASSERT(uio->uio_iovcnt == 1, ("uio_iovcnt %d", uio->uio_iovcnt)); + cnt = xfersize > uio->uio_resid ? uio->uio_resid : xfersize; + iov_base = (vm_offset_t)uio->uio_iov->iov_base; + switch (uio->uio_rw) { + case UIO_WRITE: + pmap_copy_pages(td->td_ma, iov_base & PAGE_MASK, ma, + offset, cnt); + break; + case UIO_READ: + pmap_copy_pages(ma, offset, td->td_ma, iov_base & PAGE_MASK, + cnt); + break; + } + pgadv = ((iov_base + cnt) >> PAGE_SHIFT) - (iov_base >> PAGE_SHIFT); + td->td_ma += pgadv; + KASSERT(td->td_ma_cnt >= pgadv, ("consumed pages %d %d", td->td_ma_cnt, + pgadv)); + td->td_ma_cnt -= pgadv; + uio->uio_iov->iov_base = (char *)(iov_base + cnt); + uio->uio_iov->iov_len -= cnt; + uio->uio_resid -= cnt; + uio->uio_offset += cnt; + return (0); +} + + /* * File table truncate routine. */ Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Fri Mar 15 10:21:18 2013 (r248318) +++ head/sys/sys/vnode.h Fri Mar 15 11:16:12 2013 (r248319) @@ -693,6 +693,8 @@ int vn_vget_ino(struct vnode *vp, ino_t struct vnode **rvp); int vn_io_fault_uiomove(char *data, int xfersize, struct uio *uio); +int vn_io_fault_pgmove(vm_page_t ma[], vm_offset_t offset, int xfersize, + struct uio *uio); #define vn_rangelock_unlock(vp, cookie) \ rangelock_unlock(&(vp)->v_rl, (cookie), VI_MTX(vp)) From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 12:33:24 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 14CB9A1A; Fri, 15 Mar 2013 12:33:24 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 01759AFC; Fri, 15 Mar 2013 12:33:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FCXNxu010136; Fri, 15 Mar 2013 12:33:23 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FCXNC3010135; Fri, 15 Mar 2013 12:33:23 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151233.r2FCXNC3010135@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 12:33:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248320 - head/sys/netinet6 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 12:33:24 -0000 Author: glebius Date: Fri Mar 15 12:33:23 2013 New Revision: 248320 URL: http://svnweb.freebsd.org/changeset/base/248320 Log: Use m_getcl() instead of hand made allocation. Sponsored by: Nginx, Inc. Modified: head/sys/netinet6/ip6_input.c Modified: head/sys/netinet6/ip6_input.c ============================================================================== --- head/sys/netinet6/ip6_input.c Fri Mar 15 11:16:12 2013 (r248319) +++ head/sys/netinet6/ip6_input.c Fri Mar 15 12:33:23 2013 (r248320) @@ -497,21 +497,16 @@ ip6_input(struct mbuf *m) if (m && m->m_next != NULL && m->m_pkthdr.len < MCLBYTES) { struct mbuf *n; - MGETHDR(n, M_NOWAIT, MT_HEADER); - if (n) - M_MOVE_PKTHDR(n, m); - if (n && n->m_pkthdr.len > MHLEN) { - MCLGET(n, M_NOWAIT); - if ((n->m_flags & M_EXT) == 0) { - m_freem(n); - n = NULL; - } - } + if (m->m_pkthdr.len > MHLEN) + n = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); + else + n = m_gethdr(M_NOWAIT, MT_DATA); if (n == NULL) { m_freem(m); return; /* ENOBUFS */ } + M_MOVE_PKTHDR(n, m); m_copydata(m, 0, n->m_pkthdr.len, mtod(n, caddr_t)); n->m_len = n->m_pkthdr.len; m_freem(m); From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 12:50:31 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1BEE6DD8; Fri, 15 Mar 2013 12:50:31 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 093D0C27; Fri, 15 Mar 2013 12:50:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FCoU9v014206; Fri, 15 Mar 2013 12:50:30 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FCoUJs014202; Fri, 15 Mar 2013 12:50:30 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151250.r2FCoUJs014202@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 12:50:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248321 - head/sys/netinet6 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 12:50:31 -0000 Author: glebius Date: Fri Mar 15 12:50:29 2013 New Revision: 248321 URL: http://svnweb.freebsd.org/changeset/base/248321 Log: - Use m_getcl() instead of hand allocating. - Use m_get()/m_gethdr() instead of macros. - Remove superfluous cleaning of mbuf fields after allocation. Sponsored by: Nginx, Inc. Modified: head/sys/netinet6/icmp6.c head/sys/netinet6/ip6_mroute.c head/sys/netinet6/ip6_output.c head/sys/netinet6/mld6.c Modified: head/sys/netinet6/icmp6.c ============================================================================== --- head/sys/netinet6/icmp6.c Fri Mar 15 12:33:23 2013 (r248320) +++ head/sys/netinet6/icmp6.c Fri Mar 15 12:50:29 2013 (r248321) @@ -581,7 +581,7 @@ icmp6_input(struct mbuf **mp, int *offp, const int maxlen = sizeof(*nip6) + sizeof(*nicmp6); int n0len; - MGETHDR(n, M_NOWAIT, n0->m_type); + n = m_gethdr(M_NOWAIT, n0->m_type); n0len = n0->m_pkthdr.len; /* save for use below */ if (n) M_MOVE_PKTHDR(n, n0); /* FIB copied. */ @@ -699,7 +699,7 @@ icmp6_input(struct mbuf **mp, int *offp, /* Give up remote */ break; } - MGETHDR(n, M_NOWAIT, m->m_type); + n = m_gethdr(M_NOWAIT, m->m_type); if (n && maxlen > MHLEN) { MCLGET(n, M_NOWAIT); if ((n->m_flags & M_EXT) == 0) { @@ -1495,7 +1495,7 @@ ni6_input(struct mbuf *m, int off) } /* allocate an mbuf to reply. */ - MGETHDR(n, M_NOWAIT, m->m_type); + n = m_gethdr(M_NOWAIT, m->m_type); if (n == NULL) { m_freem(m); return (NULL); @@ -1608,16 +1608,13 @@ ni6_nametodns(const char *name, int name else len = MCLBYTES; - /* because MAXHOSTNAMELEN is usually 256, we use cluster mbuf */ - MGET(m, M_NOWAIT, MT_DATA); - if (m && len > MLEN) { - MCLGET(m, M_NOWAIT); - if ((m->m_flags & M_EXT) == 0) - goto fail; - } - if (!m) + /* Because MAXHOSTNAMELEN is usually 256, we use cluster mbuf. */ + if (len > MLEN) + m = m_getcl(M_NOWAIT, MT_DATA, 0); + else + m = m_get(M_NOWAIT, MT_DATA); + if (m == NULL) goto fail; - m->m_next = NULL; if (old) { m->m_len = len; @@ -2063,7 +2060,7 @@ icmp6_rip6_input(struct mbuf **mp, int o */ if ((m->m_flags & M_EXT) && m->m_next == NULL && m->m_len <= MHLEN) { - MGET(n, M_NOWAIT, m->m_type); + n = m_get(M_NOWAIT, m->m_type); if (n != NULL) { if (m_dup_pkthdr(n, m, M_NOWAIT)) { bcopy(m->m_data, n->m_data, @@ -2113,7 +2110,7 @@ icmp6_rip6_input(struct mbuf **mp, int o m->m_len <= MHLEN) { struct mbuf *n; - MGET(n, M_NOWAIT, m->m_type); + n = m_get(M_NOWAIT, m->m_type); if (n != NULL) { if (m_dup_pkthdr(n, m, M_NOWAIT)) { bcopy(m->m_data, n->m_data, m->m_len); @@ -2592,14 +2589,10 @@ icmp6_redirect_output(struct mbuf *m0, s #if IPV6_MMTU >= MCLBYTES # error assumption failed about IPV6_MMTU and MCLBYTES #endif - MGETHDR(m, M_NOWAIT, MT_HEADER); - if (m && IPV6_MMTU >= MHLEN) - MCLGET(m, M_NOWAIT); - if (!m) + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); + if (m == NULL) goto fail; M_SETFIB(m, rt->rt_fibnum); - m->m_pkthdr.rcvif = NULL; - m->m_len = 0; maxlen = M_TRAILINGSPACE(m); maxlen = min(IPV6_MMTU, maxlen); /* just for safety */ Modified: head/sys/netinet6/ip6_mroute.c ============================================================================== --- head/sys/netinet6/ip6_mroute.c Fri Mar 15 12:33:23 2013 (r248320) +++ head/sys/netinet6/ip6_mroute.c Fri Mar 15 12:50:29 2013 (r248321) @@ -1698,11 +1698,10 @@ register_send(struct ip6_hdr *ip6, struc #endif ++pim6stat.pim6s_snd_registers; - /* Make a copy of the packet to send to the user level process */ - MGETHDR(mm, M_NOWAIT, MT_HEADER); + /* Make a copy of the packet to send to the user level process. */ + mm = m_gethdr(M_NOWAIT, MT_DATA); if (mm == NULL) return (ENOBUFS); - mm->m_pkthdr.rcvif = NULL; mm->m_data += max_linkhdr; mm->m_len = sizeof(struct ip6_hdr); Modified: head/sys/netinet6/ip6_output.c ============================================================================== --- head/sys/netinet6/ip6_output.c Fri Mar 15 12:33:23 2013 (r248320) +++ head/sys/netinet6/ip6_output.c Fri Mar 15 12:50:29 2013 (r248321) @@ -774,9 +774,7 @@ again: /* * XXX: ip6_mforward expects that rcvif is NULL * when it is called from the originating path. - * However, it is not always the case, since - * some versions of MGETHDR() does not - * initialize the field. + * However, it may not always be the case. */ m->m_pkthdr.rcvif = NULL; if (ip6_mforward(ip6, ifp, m) != 0) { @@ -1122,13 +1120,12 @@ passout: */ m0 = m; for (off = hlen; off < tlen; off += len) { - MGETHDR(m, M_NOWAIT, MT_HEADER); + m = m_gethdr(M_NOWAIT, MT_DATA); if (!m) { error = ENOBUFS; V_ip6stat.ip6s_odropped++; goto sendorfree; } - m->m_pkthdr.rcvif = NULL; m->m_flags = m0->m_flags & M_COPYFLAGS; /* incl. FIB */ *mnext = m; mnext = &m->m_nextpkt; @@ -3045,8 +3042,8 @@ ip6_splithdr(struct mbuf *m, struct ip6_ ip6 = mtod(m, struct ip6_hdr *); if (m->m_len > sizeof(*ip6)) { - MGETHDR(mh, M_NOWAIT, MT_HEADER); - if (mh == 0) { + mh = m_gethdr(M_NOWAIT, MT_DATA); + if (mh == NULL) { m_freem(m); return ENOBUFS; } Modified: head/sys/netinet6/mld6.c ============================================================================== --- head/sys/netinet6/mld6.c Fri Mar 15 12:33:23 2013 (r248320) +++ head/sys/netinet6/mld6.c Fri Mar 15 12:50:29 2013 (r248321) @@ -1799,13 +1799,13 @@ mld_v1_transmit_report(struct in6_multi ia = in6ifa_ifpforlinklocal(ifp, IN6_IFF_NOTREADY|IN6_IFF_ANYCAST); /* ia may be NULL if link-local address is tentative. */ - MGETHDR(mh, M_NOWAIT, MT_HEADER); + mh = m_gethdr(M_NOWAIT, MT_DATA); if (mh == NULL) { if (ia != NULL) ifa_free(&ia->ia_ifa); return (ENOMEM); } - MGET(md, M_NOWAIT, MT_DATA); + md = m_get(M_NOWAIT, MT_DATA); if (md == NULL) { m_free(mh); if (ia != NULL) @@ -3173,7 +3173,7 @@ mld_v2_encap_report(struct ifnet *ifp, s if (ia == NULL) CTR1(KTR_MLD, "%s: warning: ia is NULL", __func__); - MGETHDR(mh, M_NOWAIT, MT_HEADER); + mh = m_gethdr(M_NOWAIT, MT_DATA); if (mh == NULL) { if (ia != NULL) ifa_free(&ia->ia_ifa); From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 12:53:00 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5AF99FBB; Fri, 15 Mar 2013 12:53:00 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4DB1ECC1; Fri, 15 Mar 2013 12:53:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FCr0ru015997; Fri, 15 Mar 2013 12:53:00 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FCr0KV015996; Fri, 15 Mar 2013 12:53:00 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151253.r2FCr0KV015996@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 12:53:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248322 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 12:53:00 -0000 Author: glebius Date: Fri Mar 15 12:52:59 2013 New Revision: 248322 URL: http://svnweb.freebsd.org/changeset/base/248322 Log: - Use m_getcl() instead of hand allocating. - Convert panic() to KASSERT. - Remove superfluous cleaning of mbuf fields after allocation. - Add comment on possible use of m_get2() here. Sponsored by: Nginx, Inc. Modified: head/sys/net/rtsock.c Modified: head/sys/net/rtsock.c ============================================================================== --- head/sys/net/rtsock.c Fri Mar 15 12:50:29 2013 (r248321) +++ head/sys/net/rtsock.c Fri Mar 15 12:52:59 2013 (r248322) @@ -1118,20 +1118,17 @@ rt_msg1(int type, struct rt_addrinfo *rt default: len = sizeof(struct rt_msghdr); } - if (len > MCLBYTES) - panic("rt_msg1"); - m = m_gethdr(M_NOWAIT, MT_DATA); - if (m && len > MHLEN) { - MCLGET(m, M_NOWAIT); - if ((m->m_flags & M_EXT) == 0) { - m_free(m); - m = NULL; - } - } + + /* XXXGL: can we use MJUMPAGESIZE cluster here? */ + KASSERT(len <= MCLBYTES, ("%s: message too big", __func__)); + if (len > MHLEN) + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); + else + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) return (m); + m->m_pkthdr.len = m->m_len = len; - m->m_pkthdr.rcvif = NULL; rtm = mtod(m, struct rt_msghdr *); bzero((caddr_t)rtm, len); for (i = 0; i < RTAX_MAX; i++) { From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 12:53:54 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 443671DB; Fri, 15 Mar 2013 12:53:54 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2CE09CD9; Fri, 15 Mar 2013 12:53:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FCrs9f016151; Fri, 15 Mar 2013 12:53:54 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FCrsSs016150; Fri, 15 Mar 2013 12:53:54 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151253.r2FCrsSs016150@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 12:53:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248323 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 12:53:54 -0000 Author: glebius Date: Fri Mar 15 12:53:53 2013 New Revision: 248323 URL: http://svnweb.freebsd.org/changeset/base/248323 Log: - Use m_getcl() instead of hand allocating. Sponsored by: Nginx, Inc. Modified: head/sys/netinet/tcp_output.c Modified: head/sys/netinet/tcp_output.c ============================================================================== --- head/sys/netinet/tcp_output.c Fri Mar 15 12:52:59 2013 (r248322) +++ head/sys/netinet/tcp_output.c Fri Mar 15 12:53:53 2013 (r248323) @@ -842,23 +842,19 @@ send: TCPSTAT_INC(tcps_sndpack); TCPSTAT_ADD(tcps_sndbyte, len); } - MGETHDR(m, M_NOWAIT, MT_DATA); +#ifdef INET6 + if (MHLEN < hdrlen + max_linkhdr) + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); + else +#endif + m = m_gethdr(M_NOWAIT, MT_DATA); + if (m == NULL) { SOCKBUF_UNLOCK(&so->so_snd); error = ENOBUFS; goto out; } -#ifdef INET6 - if (MHLEN < hdrlen + max_linkhdr) { - MCLGET(m, M_NOWAIT); - if ((m->m_flags & M_EXT) == 0) { - SOCKBUF_UNLOCK(&so->so_snd); - m_freem(m); - error = ENOBUFS; - goto out; - } - } -#endif + m->m_data += max_linkhdr; m->m_len = hdrlen; From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 12:55:33 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 28F18382; Fri, 15 Mar 2013 12:55:33 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 19DAECFC; Fri, 15 Mar 2013 12:55:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FCtWn2016470; Fri, 15 Mar 2013 12:55:32 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FCtVea016460; Fri, 15 Mar 2013 12:55:31 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151255.r2FCtVea016460@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 12:55:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248324 - in head/sys: compat/ndis net netinet netpfil/pf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 12:55:33 -0000 Author: glebius Date: Fri Mar 15 12:55:30 2013 New Revision: 248324 URL: http://svnweb.freebsd.org/changeset/base/248324 Log: Use m_get/m_gethdr instead of compat macros. Sponsored by: Nginx, Inc. Modified: head/sys/compat/ndis/kern_ndis.c head/sys/net/bridgestp.c head/sys/net/if_gre.c head/sys/netinet/ip_carp.c head/sys/netinet/ip_input.c head/sys/netinet/ip_mroute.c head/sys/netinet/ip_options.c head/sys/netinet/ip_output.c head/sys/netinet/tcp_subr.c head/sys/netpfil/pf/pf.c Modified: head/sys/compat/ndis/kern_ndis.c ============================================================================== --- head/sys/compat/ndis/kern_ndis.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/compat/ndis/kern_ndis.c Fri Mar 15 12:55:30 2013 (r248324) @@ -656,13 +656,9 @@ ndis_ptom(m0, p) for (buf = priv->npp_head; buf != NULL; buf = buf->mdl_next) { if (buf == priv->npp_head) -#ifdef MT_HEADER - MGETHDR(m, M_NOWAIT, MT_HEADER); -#else - MGETHDR(m, M_NOWAIT, MT_DATA); -#endif + m = m_gethdr(M_NOWAIT, MT_DATA); else - MGET(m, M_NOWAIT, MT_DATA); + m = m_get(M_NOWAIT, MT_DATA); if (m == NULL) { m_freem(*m0); *m0 = NULL; Modified: head/sys/net/bridgestp.c ============================================================================== --- head/sys/net/bridgestp.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/net/bridgestp.c Fri Mar 15 12:55:30 2013 (r248324) @@ -234,7 +234,7 @@ bstp_transmit_tcn(struct bstp_state *bs, if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return; - MGETHDR(m, M_NOWAIT, MT_DATA); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) return; @@ -348,7 +348,7 @@ bstp_send_bpdu(struct bstp_state *bs, st if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return; - MGETHDR(m, M_NOWAIT, MT_DATA); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) return; Modified: head/sys/net/if_gre.c ============================================================================== --- head/sys/net/if_gre.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/net/if_gre.c Fri Mar 15 12:55:30 2013 (r248324) @@ -384,8 +384,7 @@ gre_output(struct ifnet *ifp, struct mbu mob_h.hcrc = gre_in_cksum((u_int16_t *)&mob_h, msiz); if ((m->m_data - msiz) < m->m_pktdat) { - /* need new mbuf */ - MGETHDR(m0, M_NOWAIT, MT_DATA); + m0 = m_gethdr(M_NOWAIT, MT_DATA); if (m0 == NULL) { _IF_DROP(&ifp->if_snd); m_freem(m); Modified: head/sys/netinet/ip_carp.c ============================================================================== --- head/sys/netinet/ip_carp.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/netinet/ip_carp.c Fri Mar 15 12:55:30 2013 (r248324) @@ -764,7 +764,7 @@ carp_send_ad_locked(struct carp_softc *s if (sc->sc_naddrs) { struct ip *ip; - MGETHDR(m, M_NOWAIT, MT_HEADER); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) { CARPSTATS_INC(carps_onomem); goto resched; @@ -832,7 +832,7 @@ carp_send_ad_locked(struct carp_softc *s if (sc->sc_naddrs6) { struct ip6_hdr *ip6; - MGETHDR(m, M_NOWAIT, MT_HEADER); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) { CARPSTATS_INC(carps_onomem); goto resched; Modified: head/sys/netinet/ip_input.c ============================================================================== --- head/sys/netinet/ip_input.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/netinet/ip_input.c Fri Mar 15 12:55:30 2013 (r248324) @@ -1406,7 +1406,7 @@ ip_forward(struct mbuf *m, int srcrt) * assume exclusive access to the IP header in `m', so any * data in a cluster may change before we reach icmp_error(). */ - MGETHDR(mcopy, M_NOWAIT, m->m_type); + mcopy = m_gethdr(M_NOWAIT, m->m_type); if (mcopy != NULL && !m_dup_pkthdr(mcopy, m, M_NOWAIT)) { /* * It's probably ok if the pkthdr dup fails (because Modified: head/sys/netinet/ip_mroute.c ============================================================================== --- head/sys/netinet/ip_mroute.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/netinet/ip_mroute.c Fri Mar 15 12:55:30 2013 (r248324) @@ -2083,13 +2083,12 @@ bw_upcalls_send(void) * Allocate a new mbuf, initialize it with the header and * the payload for the pending calls. */ - MGETHDR(m, M_NOWAIT, MT_DATA); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) { log(LOG_WARNING, "bw_upcalls_send: cannot allocate mbuf\n"); return; } - m->m_len = m->m_pkthdr.len = 0; m_copyback(m, 0, sizeof(struct igmpmsg), (caddr_t)&igmpmsg); m_copyback(m, sizeof(struct igmpmsg), len, (caddr_t)&V_bw_upcalls[0]); @@ -2430,7 +2429,7 @@ pim_register_send_upcall(struct ip *ip, /* * Add a new mbuf with an upcall header */ - MGETHDR(mb_first, M_NOWAIT, MT_DATA); + mb_first = m_gethdr(M_NOWAIT, MT_DATA); if (mb_first == NULL) { m_freem(mb_copy); return ENOBUFS; @@ -2488,7 +2487,7 @@ pim_register_send_rp(struct ip *ip, stru /* * Add a new mbuf with the encapsulating header */ - MGETHDR(mb_first, M_NOWAIT, MT_DATA); + mb_first = m_gethdr(M_NOWAIT, MT_DATA); if (mb_first == NULL) { m_freem(mb_copy); return ENOBUFS; Modified: head/sys/netinet/ip_options.c ============================================================================== --- head/sys/netinet/ip_options.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/netinet/ip_options.c Fri Mar 15 12:55:30 2013 (r248324) @@ -495,7 +495,7 @@ ip_insertoptions(struct mbuf *m, struct if (p->ipopt_dst.s_addr) ip->ip_dst = p->ipopt_dst; if (m->m_flags & M_EXT || m->m_data - optlen < m->m_pktdat) { - MGETHDR(n, M_NOWAIT, MT_DATA); + n = m_gethdr(M_NOWAIT, MT_DATA); if (n == NULL) { *phlen = 0; return (m); Modified: head/sys/netinet/ip_output.c ============================================================================== --- head/sys/netinet/ip_output.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/netinet/ip_output.c Fri Mar 15 12:55:30 2013 (r248324) @@ -784,7 +784,7 @@ smart_frag_failure: struct mbuf *m; int mhlen = sizeof (struct ip); - MGETHDR(m, M_NOWAIT, MT_DATA); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) { error = ENOBUFS; IPSTAT_INC(ips_odropped); @@ -951,7 +951,7 @@ ip_ctloutput(struct socket *so, struct s error = EMSGSIZE; break; } - MGET(m, sopt->sopt_td ? M_WAITOK : M_NOWAIT, MT_DATA); + m = m_get(sopt->sopt_td ? M_WAITOK : M_NOWAIT, MT_DATA); if (m == NULL) { error = ENOBUFS; break; Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/netinet/tcp_subr.c Fri Mar 15 12:55:30 2013 (r248324) @@ -1860,7 +1860,7 @@ ipsec_hdrsiz_tcp(struct tcpcb *tp) if ((tp == NULL) || ((inp = tp->t_inpcb) == NULL)) return (0); - MGETHDR(m, M_NOWAIT, MT_DATA); + m = m_gethdr(M_NOWAIT, MT_DATA); if (!m) return (0); Modified: head/sys/netpfil/pf/pf.c ============================================================================== --- head/sys/netpfil/pf/pf.c Fri Mar 15 12:53:53 2013 (r248323) +++ head/sys/netpfil/pf/pf.c Fri Mar 15 12:55:30 2013 (r248324) @@ -2168,7 +2168,7 @@ pf_send_tcp(struct mbuf *replyto, const pfse = malloc(sizeof(*pfse), M_PFTEMP, M_NOWAIT); if (pfse == NULL) return; - m = m_gethdr(M_NOWAIT, MT_HEADER); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) { free(pfse, M_PFTEMP); return; From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 12:57:31 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 310DA5DD; Fri, 15 Mar 2013 12:57:31 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 241DDD1C; Fri, 15 Mar 2013 12:57:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FCvVCo016821; Fri, 15 Mar 2013 12:57:31 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FCvVrp016820; Fri, 15 Mar 2013 12:57:31 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303151257.r2FCvVrp016820@svn.freebsd.org> From: Konstantin Belousov Date: Fri, 15 Mar 2013 12:57:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248325 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 12:57:31 -0000 Author: kib Date: Fri Mar 15 12:57:30 2013 New Revision: 248325 URL: http://svnweb.freebsd.org/changeset/base/248325 Log: Add my copyright for the 2012 year work, in particular vn_io_fault() and f_offset locking. Add required Foundation notice for r248319. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/vfs_vnops.c Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Fri Mar 15 12:55:30 2013 (r248324) +++ head/sys/kern/vfs_vnops.c Fri Mar 15 12:57:30 2013 (r248325) @@ -7,6 +7,11 @@ * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of UNIX System Laboratories, Inc. * + * Copyright (c) 2012 Konstantin Belousov + * Copyright (c) 2013 The FreeBSD Foundation + * Portions of this software were developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 13:01:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 90E547A7 for ; Fri, 15 Mar 2013 13:01:02 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 08B0ED4D for ; Fri, 15 Mar 2013 13:01:01 +0000 (UTC) Received: (qmail 64292 invoked from network); 15 Mar 2013 14:13:02 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 15 Mar 2013 14:13:02 -0000 Message-ID: <51431B89.5010501@freebsd.org> Date: Fri, 15 Mar 2013 14:00:57 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r248323 - head/sys/netinet References: <201303151253.r2FCrsSs016150@svn.freebsd.org> In-Reply-To: <201303151253.r2FCrsSs016150@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 13:01:02 -0000 On 15.03.2013 13:53, Gleb Smirnoff wrote: > Author: glebius > Date: Fri Mar 15 12:53:53 2013 > New Revision: 248323 > URL: http://svnweb.freebsd.org/changeset/base/248323 > > Log: > - Use m_getcl() instead of hand allocating. > > Sponsored by: Nginx, Inc. > > Modified: > head/sys/netinet/tcp_output.c > > Modified: head/sys/netinet/tcp_output.c > ============================================================================== > --- head/sys/netinet/tcp_output.c Fri Mar 15 12:52:59 2013 (r248322) > +++ head/sys/netinet/tcp_output.c Fri Mar 15 12:53:53 2013 (r248323) > @@ -842,23 +842,19 @@ send: > TCPSTAT_INC(tcps_sndpack); > TCPSTAT_ADD(tcps_sndbyte, len); > } > - MGETHDR(m, M_NOWAIT, MT_DATA); > +#ifdef INET6 > + if (MHLEN < hdrlen + max_linkhdr) > + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); > + else > +#endif > + m = m_gethdr(M_NOWAIT, MT_DATA); > + m = m_getm2(hdrlen + max_linkhdr, M_NOWAIT, MT_DATA, M_PKTHDR); would be even more compact. Since max_linkhdr could be large as well, the possibility of a cluster applies to IPv4 too. -- Andre > if (m == NULL) { > SOCKBUF_UNLOCK(&so->so_snd); > error = ENOBUFS; > goto out; > } > -#ifdef INET6 > - if (MHLEN < hdrlen + max_linkhdr) { > - MCLGET(m, M_NOWAIT); > - if ((m->m_flags & M_EXT) == 0) { > - SOCKBUF_UNLOCK(&so->so_snd); > - m_freem(m); > - error = ENOBUFS; > - goto out; > - } > - } > -#endif > + > m->m_data += max_linkhdr; > m->m_len = hdrlen; > > > From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 13:10:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id F37EEAF4; Fri, 15 Mar 2013 13:10:06 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E5406DD9; Fri, 15 Mar 2013 13:10:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FDA6TS020538; Fri, 15 Mar 2013 13:10:06 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FDA6TZ020537; Fri, 15 Mar 2013 13:10:06 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151310.r2FDA6TZ020537@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 13:10:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248326 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 13:10:07 -0000 Author: glebius Date: Fri Mar 15 13:10:06 2013 New Revision: 248326 URL: http://svnweb.freebsd.org/changeset/base/248326 Log: We can, and should use M_WAITOK here. Sponsored by: Nginx, Inc. Modified: head/sys/netinet/igmp.c Modified: head/sys/netinet/igmp.c ============================================================================== --- head/sys/netinet/igmp.c Fri Mar 15 12:57:30 2013 (r248325) +++ head/sys/netinet/igmp.c Fri Mar 15 13:10:06 2013 (r248326) @@ -523,7 +523,7 @@ igmp_ra_alloc(void) struct mbuf *m; struct ipoption *p; - MGET(m, M_NOWAIT, MT_DATA); + m = m_get(M_WAITOK, MT_DATA); p = mtod(m, struct ipoption *); p->ipopt_dst.s_addr = INADDR_ANY; p->ipopt_list[0] = IPOPT_RA; /* Router Alert Option */ From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 13:47:00 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0A34F7D9; Fri, 15 Mar 2013 13:47:00 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id 88579150; Fri, 15 Mar 2013 13:46:59 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.6/8.14.6) with ESMTP id r2FDkvDt053357; Fri, 15 Mar 2013 17:46:57 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.6/8.14.6/Submit) id r2FDkvqY053356; Fri, 15 Mar 2013 17:46:57 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Fri, 15 Mar 2013 17:46:57 +0400 From: Gleb Smirnoff To: Andre Oppermann Subject: Re: svn commit: r248323 - head/sys/netinet Message-ID: <20130315134657.GL48089@FreeBSD.org> References: <201303151253.r2FCrsSs016150@svn.freebsd.org> <51431B89.5010501@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <51431B89.5010501@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 13:47:00 -0000 On Fri, Mar 15, 2013 at 02:00:57PM +0100, Andre Oppermann wrote: A> On 15.03.2013 13:53, Gleb Smirnoff wrote: A> > Author: glebius A> > Date: Fri Mar 15 12:53:53 2013 A> > New Revision: 248323 A> > URL: http://svnweb.freebsd.org/changeset/base/248323 A> > A> > Log: A> > - Use m_getcl() instead of hand allocating. A> > A> > Sponsored by: Nginx, Inc. A> > A> > Modified: A> > head/sys/netinet/tcp_output.c A> > A> > Modified: head/sys/netinet/tcp_output.c A> > ============================================================================== A> > --- head/sys/netinet/tcp_output.c Fri Mar 15 12:52:59 2013 (r248322) A> > +++ head/sys/netinet/tcp_output.c Fri Mar 15 12:53:53 2013 (r248323) A> > @@ -842,23 +842,19 @@ send: A> > TCPSTAT_INC(tcps_sndpack); A> > TCPSTAT_ADD(tcps_sndbyte, len); A> > } A> > - MGETHDR(m, M_NOWAIT, MT_DATA); A> > +#ifdef INET6 A> > + if (MHLEN < hdrlen + max_linkhdr) A> > + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); A> > + else A> > +#endif A> > + m = m_gethdr(M_NOWAIT, MT_DATA); A> > + A> A> m = m_getm2(hdrlen + max_linkhdr, M_NOWAIT, MT_DATA, M_PKTHDR); A> A> would be even more compact. Since max_linkhdr could be large as well, A> the possibility of a cluster applies to IPv4 too. m_getm2() may return chain. According to argument list, you probably meant m_get2(). Yes, that would be more compat. But, again, I am not sure that using pagesized cluster won't break anything. If you are sure, feel free to change that. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 13:48:55 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 243E4968; Fri, 15 Mar 2013 13:48:55 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 079EE16B; Fri, 15 Mar 2013 13:48:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FDms2e032231; Fri, 15 Mar 2013 13:48:54 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FDmsM8032227; Fri, 15 Mar 2013 13:48:54 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303151348.r2FDmsM8032227@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 15 Mar 2013 13:48:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248328 - head/sys/netinet6 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 13:48:55 -0000 Author: glebius Date: Fri Mar 15 13:48:53 2013 New Revision: 248328 URL: http://svnweb.freebsd.org/changeset/base/248328 Log: - Use m_getcl() instead of hand allocating. - Do not calculate constant length values at run time, CTASSERT() their sanity. - Remove superfluous cleaning of mbuf fields after allocation. - Replace compat macros with function calls. Sponsored by: Nginx, Inc. Modified: head/sys/netinet6/icmp6.c head/sys/netinet6/ip6_input.c head/sys/netinet6/ip6_output.c head/sys/netinet6/nd6_nbr.c Modified: head/sys/netinet6/icmp6.c ============================================================================== --- head/sys/netinet6/icmp6.c Fri Mar 15 13:40:00 2013 (r248327) +++ head/sys/netinet6/icmp6.c Fri Mar 15 13:48:53 2013 (r248328) @@ -578,25 +578,18 @@ icmp6_input(struct mbuf **mp, int *offp, if ((n->m_flags & M_EXT) != 0 || n->m_len < off + sizeof(struct icmp6_hdr)) { struct mbuf *n0 = n; - const int maxlen = sizeof(*nip6) + sizeof(*nicmp6); int n0len; + CTASSERT(sizeof(*nip6) + sizeof(*nicmp6) <= MHLEN); n = m_gethdr(M_NOWAIT, n0->m_type); - n0len = n0->m_pkthdr.len; /* save for use below */ - if (n) - M_MOVE_PKTHDR(n, n0); /* FIB copied. */ - if (n && maxlen >= MHLEN) { - MCLGET(n, M_NOWAIT); - if ((n->m_flags & M_EXT) == 0) { - m_free(n); - n = NULL; - } - } if (n == NULL) { /* Give up remote */ m_freem(n0); break; } + + m_move_pkthdr(n, n0); /* FIB copied. */ + n0len = n0->m_pkthdr.len; /* save for use below */ /* * Copy IPv6 and ICMPv6 only. */ @@ -683,7 +676,7 @@ icmp6_input(struct mbuf **mp, int *offp, } else { struct prison *pr; u_char *p; - int maxlen, maxhlen, hlen; + int maxhlen, hlen; /* * XXX: this combination of flags is pointless, @@ -694,20 +687,14 @@ icmp6_input(struct mbuf **mp, int *offp, if (code != 0) goto badcode; - maxlen = sizeof(*nip6) + sizeof(*nicmp6) + 4; - if (maxlen >= MCLBYTES) { + + CTASSERT(sizeof(*nip6) + sizeof(*nicmp6) + 4 <= MHLEN); + n = m_gethdr(M_NOWAIT, m->m_type); + if (n == NULL) { /* Give up remote */ break; } - n = m_gethdr(M_NOWAIT, m->m_type); - if (n && maxlen > MHLEN) { - MCLGET(n, M_NOWAIT); - if ((n->m_flags & M_EXT) == 0) { - m_free(n); - n = NULL; - } - } - if (n && !m_dup_pkthdr(n, m, M_NOWAIT)) { + if (!m_dup_pkthdr(n, m, M_NOWAIT)) { /* * Previous code did a blind M_COPY_PKTHDR * and said "just for rcvif". If true, then @@ -718,13 +705,8 @@ icmp6_input(struct mbuf **mp, int *offp, m_free(n); n = NULL; } - if (n == NULL) { - /* Give up remote */ - break; - } - n->m_pkthdr.rcvif = NULL; - n->m_len = 0; - maxhlen = M_TRAILINGSPACE(n) - maxlen; + maxhlen = M_TRAILINGSPACE(n) - + (sizeof(*nip6) + sizeof(*nicmp6) + 4); pr = curthread->td_ucred->cr_prison; mtx_lock(&pr->pr_mtx); hlen = strlen(pr->pr_hostname); @@ -1494,26 +1476,23 @@ ni6_input(struct mbuf *m, int off) break; } - /* allocate an mbuf to reply. */ - n = m_gethdr(M_NOWAIT, m->m_type); + /* Allocate an mbuf to reply. */ + if (replylen > MCLBYTES) { + /* + * XXX: should we try to allocate more? But MCLBYTES + * is probably much larger than IPV6_MMTU... + */ + goto bad; + } + if (replylen > MHLEN) + n = m_getcl(M_NOWAIT, m->m_type, M_PKTHDR); + else + n = m_gethdr(M_NOWAIT, m->m_type); if (n == NULL) { m_freem(m); return (NULL); } - M_MOVE_PKTHDR(n, m); /* just for recvif and FIB */ - if (replylen > MHLEN) { - if (replylen > MCLBYTES) { - /* - * XXX: should we try to allocate more? But MCLBYTES - * is probably much larger than IPV6_MMTU... - */ - goto bad; - } - MCLGET(n, M_NOWAIT); - if ((n->m_flags & M_EXT) == 0) { - goto bad; - } - } + m_move_pkthdr(n, m); /* just for recvif and FIB */ n->m_pkthdr.len = n->m_len = replylen; /* copy mbuf header and IPv6 + Node Information base headers */ Modified: head/sys/netinet6/ip6_input.c ============================================================================== --- head/sys/netinet6/ip6_input.c Fri Mar 15 13:40:00 2013 (r248327) +++ head/sys/netinet6/ip6_input.c Fri Mar 15 13:48:53 2013 (r248328) @@ -506,7 +506,7 @@ ip6_input(struct mbuf *m) return; /* ENOBUFS */ } - M_MOVE_PKTHDR(n, m); + m_move_pkthdr(n, m); m_copydata(m, 0, n->m_pkthdr.len, mtod(n, caddr_t)); n->m_len = n->m_pkthdr.len; m_freem(m); @@ -1662,22 +1662,12 @@ ip6_pullexthdr(struct mbuf *m, size_t of else elen = (ip6e.ip6e_len + 1) << 3; - MGET(n, M_NOWAIT, MT_DATA); - if (n && elen >= MLEN) { - MCLGET(n, M_NOWAIT); - if ((n->m_flags & M_EXT) == 0) { - m_free(n); - n = NULL; - } - } - if (!n) - return NULL; - - n->m_len = 0; - if (elen >= M_TRAILINGSPACE(n)) { - m_free(n); + if (elen > MLEN) + n = m_getcl(M_NOWAIT, MT_DATA, 0); + else + n = m_get(M_NOWAIT, MT_DATA); + if (n == NULL) return NULL; - } m_copydata(m, off, elen, mtod(n, caddr_t)); n->m_len = elen; Modified: head/sys/netinet6/ip6_output.c ============================================================================== --- head/sys/netinet6/ip6_output.c Fri Mar 15 13:40:00 2013 (r248327) +++ head/sys/netinet6/ip6_output.c Fri Mar 15 13:48:53 2013 (r248328) @@ -1219,17 +1219,12 @@ ip6_copyexthdr(struct mbuf **mp, caddr_t if (hlen > MCLBYTES) return (ENOBUFS); /* XXX */ - MGET(m, M_NOWAIT, MT_DATA); - if (!m) + if (hlen > MLEN) + m = m_getcl(M_NOWAIT, MT_DATA, 0); + else + m = m_get(M_NOWAIT, MT_DATA); + if (m == NULL) return (ENOBUFS); - - if (hlen > MLEN) { - MCLGET(m, M_NOWAIT); - if ((m->m_flags & M_EXT) == 0) { - m_free(m); - return (ENOBUFS); - } - } m->m_len = hlen; if (hdr) bcopy(hdr, mtod(m, caddr_t), hlen); @@ -1257,8 +1252,8 @@ ip6_insert_jumboopt(struct ip6_exthdrs * * Otherwise, use it to store the options. */ if (exthdrs->ip6e_hbh == 0) { - MGET(mopt, M_NOWAIT, MT_DATA); - if (mopt == 0) + mopt = m_get(M_NOWAIT, MT_DATA); + if (mopt == NULL) return (ENOBUFS); mopt->m_len = JUMBOOPTLEN; optbuf = mtod(mopt, u_char *); @@ -1289,15 +1284,8 @@ ip6_insert_jumboopt(struct ip6_exthdrs * * As a consequence, we must always prepare a cluster * at this point. */ - MGET(n, M_NOWAIT, MT_DATA); - if (n) { - MCLGET(n, M_NOWAIT); - if ((n->m_flags & M_EXT) == 0) { - m_freem(n); - n = NULL; - } - } - if (!n) + n = m_getcl(M_NOWAIT, MT_DATA, 0); + if (n == NULL) return (ENOBUFS); n->m_len = oldoptlen + JUMBOOPTLEN; bcopy(mtod(mopt, caddr_t), mtod(n, caddr_t), @@ -1366,8 +1354,8 @@ ip6_insertfraghdr(struct mbuf *m0, struc /* allocate a new mbuf for the fragment header */ struct mbuf *mfrg; - MGET(mfrg, M_NOWAIT, MT_DATA); - if (mfrg == 0) + mfrg = m_get(M_NOWAIT, MT_DATA); + if (mfrg == NULL) return (ENOBUFS); mfrg->m_len = sizeof(struct ip6_frag); *frghdrp = mtod(mfrg, struct ip6_frag *); @@ -3047,7 +3035,7 @@ ip6_splithdr(struct mbuf *m, struct ip6_ m_freem(m); return ENOBUFS; } - M_MOVE_PKTHDR(mh, m); + m_move_pkthdr(mh, m); MH_ALIGN(mh, sizeof(*ip6)); m->m_len -= sizeof(*ip6); m->m_data += sizeof(*ip6); Modified: head/sys/netinet6/nd6_nbr.c ============================================================================== --- head/sys/netinet6/nd6_nbr.c Fri Mar 15 13:40:00 2013 (r248327) +++ head/sys/netinet6/nd6_nbr.c Fri Mar 15 13:48:53 2013 (r248328) @@ -419,17 +419,12 @@ nd6_ns_output(struct ifnet *ifp, const s return; } - MGETHDR(m, M_NOWAIT, MT_DATA); - if (m && max_linkhdr + maxlen >= MHLEN) { - MCLGET(m, M_NOWAIT); - if ((m->m_flags & M_EXT) == 0) { - m_free(m); - m = NULL; - } - } + if (max_linkhdr + maxlen > MHLEN) + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); + else + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) return; - m->m_pkthdr.rcvif = NULL; bzero(&ro, sizeof(ro)); @@ -997,17 +992,12 @@ nd6_na_output_fib(struct ifnet *ifp, con return; } - MGETHDR(m, M_NOWAIT, MT_DATA); - if (m && max_linkhdr + maxlen >= MHLEN) { - MCLGET(m, M_NOWAIT); - if ((m->m_flags & M_EXT) == 0) { - m_free(m); - m = NULL; - } - } + if (max_linkhdr + maxlen > MHLEN) + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); + else + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) return; - m->m_pkthdr.rcvif = NULL; M_SETFIB(m, fibnum); if (IN6_IS_ADDR_MULTICAST(&daddr6)) { From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 13:56:41 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B69CDF6C for ; Fri, 15 Mar 2013 13:56:41 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 2D6E3235 for ; Fri, 15 Mar 2013 13:56:41 +0000 (UTC) Received: (qmail 64802 invoked from network); 15 Mar 2013 15:08:41 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 15 Mar 2013 15:08:41 -0000 Message-ID: <51432894.9000504@freebsd.org> Date: Fri, 15 Mar 2013 14:56:36 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r248323 - head/sys/netinet References: <201303151253.r2FCrsSs016150@svn.freebsd.org> <51431B89.5010501@freebsd.org> <20130315134657.GL48089@FreeBSD.org> In-Reply-To: <20130315134657.GL48089@FreeBSD.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 13:56:41 -0000 On 15.03.2013 14:46, Gleb Smirnoff wrote: > On Fri, Mar 15, 2013 at 02:00:57PM +0100, Andre Oppermann wrote: > A> On 15.03.2013 13:53, Gleb Smirnoff wrote: > A> > Author: glebius > A> > Date: Fri Mar 15 12:53:53 2013 > A> > New Revision: 248323 > A> > URL: http://svnweb.freebsd.org/changeset/base/248323 > A> > > A> > Log: > A> > - Use m_getcl() instead of hand allocating. > A> > > A> > Sponsored by: Nginx, Inc. > A> > > A> > Modified: > A> > head/sys/netinet/tcp_output.c > A> > > A> > Modified: head/sys/netinet/tcp_output.c > A> > ============================================================================== > A> > --- head/sys/netinet/tcp_output.c Fri Mar 15 12:52:59 2013 (r248322) > A> > +++ head/sys/netinet/tcp_output.c Fri Mar 15 12:53:53 2013 (r248323) > A> > @@ -842,23 +842,19 @@ send: > A> > TCPSTAT_INC(tcps_sndpack); > A> > TCPSTAT_ADD(tcps_sndbyte, len); > A> > } > A> > - MGETHDR(m, M_NOWAIT, MT_DATA); > A> > +#ifdef INET6 > A> > + if (MHLEN < hdrlen + max_linkhdr) > A> > + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); > A> > + else > A> > +#endif > A> > + m = m_gethdr(M_NOWAIT, MT_DATA); > A> > + > A> > A> m = m_getm2(hdrlen + max_linkhdr, M_NOWAIT, MT_DATA, M_PKTHDR); > A> > A> would be even more compact. Since max_linkhdr could be large as well, > A> the possibility of a cluster applies to IPv4 too. > > m_getm2() may return chain. According to argument list, you probably > meant m_get2(). Yes, that would be more compat. > > But, again, I am not sure that using pagesized cluster won't break > anything. > > If you are sure, feel free to change that. Oops, I meant m_get2(), not m_getm2(). -- Andre From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 14:01:38 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0EAAB2B6; Fri, 15 Mar 2013 14:01:38 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 014E3282; Fri, 15 Mar 2013 14:01:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FE1bGf037299; Fri, 15 Mar 2013 14:01:37 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FE1bRo037298; Fri, 15 Mar 2013 14:01:37 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201303151401.r2FE1bRo037298@svn.freebsd.org> From: Konstantin Belousov Date: Fri, 15 Mar 2013 14:01:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248329 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 14:01:38 -0000 Author: kib Date: Fri Mar 15 14:01:37 2013 New Revision: 248329 URL: http://svnweb.freebsd.org/changeset/base/248329 Log: Separate the copyright lines and the informational block by a blank line. Requested by: joel MFC after: 2 weeks Modified: head/sys/kern/vfs_vnops.c Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Fri Mar 15 13:48:53 2013 (r248328) +++ head/sys/kern/vfs_vnops.c Fri Mar 15 14:01:37 2013 (r248329) @@ -9,6 +9,7 @@ * * Copyright (c) 2012 Konstantin Belousov * Copyright (c) 2013 The FreeBSD Foundation + * * Portions of this software were developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. * From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 14:53:30 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7EAF36A8; Fri, 15 Mar 2013 14:53:30 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 657D0734; Fri, 15 Mar 2013 14:53:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FErUqb053073; Fri, 15 Mar 2013 14:53:30 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FErUCa053072; Fri, 15 Mar 2013 14:53:30 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151453.r2FErUCa053072@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 14:53:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248330 - stable/9/tools/build X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 14:53:30 -0000 Author: brooks Date: Fri Mar 15 14:53:29 2013 New Revision: 248330 URL: http://svnweb.freebsd.org/changeset/base/248330 Log: MFC r245311: Add pwcache(3) and vis(3) to libegacy as install(1) is about to grow a dependency on them. Sponsored by: DARPA, AFRL Modified: stable/9/tools/build/Makefile Directory Properties: stable/9/tools/build/ (props changed) Modified: stable/9/tools/build/Makefile ============================================================================== --- stable/9/tools/build/Makefile Fri Mar 15 14:01:37 2013 (r248329) +++ stable/9/tools/build/Makefile Fri Mar 15 14:53:29 2013 (r248330) @@ -9,6 +9,22 @@ INCS= BOOTSTRAPPING?= 0 +_WITH_PWCACHEDB!= grep -c pwcache_groupdb /usr/include/pwd.h || true +.if ${_WITH_PWCACHEDB} == 0 +.PATH: ${.CURDIR}/../../contrib/libc-pwcache +CFLAGS+= -I${.CURDIR}/../../contrib/libc-pwcache \ + -I${.CURDIR}/../../lib/libc/include +SRCS+= pwcache.c +.endif + +_WITH_STRSVIS!= grep -c strsvis /usr/include/vis.h || true +.if ${_WITH_STRSVIS} == 0 +.PATH: ${.CURDIR}/../../contrib/libc-vis +SRCS+= vis.c +CFLAGS+= -I${.CURDIR}/../../contrib/libc-vis \ + -I${.CURDIR}/../../lib/libc/include +.endif + .if empty(SRCS) SRCS= dummy.c .endif From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 15:19:34 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BF606EB7; Fri, 15 Mar 2013 15:19:34 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A90E8860; Fri, 15 Mar 2013 15:19:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FFJYMA060497; Fri, 15 Mar 2013 15:19:34 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FFJYjS060493; Fri, 15 Mar 2013 15:19:34 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151519.r2FFJYjS060493@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 15:19:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248331 - in stable/9: . usr.bin/xinstall X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 15:19:34 -0000 Author: brooks Date: Fri Mar 15 15:19:33 2013 New Revision: 248331 URL: http://svnweb.freebsd.org/changeset/base/248331 Log: MFC all changes to install(1) through r246784. Notable functional changes are: r245617: Introduce six new options from NetBSD: * -M Log metadata in mtree format. * -D Log paths relative to . * -h Log digest of type . * -T Specify which mtree tags to log. * -l Create hard or symbolic links (allows logging). * -U Install without root privileges (owner, group, mode, and flags can be logged via -M NOTE: In the interest of compatibility with NetBSD and because it is the obvious letter, the nearly useless -M option (disable mmap) has been repurposed. Sponsored by: DARPA, AFRL Obtained from: NetBSD Reviewed by: bz r245312: Implement the -N option which allows an alternate passwd and group file to be used. This is useful for installing on systems where a user or group does not currently exist. Sponsored by: DARPA, AFRL Obtained from: NetBSD Modified: stable/9/UPDATING (contents, props changed) stable/9/usr.bin/xinstall/Makefile stable/9/usr.bin/xinstall/install.1 stable/9/usr.bin/xinstall/xinstall.c Directory Properties: stable/9/usr.bin/xinstall/ (props changed) Modified: stable/9/UPDATING ============================================================================== --- stable/9/UPDATING Fri Mar 15 14:53:29 2013 (r248330) +++ stable/9/UPDATING Fri Mar 15 15:19:33 2013 (r248331) @@ -11,6 +11,15 @@ handbook: Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before running portupgrade. +20130315: + The install(1) option -M has changed meaning and now takes an + argument that is a file or path to append logs to. In the + unlikely event that -M was the last option on the command line + and the command line contained at least two files and a target + directory the first file will have logs appended to it. The -M + option served little practical purpose in the last decade so it's + used expected to be extremely rare. + 20130225: A new compression method (lz4) has been merged to. Please refer to zpool-features(7) for more information. Modified: stable/9/usr.bin/xinstall/Makefile ============================================================================== --- stable/9/usr.bin/xinstall/Makefile Fri Mar 15 14:53:29 2013 (r248330) +++ stable/9/usr.bin/xinstall/Makefile Fri Mar 15 15:19:33 2013 (r248331) @@ -3,6 +3,16 @@ PROG= xinstall PROGNAME= install +SRCS= xinstall.c getid.c MAN= install.1 +.PATH: ${.CURDIR}/../../contrib/mtree +.PATH: ${.CURDIR}/../../lib/libmd +CFLAGS+= -I${.CURDIR}/../../contrib/mtree +CFLAGS+= -I${.CURDIR}/../../lib/libnetbsd +CFLAGS+= -I${.CURDIR}/../../lib/libmd + +DPADD+= ${LIBMD} +LDADD+= -lmd + .include Modified: stable/9/usr.bin/xinstall/install.1 ============================================================================== --- stable/9/usr.bin/xinstall/install.1 Fri Mar 15 14:53:29 2013 (r248330) +++ stable/9/usr.bin/xinstall/install.1 Fri Mar 15 15:19:33 2013 (r248331) @@ -28,7 +28,7 @@ .\" From: @(#)install.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd March 6, 2006 +.Dd January 18, 2013 .Dt INSTALL 1 .Os .Sh NAME @@ -36,31 +36,50 @@ .Nd install binaries .Sh SYNOPSIS .Nm -.Op Fl bCcMpSsv +.Op Fl bCcpSsUv .Op Fl B Ar suffix +.Op Fl D Ar destdir .Op Fl f Ar flags .Op Fl g Ar group +.Op Fl h Ar hash +.Op Fl l Ar linkflags +.Op Fl M Ar metalog .Op Fl m Ar mode +.Op Fl N Ar dbdir .Op Fl o Ar owner +.Op Fl T Ar tags .Ar file1 file2 .Nm -.Op Fl bCcMpSsv +.Op Fl bCcpSsUv .Op Fl B Ar suffix +.Op Fl D Ar destdir .Op Fl f Ar flags .Op Fl g Ar group +.Op Fl h Ar hash +.Op Fl l Ar linkflags +.Op Fl M Ar metalog .Op Fl m Ar mode +.Op Fl N Ar dbdir .Op Fl o Ar owner +.Op Fl T Ar tags .Ar file1 ... fileN directory .Nm .Fl d -.Op Fl v +.Op Fl Uv +.Op Fl D Ar destdir .Op Fl g Ar group +.Op Fl h Ar hash +.Op Fl M Ar metalog .Op Fl m Ar mode +.Op Fl N Ar dbdir .Op Fl o Ar owner +.Op Fl T Ar tags .Ar directory ... .Sh DESCRIPTION The file(s) are copied -to the target file or directory. +(or linked if the +.Fl l +option is specified) to the target file or directory. If the destination is a directory, then the .Ar file is copied into @@ -105,6 +124,17 @@ This is actually the default. The .Fl c option is only included for backwards compatibility. +.It Fl D Ar destdir +Specify the +.Ev DESTDIR +(top of the file hierarchy) that the items are installed in to. +If +.Fl M Ar metalog +is in use, a leading string of +.Dq Ar destdir +will be removed from the file names logged to the +.Ar metalog . +This option does not affect where the actual files are installed. .It Fl d Create directories. Missing parent directories are created as required. @@ -115,15 +145,82 @@ for a list of possible flags and their m .It Fl g Specify a group. A numeric GID is allowed. -.It Fl M -Disable all use of -.Xr mmap 2 . +.It Fl h Ar hash +When copying, calculate the digest of the files with +.Ar hash +to store in the +.Fl M Ar metalog . +When +.Fl d +is given no hash is emitted. +Supported digests: +.Bl -tag -width rmd160 -offset indent +.It Sy none +No hash. +This is the default. +.It Sy md5 +The MD5 cryptographic message digest. +.It Sy rmd160 +The RMD-160 cryptographic message digest. +.It Sy sha1 +The SHA-1 cryptographic message digest. +.It Sy sha256 +The 256-bits +.Tn SHA-2 +cryptographic message digest of the file. +.It Sy sha512 +The 512-bits +.Tn SHA-2 +cryptographic message digest of the file. +.El +.It Fl l Ar linkflags +Instead of copying the file make a link to the source. +The type of the link is determined by the +.Ar linkflags +argument. +Valid +.Ar linkflags +are: +.Ar a +(absolute), +.Ar r +(relative), +.Ar h +(hard), +.Ar s +(symbolic), +.Ar m +(mixed). +Absolute and relative have effect only for symbolic links. +Mixed links +are hard links for files on the same filesystem, symbolic otherwise. +.It Fl M Ar metalog +Write the metadata associated with each item installed to +.Ar metalog +in an +.Xr mtree 8 +.Dq full path +specification line. +The metadata includes: the file name and file type, and depending upon +other options, the owner, group, file flags, modification time, and tags. .It Fl m Specify an alternate mode. The default mode is set to rwxr-xr-x (0755). The specified mode may be either an octal or symbolic value; see .Xr chmod 1 for a description of possible mode values. +.It Fl N +Use the user database text file +.Pa master.passwd +and group database text file +.Pa group +from +.Ar dbdir , +rather than using the results from the system's +.Xr getpwnam 3 +and +.Xr getgrnam 3 +(and related) library calls. .It Fl o Specify an owner. A numeric UID is allowed. @@ -156,6 +253,17 @@ number of systems and binary types. See below for how .Nm can be instructed to use another program to strip binaries. +.It Fl T Ar tags +Specify the +.Xr mtree 8 +tags to write out for the file when using +.Fl M Ar metalog . +.It Fl U +Indicate that install is running unprivileged, and that it should not +try to change the owner, the group, or the file flags of the destination. +The information that would have been updated can be stored in a log +file with +.Fl M Ar metalog . .It Fl v Cause .Nm @@ -231,6 +339,8 @@ The default was changed to copy in .Xr mv 1 , .Xr strip 1 , .Xr mmap 2 , +.Xr getgrnam 3 , +.Xr getpwnam 3 , .Xr chown 8 .Sh HISTORY The @@ -238,6 +348,16 @@ The utility appeared in .Bx 4.2 . .Sh BUGS +The meaning of the +.Fl M +option has changed as of +.Fx 10 +and it now takes an argument. +Command lines that used the old +.Fl M +will get an error or in rare cases will append logs to the first of +multiple source files rather than installing it. +.Pp Temporary files may be left in the target directory if .Nm exits abnormally. Modified: stable/9/usr.bin/xinstall/xinstall.c ============================================================================== --- stable/9/usr.bin/xinstall/xinstall.c Fri Mar 15 14:53:29 2013 (r248330) +++ stable/9/usr.bin/xinstall/xinstall.c Fri Mar 15 15:19:33 2013 (r248331) @@ -1,4 +1,5 @@ /* + * Copyright (c) 2012, 2013 SRI International * Copyright (c) 1987, 1993 * The Regents of the University of California. All rights reserved. * @@ -53,14 +54,23 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include +#include +#include +#include +#include #include #include #include #include #include #include +#include + +#include "mtree.h" /* Bootstrap aid - this doesn't exist in most older releases */ #ifndef MAP_FAILED @@ -69,26 +79,63 @@ __FBSDID("$FreeBSD$"); #define MAX_CMP_SIZE (16 * 1024 * 1024) +#define LN_ABSOLUTE 0x01 +#define LN_RELATIVE 0x02 +#define LN_HARD 0x04 +#define LN_SYMBOLIC 0x08 +#define LN_MIXED 0x10 + #define DIRECTORY 0x01 /* Tell install it's a directory. */ #define SETFLAGS 0x02 /* Tell install to set flags. */ #define NOCHANGEBITS (UF_IMMUTABLE | UF_APPEND | SF_IMMUTABLE | SF_APPEND) #define BACKUP_SUFFIX ".old" -struct passwd *pp; -struct group *gp; -gid_t gid; -uid_t uid; -int dobackup, docompare, dodir, dopreserve, dostrip, nommap, safecopy, verbose; -mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; -const char *suffix = BACKUP_SUFFIX; - -static int compare(int, const char *, size_t, int, const char *, size_t); -static void copy(int, const char *, int, const char *, off_t); +typedef union { + MD5_CTX MD5; + RIPEMD160_CTX RIPEMD160; + SHA1_CTX SHA1; + SHA256_CTX SHA256; + SHA512_CTX SHA512; +} DIGEST_CTX; + +static enum { + DIGEST_NONE = 0, + DIGEST_MD5, + DIGEST_RIPEMD160, + DIGEST_SHA1, + DIGEST_SHA256, + DIGEST_SHA512, +} digesttype = DIGEST_NONE; + +static gid_t gid; +static uid_t uid; +static int dobackup, docompare, dodir, dolink, dopreserve, dostrip, dounpriv, + safecopy, verbose; +static int haveopt_f, haveopt_g, haveopt_m, haveopt_o; +static mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; +static FILE *metafp; +static const char *group, *owner; +static const char *suffix = BACKUP_SUFFIX; +static char *destdir, *digest, *fflags, *metafile, *tags; + +static int compare(int, const char *, size_t, int, const char *, size_t, + char **); +static char *copy(int, const char *, int, const char *, off_t); static int create_newfile(const char *, int, struct stat *); static int create_tempfile(const char *, char *, size_t); +static char *quiet_mktemp(char *template); +static char *digest_file(const char *); +static void digest_init(DIGEST_CTX *); +static void digest_update(DIGEST_CTX *, const unsigned char *, size_t); +static char *digest_end(DIGEST_CTX *, char *); +static int do_link(const char *, const char *, const struct stat *); +static void do_symlink(const char *, const char *, const struct stat *); +static void makelink(const char *, const char *, const struct stat *); static void install(const char *, const char *, u_long, u_int); static void install_dir(char *); -static u_long numeric_id(const char *, const char *); +static void metadata_log(const char *, const char *, struct timeval *, + const char *, const char *, off_t); +static int parseid(const char *, id_t *); static void strip(const char *); static int trymmap(int); static void usage(void); @@ -101,12 +148,13 @@ main(int argc, char *argv[]) u_long fset; int ch, no_target; u_int iflags; - char *flags; - const char *group, *owner, *to_name; + char *p; + const char *to_name; iflags = 0; group = owner = NULL; - while ((ch = getopt(argc, argv, "B:bCcdf:g:Mm:o:pSsv")) != -1) + while ((ch = getopt(argc, argv, "B:bCcD:df:g:h:l:M:m:N:o:pSsT:Uv")) != + -1) switch((char)ch) { case 'B': suffix = optarg; @@ -120,29 +168,69 @@ main(int argc, char *argv[]) case 'c': /* For backwards compatibility. */ break; + case 'D': + destdir = optarg; + break; case 'd': dodir = 1; break; case 'f': - flags = optarg; - if (strtofflags(&flags, &fset, NULL)) - errx(EX_USAGE, "%s: invalid flag", flags); - iflags |= SETFLAGS; + haveopt_f = 1; + fflags = optarg; break; case 'g': + haveopt_g = 1; group = optarg; break; + case 'h': + digest = optarg; + break; + case 'l': + for (p = optarg; *p != '\0'; p++) + switch (*p) { + case 's': + dolink &= ~(LN_HARD|LN_MIXED); + dolink |= LN_SYMBOLIC; + break; + case 'h': + dolink &= ~(LN_SYMBOLIC|LN_MIXED); + dolink |= LN_HARD; + break; + case 'm': + dolink &= ~(LN_SYMBOLIC|LN_HARD); + dolink |= LN_MIXED; + break; + case 'a': + dolink &= ~LN_RELATIVE; + dolink |= LN_ABSOLUTE; + break; + case 'r': + dolink &= ~LN_ABSOLUTE; + dolink |= LN_RELATIVE; + break; + default: + errx(1, "%c: invalid link type", *p); + /* NOTREACHED */ + } + break; case 'M': - nommap = 1; + metafile = optarg; break; case 'm': + haveopt_m = 1; if (!(set = setmode(optarg))) errx(EX_USAGE, "invalid file mode: %s", optarg); mode = getmode(set, 0); free(set); break; + case 'N': + if (!setup_getid(optarg)) + err(EX_OSERR, "Unable to use user and group " + "databases in `%s'", optarg); + break; case 'o': + haveopt_o = 1; owner = optarg; break; case 'p': @@ -154,6 +242,12 @@ main(int argc, char *argv[]) case 's': dostrip = 1; break; + case 'T': + tags = optarg; + break; + case 'U': + dounpriv = 1; + break; case 'v': verbose = 1; break; @@ -179,27 +273,62 @@ main(int argc, char *argv[]) if (argc == 0 || (argc == 1 && !dodir)) usage(); + if (digest != NULL) { + if (strcmp(digest, "none") == 0) { + digesttype = DIGEST_NONE; + } else if (strcmp(digest, "md5") == 0) { + digesttype = DIGEST_MD5; + } else if (strcmp(digest, "rmd160") == 0) { + digesttype = DIGEST_RIPEMD160; + } else if (strcmp(digest, "sha1") == 0) { + digesttype = DIGEST_SHA1; + } else if (strcmp(digest, "sha256") == 0) { + digesttype = DIGEST_SHA256; + } else if (strcmp(digest, "sha512") == 0) { + digesttype = DIGEST_SHA512; + } else { + warnx("unknown digest `%s'", digest); + usage(); + } + } + /* need to make a temp copy so we can compare stripped version */ if (docompare && dostrip) safecopy = 1; /* get group and owner id's */ - if (group != NULL) { - if ((gp = getgrnam(group)) != NULL) - gid = gp->gr_gid; - else - gid = (gid_t)numeric_id(group, "group"); + if (group != NULL && !dounpriv) { + if (gid_from_group(group, &gid) == -1) { + id_t id; + if (!parseid(group, &id)) + errx(1, "unknown group %s", group); + gid = id; + } } else gid = (gid_t)-1; - if (owner != NULL) { - if ((pp = getpwnam(owner)) != NULL) - uid = pp->pw_uid; - else - uid = (uid_t)numeric_id(owner, "user"); + if (owner != NULL && !dounpriv) { + if (uid_from_user(owner, &uid) == -1) { + id_t id; + if (!parseid(owner, &id)) + errx(1, "unknown user %s", owner); + uid = id; + } } else uid = (uid_t)-1; + if (fflags != NULL && !dounpriv) { + if (strtofflags(&fflags, &fset, NULL)) + errx(EX_USAGE, "%s: invalid flag", fflags); + iflags |= SETFLAGS; + } + + if (metafile != NULL) { + if ((metafp = fopen(metafile, "a")) == NULL) + warn("open %s", metafile); + } else + digesttype = DIGEST_NONE; + if (dodir) { for (; *argv != NULL; ++argv) install_dir(*argv); @@ -207,8 +336,21 @@ main(int argc, char *argv[]) /* NOTREACHED */ } - no_target = stat(to_name = argv[argc - 1], &to_sb); + to_name = argv[argc - 1]; + no_target = stat(to_name, &to_sb); if (!no_target && S_ISDIR(to_sb.st_mode)) { + if (dolink & LN_SYMBOLIC) { + if (lstat(to_name, &to_sb) != 0) + err(EX_OSERR, "%s vanished", to_name); + if (S_ISLNK(to_sb.st_mode)) { + if (argc != 2) { + errno = ENOTDIR; + err(EX_USAGE, "%s", to_name); + } + install(*argv, to_name, fset, iflags); + exit(EX_OK); + } + } for (; *argv != to_name; ++argv) install(*argv, to_name, fset, iflags | DIRECTORY); exit(EX_OK); @@ -226,7 +368,7 @@ main(int argc, char *argv[]) usage(); } - if (!no_target) { + if (!no_target && !dolink) { if (stat(*argv, &from_sb)) err(EX_OSERR, "%s", *argv); if (!S_ISREG(to_sb.st_mode)) { @@ -243,23 +385,327 @@ main(int argc, char *argv[]) /* NOTREACHED */ } -static u_long -numeric_id(const char *name, const char *type) +static char * +digest_file(const char *name) +{ + + switch (digesttype) { + case DIGEST_MD5: + return (MD5File(name, NULL)); + case DIGEST_RIPEMD160: + return (RIPEMD160_File(name, NULL)); + case DIGEST_SHA1: + return (SHA1_File(name, NULL)); + case DIGEST_SHA256: + return (SHA256_File(name, NULL)); + case DIGEST_SHA512: + return (SHA512_File(name, NULL)); + default: + return (NULL); + } +} + +static void +digest_init(DIGEST_CTX *c) +{ + + switch (digesttype) { + case DIGEST_NONE: + break; + case DIGEST_MD5: + MD5Init(&(c->MD5)); + break; + case DIGEST_RIPEMD160: + RIPEMD160_Init(&(c->RIPEMD160)); + break; + case DIGEST_SHA1: + SHA1_Init(&(c->SHA1)); + break; + case DIGEST_SHA256: + SHA256_Init(&(c->SHA256)); + break; + case DIGEST_SHA512: + SHA512_Init(&(c->SHA512)); + break; + } +} + +static void +digest_update(DIGEST_CTX *c, const unsigned char *data, size_t len) +{ + + switch (digesttype) { + case DIGEST_NONE: + break; + case DIGEST_MD5: + MD5Update(&(c->MD5), data, len); + break; + case DIGEST_RIPEMD160: + RIPEMD160_Update(&(c->RIPEMD160), data, len); + break; + case DIGEST_SHA1: + SHA1_Update(&(c->SHA1), data, len); + break; + case DIGEST_SHA256: + SHA256_Update(&(c->SHA256), data, len); + break; + case DIGEST_SHA512: + SHA512_Update(&(c->SHA512), data, len); + break; + } +} + +static char * +digest_end(DIGEST_CTX *c, char *buf) +{ + + switch (digesttype) { + case DIGEST_MD5: + return (MD5End(&(c->MD5), buf)); + case DIGEST_RIPEMD160: + return (RIPEMD160_End(&(c->RIPEMD160), buf)); + case DIGEST_SHA1: + return (SHA1_End(&(c->SHA1), buf)); + case DIGEST_SHA256: + return (SHA256_End(&(c->SHA256), buf)); + case DIGEST_SHA512: + return (SHA512_End(&(c->SHA512), buf)); + default: + return (NULL); + } +} + +/* + * parseid -- + * parse uid or gid from arg into id, returning non-zero if successful + */ +static int +parseid(const char *name, id_t *id) +{ + char *ep; + errno = 0; + *id = (id_t)strtoul(name, &ep, 10); + if (errno || *ep != '\0') + return (0); + return (1); +} + +/* + * quiet_mktemp -- + * mktemp implementation used mkstemp to avoid mktemp warnings. We + * really do need mktemp semantics here as we will be creating a link. + */ +static char * +quiet_mktemp(char *template) +{ + int fd; + + if ((fd = mkstemp(template)) == -1) + return (NULL); + close (fd); + if (unlink(template) == -1) + err(EX_OSERR, "unlink %s", template); + return (template); +} + +/* + * do_link -- + * make a hard link, obeying dorename if set + * return -1 on failure + */ +static int +do_link(const char *from_name, const char *to_name, + const struct stat *target_sb) +{ + char tmpl[MAXPATHLEN]; + int ret; + + if (safecopy && target_sb != NULL) { + (void)snprintf(tmpl, sizeof(tmpl), "%s.inst.XXXXXX", to_name); + /* This usage is safe. */ + if (quiet_mktemp(tmpl) == NULL) + err(EX_OSERR, "%s: mktemp", tmpl); + ret = link(from_name, tmpl); + if (ret == 0) { + if (target_sb->st_mode & S_IFDIR && rmdir(to_name) == + -1) { + unlink(tmpl); + err(EX_OSERR, "%s", to_name); + } + if (target_sb->st_flags & NOCHANGEBITS) + (void)chflags(to_name, target_sb->st_flags & + ~NOCHANGEBITS); + unlink(to_name); + ret = rename(tmpl, to_name); + /* + * If rename has posix semantics, then the temporary + * file may still exist when from_name and to_name point + * to the same file, so unlink it unconditionally. + */ + (void)unlink(tmpl); + } + return (ret); + } else + return (link(from_name, to_name)); +} + +/* + * do_symlink -- + * Make a symbolic link, obeying dorename if set. Exit on failure. + */ +static void +do_symlink(const char *from_name, const char *to_name, + const struct stat *target_sb) +{ + char tmpl[MAXPATHLEN]; + + if (safecopy && target_sb != NULL) { + (void)snprintf(tmpl, sizeof(tmpl), "%s.inst.XXXXXX", to_name); + /* This usage is safe. */ + if (quiet_mktemp(tmpl) == NULL) + err(EX_OSERR, "%s: mktemp", tmpl); + + if (symlink(from_name, tmpl) == -1) + err(EX_OSERR, "symlink %s -> %s", from_name, tmpl); + + if (target_sb->st_mode & S_IFDIR && rmdir(to_name) == -1) { + (void)unlink(tmpl); + err(EX_OSERR, "%s", to_name); + } + if (target_sb->st_flags & NOCHANGEBITS) + (void)chflags(to_name, target_sb->st_flags & + ~NOCHANGEBITS); + unlink(to_name); + + if (rename(tmpl, to_name) == -1) { + /* Remove temporary link before exiting. */ + (void)unlink(tmpl); + err(EX_OSERR, "%s: rename", to_name); + } + } else { + if (symlink(from_name, to_name) == -1) + err(EX_OSERR, "symlink %s -> %s", from_name, to_name); + } +} + +/* + * makelink -- + * make a link from source to destination + */ +static void +makelink(const char *from_name, const char *to_name, + const struct stat *target_sb) { - u_long val; - char *ep; + char src[MAXPATHLEN], dst[MAXPATHLEN], lnk[MAXPATHLEN]; + struct stat to_sb; + + /* Try hard links first. */ + if (dolink & (LN_HARD|LN_MIXED)) { + if (do_link(from_name, to_name, target_sb) == -1) { + if ((dolink & LN_HARD) || errno != EXDEV) + err(EX_OSERR, "link %s -> %s", from_name, to_name); + } else { + if (stat(to_name, &to_sb)) + err(EX_OSERR, "%s: stat", to_name); + if (S_ISREG(to_sb.st_mode)) { + /* + * XXX: hard links to anything other than + * plain files are not metalogged + */ + int omode; + const char *oowner, *ogroup; + char *offlags; + char *dres; + + /* + * XXX: use underlying perms, unless + * overridden on command line. + */ + omode = mode; + if (!haveopt_m) + mode = (to_sb.st_mode & 0777); + oowner = owner; + if (!haveopt_o) + owner = NULL; + ogroup = group; + if (!haveopt_g) + group = NULL; + offlags = fflags; + if (!haveopt_f) + fflags = NULL; + dres = digest_file(from_name); + metadata_log(to_name, "file", NULL, NULL, + dres, to_sb.st_size); + free(dres); + mode = omode; + owner = oowner; + group = ogroup; + fflags = offlags; + } + return; + } + } + + /* Symbolic links. */ + if (dolink & LN_ABSOLUTE) { + /* Convert source path to absolute. */ + if (realpath(from_name, src) == NULL) + err(EX_OSERR, "%s: realpath", from_name); + do_symlink(src, to_name, target_sb); + /* XXX: src may point outside of destdir */ + metadata_log(to_name, "link", NULL, src, NULL, 0); + return; + } + + if (dolink & LN_RELATIVE) { + char *cp, *d, *s; + + /* Resolve pathnames. */ + if (realpath(from_name, src) == NULL) + err(EX_OSERR, "%s: realpath", from_name); + + /* + * The last component of to_name may be a symlink, + * so use realpath to resolve only the directory. + */ + cp = dirname(to_name); + if (realpath(cp, dst) == NULL) + err(EX_OSERR, "%s: realpath", cp); + /* .. and add the last component. */ + if (strcmp(dst, "/") != 0) { + if (strlcat(dst, "/", sizeof(dst)) > sizeof(dst)) + errx(1, "resolved pathname too long"); + } + cp = basename(to_name); + if (strlcat(dst, cp, sizeof(dst)) > sizeof(dst)) + errx(1, "resolved pathname too long"); + + /* Trim common path components. */ + for (s = src, d = dst; *s == *d; s++, d++) + continue; + while (*s != '/') + s--, d--; + + /* Count the number of directories we need to backtrack. */ + for (++d, lnk[0] = '\0'; *d; d++) + if (*d == '/') + (void)strlcat(lnk, "../", sizeof(lnk)); + + (void)strlcat(lnk, ++s, sizeof(lnk)); + + do_symlink(lnk, to_name, target_sb); + /* XXX: Link may point outside of destdir. */ + metadata_log(to_name, "link", NULL, lnk, NULL, 0); + return; + } /* - * XXX - * We know that uid_t's and gid_t's are unsigned longs. + * If absolute or relative was not specified, try the names the + * user provided. */ - errno = 0; - val = strtoul(name, &ep, 10); - if (errno) - err(EX_NOUSER, "%s", name); - if (*ep != '\0') - errx(EX_NOUSER, "unknown %s %s", type, name); - return (val); + do_symlink(from_name, to_name, target_sb); + /* XXX: from_name may point outside of destdir. */ + metadata_log(to_name, "link", NULL, from_name, NULL, 0); } /* @@ -274,6 +720,7 @@ install(const char *from_name, const cha int devnull, files_match, from_fd, serrno, target; int tempcopy, temp_fd, to_fd; char backup[MAXPATHLEN], *p, pathbuf[MAXPATHLEN], tempfile[MAXPATHLEN]; + char *digestresult; files_match = 0; from_fd = -1; @@ -281,11 +728,13 @@ install(const char *from_name, const cha /* If try to install NULL file to a directory, fails. */ if (flags & DIRECTORY || strcmp(from_name, _PATH_DEVNULL)) { - if (stat(from_name, &from_sb)) - err(EX_OSERR, "%s", from_name); - if (!S_ISREG(from_sb.st_mode)) { - errno = EFTYPE; - err(EX_OSERR, "%s", from_name); + if (!dolink) { + if (stat(from_name, &from_sb)) + err(EX_OSERR, "%s", from_name); + if (!S_ISREG(from_sb.st_mode)) { + errno = EFTYPE; + err(EX_OSERR, "%s", from_name); + } } /* Build the target path. */ if (flags & DIRECTORY) { @@ -299,7 +748,23 @@ install(const char *from_name, const cha devnull = 1; } - target = stat(to_name, &to_sb) == 0; + if (!dolink) + target = (stat(to_name, &to_sb) == 0); + else + target = (lstat(to_name, &to_sb) == 0); + + if (dolink) { + if (target && !safecopy) { + if (to_sb.st_mode & S_IFDIR && rmdir(to_name) == -1) + err(EX_OSERR, "%s", to_name); + if (to_sb.st_flags & NOCHANGEBITS) + (void)chflags(to_name, + to_sb.st_flags & ~NOCHANGEBITS); + unlink(to_name); + } + makelink(from_name, to_name, target ? &to_sb : NULL); + return; + } /* Only install to regular files. */ if (target && !S_ISREG(to_sb.st_mode)) { @@ -323,7 +788,7 @@ install(const char *from_name, const cha else files_match = !(compare(from_fd, from_name, (size_t)from_sb.st_size, to_fd, - to_name, (size_t)to_sb.st_size)); + to_name, (size_t)to_sb.st_size, &digestresult)); /* Close "to" file unless we match. */ if (!files_match) @@ -345,8 +810,10 @@ install(const char *from_name, const cha from_name, to_name); } if (!devnull) - copy(from_fd, from_name, to_fd, + digestresult = copy(from_fd, from_name, to_fd, tempcopy ? tempfile : to_name, from_sb.st_size); + else + digestresult = NULL; } if (dostrip) { @@ -380,7 +847,8 @@ install(const char *from_name, const cha } if (compare(temp_fd, tempfile, (size_t)temp_sb.st_size, to_fd, - to_name, (size_t)to_sb.st_size) == 0) { + to_name, (size_t)to_sb.st_size, &digestresult) + == 0) { /* * If target has more than one link we need to * replace it in order to snap the extra links. @@ -400,6 +868,9 @@ install(const char *from_name, const cha } } + if (dostrip && (!docompare || !target)) + digestresult = digest_file(tempfile); + /* *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 15:21:35 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AD274C1; Fri, 15 Mar 2013 15:21:35 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9BA70872; Fri, 15 Mar 2013 15:21:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FFLZZR062377; Fri, 15 Mar 2013 15:21:35 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FFLZuH062375; Fri, 15 Mar 2013 15:21:35 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151521.r2FFLZuH062375@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 15:21:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248332 - stable/9/tools X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 15:21:35 -0000 Author: brooks Date: Fri Mar 15 15:21:34 2013 New Revision: 248332 URL: http://svnweb.freebsd.org/changeset/base/248332 Log: MFC r245751,245893: r245751: Implement the -l option using ln(1) to facilitate boostrapping. Ignore the new options -D, -h, -T, and -U. Adjust -M support to ignore an argument. Sponsored by: DARPA, AFRL Reviewed by: ian, ray, rpaulo r245893: Use = not == in test arguments. Submitted by: Christoph Mallon Modified: stable/9/tools/install.sh Directory Properties: stable/9/tools/ (props changed) Modified: stable/9/tools/install.sh ============================================================================== --- stable/9/tools/install.sh Fri Mar 15 15:19:33 2013 (r248331) +++ stable/9/tools/install.sh Fri Mar 15 15:21:34 2013 (r248332) @@ -30,12 +30,22 @@ # parse install's options and ignore them completely. dirmode="" +linkmode="" while [ $# -gt 0 ]; do case $1 in -d) dirmode="YES"; shift;; - -[bCcMpSsv]) shift;; - -[Bfgmo]) shift; shift;; - -[Bfgmo]*) shift;; + -[bCcpSsv]) shift;; + -[BDfghMmNoTU]) shift; shift;; + -[BDfghMmNoTU]*) shift;; + -l) + shift + case $1 in + *[sm]*) linkmode="symbolic";; # XXX: 'm' should prefer hard + *h*) linkmode="hard";; + *) echo "invalid link mode"; exit 1;; + esac + shift + ;; *) break; esac done @@ -51,7 +61,13 @@ if [ -z "$dirmode" ] && [ "$#" -lt 2 ]; fi # the remaining arguments are assumed to be files/dirs only. -if [ -z "$dirmode" ]; then +if [ -n "${linkmode}" ]; then + if [ "${linkmode}" = "symbolic" ]; then + ln -fsh "$@" + else + ln -f "$@" + fi +elif [ -z "$dirmode" ]; then exec install -p "$@" else exec install -d "$@" From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 15:34:10 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 278805C5; Fri, 15 Mar 2013 15:34:10 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0EB3792F; Fri, 15 Mar 2013 15:34:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FFY9hs065789; Fri, 15 Mar 2013 15:34:09 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FFY9I8065788; Fri, 15 Mar 2013 15:34:09 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151534.r2FFY9I8065788@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 15:34:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248333 - stable/9 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 15:34:10 -0000 Author: brooks Date: Fri Mar 15 15:34:09 2013 New Revision: 248333 URL: http://svnweb.freebsd.org/changeset/base/248333 Log: MFC the second half of r246784: - Fix libmd dependency. It is needed in the bootstrap library list because usr.bin/xinstall depends on it. Modified: stable/9/Makefile.inc1 (contents, props changed) Modified: stable/9/Makefile.inc1 ============================================================================== --- stable/9/Makefile.inc1 Fri Mar 15 15:21:34 2013 (r248332) +++ stable/9/Makefile.inc1 Fri Mar 15 15:34:09 2013 (r248333) @@ -1110,6 +1110,7 @@ bootstrap-tools: ${_sed} \ ${_yacc} \ ${_lex} \ + lib/libmd \ usr.bin/xinstall \ ${_gensnmptree} \ usr.sbin/config \ From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 18:10:39 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 00F332FB; Fri, 15 Mar 2013 18:10:38 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E5E25377; Fri, 15 Mar 2013 18:10:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FIAcen014932; Fri, 15 Mar 2013 18:10:38 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FIAcqN014931; Fri, 15 Mar 2013 18:10:38 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201303151810.r2FIAcqN014931@svn.freebsd.org> From: Xin LI Date: Fri, 15 Mar 2013 18:10:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248334 - stable/9/crypto/openssl/crypto X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 18:10:39 -0000 Author: delphij Date: Fri Mar 15 18:10:38 2013 New Revision: 248334 URL: http://svnweb.freebsd.org/changeset/base/248334 Log: Redo r241528: MFC r240339: openssl: change SHLIB_VERSION_NUMBER to reflect the reality. Modified: stable/9/crypto/openssl/crypto/opensslv.h Modified: stable/9/crypto/openssl/crypto/opensslv.h ============================================================================== --- stable/9/crypto/openssl/crypto/opensslv.h Fri Mar 15 15:34:09 2013 (r248333) +++ stable/9/crypto/openssl/crypto/opensslv.h Fri Mar 15 18:10:38 2013 (r248334) @@ -83,7 +83,7 @@ * should only keep the versions that are binary compatible with the current. */ #define SHLIB_VERSION_HISTORY "" -#define SHLIB_VERSION_NUMBER "0.9.8" +#define SHLIB_VERSION_NUMBER "6" #endif /* HEADER_OPENSSLV_H */ From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 18:49:40 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4860FD75; Fri, 15 Mar 2013 18:49:40 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2DC83807; Fri, 15 Mar 2013 18:49:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FInekt025097; Fri, 15 Mar 2013 18:49:40 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FIndT9025095; Fri, 15 Mar 2013 18:49:39 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151849.r2FIndT9025095@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 18:49:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248335 - in stable/9: . etc X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 18:49:40 -0000 Author: brooks Date: Fri Mar 15 18:49:39 2013 New Revision: 248335 URL: http://svnweb.freebsd.org/changeset/base/248335 Log: MFC: r241684,245316,245318,245440,245563,245565,245622,245754,246092,246096,246602 r241684: Allow LOCAL_DIRS to install files in directories not found in the system mtree files via a LOCAL_MTREE variable which contains a list of mtree files to be applyed along with the base mtree files to the tmp root and DESTDIR. r245440: Add an option DB_FROM_SRC to use src/etc's user/group databases when installing. This allows things like running installworld for 10-CURRENT on a 9.0-RELEASE system without adding extra users and groups to the passwd and group files. To prevent potentially risky uid/gid mismatches on systems with non-standard local values, require that DESTDIR be set if DB_FROM_SRC is set. Sponsored by: DARPA, AFRL Reviewed by: peter r245565: Rework the mtree portion of etc/Makefile's distrib-dirs target to run mtree in a shell loop so there is only one mtree commandline. Move the implementation of LOCAL_MTREE into etc/Makefile. Sponsored by: DARPA, AFRL Modified: stable/9/Makefile.inc1 (contents, props changed) stable/9/etc/Makefile Directory Properties: stable/9/etc/ (props changed) Modified: stable/9/Makefile.inc1 ============================================================================== --- stable/9/Makefile.inc1 Fri Mar 15 18:10:38 2013 (r248334) +++ stable/9/Makefile.inc1 Fri Mar 15 18:49:39 2013 (r248335) @@ -12,8 +12,12 @@ # -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel # -DNO_PORTSUPDATE do not update ports in ${MAKE} update # -DNO_DOCUPDATE do not update doc in ${MAKE} update +# -DDB_FROM_SRC use the user/group databases in src/etc instead of +# the system database when installing. # -DNO_CTF do not run the DTrace CTF conversion tools on built objects # LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list +# LOCAL_MTREE="list of mtree files" to process to allow local directories +# to be created before files are installed # TARGET="machine" to crossbuild world for a different machine type # TARGET_ARCH= may be required when a TARGET supports multiple endians @@ -326,12 +330,13 @@ LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DN -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \ -DWITHOUT_HTML -DNO_CTF -DNO_LINT -ECC -ECXX -EAS -ELD \ DESTDIR=${LIB32TMP} -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS +LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS \ + ${IMAKE_INSTALL} .endif -# install stage IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} -IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 +IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ + ${IMAKE_INSTALL} ${IMAKE_MTREE} .if empty(.MAKEFLAGS:M-n) IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ LD_LIBRARY_PATH=${INSTALLTMP} \ @@ -340,6 +345,10 @@ IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh .else IMAKEENV+= PATH=${TMPPATH}:${INSTALLTMP} .endif +.if defined(DB_FROM_SRC) +IMAKE_INSTALL= INSTALL="install -N ${.CURDIR}/etc" +IMAKE_MTREE= MTREE_CMD="nmtree -N ${.CURDIR}/etc" +.endif # kernel stage KMAKEENV= ${WMAKEENV} @@ -395,6 +404,9 @@ _worldtmp: mtree -deU -f ${.CURDIR}/etc/mtree/BIND.include.dist \ -p ${WORLDTMP}/usr/include >/dev/null .endif +.for _mtree in ${LOCAL_MTREE} + mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null +.endfor _legacy: @echo @echo "--------------------------------------------------------------" @@ -583,9 +595,11 @@ kernel-toolchain: ${TOOLCHAIN_TGTS:N_inc installcheck: # -# Require DESTDIR to be set if installing for a different architecture. +# Require DESTDIR to be set if installing for a different architecture or +# using the user/group database in the source tree. # -.if ${TARGET_ARCH} != ${MACHINE_ARCH} || ${TARGET} != ${MACHINE} +.if ${TARGET_ARCH} != ${MACHINE_ARCH} || ${TARGET} != ${MACHINE} || \ + defined(DB_FROM_SRC) .if !make(distributeworld) installcheck: installcheck_DESTDIR installcheck_DESTDIR: @@ -596,6 +610,7 @@ installcheck_DESTDIR: .endif .endif +.if !defined(DB_FROM_SRC) # # Check for missing UIDs/GIDs. # @@ -623,6 +638,7 @@ installcheck_UGID: false; \ fi .endfor +.endif # # Required install tools to be saved in a scratch dir for safety. @@ -634,10 +650,14 @@ _install-info= install-info _zoneinfo= zic tzsetup .endif +.if exists(/usr/sbin/nmtree) +_nmtree_itools= nmtree +.endif + ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ date echo egrep find grep ${_install-info} \ - ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ - test true uname wc ${_zoneinfo} + ln lockf make mkdir mtree ${_nmtree_itools} mv pwd_mkdb \ + rm sed sh sysctl test true uname wc ${_zoneinfo} # # distributeworld @@ -692,7 +712,7 @@ distributeworld installworld: installche .endfor -mkdir ${DESTDIR}/${DISTDIR}/base ${_+_}cd ${.CURDIR}; ${IMAKE} distrib-dirs \ - DESTDIR=${DESTDIR}/${DISTDIR}/base + LOCAL_MTREE=${LOCAL_MTREE} DESTDIR=${DESTDIR}/${DISTDIR}/base .endif ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \ ${IMAKEENV} rm -rf ${INSTALLTMP} @@ -719,7 +739,8 @@ reinstall: @echo "--------------------------------------------------------------" @echo ">>> Making hierarchy" @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 hierarchy + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 \ + LOCAL_MTREE=${LOCAL_MTREE} hierarchy @echo @echo "--------------------------------------------------------------" @echo ">>> Installing everything" @@ -740,7 +761,8 @@ redistribute: .endif distrib-dirs distribution: - cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} ${.TARGET} + cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ + ${IMAKE_INSTALL} ${IMAKE_MTREE} ${.TARGET} # # buildkernel and installkernel @@ -892,7 +914,7 @@ reinstallkernel reinstallkernel.debug: i @echo "--------------------------------------------------------------" cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ ${CROSSENV} PATH=${TMPPATH} \ - ${MAKE} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//} + ${MAKE} ${IMAKE_INSTALL} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//} distributekernel distributekernel.debug: .if empty(INSTALLKERNEL) @@ -1057,6 +1079,11 @@ _lex= usr.bin/lex _yacc= usr.bin/yacc .endif +.if ${BOOTSTRAPPING} < 1000026 +_nmtree= lib/libnetbsd \ + usr.sbin/nmtree +.endif + .if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041 _awk= usr.bin/awk .endif @@ -1114,7 +1141,8 @@ bootstrap-tools: usr.bin/xinstall \ ${_gensnmptree} \ usr.sbin/config \ - ${_crunchgen} + ${_crunchgen} \ + ${_nmtree} ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ @@ -1227,7 +1255,7 @@ cross-tools: # hierarchy - ensure that all the needed directories are present # hierarchy: - cd ${.CURDIR}/etc; ${MAKE} distrib-dirs + cd ${.CURDIR}/etc; ${MAKE} LOCAL_MTREE=${LOCAL_MTREE} distrib-dirs # # libraries - build all libraries, and install them under ${DESTDIR}. Modified: stable/9/etc/Makefile ============================================================================== --- stable/9/etc/Makefile Fri Mar 15 18:10:38 2013 (r248334) +++ stable/9/etc/Makefile Fri Mar 15 18:49:39 2013 (r248335) @@ -288,26 +288,39 @@ distribution: ${DESTDIR}/etc/nsswitch.conf .endif -distrib-dirs: - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/ - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr - mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.include.dist \ - -p ${DESTDIR}/usr/include +MTREE_CMD?= mtree + +MTREES= mtree/BSD.root.dist / \ + mtree/BSD.var.dist /var \ + mtree/BSD.usr.dist /usr \ + mtree/BSD.include.dist /usr/include .if ${MK_BIND_LIBS} != "no" - mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BIND.include.dist \ - -p ${DESTDIR}/usr/include +MTREES+= mtree/BIND.include.dist /usr/include .endif .if ${MK_BIND_MTREE} != "no" - mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BIND.chroot.dist \ - -p ${DESTDIR}/var/named +MTREES+= mtree/BIND.chroot.dist /var/named .endif .if ${MK_GROFF} != "no" - mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.groff.dist -p ${DESTDIR}/usr +MTREES+= mtree/BSD.groff.dist /usr .endif .if ${MK_SENDMAIL} != "no" - mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/ +MTREES+= mtree/BSD.sendmail.dist / .endif +.for mtree in ${LOCAL_MTREE} +MTREES+= ../${mtree} / +.endfor + +distrib-dirs: + @set ${MTREES}; \ + while test $$# -ge 2; do \ + m=${.CURDIR}/$$1; \ + shift; \ + d=${DESTDIR}$$1; \ + shift; \ + ${ECHO} ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} \ + -f $$m -p $$d; \ + ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f $$m -p $$d; \ + done; true cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* . cd ${DESTDIR}/usr/share/man/en.UTF-8; ln -sf ../man* . From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 18:55:13 2013 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 203C6F63; Fri, 15 Mar 2013 18:55:13 +0000 (UTC) (envelope-from brooks@lor.one-eyed-alien.net) Received: from lor.one-eyed-alien.net (lor.one-eyed-alien.net [69.66.77.232]) by mx1.freebsd.org (Postfix) with ESMTP id 5060E854; Fri, 15 Mar 2013 18:55:12 +0000 (UTC) Received: from lor.one-eyed-alien.net (localhost [127.0.0.1]) by lor.one-eyed-alien.net (8.14.5/8.14.5) with ESMTP id r2FIt9rO044339; Fri, 15 Mar 2013 13:55:09 -0500 (CDT) (envelope-from brooks@lor.one-eyed-alien.net) Received: (from brooks@localhost) by lor.one-eyed-alien.net (8.14.5/8.14.5/Submit) id r2FIt9h1044338; Fri, 15 Mar 2013 13:55:09 -0500 (CDT) (envelope-from brooks) Date: Fri, 15 Mar 2013 13:55:09 -0500 From: Brooks Davis To: Brooks Davis Subject: Re: svn commit: r248335 - in stable/9: . etc Message-ID: <20130315185509.GA43965@lor.one-eyed-alien.net> References: <201303151849.r2FIndT9025095@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="3MwIy2ne0vdjdPXF" Content-Disposition: inline In-Reply-To: <201303151849.r2FIndT9025095@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-stable@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-stable-9@FreeBSD.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 18:55:13 -0000 --3MwIy2ne0vdjdPXF Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Mar 15, 2013 at 06:49:39PM +0000, Brooks Davis wrote: > Author: brooks > Date: Fri Mar 15 18:49:39 2013 > New Revision: 248335 > URL: http://svnweb.freebsd.org/changeset/base/248335 >=20 > Log: > MFC: > r241684,245316,245318,245440,245563,245565,245622,245754,246092,246096,= 246602 The primary purpose of this commit was to merge DB_FROM_SRC. LOCAL_MTREE ended up touching to many of the same lines to not merge it as well without more risk that I wanted to take so I merged them together. -- Brooks --3MwIy2ne0vdjdPXF Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iD8DBQFRQ26NXY6L6fI4GtQRApVEAKCO53BDVp0qhvpDi4TC02eQ+tGCcACfaDE0 j9LAKy8T6t2Eyz+9rdXVbGY= =tEtU -----END PGP SIGNATURE----- --3MwIy2ne0vdjdPXF-- From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 19:16:35 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B111072C; Fri, 15 Mar 2013 19:16:35 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8B1C69CE; Fri, 15 Mar 2013 19:16:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FJGZ0P034064; Fri, 15 Mar 2013 19:16:35 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FJGZ9C034063; Fri, 15 Mar 2013 19:16:35 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151916.r2FJGZ9C034063@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 19:16:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248336 - in stable/9: . share/zoneinfo X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 19:16:35 -0000 Author: brooks Date: Fri Mar 15 19:16:35 2013 New Revision: 248336 URL: http://svnweb.freebsd.org/changeset/base/248336 Log: MFC r245265,245271,245309: Rather than using zic to both compile and install zoneinfo files, generate the files during the build and install them with install(1). This was the one place in installworld where files (vs links) were installed by a tool other than install. Reviewed by: edwin, jilles Modified: stable/9/share/zoneinfo/Makefile Directory Properties: stable/9/Makefile.inc1 (props changed) stable/9/share/zoneinfo/ (props changed) Modified: stable/9/share/zoneinfo/Makefile ============================================================================== --- stable/9/share/zoneinfo/Makefile Fri Mar 15 18:49:39 2013 (r248335) +++ stable/9/share/zoneinfo/Makefile Fri Mar 15 19:16:35 2013 (r248336) @@ -29,6 +29,7 @@ # CLEANFILES+= yearistype +CLEANDIRS+= builddir CONTRIBDIR= ${.CURDIR}/../../contrib/tzdata/ .PATH: ${CONTRIBDIR} @@ -48,13 +49,39 @@ TZFILES+= backward systemv TZFILES:= ${TZFILES:S/^/${CONTRIBDIR}/} -all: yearistype - -beforeinstall: +TZBUILDDIR= ${.OBJDIR}/builddir +TZBUILDSUBDIRS= \ + Africa \ + America/Argentina \ + America/Indiana \ + America/Kentucky \ + America/North_Dakota \ + Antarctica \ + Arctic \ + Asia \ + Atlantic \ + Australia \ + Etc \ + Europe \ + Indian \ + Pacific \ + SystemV + +all: zoneinfo + +.PHONY: zoneinfo +zoneinfo: yearistype ${TDATA} + mkdir -p ${TZBUILDDIR} + cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} umask 022; cd ${.CURDIR}; \ - zic -D -d ${DESTDIR}/usr/share/zoneinfo -p ${POSIXRULES} \ - -u ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ + zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} + +beforeinstall: + cd ${TZBUILDDIR} && \ + find . -type f -print -exec ${INSTALL} \ + -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ + \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 19:27:28 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 633FAAAE; Fri, 15 Mar 2013 19:27:28 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4FC14A8F; Fri, 15 Mar 2013 19:27:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FJRS8C037079; Fri, 15 Mar 2013 19:27:28 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FJRRmY037075; Fri, 15 Mar 2013 19:27:27 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151927.r2FJRRmY037075@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 19:27:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248337 - stable/9/bin/cat X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 19:27:28 -0000 Author: brooks Date: Fri Mar 15 19:27:27 2013 New Revision: 248337 URL: http://svnweb.freebsd.org/changeset/base/248337 Log: MFC all features as of r248336: The user visable feature is from r246083: Add -l option to cat(1). This option causes cat(1) to use fcntl(2) to set an exclusive advisory lock on stdout. This will be used to guarantee orderly writing to METALOG. Sponsored by: DARPA, AFRL Obtained from: NetBSD (mason) Modified: stable/9/bin/cat/cat.1 stable/9/bin/cat/cat.c Directory Properties: stable/9/bin/cat/ (props changed) Modified: stable/9/bin/cat/cat.1 ============================================================================== --- stable/9/bin/cat/cat.1 Fri Mar 15 19:16:35 2013 (r248336) +++ stable/9/bin/cat/cat.1 Fri Mar 15 19:27:27 2013 (r248337) @@ -32,7 +32,7 @@ .\" @(#)cat.1 8.3 (Berkeley) 5/2/95 .\" $FreeBSD$ .\" -.Dd March 21, 2004 +.Dd January 29, 2013 .Dt CAT 1 .Os .Sh NAME @@ -40,7 +40,7 @@ .Nd concatenate and print files .Sh SYNOPSIS .Nm -.Op Fl benstuv +.Op Fl belnstuv .Op Ar .Sh DESCRIPTION The @@ -79,6 +79,16 @@ Display non-printing characters (see the option), and display a dollar sign .Pq Ql \&$ at the end of each line. +.It Fl l +Set an exclusive advisory lock on the standard output file descriptor. +This lock is set using +.Xr fcntl 2 +with the +.Dv F_SETLKW +command. +If the output file is already locked, +.Nm +will block until the lock is acquired. .It Fl n Number the output lines, starting at 1. .It Fl s @@ -127,7 +137,7 @@ to the file truncating .Pa file3 if it already exists. -See the manual page for your shell (i.e., +See the manual page for your shell (e.g., .Xr sh 1 ) for more information on redirection. .Pp @@ -160,6 +170,7 @@ operand. .Xr tail 1 , .Xr vis 1 , .Xr zcat 1 , +.Xr fcntl 2 , .Xr setbuf 3 .Rs .%A Rob Pike @@ -175,7 +186,7 @@ utility is compliant with the specification. .Pp The flags -.Op Fl benstv +.Op Fl belnstv are extensions to the specification. .Sh HISTORY A Modified: stable/9/bin/cat/cat.c ============================================================================== --- stable/9/bin/cat/cat.c Fri Mar 15 19:16:35 2013 (r248336) +++ stable/9/bin/cat/cat.c Fri Mar 15 19:27:27 2013 (r248337) @@ -64,9 +64,9 @@ __FBSDID("$FreeBSD$"); #include #include -int bflag, eflag, nflag, sflag, tflag, vflag; -int rval; -const char *filename; +static int bflag, eflag, lflag, nflag, sflag, tflag, vflag; +static int rval; +static const char *filename; static void usage(void); static void scanfiles(char *argv[], int cooked); @@ -96,10 +96,11 @@ int main(int argc, char *argv[]) { int ch; + struct flock stdout_lock; setlocale(LC_CTYPE, ""); - while ((ch = getopt(argc, argv, "benstuv")) != -1) + while ((ch = getopt(argc, argv, "belnstuv")) != -1) switch (ch) { case 'b': bflag = nflag = 1; /* -b implies -n */ @@ -107,6 +108,9 @@ main(int argc, char *argv[]) case 'e': eflag = vflag = 1; /* -e implies -v */ break; + case 'l': + lflag = 1; + break; case 'n': nflag = 1; break; @@ -127,6 +131,15 @@ main(int argc, char *argv[]) } argv += optind; + if (lflag) { + stdout_lock.l_len = 0; + stdout_lock.l_start = 0; + stdout_lock.l_type = F_WRLCK; + stdout_lock.l_whence = SEEK_SET; + if (fcntl(STDOUT_FILENO, F_SETLKW, &stdout_lock) == -1) + err(EXIT_FAILURE, "stdout"); + } + if (bflag || eflag || nflag || sflag || tflag || vflag) scanfiles(argv, 1); else @@ -140,7 +153,7 @@ main(int argc, char *argv[]) static void usage(void) { - fprintf(stderr, "usage: cat [-benstuv] [file ...]\n"); + fprintf(stderr, "usage: cat [-belnstuv] [file ...]\n"); exit(1); /* NOTREACHED */ } From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 19:32:38 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7334BED2; Fri, 15 Mar 2013 19:32:38 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6564DB10; Fri, 15 Mar 2013 19:32:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FJWcdW039390; Fri, 15 Mar 2013 19:32:38 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FJWcvN039389; Fri, 15 Mar 2013 19:32:38 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151932.r2FJWcvN039389@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 19:32:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248338 - stable/9/sys/sys X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 19:32:38 -0000 Author: brooks Date: Fri Mar 15 19:32:37 2013 New Revision: 248338 URL: http://svnweb.freebsd.org/changeset/base/248338 Log: Bump __FreeBSD_version for install -l, -M, -N and related flags as well as cat -l. This is a notional MFC of r245313,246084. Modified: stable/9/sys/sys/param.h Directory Properties: stable/9/sys/sys/ (props changed) Modified: stable/9/sys/sys/param.h ============================================================================== --- stable/9/sys/sys/param.h Fri Mar 15 19:27:27 2013 (r248337) +++ stable/9/sys/sys/param.h Fri Mar 15 19:32:37 2013 (r248338) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 901503 /* Master, propagated to newvers */ +#define __FreeBSD_version 901504 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 19:50:22 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D0D44348; Fri, 15 Mar 2013 19:50:22 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C26FCD29; Fri, 15 Mar 2013 19:50:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FJoMWJ044895; Fri, 15 Mar 2013 19:50:22 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FJoLdl044886; Fri, 15 Mar 2013 19:50:21 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303151950.r2FJoLdl044886@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 19:50:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248339 - in stable/9: . etc/mtree share/mk usr.bin/man X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 19:50:22 -0000 Author: brooks Date: Fri Mar 15 19:50:21 2013 New Revision: 248339 URL: http://svnweb.freebsd.org/changeset/base/248339 Log: MFC r245513,245514,245515: The last section 1aout manpage was installed no later than July 2002. Remove all support for them. Modified: stable/9/ObsoleteFiles.inc (contents, props changed) stable/9/etc/mtree/BSD.usr.dist stable/9/share/mk/bsd.man.mk stable/9/share/mk/bsd.prog.mk stable/9/usr.bin/man/man.1 stable/9/usr.bin/man/man.sh Directory Properties: stable/9/etc/mtree/ (props changed) stable/9/share/mk/ (props changed) stable/9/usr.bin/man/ (props changed) Modified: stable/9/ObsoleteFiles.inc ============================================================================== --- stable/9/ObsoleteFiles.inc Fri Mar 15 19:32:37 2013 (r248338) +++ stable/9/ObsoleteFiles.inc Fri Mar 15 19:50:21 2013 (r248339) @@ -38,6 +38,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20130315: removed long unused directories for .1aout section manpages +OLD_FILES+=usr/share/man/en.ISO8859-1/man1aout +OLD_FILES+=usr/share/man/en.UTF-8/man1aout +OLD_DIRS+=usr/share/man/man1aout +OLD_DIRS+=usr/share/man/cat1aout +OLD_DIRS+=usr/share/man/en.ISO8859-1/cat1aout +OLD_DIRS+=usr/share/man/en.UTF-8/cat1aout # 20121230: remove wrongly created directories for auditdistd OLD_DIRS+=var/dist OLD_DIRS+=var/remote Modified: stable/9/etc/mtree/BSD.usr.dist ============================================================================== --- stable/9/etc/mtree/BSD.usr.dist Fri Mar 15 19:32:37 2013 (r248338) +++ stable/9/etc/mtree/BSD.usr.dist Fri Mar 15 19:50:21 2013 (r248339) @@ -752,8 +752,6 @@ /set uname=man cat1 .. - cat1aout - .. cat2 .. cat3 @@ -791,8 +789,6 @@ en.ISO8859-1 uname=root cat1 .. - cat1aout - .. cat2 .. cat3 @@ -831,8 +827,6 @@ en.UTF-8 uname=root cat1 .. - cat1aout - .. cat2 .. cat3 @@ -909,8 +903,6 @@ .. man1 .. - man1aout - .. man2 .. man3 Modified: stable/9/share/mk/bsd.man.mk ============================================================================== --- stable/9/share/mk/bsd.man.mk Fri Mar 15 19:32:37 2013 (r248338) +++ stable/9/share/mk/bsd.man.mk Fri Mar 15 19:50:21 2013 (r248339) @@ -62,7 +62,7 @@ MROFF_CMD?= groff -Tascii -mtty-char -ma MCOMPRESS_CMD?= ${COMPRESS_CMD} MCOMPRESS_EXT?= ${COMPRESS_EXT} -SECTIONS= 1 1aout 2 3 4 5 6 7 8 9 +SECTIONS= 1 2 3 4 5 6 7 8 9 .SUFFIXES: ${SECTIONS:S/^/./g} # Backwards compatibility. Modified: stable/9/share/mk/bsd.prog.mk ============================================================================== --- stable/9/share/mk/bsd.prog.mk Fri Mar 15 19:32:37 2013 (r248338) +++ stable/9/share/mk/bsd.prog.mk Fri Mar 15 19:50:21 2013 (r248339) @@ -95,8 +95,7 @@ ${PROG}: ${OBJS} .if ${MK_MAN} != "no" && !defined(MAN) && \ !defined(MAN1) && !defined(MAN2) && !defined(MAN3) && \ !defined(MAN4) && !defined(MAN5) && !defined(MAN6) && \ - !defined(MAN7) && !defined(MAN8) && !defined(MAN9) && \ - !defined(MAN1aout) + !defined(MAN7) && !defined(MAN8) && !defined(MAN9) MAN= ${PROG}.1 MAN1= ${MAN} .endif Modified: stable/9/usr.bin/man/man.1 ============================================================================== --- stable/9/usr.bin/man/man.1 Fri Mar 15 19:32:37 2013 (r248338) +++ stable/9/usr.bin/man/man.1 Fri Mar 15 19:50:21 2013 (r248339) @@ -84,7 +84,7 @@ environment variable. .It Fl S Ar mansect Restricts manual sections searched to the specified colon delimited list. Defaults to -.Dq Li 1:1aout:8:2:3:n:4:5:6:7:9:l . +.Dq Li 1:8:2:3:n:4:5:6:7:9:l . Overrides the .Ev MANSECT environment variable. Modified: stable/9/usr.bin/man/man.sh ============================================================================== --- stable/9/usr.bin/man/man.sh Fri Mar 15 19:32:37 2013 (r248338) +++ stable/9/usr.bin/man/man.sh Fri Mar 15 19:50:21 2013 (r248339) @@ -945,7 +945,7 @@ STTY=/bin/stty SYSCTL=/sbin/sysctl debug=0 -man_default_sections='1:1aout:8:2:3:n:4:5:6:7:9:l' +man_default_sections='1:8:2:3:n:4:5:6:7:9:l' man_default_path='/usr/share/man:/usr/share/openssl/man:/usr/local/man' cattool='/usr/bin/zcat -f' From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 19:58:45 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0F25A5E3; Fri, 15 Mar 2013 19:58:45 +0000 (UTC) (envelope-from rstone@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EBCFDDD0; Fri, 15 Mar 2013 19:58:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FJwiG3046493; Fri, 15 Mar 2013 19:58:44 GMT (envelope-from rstone@svn.freebsd.org) Received: (from rstone@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FJwiVZ046492; Fri, 15 Mar 2013 19:58:44 GMT (envelope-from rstone@svn.freebsd.org) Message-Id: <201303151958.r2FJwiVZ046492@svn.freebsd.org> From: Ryan Stone Date: Fri, 15 Mar 2013 19:58:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248340 - head/sys/dev/puc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 19:58:45 -0000 Author: rstone Date: Fri Mar 15 19:58:44 2013 New Revision: 248340 URL: http://svnweb.freebsd.org/changeset/base/248340 Log: Add support for Exar XR17V358 8-port serial device to puc(4) Reviewed by: marius Sponsored by: Sandvine Inc. MFC after: 1 week Modified: head/sys/dev/puc/pucdata.c Modified: head/sys/dev/puc/pucdata.c ============================================================================== --- head/sys/dev/puc/pucdata.c Fri Mar 15 19:50:21 2013 (r248339) +++ head/sys/dev/puc/pucdata.c Fri Mar 15 19:58:44 2013 (r248340) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); static puc_config_f puc_config_amc; static puc_config_f puc_config_diva; static puc_config_f puc_config_exar; +static puc_config_f puc_config_exar_pcie; static puc_config_f puc_config_icbook; static puc_config_f puc_config_moxa; static puc_config_f puc_config_oxford_pcie; @@ -630,6 +631,14 @@ const struct puc_cfg puc_pci_devices[] = PUC_PORT_8S, 0x10, 0, -1, }, + /* The XR17V358 uses the 125MHz PCIe clock as its reference clock. */ + { 0x13a8, 0x0358, 0xffff, 0, + "Exar XR17V358", + 125000000, + PUC_PORT_8S, 0x10, 0, -1, + .config_function = puc_config_exar_pcie + }, + { 0x13fe, 0x1600, 0x1602, 0x0002, "Advantech PCI-1602", DEFAULT_RCLK * 8, @@ -1186,6 +1195,17 @@ puc_config_exar(struct puc_softc *sc, en } static int +puc_config_exar_pcie(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, + intptr_t *res) +{ + if (cmd == PUC_CFG_GET_OFS) { + *res = port * 0x400; + return (0); + } + return (ENXIO); +} + +static int puc_config_icbook(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 20:00:08 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9EDE977B; Fri, 15 Mar 2013 20:00:08 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8D300DEA; Fri, 15 Mar 2013 20:00:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FK08lY046857; Fri, 15 Mar 2013 20:00:08 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FK08fc046856; Fri, 15 Mar 2013 20:00:08 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303152000.r2FK08fc046856@svn.freebsd.org> From: Adrian Chadd Date: Fri, 15 Mar 2013 20:00:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248341 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 20:00:08 -0000 Author: adrian Date: Fri Mar 15 20:00:08 2013 New Revision: 248341 URL: http://svnweb.freebsd.org/changeset/base/248341 Log: Fix two bugs: * when pulling frames off of the TID queue, the ATH_TID_REMOVE() macro decrements the axq_depth field. So don't do it twice. * in ath_tx_comp_cleanup_aggr(), bf wasn't being reset to bf_first before walking the buffer list to complete buffers; so those buffers will leak. Modified: head/sys/dev/ath/if_ath_tx.c Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Fri Mar 15 19:58:44 2013 (r248340) +++ head/sys/dev/ath/if_ath_tx.c Fri Mar 15 20:00:08 2013 (r248341) @@ -3757,7 +3757,8 @@ ath_tx_tid_cleanup(struct ath_softc *sc, if (bf->bf_state.bfs_isretried) { bf_next = TAILQ_NEXT(bf, bf_list); ATH_TID_REMOVE(atid, bf, bf_list); - atid->axq_depth--; + // Don't need this anymore; ATH_TID_REMOVE() decrements it for us + //atid->axq_depth--; if (bf->bf_state.bfs_dobaw) { ath_tx_update_baw(sc, an, atid, bf); if (! bf->bf_state.bfs_addedbaw) @@ -4140,11 +4141,10 @@ ath_tx_comp_cleanup_aggr(struct ath_soft int tid = bf_first->bf_state.bfs_tid; struct ath_tid *atid = &an->an_tid[tid]; - bf = bf_first; - ATH_TX_LOCK(sc); /* update incomp */ + bf = bf_first; while (bf) { atid->incomp--; bf = bf->bf_next; @@ -4160,12 +4160,17 @@ ath_tx_comp_cleanup_aggr(struct ath_soft /* Send BAR if required */ /* XXX why would we send a BAR when transitioning to non-aggregation? */ + /* + * XXX TODO: we should likely just tear down the BAR state here, + * rather than sending a BAR. + */ if (ath_tx_tid_bar_tx_ready(sc, atid)) ath_tx_tid_bar_tx(sc, atid); ATH_TX_UNLOCK(sc); /* Handle frame completion */ + bf = bf_first; while (bf) { bf_next = bf->bf_next; ath_tx_default_comp(sc, bf, 1); From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 20:12:55 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E61ABC80; Fri, 15 Mar 2013 20:12:55 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C98A9F12; Fri, 15 Mar 2013 20:12:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FKCtrc052301; Fri, 15 Mar 2013 20:12:55 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FKCss2052294; Fri, 15 Mar 2013 20:12:54 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303152012.r2FKCss2052294@svn.freebsd.org> From: Joel Dahl Date: Fri, 15 Mar 2013 20:12:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248342 - in head/bin: cp ls mkdir mv ps rm rmdir X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 20:12:56 -0000 Author: joel (doc committer) Date: Fri Mar 15 20:12:54 2013 New Revision: 248342 URL: http://svnweb.freebsd.org/changeset/base/248342 Log: Add a few examples. Obtained from: OpenBSD Modified: head/bin/cp/cp.1 head/bin/ls/ls.1 head/bin/mkdir/mkdir.1 head/bin/mv/mv.1 head/bin/ps/ps.1 head/bin/rm/rm.1 head/bin/rmdir/rmdir.1 Modified: head/bin/cp/cp.1 ============================================================================== --- head/bin/cp/cp.1 Fri Mar 15 20:00:08 2013 (r248341) +++ head/bin/cp/cp.1 Fri Mar 15 20:12:54 2013 (r248342) @@ -32,7 +32,7 @@ .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd September 4, 2012 +.Dd March 15, 2013 .Dt CP 1 .Os .Sh NAME @@ -251,6 +251,27 @@ signal, the current input and output fil will be written to the standard output. .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +Make a copy of file +.Pa foo +named +.Pa bar : +.Pp +.Dl $ cp foo bar +.Pp +Copy a group of files to the +.Pa /tmp +directory: +.Pp +.Dl $ cp *.txt /tmp +.Pp +Copy the directory +.Pa junk +and all of its contents (including any subdirectories) to the +.Pa /tmp +directory: +.Pp +.Dl $ cp -R junk /tmp .Sh COMPATIBILITY Historic versions of the .Nm Modified: head/bin/ls/ls.1 ============================================================================== --- head/bin/ls/ls.1 Fri Mar 15 20:00:08 2013 (r248341) +++ head/bin/ls/ls.1 Fri Mar 15 20:12:54 2013 (r248342) @@ -32,7 +32,7 @@ .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 .\" $FreeBSD$ .\" -.Dd November 8, 2012 +.Dd March 15, 2013 .Dt LS 1 .Os .Sh NAME @@ -718,6 +718,24 @@ for more information. .El .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +List the contents of the current working directory in long format: +.Pp +.Dl $ ls -l +.Pp +In addition to listing the contents of the current working directory in +long format, show inode numbers, file flags (see +.Xr chflags 1 ) , +and suffix each filename with a symbol representing its file type: +.Pp +.Dl $ ls -lioF +.Pp +List the files in +.Pa /var/log , +sorting the output such that the mostly recently modified entries are +printed first: +.Pp +.Dl $ ls -lt /var/log .Sh COMPATIBILITY The group field is now automatically included in the long listing for files in order to be compatible with the Modified: head/bin/mkdir/mkdir.1 ============================================================================== --- head/bin/mkdir/mkdir.1 Fri Mar 15 20:00:08 2013 (r248341) +++ head/bin/mkdir/mkdir.1 Fri Mar 15 20:12:54 2013 (r248342) @@ -32,7 +32,7 @@ .\" @(#)mkdir.1 8.2 (Berkeley) 1/25/94 .\" $FreeBSD$ .\" -.Dd January 25, 1994 +.Dd March 15, 2013 .Dt MKDIR 1 .Os .Sh NAME @@ -87,6 +87,23 @@ Be verbose when creating directories, li The user must have write permission in the parent directory. .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +Create a directory named +.Pa foobar : +.Pp +.Dl $ mkdir foobar +.Pp +Create a directory named +.Pa foobar +and set its file mode to 700: +.Pp +.Dl $ mkdir -m 700 foobar +.Pp +Create a directory named +.Pa cow/horse/monkey , +creating any non-existent intermediate directories as necessary: +.Pp +.Dl $ mkdir -p cow/horse/monkey .Sh COMPATIBILITY The .Fl v Modified: head/bin/mv/mv.1 ============================================================================== --- head/bin/mv/mv.1 Fri Mar 15 20:00:08 2013 (r248341) +++ head/bin/mv/mv.1 Fri Mar 15 20:12:54 2013 (r248342) @@ -32,7 +32,7 @@ .\" @(#)mv.1 8.1 (Berkeley) 5/31/93 .\" $FreeBSD$ .\" -.Dd August 28, 2012 +.Dd March 15, 2013 .Dt MV 1 .Os .Sh NAME @@ -155,6 +155,16 @@ rm -rf source_file .Ed .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +Rename file +.Pa foo +to +.Pa bar , +overwriting +.Pa bar +if it already exists: +.Pp +.Dl $ mv -f foo bar .Sh COMPATIBILITY The .Fl h , Modified: head/bin/ps/ps.1 ============================================================================== --- head/bin/ps/ps.1 Fri Mar 15 20:00:08 2013 (r248341) +++ head/bin/ps/ps.1 Fri Mar 15 20:12:54 2013 (r248342) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd February 7, 2013 +.Dd March 15, 2013 .Dt PS 1 .Os .Sh NAME @@ -689,6 +689,10 @@ attempts to automatically determine the .It Pa /boot/kernel/kernel default system namelist .El +.Sh EXAMPLES +Display information on all system processes: +.Pp +.Dl $ ps -auxw .Sh SEE ALSO .Xr kill 1 , .Xr pgrep 1 , Modified: head/bin/rm/rm.1 ============================================================================== --- head/bin/rm/rm.1 Fri Mar 15 20:00:08 2013 (r248341) +++ head/bin/rm/rm.1 Fri Mar 15 20:12:54 2013 (r248342) @@ -32,7 +32,7 @@ .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 .\" $FreeBSD$ .\" -.Dd October 31, 2010 +.Dd March 15, 2013 .Dt RM 1 .Os .Sh NAME @@ -193,6 +193,19 @@ When is specified with .Fl f the file will be overwritten and removed even if it has hard links. +.Sh EXAMPLES +Recursively remove all files contained within the +.Pa foobar +directory hierarchy: +.Pp +.Dl $ rm -rf foobar +.Pp +Either of these commands will remove the file +.Pa -f : +.Bd -literal -offset indent +$ rm -- -f +$ rm ./-f +.Ed .Sh COMPATIBILITY The .Nm Modified: head/bin/rmdir/rmdir.1 ============================================================================== --- head/bin/rmdir/rmdir.1 Fri Mar 15 20:00:08 2013 (r248341) +++ head/bin/rmdir/rmdir.1 Fri Mar 15 20:12:54 2013 (r248342) @@ -32,7 +32,7 @@ .\" @(#)rmdir.1 8.1 (Berkeley) 5/31/93 .\" $FreeBSD$ .\" -.Dd March 21, 2004 +.Dd March 15, 2013 .Dt RMDIR 1 .Os .Sh NAME @@ -86,6 +86,18 @@ successfully. .It Li >0 An error occurred. .El +.Sh EXAMPLES +Remove the directory +.Pa foobar , +if it is empty: +.Pp +.Dl $ rmdir foobar +.Pp +Remove all directories up to and including +.Pa cow , +stopping at the first non-empty directory (if any): +.Pp +.Dl $ rmdir -p cow/horse/monkey .Sh SEE ALSO .Xr rm 1 .Sh STANDARDS From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 20:22:20 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D99FA42D; Fri, 15 Mar 2013 20:22:20 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C209BFD2; Fri, 15 Mar 2013 20:22:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FKMKl3055353; Fri, 15 Mar 2013 20:22:20 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FKMKrR055352; Fri, 15 Mar 2013 20:22:20 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201303152022.r2FKMKrR055352@svn.freebsd.org> From: Adrian Chadd Date: Fri, 15 Mar 2013 20:22:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248347 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 20:22:20 -0000 Author: adrian Date: Fri Mar 15 20:22:20 2013 New Revision: 248347 URL: http://svnweb.freebsd.org/changeset/base/248347 Log: Why'd I keep this here? remove it entirely now. Modified: head/sys/dev/ath/if_ath_tx.c Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Fri Mar 15 20:21:18 2013 (r248346) +++ head/sys/dev/ath/if_ath_tx.c Fri Mar 15 20:22:20 2013 (r248347) @@ -3757,8 +3757,6 @@ ath_tx_tid_cleanup(struct ath_softc *sc, if (bf->bf_state.bfs_isretried) { bf_next = TAILQ_NEXT(bf, bf_list); ATH_TID_REMOVE(atid, bf, bf_list); - // Don't need this anymore; ATH_TID_REMOVE() decrements it for us - //atid->axq_depth--; if (bf->bf_state.bfs_dobaw) { ath_tx_update_baw(sc, an, atid, bf); if (! bf->bf_state.bfs_addedbaw) From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 20:26:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 85806645; Fri, 15 Mar 2013 20:26:52 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5A52DC9; Fri, 15 Mar 2013 20:26:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FKQqVK055970; Fri, 15 Mar 2013 20:26:52 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FKQqTE055969; Fri, 15 Mar 2013 20:26:52 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152026.r2FKQqTE055969@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 20:26:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248348 - stable/9 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 20:26:52 -0000 Author: brooks Date: Fri Mar 15 20:26:51 2013 New Revision: 248348 URL: http://svnweb.freebsd.org/changeset/base/248348 Log: MFC r241311: Change 32-bit library builds by removing use of make -E and passing AS, CC, CXX and LD on the commandline of the sub-make instead of in the environment of the sub-make. Modified: stable/9/Makefile.inc1 (contents, props changed) Modified: stable/9/Makefile.inc1 ============================================================================== --- stable/9/Makefile.inc1 Fri Mar 15 20:22:20 2013 (r248347) +++ stable/9/Makefile.inc1 Fri Mar 15 20:26:51 2013 (r248348) @@ -293,9 +293,10 @@ LIB32CPUFLAGS= -march=i686 -mmmx -msse - LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} .endif LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ - MACHINE_CPU="i686 mmx sse sse2" \ - LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ - AS="${AS} --32" + MACHINE_CPU="i686 mmx sse sse2" +LIB32WMAKEFLAGS= \ + AS="${AS} --32" \ + LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" .elif ${TARGET_ARCH} == "powerpc64" .if empty(TARGET_CPUTYPE) @@ -303,7 +304,8 @@ LIB32CPUFLAGS= -mcpu=powerpc .else LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} .endif -LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc \ +LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc +LIB32WMAKEFLAGS= \ LD="${LD} -m elf32ppc" .endif @@ -320,16 +322,20 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTR VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - CC="${CC} ${LIB32FLAGS}" \ - CXX="${CXX} ${LIB32FLAGS}" \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 \ COMPILER_TYPE=${WMAKE_COMPILER_TYPE} +LIB32WMAKEFLAGS+= \ + CC="${CC} ${LIB32FLAGS}" \ + CXX="${CXX} ${LIB32FLAGS}" \ + DESTDIR=${LIB32TMP} \ + -DCOMPAT_32BIT \ + -DNO_CPU_CFLAGS \ + -DNO_CTF \ + -DNO_LINT -LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ - -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \ - -DWITHOUT_HTML -DNO_CTF -DNO_LINT -ECC -ECXX -EAS -ELD \ - DESTDIR=${LIB32TMP} +LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ + -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS \ ${IMAKE_INSTALL} .endif From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 20:29:32 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3EC54804; Fri, 15 Mar 2013 20:29:32 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 30D3DFC; Fri, 15 Mar 2013 20:29:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FKTW7Z056395; Fri, 15 Mar 2013 20:29:32 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FKTVrq056392; Fri, 15 Mar 2013 20:29:31 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201303152029.r2FKTVrq056392@svn.freebsd.org> From: Jilles Tjoelker Date: Fri, 15 Mar 2013 20:29:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248349 - in head: bin/sh tools/regression/bin/sh/builtins X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 20:29:32 -0000 Author: jilles Date: Fri Mar 15 20:29:31 2013 New Revision: 248349 URL: http://svnweb.freebsd.org/changeset/base/248349 Log: sh: Recognize "--" and explicitly reject options in wait builtin. If syntactically invalid job identifiers are to be taken as jobs that exited with status 127, this should not apply to options, so that we can add options later if need be. Added: head/tools/regression/bin/sh/builtins/wait6.0 (contents, props changed) head/tools/regression/bin/sh/builtins/wait7.0 (contents, props changed) Modified: head/bin/sh/jobs.c Modified: head/bin/sh/jobs.c ============================================================================== --- head/bin/sh/jobs.c Fri Mar 15 20:26:51 2013 (r248348) +++ head/bin/sh/jobs.c Fri Mar 15 20:29:31 2013 (r248349) @@ -458,14 +458,15 @@ freejob(struct job *jp) int -waitcmd(int argc, char **argv) +waitcmd(int argc __unused, char **argv __unused) { struct job *job; int status, retval; struct job *jp; - if (argc > 1) { - job = getjob(argv[1]); + nextopt(""); + if (*argptr != NULL) { + job = getjob(*argptr); } else { job = NULL; } Added: head/tools/regression/bin/sh/builtins/wait6.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/builtins/wait6.0 Fri Mar 15 20:29:31 2013 (r248349) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +wait -- Added: head/tools/regression/bin/sh/builtins/wait7.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/builtins/wait7.0 Fri Mar 15 20:29:31 2013 (r248349) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +: & +wait -- $! From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 20:34:11 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D69C1A23; Fri, 15 Mar 2013 20:34:11 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B9FDF15C; Fri, 15 Mar 2013 20:34:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FKYBuY058705; Fri, 15 Mar 2013 20:34:11 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FKYBNK058701; Fri, 15 Mar 2013 20:34:11 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152034.r2FKYBNK058701@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 20:34:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248350 - in stable/9: . cddl/lib/libdtrace share/mk X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 20:34:11 -0000 Author: brooks Date: Fri Mar 15 20:34:10 2013 New Revision: 248350 URL: http://svnweb.freebsd.org/changeset/base/248350 Log: MFC r245561,245885: Add a new LIBRARIES_ONLY make variable to disable the build and install of files other than the actual libraries. Use LIBRARIES_ONLY to supress the inclusion of files in the lib32 distribution that are duplicates of files in base. Sponsored by: DARPA, AFRL Reviewed by: emaste Modified: stable/9/Makefile.inc1 (contents, props changed) stable/9/cddl/lib/libdtrace/Makefile stable/9/share/mk/bsd.README stable/9/share/mk/bsd.lib.mk Directory Properties: stable/9/cddl/lib/libdtrace/ (props changed) stable/9/share/mk/ (props changed) Modified: stable/9/Makefile.inc1 ============================================================================== --- stable/9/Makefile.inc1 Fri Mar 15 20:29:31 2013 (r248349) +++ stable/9/Makefile.inc1 Fri Mar 15 20:34:10 2013 (r248350) @@ -330,6 +330,7 @@ LIB32WMAKEFLAGS+= \ CXX="${CXX} ${LIB32FLAGS}" \ DESTDIR=${LIB32TMP} \ -DCOMPAT_32BIT \ + -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ -DNO_CTF \ -DNO_LINT Modified: stable/9/cddl/lib/libdtrace/Makefile ============================================================================== --- stable/9/cddl/lib/libdtrace/Makefile Fri Mar 15 20:29:31 2013 (r248349) +++ stable/9/cddl/lib/libdtrace/Makefile Fri Mar 15 20:34:10 2013 (r248350) @@ -95,7 +95,7 @@ dt_names.c: beforedepend: dt_errtags.c dt_names.c beforeinstall: -.if exists(${DESTDIR}/usr/lib/dtrace) +.if !defined(LIBRARIES_ONLY) && exists(${DESTDIR}/usr/lib/dtrace) .for file in ${DSRCS} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} ${.CURDIR}/${file} ${DESTDIR}/usr/lib/dtrace .endfor Modified: stable/9/share/mk/bsd.README ============================================================================== --- stable/9/share/mk/bsd.README Fri Mar 15 20:29:31 2013 (r248349) +++ stable/9/share/mk/bsd.README Fri Mar 15 20:34:10 2013 (r248350) @@ -356,6 +356,8 @@ SHLIB_LDSCRIPT Template file to generate Unless used, a simple symlink is created to the real shared object. +LIBRARIES_ONLY Do not build or install files other than the library. + The include file includes the file named "../Makefile.inc" if it exists, as well as the include file . Modified: stable/9/share/mk/bsd.lib.mk ============================================================================== --- stable/9/share/mk/bsd.lib.mk Fri Mar 15 20:29:31 2013 (r248349) +++ stable/9/share/mk/bsd.lib.mk Fri Mar 15 20:34:10 2013 (r248350) @@ -313,12 +313,15 @@ _libinstall: .endif .endif # !defined(INTERNALLIB) +.if !defined(LIBRARIES_ONLY) .include .include .include +.endif + .include -.if ${MK_MAN} != "no" +.if ${MK_MAN} != "no" && !defined(LIBRARIES_ONLY) realinstall: _maninstall .ORDER: beforeinstall _maninstall .endif @@ -330,7 +333,7 @@ lint: ${SRCS:M*.c} ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} .endif -.if ${MK_MAN} != "no" +.if ${MK_MAN} != "no" && !defined(LIBRARIES_ONLY) .include .endif From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 20:52:01 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 536C7DF0; Fri, 15 Mar 2013 20:52:01 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 281AB28E; Fri, 15 Mar 2013 20:52:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FKq1gX064276; Fri, 15 Mar 2013 20:52:01 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FKq1s5064275; Fri, 15 Mar 2013 20:52:01 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152052.r2FKq1s5064275@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 20:52:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248351 - stable/9/etc X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 20:52:01 -0000 Author: brooks Date: Fri Mar 15 20:52:00 2013 New Revision: 248351 URL: http://svnweb.freebsd.org/changeset/base/248351 Log: MFC r245571,245580: In preparation for logging metadata about each filesystem object, refactor the link section of distrib-dirs to alwasy install to a full path (the link contents remain relative as they should). Eliminate the use of the "rm -r[f] ; ln -s " pattern in favor of "ln -sfh ". None of these links could be directories on a system installed in the last decade. Sponsored by: DARPA, AFRL Modified: stable/9/etc/Makefile Directory Properties: stable/9/etc/ (props changed) Modified: stable/9/etc/Makefile ============================================================================== --- stable/9/etc/Makefile Fri Mar 15 20:34:10 2013 (r248350) +++ stable/9/etc/Makefile Fri Mar 15 20:52:00 2013 (r248351) @@ -321,32 +321,26 @@ distrib-dirs: -f $$m -p $$d; \ ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f $$m -p $$d; \ done; true - cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys - cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* . - cd ${DESTDIR}/usr/share/man/en.UTF-8; ln -sf ../man* . + ln -sfh usr/src/sys ${DESTDIR}/sys cd ${DESTDIR}/usr/share/man; \ - set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \ - while [ $$# -gt 0 ] ; \ - do \ - rm -rf "$$1"; \ - ln -s "$$2" "$$1"; \ - shift; shift; \ + for mandir in man*; do \ + ln -sfh ../$$mandir ${DESTDIR}/usr/share/man/en.ISO8859-1/; \ + ln -sfh ../$$mandir ${DESTDIR}/usr/share/man/en.UTF-8/; \ done cd ${DESTDIR}/usr/share/openssl/man; \ + for mandir in man*; do \ + ln -sfh ../$$mandir \ + ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1/; \ + done set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \ - while [ $$# -gt 0 ] ; \ - do \ - rm -rf "$$1"; \ - ln -s "$$2" "$$1"; \ + while [ $$# -gt 0 ] ; do \ + ln -sfh "$$2" "${DESTDIR}/usr/share/man/$$1"; \ + ln -sfh "$$2" "${DESTDIR}/usr/share/openssl/man/$$1"; \ shift; shift; \ done - cd ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1; ln -sf ../man* . - cd ${DESTDIR}/usr/share/nls; \ set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \ - while [ $$# -gt 0 ] ; \ - do \ - rm -rf "$$1"; \ - ln -s "$$2" "$$1"; \ + while [ $$# -gt 0 ] ; do \ + ln -sfh "$$2" "${DESTDIR}/usr/share/nls/$$1"; \ shift; shift; \ done From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 21:32:42 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7F333813; Fri, 15 Mar 2013 21:32:42 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 69B5A721; Fri, 15 Mar 2013 21:32:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FLWgX8076679; Fri, 15 Mar 2013 21:32:42 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FLWfwx076672; Fri, 15 Mar 2013 21:32:41 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152132.r2FLWfwx076672@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 21:32:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248352 - in stable/9: etc share/mk X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 21:32:42 -0000 Author: brooks Date: Fri Mar 15 21:32:40 2013 New Revision: 248352 URL: http://svnweb.freebsd.org/changeset/base/248352 Log: MFC r245752,246913,247162 Replace all known uses of ln in the build process with appropriate install -l invocations via new INSTALL_LINK and INSTALL_SYMLINK variables. Sponsored by: DARPA, AFRL Modified: stable/9/etc/Makefile stable/9/share/mk/bsd.incs.mk stable/9/share/mk/bsd.info.mk stable/9/share/mk/bsd.lib.mk stable/9/share/mk/bsd.links.mk stable/9/share/mk/bsd.man.mk stable/9/share/mk/bsd.own.mk Directory Properties: stable/9/etc/ (props changed) stable/9/share/mk/ (props changed) Modified: stable/9/etc/Makefile ============================================================================== --- stable/9/etc/Makefile Fri Mar 15 20:52:00 2013 (r248351) +++ stable/9/etc/Makefile Fri Mar 15 21:32:40 2013 (r248352) @@ -321,26 +321,29 @@ distrib-dirs: -f $$m -p $$d; \ ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f $$m -p $$d; \ done; true - ln -sfh usr/src/sys ${DESTDIR}/sys + ${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/sys cd ${DESTDIR}/usr/share/man; \ for mandir in man*; do \ - ln -sfh ../$$mandir ${DESTDIR}/usr/share/man/en.ISO8859-1/; \ - ln -sfh ../$$mandir ${DESTDIR}/usr/share/man/en.UTF-8/; \ + ${INSTALL_SYMLINK} ../$$mandir \ + ${DESTDIR}/usr/share/man/en.ISO8859-1/; \ + ${INSTALL_SYMLINK} ../$$mandir \ + ${DESTDIR}/usr/share/man/en.UTF-8/; \ done cd ${DESTDIR}/usr/share/openssl/man; \ for mandir in man*; do \ - ln -sfh ../$$mandir \ + ${INSTALL_SYMLINK} ../$$mandir \ ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1/; \ done set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \ while [ $$# -gt 0 ] ; do \ - ln -sfh "$$2" "${DESTDIR}/usr/share/man/$$1"; \ - ln -sfh "$$2" "${DESTDIR}/usr/share/openssl/man/$$1"; \ + ${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/man/$$1"; \ + ${INSTALL_SYMLINK} "$$2" \ + "${DESTDIR}/usr/share/openssl/man/$$1"; \ shift; shift; \ done set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \ while [ $$# -gt 0 ] ; do \ - ln -sfh "$$2" "${DESTDIR}/usr/share/nls/$$1"; \ + ${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/nls/$$1"; \ shift; shift; \ done Modified: stable/9/share/mk/bsd.incs.mk ============================================================================== --- stable/9/share/mk/bsd.incs.mk Fri Mar 15 20:52:00 2013 (r248351) +++ stable/9/share/mk/bsd.incs.mk Fri Mar 15 21:32:40 2013 (r248352) @@ -73,7 +73,7 @@ installincludes: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -fs $$l $$t; \ + ${INSTALL_SYMLINK} $$l $$t; \ done; true .endif .endif # !target(installincludes) Modified: stable/9/share/mk/bsd.info.mk ============================================================================== --- stable/9/share/mk/bsd.info.mk Fri Mar 15 20:52:00 2013 (r248351) +++ stable/9/share/mk/bsd.info.mk Fri Mar 15 21:32:40 2013 (r248352) @@ -113,7 +113,7 @@ DVIPS2ASCII?= dvips2ascii .info.html: ${INFO2HTML} ${.IMPSRC} - ln -f ${.TARGET:R}.info.Top.html ${.TARGET} + ${INSTALL_LINK} ${.TARGET:R}.info.Top.html ${.TARGET} .PATH: ${.CURDIR} ${SRCDIR} Modified: stable/9/share/mk/bsd.lib.mk ============================================================================== --- stable/9/share/mk/bsd.lib.mk Fri Mar 15 20:52:00 2013 (r248351) +++ stable/9/share/mk/bsd.lib.mk Fri Mar 15 21:32:40 2013 (r248352) @@ -178,9 +178,9 @@ ${SHLIB_NAME}: ${SOBJS} beforelinking ${SHLIB_NAME}: ${SOBJS} .endif @${ECHO} building shared library ${SHLIB_NAME} - @rm -f ${.TARGET} ${SHLIB_LINK} + @rm -f ${SHLIB_NAME} ${SHLIB_LINK} .if defined(SHLIB_LINK) - @ln -fs ${.TARGET} ${SHLIB_LINK} + @${INSTALL_SYMLINK} ${SHLIB_NAME} ${SHLIB_LINK} .endif .if !defined(NM) @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ @@ -291,9 +291,9 @@ _libinstall: ${_INSTALLFLAGS} lib${LIB}.ld ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .else .if ${SHLIBDIR} == ${LIBDIR} - ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} + ${INSTALL_SYMLINK} ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .else - ln -fs ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \ + ${INSTALL_SYMLINK} ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \ ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .if exists(${DESTDIR}${LIBDIR}/${SHLIB_NAME}) -chflags noschg ${DESTDIR}${LIBDIR}/${SHLIB_NAME} Modified: stable/9/share/mk/bsd.links.mk ============================================================================== --- stable/9/share/mk/bsd.links.mk Fri Mar 15 20:52:00 2013 (r248351) +++ stable/9/share/mk/bsd.links.mk Fri Mar 15 21:32:40 2013 (r248352) @@ -15,7 +15,7 @@ _installlinks: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -f $$l $$t; \ + ${INSTALL_LINK} $$l $$t; \ done; true .endif .if defined(SYMLINKS) && !empty(SYMLINKS) @@ -26,6 +26,6 @@ _installlinks: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -fs $$l $$t; \ + ${INSTALL_SYMLINK} $$l $$t; \ done; true .endif Modified: stable/9/share/mk/bsd.man.mk ============================================================================== --- stable/9/share/mk/bsd.man.mk Fri Mar 15 20:52:00 2013 (r248351) +++ stable/9/share/mk/bsd.man.mk Fri Mar 15 21:32:40 2013 (r248352) @@ -216,7 +216,7 @@ _maninstall: ${MAN} t=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name; \ ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ rm -f $${t} $${t}${MCOMPRESS_EXT}; \ - ln $${l}${ZEXT} $${t}${ZEXT}; \ + ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \ done .if defined(MANBUILDCAT) && !empty(MANBUILDCAT) @set ${MLINKS:C/\.([^.]*)$/.\1 \1/}; \ @@ -231,7 +231,7 @@ _maninstall: ${MAN} t=${DESTDIR}${CATDIR}$${sect}${MANSUBDIR}/$$name; \ ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ rm -f $${t} $${t}${MCOMPRESS_EXT}; \ - ln $${l}${ZEXT} $${t}${ZEXT}; \ + ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \ done .endif .endif Modified: stable/9/share/mk/bsd.own.mk ============================================================================== --- stable/9/share/mk/bsd.own.mk Fri Mar 15 20:52:00 2013 (r248351) +++ stable/9/share/mk/bsd.own.mk Fri Mar 15 21:32:40 2013 (r248352) @@ -181,6 +181,15 @@ NLSMODE?= ${NOBINMODE} INCLUDEDIR?= /usr/include +# +# install(1) parameters. +# +HRDLINK?= -l h +SYMLINK?= -l s + +INSTALL_LINK?= ${INSTALL} ${HRDLINK} +INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} + # Common variables .if !defined(DEBUG_FLAGS) STRIP?= -s From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 21:45:49 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D8E98B9E; Fri, 15 Mar 2013 21:45:49 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B2FC37B3; Fri, 15 Mar 2013 21:45:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FLjnIP080135; Fri, 15 Mar 2013 21:45:49 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FLjnol080134; Fri, 15 Mar 2013 21:45:49 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152145.r2FLjnol080134@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 21:45:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248353 - stable/9/share/info X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 21:45:49 -0000 Author: brooks Date: Fri Mar 15 21:45:49 2013 New Revision: 248353 URL: http://svnweb.freebsd.org/changeset/base/248353 Log: MFC r245753: Install the template info directory with mode 644 instead of 444 to allow it to be updated by its owner without resorting to privilege. This is required by upcoming changes to allow installworld to work as a non-root user. Sponsored by: DARPA, AFRL Modified: stable/9/share/info/Makefile Directory Properties: stable/9/share/info/ (props changed) Modified: stable/9/share/info/Makefile ============================================================================== --- stable/9/share/info/Makefile Fri Mar 15 21:32:40 2013 (r248352) +++ stable/9/share/info/Makefile Fri Mar 15 21:45:49 2013 (r248353) @@ -17,6 +17,6 @@ beforeinstall: @exit 3; .endif .if !exists(${DESTDIR}${INFODIR}/dir) - ${INSTALL} -o ${INFOOWN} -g ${INFOGRP} -m ${INFOMODE} \ + ${INSTALL} -o ${INFOOWN} -g ${INFOGRP} -m 644 \ dir-tmpl ${DESTDIR}${INFODIR}/dir .endif From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 22:14:41 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BFC2E75F; Fri, 15 Mar 2013 22:14:41 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B08C5A51; Fri, 15 Mar 2013 22:14:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FMEf17089948; Fri, 15 Mar 2013 22:14:41 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FMEf06089947; Fri, 15 Mar 2013 22:14:41 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152214.r2FMEf06089947@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 22:14:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248354 - stable/9/usr.sbin X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 22:14:41 -0000 Author: brooks Date: Fri Mar 15 22:14:41 2013 New Revision: 248354 URL: http://svnweb.freebsd.org/changeset/base/248354 Log: MFC r245853: manctl is conditionally added to SUBDIRS later on. Don't unconditionally include in the main list. Modified: stable/9/usr.sbin/Makefile (contents, props changed) Modified: stable/9/usr.sbin/Makefile ============================================================================== --- stable/9/usr.sbin/Makefile Fri Mar 15 21:45:49 2013 (r248353) +++ stable/9/usr.sbin/Makefile Fri Mar 15 22:14:41 2013 (r248354) @@ -37,7 +37,6 @@ SUBDIR= adduser \ kldxref \ mailwrapper \ makefs \ - manctl \ memcontrol \ mergemaster \ mfiutil \ From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 22:20:45 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B0524BC8; Fri, 15 Mar 2013 22:20:45 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A0DC8B23; Fri, 15 Mar 2013 22:20:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FMKjTo092527; Fri, 15 Mar 2013 22:20:45 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FMKj12092526; Fri, 15 Mar 2013 22:20:45 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152220.r2FMKj12092526@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 22:20:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248355 - stable/9/gnu/usr.bin/cc/c++ X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 22:20:45 -0000 Author: brooks Date: Fri Mar 15 22:20:45 2013 New Revision: 248355 URL: http://svnweb.freebsd.org/changeset/base/248355 Log: MFC r245882,245898 Reorder so that NO_MAN is declared before bsd.own.mk is included and thus has an effect (not installed a g++.1 manpage over the g++.1(.gz) link created in ../cc). bsd.own.mk needs to be included before Makefil.inc so MK_ARM_EABI is defined Modified: stable/9/gnu/usr.bin/cc/c++/Makefile Directory Properties: stable/9/gnu/usr.bin/cc/c++/ (props changed) Modified: stable/9/gnu/usr.bin/cc/c++/Makefile ============================================================================== --- stable/9/gnu/usr.bin/cc/c++/Makefile Fri Mar 15 22:14:41 2013 (r248354) +++ stable/9/gnu/usr.bin/cc/c++/Makefile Fri Mar 15 22:20:45 2013 (r248355) @@ -1,5 +1,6 @@ # $FreeBSD$ +NO_MAN= .include .include "../Makefile.inc" @@ -9,13 +10,13 @@ PROG= g++ SRCS+= g++spec.c + +DPADD= ${LIBCPP} ${LIBIBERTY} +LDADD= ${LIBCPP} ${LIBIBERTY} + .if ${MK_CLANG_IS_CC} == "no" LINKS= ${BINDIR}/g++ ${BINDIR}/c++ LINKS+= ${BINDIR}/g++ ${BINDIR}/CC .endif -NO_MAN= - -DPADD= ${LIBCPP} ${LIBIBERTY} -LDADD= ${LIBCPP} ${LIBIBERTY} .include From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 22:24:34 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D2490E87; Fri, 15 Mar 2013 22:24:34 +0000 (UTC) (envelope-from alfred@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BE194C20; Fri, 15 Mar 2013 22:24:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FMOYTS093117; Fri, 15 Mar 2013 22:24:34 GMT (envelope-from alfred@svn.freebsd.org) Received: (from alfred@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FMOYUQ093116; Fri, 15 Mar 2013 22:24:34 GMT (envelope-from alfred@svn.freebsd.org) Message-Id: <201303152224.r2FMOYUQ093116@svn.freebsd.org> From: Alfred Perlstein Date: Fri, 15 Mar 2013 22:24:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248356 - stable/9/usr.bin/netstat X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 22:24:34 -0000 Author: alfred Date: Fri Mar 15 22:24:34 2013 New Revision: 248356 URL: http://svnweb.freebsd.org/changeset/base/248356 Log: MFC: 242030 Show how many times we are blocked waiting for mbufs. Modified: stable/9/usr.bin/netstat/mbuf.c Directory Properties: stable/9/usr.bin/netstat/ (props changed) Modified: stable/9/usr.bin/netstat/mbuf.c ============================================================================== --- stable/9/usr.bin/netstat/mbuf.c Fri Mar 15 22:20:45 2013 (r248355) +++ stable/9/usr.bin/netstat/mbuf.c Fri Mar 15 22:24:34 2013 (r248356) @@ -67,16 +67,18 @@ mbpr(void *kvmd, u_long mbaddr) struct memory_type_list *mtlp; struct memory_type *mtp; uintmax_t mbuf_count, mbuf_bytes, mbuf_free, mbuf_failures, mbuf_size; + uintmax_t mbuf_sleeps; uintmax_t cluster_count, cluster_bytes, cluster_limit, cluster_free; - uintmax_t cluster_failures, cluster_size; + uintmax_t cluster_failures, cluster_size, cluster_sleeps; uintmax_t packet_count, packet_bytes, packet_free, packet_failures; + uintmax_t packet_sleeps; uintmax_t tag_count, tag_bytes; uintmax_t jumbop_count, jumbop_bytes, jumbop_limit, jumbop_free; - uintmax_t jumbop_failures, jumbop_size; + uintmax_t jumbop_failures, jumbop_sleeps, jumbop_size; uintmax_t jumbo9_count, jumbo9_bytes, jumbo9_limit, jumbo9_free; - uintmax_t jumbo9_failures, jumbo9_size; + uintmax_t jumbo9_failures, jumbo9_sleeps, jumbo9_size; uintmax_t jumbo16_count, jumbo16_bytes, jumbo16_limit, jumbo16_free; - uintmax_t jumbo16_failures, jumbo16_size; + uintmax_t jumbo16_failures, jumbo16_sleeps, jumbo16_size; uintmax_t bytes_inuse, bytes_incache, bytes_total; int nsfbufs, nsfbufspeak, nsfbufsused; struct mbstat mbstat; @@ -121,6 +123,7 @@ mbpr(void *kvmd, u_long mbaddr) mbuf_bytes = memstat_get_bytes(mtp); mbuf_free = memstat_get_free(mtp); mbuf_failures = memstat_get_failures(mtp); + mbuf_sleeps = memstat_get_sleeps(mtp); mbuf_size = memstat_get_size(mtp); mtp = memstat_mtl_find(mtlp, ALLOCATOR_UMA, MBUF_PACKET_MEM_NAME); @@ -132,6 +135,7 @@ mbpr(void *kvmd, u_long mbaddr) packet_count = memstat_get_count(mtp); packet_bytes = memstat_get_bytes(mtp); packet_free = memstat_get_free(mtp); + packet_sleeps = memstat_get_sleeps(mtp); packet_failures = memstat_get_failures(mtp); mtp = memstat_mtl_find(mtlp, ALLOCATOR_UMA, MBUF_CLUSTER_MEM_NAME); @@ -145,6 +149,7 @@ mbpr(void *kvmd, u_long mbaddr) cluster_limit = memstat_get_countlimit(mtp); cluster_free = memstat_get_free(mtp); cluster_failures = memstat_get_failures(mtp); + cluster_sleeps = memstat_get_sleeps(mtp); cluster_size = memstat_get_size(mtp); mtp = memstat_mtl_find(mtlp, ALLOCATOR_MALLOC, MBUF_TAG_MEM_NAME); @@ -167,6 +172,7 @@ mbpr(void *kvmd, u_long mbaddr) jumbop_limit = memstat_get_countlimit(mtp); jumbop_free = memstat_get_free(mtp); jumbop_failures = memstat_get_failures(mtp); + jumbop_sleeps = memstat_get_sleeps(mtp); jumbop_size = memstat_get_size(mtp); mtp = memstat_mtl_find(mtlp, ALLOCATOR_UMA, MBUF_JUMBO9_MEM_NAME); @@ -180,6 +186,7 @@ mbpr(void *kvmd, u_long mbaddr) jumbo9_limit = memstat_get_countlimit(mtp); jumbo9_free = memstat_get_free(mtp); jumbo9_failures = memstat_get_failures(mtp); + jumbo9_sleeps = memstat_get_sleeps(mtp); jumbo9_size = memstat_get_size(mtp); mtp = memstat_mtl_find(mtlp, ALLOCATOR_UMA, MBUF_JUMBO16_MEM_NAME); @@ -193,6 +200,7 @@ mbpr(void *kvmd, u_long mbaddr) jumbo16_limit = memstat_get_countlimit(mtp); jumbo16_free = memstat_get_free(mtp); jumbo16_failures = memstat_get_failures(mtp); + jumbo16_sleeps = memstat_get_sleeps(mtp); jumbo16_size = memstat_get_size(mtp); printf("%ju/%ju/%ju mbufs in use (current/cache/total)\n", @@ -279,7 +287,13 @@ mbpr(void *kvmd, u_long mbaddr) printf("%ju/%ju/%ju requests for mbufs denied (mbufs/clusters/" "mbuf+clusters)\n", mbuf_failures, cluster_failures, packet_failures); - + printf("%ju/%ju/%ju requests for mbufs delayed (mbufs/clusters/" + "mbuf+clusters)\n", mbuf_sleeps, cluster_sleeps, + packet_sleeps); + + printf("%ju/%ju/%ju requests for jumbo clusters delayed " + "(%juk/9k/16k)\n", jumbop_sleeps, jumbo9_sleeps, + jumbo16_sleeps, jumbop_size / 1024); printf("%ju/%ju/%ju requests for jumbo clusters denied " "(%juk/9k/16k)\n", jumbop_failures, jumbo9_failures, jumbo16_failures, jumbop_size / 1024); From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 22:26:19 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D5D2FFC; Fri, 15 Mar 2013 22:26:19 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BD9F8CC7; Fri, 15 Mar 2013 22:26:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FMQJbI093400; Fri, 15 Mar 2013 22:26:19 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FMQJjm093399; Fri, 15 Mar 2013 22:26:19 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152226.r2FMQJjm093399@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 22:26:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248357 - stable/9/include/arpa X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 22:26:19 -0000 Author: brooks Date: Fri Mar 15 22:26:19 2013 New Revision: 248357 URL: http://svnweb.freebsd.org/changeset/base/248357 Log: MFC r245886,245911 Don't install telnet.h if it will be installed by libtelnet. Modified: stable/9/include/arpa/Makefile Directory Properties: stable/9/include/arpa/ (props changed) Modified: stable/9/include/arpa/Makefile ============================================================================== --- stable/9/include/arpa/Makefile Fri Mar 15 22:24:34 2013 (r248356) +++ stable/9/include/arpa/Makefile Fri Mar 15 22:26:19 2013 (r248357) @@ -1,7 +1,12 @@ # $FreeBSD$ +.include + NO_OBJ= -INCS= ftp.h inet.h nameser.h nameser_compat.h telnet.h tftp.h +INCS= ftp.h inet.h nameser.h nameser_compat.h tftp.h +.if ${MK_TELNET} == "no" +INCS+= telnet.h +.endif INCSDIR=${INCLUDEDIR}/arpa .include From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 22:31:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C39A243E; Fri, 15 Mar 2013 22:31:52 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B51B4DBC; Fri, 15 Mar 2013 22:31:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FMVq6N095812; Fri, 15 Mar 2013 22:31:52 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FMVqVV095808; Fri, 15 Mar 2013 22:31:52 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201303152231.r2FMVqVV095808@svn.freebsd.org> From: Brooks Davis Date: Fri, 15 Mar 2013 22:31:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248358 - in stable/9/lib/ncurses: form menu ncurses panel X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 22:31:52 -0000 Author: brooks Date: Fri Mar 15 22:31:51 2013 New Revision: 248358 URL: http://svnweb.freebsd.org/changeset/base/248358 Log: MFC r245887 Only install manpages and html documentation in the ncurses/*w (wchar) builds so that it is only installed once. This is consistent with the existing decision to only install headers in the that case. Modified: stable/9/lib/ncurses/form/Makefile stable/9/lib/ncurses/menu/Makefile stable/9/lib/ncurses/ncurses/Makefile stable/9/lib/ncurses/panel/Makefile Directory Properties: stable/9/lib/ncurses/form/ (props changed) stable/9/lib/ncurses/menu/ (props changed) stable/9/lib/ncurses/ncurses/ (props changed) stable/9/lib/ncurses/panel/ (props changed) Modified: stable/9/lib/ncurses/form/Makefile ============================================================================== --- stable/9/lib/ncurses/form/Makefile Fri Mar 15 22:26:19 2013 (r248357) +++ stable/9/lib/ncurses/form/Makefile Fri Mar 15 22:31:51 2013 (r248358) @@ -59,7 +59,6 @@ LDADD= -lncurses${LIB_SUFFIX} .if defined(ENABLE_WIDEC) INCS= form.h -.endif .PATH: ${NCURSES_DIR}/man MAN= \ @@ -157,6 +156,9 @@ MLINKS= form_cursor.3 pos_form_cursor.3 form_win.3 scale_form.3 \ form_win.3 set_form_sub.3 \ form_win.3 set_form_win.3 +.else +NO_MAN= +.endif .include Modified: stable/9/lib/ncurses/menu/Makefile ============================================================================== --- stable/9/lib/ncurses/menu/Makefile Fri Mar 15 22:26:19 2013 (r248357) +++ stable/9/lib/ncurses/menu/Makefile Fri Mar 15 22:31:51 2013 (r248358) @@ -45,7 +45,6 @@ LDADD= -lncurses${LIB_SUFFIX} .if defined(ENABLE_WIDEC) INCS= menu.h eti.h -.endif .PATH: ${NCURSES_DIR}/man MAN= \ @@ -130,6 +129,9 @@ MLINKS= menu_attributes.3 menu_back.3 \ mitem_value.3 item_value.3 \ mitem_value.3 set_item_value.3 \ mitem_visible.3 item_visible.3 +.else +NO_MAN= +.endif .include Modified: stable/9/lib/ncurses/ncurses/Makefile ============================================================================== --- stable/9/lib/ncurses/ncurses/Makefile Fri Mar 15 22:26:19 2013 (r248357) +++ stable/9/lib/ncurses/ncurses/Makefile Fri Mar 15 22:31:51 2013 (r248358) @@ -2,6 +2,10 @@ SHLIBDIR?= /lib +.if !defined(ENABLE_WIDEC) +NO_MAN= +.endif + .include .include "${.CURDIR}/../config.mk" @@ -304,8 +308,10 @@ SYMLINKS+= libncurses${LIB_SUFFIX}_p.a $ SYMLINKS+= libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libtinfo${LIB_SUFFIX}_p.a .endif +.if defined(ENABLE_WIDEC) DOCSDIR= ${SHAREDIR}/doc/ncurses DOCS= ncurses-intro.html hackguide.html +.endif .if ${MK_HTML} != "no" .PATH: ${NCURSES_DIR}/doc/html @@ -457,6 +463,7 @@ terminfo.5: MKterminfo.sh terminfo.head CLEANFILES+= terminfo.5 +.if defined(ENABLE_WIDEC) .PATH: ${NCURSES_DIR}/man MAN= \ curs_addch.3 \ @@ -517,7 +524,6 @@ MAN= \ resizeterm.3 \ wresize.3 -.if defined(ENABLE_WIDEC) MAN+= \ curs_add_wch.3 \ curs_add_wchstr.3 \ Modified: stable/9/lib/ncurses/panel/Makefile ============================================================================== --- stable/9/lib/ncurses/panel/Makefile Fri Mar 15 22:26:19 2013 (r248357) +++ stable/9/lib/ncurses/panel/Makefile Fri Mar 15 22:31:51 2013 (r248358) @@ -34,7 +34,6 @@ LDADD= -lncurses${LIB_SUFFIX} .if defined(ENABLE_WIDEC) INCS= panel.h -.endif # generate MAN .PATH: ${NCURSES_DIR}/man @@ -58,6 +57,9 @@ MLINKS= panel.3 bottom_panel.3 \ panel.3 show_panel.3 \ panel.3 top_panel.3 \ panel.3 update_panels.3 +.else +NO_MAN= +.endif .include From owner-svn-src-all@FreeBSD.ORG Fri Mar 15 23:00:14 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3F07F17B; Fri, 15 Mar 2013 23:00:14 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0F4EF314; Fri, 15 Mar 2013 23:00:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2FN0Dqf003062; Fri, 15 Mar 2013 23:00:13 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2FN0DQC003061; Fri, 15 Mar 2013 23:00:13 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303152300.r2FN0DQC003061@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Fri, 15 Mar 2013 23:00:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248359 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Mar 2013 23:00:14 -0000 Author: pjd Date: Fri Mar 15 23:00:13 2013 New Revision: 248359 URL: http://svnweb.freebsd.org/changeset/base/248359 Log: Sort syscalls properly. Modified: head/sys/kern/capabilities.conf Modified: head/sys/kern/capabilities.conf ============================================================================== --- head/sys/kern/capabilities.conf Fri Mar 15 22:31:51 2013 (r248358) +++ head/sys/kern/capabilities.conf Fri Mar 15 23:00:13 2013 (r248359) @@ -446,9 +446,9 @@ olio_listio ## Operations relative to directory capabilities. ## faccessat -fstatat fchmodat fchownat +fstatat futimesat linkat mkdirat From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 01:17:23 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 17680A1B; Sat, 16 Mar 2013 01:17:23 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 06AED92D; Sat, 16 Mar 2013 01:17:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G1HNi4045258; Sat, 16 Mar 2013 01:17:23 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G1GwcB045076; Sat, 16 Mar 2013 01:16:58 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201303160116.r2G1GwcB045076@svn.freebsd.org> From: Xin LI Date: Sat, 16 Mar 2013 01:16:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r248360 - in stable/8/secure: lib/libcrypto/man lib/libssl/man usr.bin/openssl/man X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 01:17:23 -0000 Author: delphij Date: Sat Mar 16 01:16:57 2013 New Revision: 248360 URL: http://svnweb.freebsd.org/changeset/base/248360 Log: Diff reduction against stable/9: this is a pure mechanical comment change that eliminates the unwanted diff caused by different Pod::Simple version and have no runtime impact. We do this in the hope of minimizing variants of patches that would need to be published, should an update is required during the remaining lifetime of the stable/8 branch. This is a direct commit to the stable/8 branch. Approved by: re (marius) Modified: stable/8/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 stable/8/secure/lib/libcrypto/man/ASN1_STRING_length.3 stable/8/secure/lib/libcrypto/man/ASN1_STRING_new.3 stable/8/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 stable/8/secure/lib/libcrypto/man/ASN1_generate_nconf.3 stable/8/secure/lib/libcrypto/man/BIO_ctrl.3 stable/8/secure/lib/libcrypto/man/BIO_f_base64.3 stable/8/secure/lib/libcrypto/man/BIO_f_buffer.3 stable/8/secure/lib/libcrypto/man/BIO_f_cipher.3 stable/8/secure/lib/libcrypto/man/BIO_f_md.3 stable/8/secure/lib/libcrypto/man/BIO_f_null.3 stable/8/secure/lib/libcrypto/man/BIO_f_ssl.3 stable/8/secure/lib/libcrypto/man/BIO_find_type.3 stable/8/secure/lib/libcrypto/man/BIO_new.3 stable/8/secure/lib/libcrypto/man/BIO_push.3 stable/8/secure/lib/libcrypto/man/BIO_read.3 stable/8/secure/lib/libcrypto/man/BIO_s_accept.3 stable/8/secure/lib/libcrypto/man/BIO_s_bio.3 stable/8/secure/lib/libcrypto/man/BIO_s_connect.3 stable/8/secure/lib/libcrypto/man/BIO_s_fd.3 stable/8/secure/lib/libcrypto/man/BIO_s_file.3 stable/8/secure/lib/libcrypto/man/BIO_s_mem.3 stable/8/secure/lib/libcrypto/man/BIO_s_null.3 stable/8/secure/lib/libcrypto/man/BIO_s_socket.3 stable/8/secure/lib/libcrypto/man/BIO_set_callback.3 stable/8/secure/lib/libcrypto/man/BIO_should_retry.3 stable/8/secure/lib/libcrypto/man/BN_BLINDING_new.3 stable/8/secure/lib/libcrypto/man/BN_CTX_new.3 stable/8/secure/lib/libcrypto/man/BN_CTX_start.3 stable/8/secure/lib/libcrypto/man/BN_add.3 stable/8/secure/lib/libcrypto/man/BN_add_word.3 stable/8/secure/lib/libcrypto/man/BN_bn2bin.3 stable/8/secure/lib/libcrypto/man/BN_cmp.3 stable/8/secure/lib/libcrypto/man/BN_copy.3 stable/8/secure/lib/libcrypto/man/BN_generate_prime.3 stable/8/secure/lib/libcrypto/man/BN_mod_inverse.3 stable/8/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 stable/8/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 stable/8/secure/lib/libcrypto/man/BN_new.3 stable/8/secure/lib/libcrypto/man/BN_num_bytes.3 stable/8/secure/lib/libcrypto/man/BN_rand.3 stable/8/secure/lib/libcrypto/man/BN_set_bit.3 stable/8/secure/lib/libcrypto/man/BN_swap.3 stable/8/secure/lib/libcrypto/man/BN_zero.3 stable/8/secure/lib/libcrypto/man/CONF_modules_free.3 stable/8/secure/lib/libcrypto/man/CONF_modules_load_file.3 stable/8/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 stable/8/secure/lib/libcrypto/man/DH_generate_key.3 stable/8/secure/lib/libcrypto/man/DH_generate_parameters.3 stable/8/secure/lib/libcrypto/man/DH_get_ex_new_index.3 stable/8/secure/lib/libcrypto/man/DH_new.3 stable/8/secure/lib/libcrypto/man/DH_set_method.3 stable/8/secure/lib/libcrypto/man/DH_size.3 stable/8/secure/lib/libcrypto/man/DSA_SIG_new.3 stable/8/secure/lib/libcrypto/man/DSA_do_sign.3 stable/8/secure/lib/libcrypto/man/DSA_dup_DH.3 stable/8/secure/lib/libcrypto/man/DSA_generate_key.3 stable/8/secure/lib/libcrypto/man/DSA_generate_parameters.3 stable/8/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 stable/8/secure/lib/libcrypto/man/DSA_new.3 stable/8/secure/lib/libcrypto/man/DSA_set_method.3 stable/8/secure/lib/libcrypto/man/DSA_sign.3 stable/8/secure/lib/libcrypto/man/DSA_size.3 stable/8/secure/lib/libcrypto/man/ERR_GET_LIB.3 stable/8/secure/lib/libcrypto/man/ERR_clear_error.3 stable/8/secure/lib/libcrypto/man/ERR_error_string.3 stable/8/secure/lib/libcrypto/man/ERR_get_error.3 stable/8/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 stable/8/secure/lib/libcrypto/man/ERR_load_strings.3 stable/8/secure/lib/libcrypto/man/ERR_print_errors.3 stable/8/secure/lib/libcrypto/man/ERR_put_error.3 stable/8/secure/lib/libcrypto/man/ERR_remove_state.3 stable/8/secure/lib/libcrypto/man/ERR_set_mark.3 stable/8/secure/lib/libcrypto/man/EVP_BytesToKey.3 stable/8/secure/lib/libcrypto/man/EVP_DigestInit.3 stable/8/secure/lib/libcrypto/man/EVP_EncryptInit.3 stable/8/secure/lib/libcrypto/man/EVP_OpenInit.3 stable/8/secure/lib/libcrypto/man/EVP_PKEY_new.3 stable/8/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 stable/8/secure/lib/libcrypto/man/EVP_SealInit.3 stable/8/secure/lib/libcrypto/man/EVP_SignInit.3 stable/8/secure/lib/libcrypto/man/EVP_VerifyInit.3 stable/8/secure/lib/libcrypto/man/OBJ_nid2obj.3 stable/8/secure/lib/libcrypto/man/OPENSSL_Applink.3 stable/8/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 stable/8/secure/lib/libcrypto/man/OPENSSL_config.3 stable/8/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 stable/8/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 stable/8/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 stable/8/secure/lib/libcrypto/man/PKCS12_create.3 stable/8/secure/lib/libcrypto/man/PKCS12_parse.3 stable/8/secure/lib/libcrypto/man/PKCS7_decrypt.3 stable/8/secure/lib/libcrypto/man/PKCS7_encrypt.3 stable/8/secure/lib/libcrypto/man/PKCS7_sign.3 stable/8/secure/lib/libcrypto/man/PKCS7_verify.3 stable/8/secure/lib/libcrypto/man/RAND_add.3 stable/8/secure/lib/libcrypto/man/RAND_bytes.3 stable/8/secure/lib/libcrypto/man/RAND_cleanup.3 stable/8/secure/lib/libcrypto/man/RAND_egd.3 stable/8/secure/lib/libcrypto/man/RAND_load_file.3 stable/8/secure/lib/libcrypto/man/RAND_set_rand_method.3 stable/8/secure/lib/libcrypto/man/RSA_blinding_on.3 stable/8/secure/lib/libcrypto/man/RSA_check_key.3 stable/8/secure/lib/libcrypto/man/RSA_generate_key.3 stable/8/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 stable/8/secure/lib/libcrypto/man/RSA_new.3 stable/8/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 stable/8/secure/lib/libcrypto/man/RSA_print.3 stable/8/secure/lib/libcrypto/man/RSA_private_encrypt.3 stable/8/secure/lib/libcrypto/man/RSA_public_encrypt.3 stable/8/secure/lib/libcrypto/man/RSA_set_method.3 stable/8/secure/lib/libcrypto/man/RSA_sign.3 stable/8/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 stable/8/secure/lib/libcrypto/man/RSA_size.3 stable/8/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 stable/8/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 stable/8/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 stable/8/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 stable/8/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 stable/8/secure/lib/libcrypto/man/X509_NAME_print_ex.3 stable/8/secure/lib/libcrypto/man/X509_new.3 stable/8/secure/lib/libcrypto/man/bio.3 stable/8/secure/lib/libcrypto/man/blowfish.3 stable/8/secure/lib/libcrypto/man/bn.3 stable/8/secure/lib/libcrypto/man/bn_internal.3 stable/8/secure/lib/libcrypto/man/buffer.3 stable/8/secure/lib/libcrypto/man/crypto.3 stable/8/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 stable/8/secure/lib/libcrypto/man/d2i_DHparams.3 stable/8/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 stable/8/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 stable/8/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 stable/8/secure/lib/libcrypto/man/d2i_X509.3 stable/8/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 stable/8/secure/lib/libcrypto/man/d2i_X509_CRL.3 stable/8/secure/lib/libcrypto/man/d2i_X509_NAME.3 stable/8/secure/lib/libcrypto/man/d2i_X509_REQ.3 stable/8/secure/lib/libcrypto/man/d2i_X509_SIG.3 stable/8/secure/lib/libcrypto/man/des.3 stable/8/secure/lib/libcrypto/man/dh.3 stable/8/secure/lib/libcrypto/man/dsa.3 stable/8/secure/lib/libcrypto/man/ecdsa.3 stable/8/secure/lib/libcrypto/man/engine.3 stable/8/secure/lib/libcrypto/man/err.3 stable/8/secure/lib/libcrypto/man/evp.3 stable/8/secure/lib/libcrypto/man/hmac.3 stable/8/secure/lib/libcrypto/man/lh_stats.3 stable/8/secure/lib/libcrypto/man/lhash.3 stable/8/secure/lib/libcrypto/man/md5.3 stable/8/secure/lib/libcrypto/man/mdc2.3 stable/8/secure/lib/libcrypto/man/pem.3 stable/8/secure/lib/libcrypto/man/rand.3 stable/8/secure/lib/libcrypto/man/rc4.3 stable/8/secure/lib/libcrypto/man/ripemd.3 stable/8/secure/lib/libcrypto/man/rsa.3 stable/8/secure/lib/libcrypto/man/sha.3 stable/8/secure/lib/libcrypto/man/threads.3 stable/8/secure/lib/libcrypto/man/ui.3 stable/8/secure/lib/libcrypto/man/ui_compat.3 stable/8/secure/lib/libcrypto/man/x509.3 stable/8/secure/lib/libssl/man/SSL_CIPHER_get_name.3 stable/8/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 stable/8/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 stable/8/secure/lib/libssl/man/SSL_CTX_add_session.3 stable/8/secure/lib/libssl/man/SSL_CTX_ctrl.3 stable/8/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 stable/8/secure/lib/libssl/man/SSL_CTX_free.3 stable/8/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 stable/8/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 stable/8/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 stable/8/secure/lib/libssl/man/SSL_CTX_new.3 stable/8/secure/lib/libssl/man/SSL_CTX_sess_number.3 stable/8/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 stable/8/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 stable/8/secure/lib/libssl/man/SSL_CTX_sessions.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_mode.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_options.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_timeout.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_verify.3 stable/8/secure/lib/libssl/man/SSL_CTX_use_certificate.3 stable/8/secure/lib/libssl/man/SSL_SESSION_free.3 stable/8/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 stable/8/secure/lib/libssl/man/SSL_SESSION_get_time.3 stable/8/secure/lib/libssl/man/SSL_accept.3 stable/8/secure/lib/libssl/man/SSL_alert_type_string.3 stable/8/secure/lib/libssl/man/SSL_clear.3 stable/8/secure/lib/libssl/man/SSL_connect.3 stable/8/secure/lib/libssl/man/SSL_do_handshake.3 stable/8/secure/lib/libssl/man/SSL_free.3 stable/8/secure/lib/libssl/man/SSL_get_SSL_CTX.3 stable/8/secure/lib/libssl/man/SSL_get_ciphers.3 stable/8/secure/lib/libssl/man/SSL_get_client_CA_list.3 stable/8/secure/lib/libssl/man/SSL_get_current_cipher.3 stable/8/secure/lib/libssl/man/SSL_get_default_timeout.3 stable/8/secure/lib/libssl/man/SSL_get_error.3 stable/8/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 stable/8/secure/lib/libssl/man/SSL_get_ex_new_index.3 stable/8/secure/lib/libssl/man/SSL_get_fd.3 stable/8/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 stable/8/secure/lib/libssl/man/SSL_get_peer_certificate.3 stable/8/secure/lib/libssl/man/SSL_get_rbio.3 stable/8/secure/lib/libssl/man/SSL_get_session.3 stable/8/secure/lib/libssl/man/SSL_get_verify_result.3 stable/8/secure/lib/libssl/man/SSL_get_version.3 stable/8/secure/lib/libssl/man/SSL_library_init.3 stable/8/secure/lib/libssl/man/SSL_load_client_CA_file.3 stable/8/secure/lib/libssl/man/SSL_new.3 stable/8/secure/lib/libssl/man/SSL_pending.3 stable/8/secure/lib/libssl/man/SSL_read.3 stable/8/secure/lib/libssl/man/SSL_rstate_string.3 stable/8/secure/lib/libssl/man/SSL_session_reused.3 stable/8/secure/lib/libssl/man/SSL_set_bio.3 stable/8/secure/lib/libssl/man/SSL_set_connect_state.3 stable/8/secure/lib/libssl/man/SSL_set_fd.3 stable/8/secure/lib/libssl/man/SSL_set_session.3 stable/8/secure/lib/libssl/man/SSL_set_shutdown.3 stable/8/secure/lib/libssl/man/SSL_set_verify_result.3 stable/8/secure/lib/libssl/man/SSL_shutdown.3 stable/8/secure/lib/libssl/man/SSL_state_string.3 stable/8/secure/lib/libssl/man/SSL_want.3 stable/8/secure/lib/libssl/man/SSL_write.3 stable/8/secure/lib/libssl/man/d2i_SSL_SESSION.3 stable/8/secure/lib/libssl/man/ssl.3 stable/8/secure/usr.bin/openssl/man/CA.pl.1 stable/8/secure/usr.bin/openssl/man/asn1parse.1 stable/8/secure/usr.bin/openssl/man/ca.1 stable/8/secure/usr.bin/openssl/man/ciphers.1 stable/8/secure/usr.bin/openssl/man/crl.1 stable/8/secure/usr.bin/openssl/man/crl2pkcs7.1 stable/8/secure/usr.bin/openssl/man/dgst.1 stable/8/secure/usr.bin/openssl/man/dhparam.1 stable/8/secure/usr.bin/openssl/man/dsa.1 stable/8/secure/usr.bin/openssl/man/dsaparam.1 stable/8/secure/usr.bin/openssl/man/ec.1 stable/8/secure/usr.bin/openssl/man/ecparam.1 stable/8/secure/usr.bin/openssl/man/enc.1 stable/8/secure/usr.bin/openssl/man/errstr.1 stable/8/secure/usr.bin/openssl/man/gendsa.1 stable/8/secure/usr.bin/openssl/man/genrsa.1 stable/8/secure/usr.bin/openssl/man/nseq.1 stable/8/secure/usr.bin/openssl/man/ocsp.1 stable/8/secure/usr.bin/openssl/man/openssl.1 stable/8/secure/usr.bin/openssl/man/passwd.1 stable/8/secure/usr.bin/openssl/man/pkcs12.1 stable/8/secure/usr.bin/openssl/man/pkcs7.1 stable/8/secure/usr.bin/openssl/man/pkcs8.1 stable/8/secure/usr.bin/openssl/man/rand.1 stable/8/secure/usr.bin/openssl/man/req.1 stable/8/secure/usr.bin/openssl/man/rsa.1 stable/8/secure/usr.bin/openssl/man/rsautl.1 stable/8/secure/usr.bin/openssl/man/s_client.1 stable/8/secure/usr.bin/openssl/man/s_server.1 stable/8/secure/usr.bin/openssl/man/s_time.1 stable/8/secure/usr.bin/openssl/man/sess_id.1 stable/8/secure/usr.bin/openssl/man/smime.1 stable/8/secure/usr.bin/openssl/man/speed.1 stable/8/secure/usr.bin/openssl/man/spkac.1 stable/8/secure/usr.bin/openssl/man/verify.1 stable/8/secure/usr.bin/openssl/man/version.1 stable/8/secure/usr.bin/openssl/man/x509.1 stable/8/secure/usr.bin/openssl/man/x509v3_config.1 Modified: stable/8/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ASN1_STRING_length.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ASN1_STRING_length.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ASN1_STRING_length.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ASN1_STRING_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ASN1_STRING_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ASN1_STRING_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ASN1_generate_nconf.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ASN1_generate_nconf.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ASN1_generate_nconf.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_ctrl.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_ctrl.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_ctrl.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_f_base64.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_f_base64.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_f_base64.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_f_buffer.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_f_buffer.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_f_buffer.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_f_cipher.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_f_cipher.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_f_cipher.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_f_md.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_f_md.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_f_md.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_f_null.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_f_null.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_f_null.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_f_ssl.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_f_ssl.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_f_ssl.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_find_type.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_find_type.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_find_type.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_push.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_push.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_push.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_read.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_read.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_read.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_s_accept.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_s_accept.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_s_accept.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_s_bio.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_s_bio.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_s_bio.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_s_connect.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_s_connect.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_s_connect.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_s_fd.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_s_fd.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_s_fd.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_s_file.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_s_file.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_s_file.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_s_mem.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_s_mem.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_s_mem.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_s_null.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_s_null.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_s_null.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_s_socket.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_s_socket.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_s_socket.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_set_callback.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_set_callback.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_set_callback.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BIO_should_retry.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BIO_should_retry.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BIO_should_retry.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_BLINDING_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_BLINDING_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_BLINDING_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_CTX_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_CTX_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_CTX_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_CTX_start.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_CTX_start.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_CTX_start.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_add.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_add.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_add.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_add_word.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_add_word.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_add_word.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_bn2bin.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_bn2bin.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_bn2bin.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_cmp.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_cmp.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_cmp.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_copy.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_copy.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_copy.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_generate_prime.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_generate_prime.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_generate_prime.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_mod_inverse.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_mod_inverse.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_mod_inverse.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_num_bytes.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_num_bytes.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_num_bytes.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_rand.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_rand.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_rand.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_set_bit.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_set_bit.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_set_bit.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_swap.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_swap.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_swap.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/BN_zero.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/BN_zero.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/BN_zero.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/CONF_modules_free.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/CONF_modules_free.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/CONF_modules_free.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/CONF_modules_load_file.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/CONF_modules_load_file.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/CONF_modules_load_file.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DH_generate_key.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DH_generate_key.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DH_generate_key.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DH_generate_parameters.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DH_generate_parameters.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DH_generate_parameters.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DH_get_ex_new_index.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DH_get_ex_new_index.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DH_get_ex_new_index.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DH_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DH_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DH_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DH_set_method.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DH_set_method.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DH_set_method.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DH_size.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DH_size.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DH_size.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_SIG_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_SIG_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_SIG_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_do_sign.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_do_sign.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_do_sign.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_dup_DH.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_dup_DH.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_dup_DH.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_generate_key.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_generate_key.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_generate_key.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_generate_parameters.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_generate_parameters.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_generate_parameters.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_set_method.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_set_method.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_set_method.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_sign.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_sign.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_sign.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/DSA_size.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/DSA_size.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/DSA_size.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_GET_LIB.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_GET_LIB.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_GET_LIB.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_clear_error.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_clear_error.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_clear_error.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_error_string.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_error_string.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_error_string.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_get_error.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_get_error.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_get_error.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_load_strings.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_load_strings.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_load_strings.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_print_errors.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_print_errors.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_print_errors.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_put_error.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_put_error.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_put_error.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_remove_state.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_remove_state.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_remove_state.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/ERR_set_mark.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/ERR_set_mark.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/ERR_set_mark.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_BytesToKey.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_BytesToKey.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_BytesToKey.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_DigestInit.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_DigestInit.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_DigestInit.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_EncryptInit.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_EncryptInit.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_EncryptInit.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_OpenInit.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_OpenInit.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_OpenInit.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_PKEY_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_PKEY_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_PKEY_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_SealInit.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_SealInit.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_SealInit.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_SignInit.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_SignInit.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_SignInit.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/EVP_VerifyInit.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/EVP_VerifyInit.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/EVP_VerifyInit.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/OBJ_nid2obj.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/OBJ_nid2obj.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/OBJ_nid2obj.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/OPENSSL_Applink.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/OPENSSL_Applink.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/OPENSSL_Applink.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/OPENSSL_config.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/OPENSSL_config.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/OPENSSL_config.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/PKCS12_create.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/PKCS12_create.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/PKCS12_create.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/PKCS12_parse.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/PKCS12_parse.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/PKCS12_parse.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/PKCS7_decrypt.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/PKCS7_decrypt.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/PKCS7_decrypt.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/PKCS7_encrypt.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/PKCS7_encrypt.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/PKCS7_encrypt.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/PKCS7_sign.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/PKCS7_sign.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/PKCS7_sign.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/PKCS7_verify.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/PKCS7_verify.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/PKCS7_verify.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RAND_add.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RAND_add.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RAND_add.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RAND_bytes.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RAND_bytes.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RAND_bytes.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RAND_cleanup.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RAND_cleanup.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RAND_cleanup.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RAND_egd.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RAND_egd.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RAND_egd.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RAND_load_file.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RAND_load_file.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RAND_load_file.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RAND_set_rand_method.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RAND_set_rand_method.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RAND_set_rand_method.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_blinding_on.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_blinding_on.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_blinding_on.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_check_key.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_check_key.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_check_key.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_generate_key.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_generate_key.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_generate_key.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_print.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_print.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_print.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_private_encrypt.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_private_encrypt.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_private_encrypt.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_public_encrypt.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_public_encrypt.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_public_encrypt.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_set_method.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_set_method.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_set_method.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_sign.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_sign.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_sign.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/RSA_size.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/RSA_size.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/RSA_size.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/X509_NAME_print_ex.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/X509_NAME_print_ex.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/X509_NAME_print_ex.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/X509_new.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/X509_new.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/X509_new.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/bio.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/bio.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/bio.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/blowfish.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/blowfish.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/blowfish.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/bn.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/bn.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/bn.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== Modified: stable/8/secure/lib/libcrypto/man/bn_internal.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/bn_internal.3 Fri Mar 15 23:00:13 2013 (r248359) +++ stable/8/secure/lib/libcrypto/man/bn_internal.3 Sat Mar 16 01:16:57 2013 (r248360) @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 02:48:53 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9FBF9626; Sat, 16 Mar 2013 02:48:53 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 91371B38; Sat, 16 Mar 2013 02:48:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G2mrsW072636; Sat, 16 Mar 2013 02:48:53 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G2mo0Y072619; Sat, 16 Mar 2013 02:48:50 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303160248.r2G2mo0Y072619@svn.freebsd.org> From: Andrew Turner Date: Sat, 16 Mar 2013 02:48:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248361 - in head/sys/arm: arm include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 02:48:53 -0000 Author: andrew Date: Sat Mar 16 02:48:49 2013 New Revision: 248361 URL: http://svnweb.freebsd.org/changeset/base/248361 Log: Add an END macro to ARM. This is mostly used to tell gas where the bounds of the functions are when creating the EABI unwind tables. Modified: head/sys/arm/arm/bcopy_page.S head/sys/arm/arm/bcopyinout.S head/sys/arm/arm/bcopyinout_xscale.S head/sys/arm/arm/blockio.S head/sys/arm/arm/bus_space_asm_generic.S head/sys/arm/arm/copystr.S head/sys/arm/arm/cpufunc_asm.S head/sys/arm/arm/cpufunc_asm_arm10.S head/sys/arm/arm/cpufunc_asm_arm11.S head/sys/arm/arm/cpufunc_asm_arm11x6.S head/sys/arm/arm/cpufunc_asm_arm7tdmi.S head/sys/arm/arm/cpufunc_asm_arm8.S head/sys/arm/arm/cpufunc_asm_arm9.S head/sys/arm/arm/cpufunc_asm_armv4.S head/sys/arm/arm/cpufunc_asm_armv5.S head/sys/arm/arm/cpufunc_asm_armv5_ec.S head/sys/arm/arm/cpufunc_asm_armv6.S head/sys/arm/arm/cpufunc_asm_armv7.S head/sys/arm/arm/cpufunc_asm_fa526.S head/sys/arm/arm/cpufunc_asm_ixp12x0.S head/sys/arm/arm/cpufunc_asm_pj4b.S head/sys/arm/arm/cpufunc_asm_sa1.S head/sys/arm/arm/cpufunc_asm_sa11x0.S head/sys/arm/arm/cpufunc_asm_sheeva.S head/sys/arm/arm/cpufunc_asm_xscale.S head/sys/arm/arm/cpufunc_asm_xscale_c3.S head/sys/arm/arm/exception.S head/sys/arm/arm/fiq_subr.S head/sys/arm/arm/fusu.S head/sys/arm/arm/in_cksum_arm.S head/sys/arm/arm/irq_dispatch.S head/sys/arm/arm/locore.S head/sys/arm/arm/setcpsr.S head/sys/arm/arm/support.S head/sys/arm/arm/swtch.S head/sys/arm/include/asm.h Modified: head/sys/arm/arm/bcopy_page.S ============================================================================== --- head/sys/arm/arm/bcopy_page.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/bcopy_page.S Sat Mar 16 02:48:49 2013 (r248361) @@ -117,6 +117,7 @@ ENTRY(bcopy_page) bne 1b RESTORE_REGS /* ...and return. */ +END(bcopy_page) /* * bzero_page(dest) @@ -178,6 +179,7 @@ ENTRY(bzero_page) bne 1b ldmfd sp!, {r4-r8, pc} +END(bzero_page) #else /* _ARM_ARCH_5E */ @@ -246,6 +248,7 @@ ENTRY(bcopy_page) bgt 1b ldmfd sp!, {r4, r5} RET +END(bcopy_page) /* * armv5e version of bzero_page @@ -273,4 +276,5 @@ ENTRY(bzero_page) subs r1, r1, #128 bne 1b RET +END(bzero_page) #endif /* _ARM_ARCH_5E */ Modified: head/sys/arm/arm/bcopyinout.S ============================================================================== --- head/sys/arm/arm/bcopyinout.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/bcopyinout.S Sat Mar 16 02:48:49 2013 (r248361) @@ -312,6 +312,7 @@ ENTRY(copyin) RESTORE_REGS RET +END(copyin) /* * r0 = kernel space address @@ -538,6 +539,7 @@ ENTRY(copyout) RESTORE_REGS RET +END(copyout) #endif /* @@ -564,6 +566,7 @@ ENTRY(badaddr_read_1) mov r0, #0 /* No fault */ 1: str ip, [r2, #PCB_ONFAULT] RET +END(badaddr_read_1) /* * int badaddr_read_2(const uint16_t *src, uint16_t *dest) @@ -589,6 +592,7 @@ ENTRY(badaddr_read_2) mov r0, #0 /* No fault */ 1: str ip, [r2, #PCB_ONFAULT] RET +END(badaddr_read_2) /* * int badaddr_read_4(const uint32_t *src, uint32_t *dest) @@ -614,4 +618,5 @@ ENTRY(badaddr_read_4) mov r0, #0 /* No fault */ 1: str ip, [r2, #PCB_ONFAULT] RET +END(badaddr_read_4) Modified: head/sys/arm/arm/bcopyinout_xscale.S ============================================================================== --- head/sys/arm/arm/bcopyinout_xscale.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/bcopyinout_xscale.S Sat Mar 16 02:48:49 2013 (r248361) @@ -492,7 +492,7 @@ ENTRY(copyin) ldrbt ip, [r0] strb ip, [r1] RET - +END(copyin) /* * r0 = kernel space address @@ -935,3 +935,5 @@ ENTRY(copyout) ldrb ip, [r0] strbt ip, [r1] RET +END(copyout) + Modified: head/sys/arm/arm/blockio.S ============================================================================== --- head/sys/arm/arm/blockio.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/blockio.S Sat Mar 16 02:48:49 2013 (r248361) @@ -101,6 +101,7 @@ ENTRY(read_multi_1) ldrgtb r3, [r0] strgtb r3, [r1], #1 ldmdb fp, {fp, sp, pc} +END(read_multi_1) /* * Write bytes to an I/O address from a block of memory @@ -152,6 +153,7 @@ ENTRY(write_multi_1) ldrgtb r3, [r1], #1 strgtb r3, [r0] ldmdb fp, {fp, sp, pc} +END(write_multi_1) /* * Reads short ints (16 bits) from an I/O address into a block of memory @@ -199,7 +201,7 @@ ENTRY(insw) bgt .Lfastinswloop RET - +END(insw) /* * Writes short ints (16 bits) from a block of memory to an I/O address @@ -260,6 +262,7 @@ ENTRY(outsw) bgt .Lfastoutswloop RET +END(outsw) /* * reads short ints (16 bits) from an I/O address into a block of memory @@ -318,7 +321,7 @@ ENTRY(insw16) bgt .Linsw16loop ldmfd sp!, {r4,r5,pc} /* Restore regs and go home */ - +END(insw16) /* * Writes short ints (16 bits) from a block of memory to an I/O address @@ -385,6 +388,7 @@ ENTRY(outsw16) bgt .Loutsw16loop ldmfd sp!, {r4,r5,pc} /* and go home */ +END(outsw16) /* * reads short ints (16 bits) from an I/O address into a block of memory @@ -481,6 +485,7 @@ ENTRY(inswm8) .Linswm8_l1: ldmfd sp!, {r4-r9,pc} /* And go home */ +END(inswm8) /* * write short ints (16 bits) to an I/O address from a block of memory @@ -585,3 +590,5 @@ ENTRY(outswm8) .Loutswm8_l1: ldmfd sp!, {r4-r8,pc} /* And go home */ +END(outswm8) + Modified: head/sys/arm/arm/bus_space_asm_generic.S ============================================================================== --- head/sys/arm/arm/bus_space_asm_generic.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/bus_space_asm_generic.S Sat Mar 16 02:48:49 2013 (r248361) @@ -50,14 +50,17 @@ __FBSDID("$FreeBSD$"); ENTRY(generic_bs_r_1) ldrb r0, [r1, r2] RET +END(generic_bs_r_1) ENTRY(generic_armv4_bs_r_2) ldrh r0, [r1, r2] RET +END(generic_armv4_bs_r_2) ENTRY(generic_bs_r_4) ldr r0, [r1, r2] RET +END(generic_bs_r_4) /* * write single @@ -66,14 +69,17 @@ ENTRY(generic_bs_r_4) ENTRY(generic_bs_w_1) strb r3, [r1, r2] RET +END(generic_bs_w_1) ENTRY(generic_armv4_bs_w_2) strh r3, [r1, r2] RET +END(generic_armv4_bs_w_2) ENTRY(generic_bs_w_4) str r3, [r1, r2] RET +END(generic_bs_w_4) /* * read multiple @@ -92,6 +98,7 @@ ENTRY(generic_bs_rm_1) bne 1b RET +END(generic_bs_rm_1) ENTRY(generic_armv4_bs_rm_2) add r0, r1, r2 @@ -106,6 +113,7 @@ ENTRY(generic_armv4_bs_rm_2) bne 1b RET +END(generic_armv4_bs_rm_2) ENTRY(generic_bs_rm_4) add r0, r1, r2 @@ -120,6 +128,7 @@ ENTRY(generic_bs_rm_4) bne 1b RET +END(generic_bs_rm_4) /* * write multiple @@ -138,6 +147,7 @@ ENTRY(generic_bs_wm_1) bne 1b RET +END(generic_bs_wm_1) ENTRY(generic_armv4_bs_wm_2) add r0, r1, r2 @@ -152,6 +162,7 @@ ENTRY(generic_armv4_bs_wm_2) bne 1b RET +END(generic_armv4_bs_wm_2) ENTRY(generic_bs_wm_4) add r0, r1, r2 @@ -166,6 +177,7 @@ ENTRY(generic_bs_wm_4) bne 1b RET +END(generic_bs_wm_4) /* * read region @@ -184,6 +196,7 @@ ENTRY(generic_bs_rr_1) bne 1b RET +END(generic_bs_rr_1) ENTRY(generic_armv4_bs_rr_2) add r0, r1, r2 @@ -198,6 +211,7 @@ ENTRY(generic_armv4_bs_rr_2) bne 1b RET +END(generic_armv4_bs_rr_2) ENTRY(generic_bs_rr_4) add r0, r1, r2 @@ -212,6 +226,7 @@ ENTRY(generic_bs_rr_4) bne 1b RET +END(generic_bs_rr_4) /* * write region. @@ -230,6 +245,7 @@ ENTRY(generic_bs_wr_1) bne 1b RET +END(generic_bs_wr_1) ENTRY(generic_armv4_bs_wr_2) add r0, r1, r2 @@ -244,6 +260,7 @@ ENTRY(generic_armv4_bs_wr_2) bne 1b RET +END(generic_armv4_bs_wr_2) ENTRY(generic_bs_wr_4) add r0, r1, r2 @@ -258,6 +275,7 @@ ENTRY(generic_bs_wr_4) bne 1b RET +END(generic_bs_wr_4) /* * set region @@ -275,6 +293,7 @@ ENTRY(generic_bs_sr_1) bne 1b RET +END(generic_bs_sr_1) ENTRY(generic_armv4_bs_sr_2) add r0, r1, r2 @@ -288,6 +307,7 @@ ENTRY(generic_armv4_bs_sr_2) bne 1b RET +END(generic_armv4_bs_sr_2) ENTRY(generic_bs_sr_4) add r0, r1, r2 @@ -301,6 +321,7 @@ ENTRY(generic_bs_sr_4) bne 1b RET +END(generic_bs_sr_4) /* * copy region @@ -335,3 +356,5 @@ ENTRY(generic_armv4_bs_c_2) bne 3b RET +END(generic_armv4_bs_c_2) + Modified: head/sys/arm/arm/copystr.S ============================================================================== --- head/sys/arm/arm/copystr.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/copystr.S Sat Mar 16 02:48:49 2013 (r248361) @@ -93,6 +93,7 @@ ENTRY(copystr) ldmfd sp!, {r4-r5} /* stack is 8 byte aligned */ RET +END(copystr) #define SAVE_REGS stmfd sp!, {r4-r6} #define RESTORE_REGS ldmfd sp!, {r4-r6} @@ -143,6 +144,7 @@ ENTRY(copyinstr) RESTORE_REGS RET +END(copyinstr) /* * r0 - kernel space address @@ -190,6 +192,7 @@ ENTRY(copyoutstr) RESTORE_REGS RET +END(copyoutstr) /* A fault occurred during the copy */ .Lcopystrfault: Modified: head/sys/arm/arm/cpufunc_asm.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm.S Sat Mar 16 02:48:49 2013 (r248361) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); ENTRY(cpufunc_nullop) RET +END(cpufunc_nullop) /* * Generic functions to read the internal coprocessor registers @@ -64,27 +65,32 @@ ENTRY(cpufunc_nullop) ENTRY(cpufunc_id) mrc p15, 0, r0, c0, c0, 0 RET +END(cpufunc_id) ENTRY(cpufunc_cpuid) mrc p15, 0, r0, c0, c0, 0 RET +END(cpufunc_cpuid) ENTRY(cpu_get_control) mrc p15, 0, r0, c1, c0, 0 RET +END(cpu_get_control) ENTRY(cpu_read_cache_config) mrc p15, 0, r0, c0, c0, 1 RET +END(cpu_read_cache_config) ENTRY(cpufunc_faultstatus) mrc p15, 0, r0, c5, c0, 0 RET +END(cpufunc_faultstatus) ENTRY(cpufunc_faultaddress) mrc p15, 0, r0, c6, c0, 0 RET - +END(cpufunc_faultaddress) /* * Generic functions to write the internal coprocessor registers @@ -101,11 +107,13 @@ ENTRY(cpufunc_faultaddress) ENTRY(cpufunc_control) mcr p15, 0, r0, c1, c0, 0 RET +END(cpufunc_control) #endif ENTRY(cpufunc_domains) mcr p15, 0, r0, c3, c0, 0 RET +END(cpufunc_domains) /* * Generic functions to read/modify/write the internal coprocessor registers @@ -131,6 +139,8 @@ ENTRY(cpufunc_control) .Lglou: .asciz "plop %p\n" .align 0 +END(cpufunc_control) + /* * other potentially useful software functions are: * clean D cache entry and flush I cache entry @@ -157,6 +167,7 @@ ENTRY(get_pc_str_offset) ldr r0, [sp] sub r0, r0, r1 ldmdb fp, {fp, sp, pc} +END(get_pc_str_offset) /* Allocate and lock a cacheline for the specified address. */ @@ -180,3 +191,5 @@ ENTRY(arm_lock_cache_line) mcr p15, 0, r1, c9, c2, 0 /* Disable data cache lock mode */ CPWAIT() RET +END(arm_lock_cache_line) + Modified: head/sys/arm/arm/cpufunc_asm_arm10.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_arm10.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_arm10.S Sat Mar 16 02:48:49 2013 (r248361) @@ -50,6 +50,7 @@ ENTRY(arm10_setttb) mcr p15, 0, r0, c8, c7, 0 /* invalidate I+D TLBs */ bx lr +END(arm10_setttb) /* * TLB functions @@ -58,11 +59,12 @@ ENTRY(arm10_tlb_flushID_SE) mcr p15, 0, r0, c8, c6, 1 /* flush D tlb single entry */ mcr p15, 0, r0, c8, c5, 1 /* flush I tlb single entry */ bx lr +END(arm10_tlb_flushID_SE) ENTRY(arm10_tlb_flushI_SE) mcr p15, 0, r0, c8, c5, 1 /* flush I tlb single entry */ bx lr - +END(arm10_tlb_flushI_SE) /* * Cache operations. For the entire cache we use the set/index @@ -90,6 +92,7 @@ ENTRY_NP(arm10_icache_sync_range) bhi .Larm10_sync_next mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ bx lr +END(arm10_icache_sync_range) ENTRY_NP(arm10_icache_sync_all) .Larm10_icache_sync_all: @@ -114,6 +117,7 @@ ENTRY_NP(arm10_icache_sync_all) bhs .Lnext_set /* Next set */ mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ bx lr +END(arm10_icache_sync_all) .Larm10_line_size: .word _C_LABEL(arm_pdcache_line_size) @@ -134,6 +138,7 @@ ENTRY(arm10_dcache_wb_range) bhi .Larm10_wb_next mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ bx lr +END(arm10_dcache_wb_range) ENTRY(arm10_dcache_wbinv_range) ldr ip, .Larm10_line_size @@ -151,6 +156,7 @@ ENTRY(arm10_dcache_wbinv_range) bhi .Larm10_wbinv_next mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ bx lr +END(arm10_dcache_wbinv_range) /* * Note, we must not invalidate everything. If the range is too big we @@ -172,6 +178,7 @@ ENTRY(arm10_dcache_inv_range) bhi .Larm10_inv_next mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ bx lr +END(arm10_dcache_inv_range) ENTRY(arm10_idcache_wbinv_range) ldr ip, .Larm10_line_size @@ -190,6 +197,7 @@ ENTRY(arm10_idcache_wbinv_range) bhi .Larm10_id_wbinv_next mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ bx lr +END(arm10_idcache_wbinv_range) ENTRY_NP(arm10_idcache_wbinv_all) .Larm10_idcache_wbinv_all: @@ -215,6 +223,8 @@ ENTRY(arm10_dcache_wbinv_all) bhs .Lnext_set_inv /* Next set */ mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ bx lr +END(arm10_idcache_wbinv_all) +END(arm10_dcache_wbinv_all) .Larm10_cache_data: .word _C_LABEL(arm10_dcache_sets_max) @@ -242,6 +252,7 @@ ENTRY(arm10_context_switch) nop nop bx lr +END(arm10_context_switch) .bss Modified: head/sys/arm/arm/cpufunc_asm_arm11.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_arm11.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_arm11.S Sat Mar 16 02:48:49 2013 (r248361) @@ -55,6 +55,7 @@ ENTRY(arm11_setttb) mcr p15, 0, r0, c8, c7, 0 /* invalidate I+D TLBs */ mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ RET +END(arm11_setttb) /* * TLB functions @@ -64,12 +65,13 @@ ENTRY(arm11_tlb_flushID_SE) mcr p15, 0, r0, c8, c5, 1 /* flush I tlb single entry */ mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ RET +END(arm11_tlb_flushID_SE) ENTRY(arm11_tlb_flushI_SE) mcr p15, 0, r0, c8, c5, 1 /* flush I tlb single entry */ mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ RET - +END(arm11_tlb_flushI_SE) /* * Context switch. @@ -94,6 +96,7 @@ ENTRY(arm11_context_switch) nop nop RET +END(arm11_context_switch) /* * TLB functions @@ -102,21 +105,25 @@ ENTRY(arm11_tlb_flushID) mcr p15, 0, r0, c8, c7, 0 /* flush I+D tlb */ mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ mov pc, lr +END(arm11_tlb_flushID) ENTRY(arm11_tlb_flushI) mcr p15, 0, r0, c8, c5, 0 /* flush I tlb */ mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ mov pc, lr +END(arm11_tlb_flushI) ENTRY(arm11_tlb_flushD) mcr p15, 0, r0, c8, c6, 0 /* flush D tlb */ mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ mov pc, lr +END(arm11_tlb_flushD) ENTRY(arm11_tlb_flushD_SE) mcr p15, 0, r0, c8, c6, 1 /* flush D tlb single entry */ mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ mov pc, lr +END(arm11_tlb_flushD_SE) /* * Other functions @@ -124,8 +131,11 @@ ENTRY(arm11_tlb_flushD_SE) ENTRY(arm11_drain_writebuf) mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ mov pc, lr +END(arm11_drain_writebuf) ENTRY_NP(arm11_sleep) mov r0, #0 mcr p15, 0, r0, c7, c0, 4 /* wait for interrupt */ RET +END(arm11_sleep) + Modified: head/sys/arm/arm/cpufunc_asm_arm11x6.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_arm11x6.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_arm11x6.S Sat Mar 16 02:48:49 2013 (r248361) @@ -124,24 +124,29 @@ ENTRY(arm11x6_setttb) mcr p15, 0, r1, c8, c7, 0 /* invalidate I+D TLBs */ mcr p15, 0, r1, c7, c10, 4 /* drain write buffer */ RET +END(arm11x6_setttb) ENTRY_NP(arm11x6_idcache_wbinv_all) Flush_D_cache(r0) Invalidate_I_cache(r0, r1) RET +END(arm11x6_idcache_wbinv_all) ENTRY_NP(arm11x6_dcache_wbinv_all) Flush_D_cache(r0) RET +END(arm11x6_dcache_wbinv_all) ENTRY_NP(arm11x6_icache_sync_all) Flush_D_cache(r0) Invalidate_I_cache(r0, r1) RET +END(arm11x6_icache_sync_all) ENTRY_NP(arm11x6_flush_prefetchbuf) mcr p15, 0, r0, c7, c5, 4 /* Flush Prefetch Buffer */ RET +END(arm11x6_flush_prefetchbuf) ENTRY_NP(arm11x6_icache_sync_range) add r1, r1, r0 @@ -168,6 +173,7 @@ ENTRY_NP(arm11x6_icache_sync_range) mcrr p15, 0, r1, r0, c12 /* clean and invalidate D cache range */ /* XXXNH */ mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(arm11x6_icache_sync_range) ENTRY_NP(arm11x6_idcache_wbinv_range) add r1, r1, r0 @@ -194,6 +200,7 @@ ENTRY_NP(arm11x6_idcache_wbinv_range) mcrr p15, 0, r1, r0, c14 /* clean and invalidate D cache range */ mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(arm11x6_idcache_wbinv_range) /* * Preload the cache before issuing the WFI by conditionally disabling the @@ -216,3 +223,5 @@ ENTRY_NP(arm11x6_sleep) nop bne 1b RET +END(arm11x6_sleep) + Modified: head/sys/arm/arm/cpufunc_asm_arm7tdmi.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_arm7tdmi.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_arm7tdmi.S Sat Mar 16 02:48:49 2013 (r248361) @@ -60,6 +60,7 @@ ENTRY(arm7tdmi_setttb) bl _C_LABEL(arm7tdmi_cache_flushID) mov pc, r2 +END(arm7tdmi_setttb) /* * TLB functions @@ -68,10 +69,12 @@ ENTRY(arm7tdmi_tlb_flushID) mov r0, #0 mcr p15, 0, r0, c8, c7, 0 RET +END(arm7tdmi_tlb_flushID) ENTRY(arm7tdmi_tlb_flushID_SE) mcr p15, 0, r0, c8, c7, 1 RET +END(arm7tdmi_tlb_flushID_SE) /* * Cache functions @@ -86,6 +89,7 @@ ENTRY(arm7tdmi_cache_flushID) mov r0, r0 RET +END(arm7tdmi_cache_flushID) /* * Context switch. @@ -98,3 +102,5 @@ ENTRY(arm7tdmi_cache_flushID) */ ENTRY(arm7tdmi_context_switch) b _C_LABEL(arm7tdmi_setttb) +END(arm7tdmi_context_switch) + Modified: head/sys/arm/arm/cpufunc_asm_arm8.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_arm8.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_arm8.S Sat Mar 16 02:48:49 2013 (r248361) @@ -58,6 +58,7 @@ ENTRY(arm8_clock_config) mcr p15, 0, r2, c15, c0, 0 /* Write clock register */ mov r0, r3 /* Return old value */ RET +END(arm8_clock_config) /* * Functions to set the MMU Translation Table Base register @@ -90,6 +91,7 @@ ENTRY(arm8_setttb) msr cpsr_all, r3 RET +END(arm8_setttb) /* * TLB functions @@ -97,10 +99,12 @@ ENTRY(arm8_setttb) ENTRY(arm8_tlb_flushID) mcr p15, 0, r0, c8, c7, 0 /* flush I+D tlb */ RET +END(arm8_tlb_flushID) ENTRY(arm8_tlb_flushID_SE) mcr p15, 0, r0, c8, c7, 1 /* flush I+D tlb single entry */ RET +END(arm8_tlb_flushID_SE) /* * Cache functions @@ -108,10 +112,12 @@ ENTRY(arm8_tlb_flushID_SE) ENTRY(arm8_cache_flushID) mcr p15, 0, r0, c7, c7, 0 /* flush I+D cache */ RET +END(arm8_cache_flushID) ENTRY(arm8_cache_flushID_E) mcr p15, 0, r0, c7, c7, 1 /* flush I+D single entry */ RET +END(arm8_cache_flushID_E) ENTRY(arm8_cache_cleanID) mov r0, #0x00000000 @@ -153,10 +159,12 @@ ENTRY(arm8_cache_cleanID) bne 1b RET +END(arm8_cache_cleanID) ENTRY(arm8_cache_cleanID_E) mcr p15, 0, r0, c7, c11, 1 /* clean I+D single entry */ RET +END(arm8_cache_cleanID_E) ENTRY(arm8_cache_purgeID) /* @@ -232,6 +240,7 @@ ENTRY(arm8_cache_purgeID) msr cpsr_all, r3 RET +END(arm8_cache_purgeID) ENTRY(arm8_cache_purgeID_E) /* @@ -253,6 +262,7 @@ ENTRY(arm8_cache_purgeID_E) mcr p15, 0, r0, c7, c7, 1 /* flush I+D single entry */ msr cpsr_all, r3 RET +END(arm8_cache_purgeID_E) /* * Context switch. @@ -282,3 +292,5 @@ ENTRY(arm8_context_switch) mov r0, r0 mov r0, r0 RET +END(arm8_context_switch) + Modified: head/sys/arm/arm/cpufunc_asm_arm9.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_arm9.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_arm9.S Sat Mar 16 02:48:49 2013 (r248361) @@ -49,6 +49,7 @@ ENTRY(arm9_setttb) mcr p15, 0, r0, c8, c7, 0 /* invalidate I+D TLBs */ mov pc, lr +END(arm9_setttb) /* * TLB functions @@ -57,6 +58,7 @@ ENTRY(arm9_tlb_flushID_SE) mcr p15, 0, r0, c8, c6, 1 /* flush D tlb single entry */ mcr p15, 0, r0, c8, c5, 1 /* flush I tlb single entry */ mov pc, lr +END(arm9_tlb_flushID_SE) /* * Cache operations. For the entire cache we use the set/index @@ -83,6 +85,7 @@ ENTRY_NP(arm9_icache_sync_range) subs r1, r1, ip bhi .Larm9_sync_next mov pc, lr +END(arm9_icache_sync_range) ENTRY_NP(arm9_icache_sync_all) .Larm9_icache_sync_all: @@ -106,6 +109,7 @@ ENTRY_NP(arm9_icache_sync_all) subs s_max, s_max, s_inc bhs .Lnext_set /* Next set */ mov pc, lr +END(arm9_icache_sync_all) .Larm9_line_size: .word _C_LABEL(arm_pdcache_line_size) @@ -125,6 +129,7 @@ ENTRY(arm9_dcache_wb_range) subs r1, r1, ip bhi .Larm9_wb_next mov pc, lr +END(arm9_dcache_wb_range) ENTRY(arm9_dcache_wbinv_range) ldr ip, .Larm9_line_size @@ -141,6 +146,7 @@ ENTRY(arm9_dcache_wbinv_range) subs r1, r1, ip bhi .Larm9_wbinv_next mov pc, lr +END(arm9_dcache_wbinv_range) /* * Note, we must not invalidate everything. If the range is too big we @@ -161,6 +167,7 @@ ENTRY(arm9_dcache_inv_range) subs r1, r1, ip bhi .Larm9_inv_next mov pc, lr +END(arm9_dcache_inv_range) ENTRY(arm9_idcache_wbinv_range) ldr ip, .Larm9_line_size @@ -178,6 +185,7 @@ ENTRY(arm9_idcache_wbinv_range) subs r1, r1, ip bhi .Larm9_id_wbinv_next mov pc, lr +END(arm9_idcache_wbinv_range) ENTRY_NP(arm9_idcache_wbinv_all) .Larm9_idcache_wbinv_all: @@ -202,6 +210,8 @@ ENTRY(arm9_dcache_wbinv_all) subs s_max, s_max, s_inc bhs .Lnext_set_inv /* Next set */ mov pc, lr +END(arm9_idcache_wbinv_all) +END(arm9_dcache_wbinv_all) .Larm9_cache_data: .word _C_LABEL(arm9_dcache_sets_max) @@ -229,6 +239,7 @@ ENTRY(arm9_context_switch) nop nop mov pc, lr +END(arm9_context_switch) .bss Modified: head/sys/arm/arm/cpufunc_asm_armv4.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_armv4.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_armv4.S Sat Mar 16 02:48:49 2013 (r248361) @@ -46,18 +46,22 @@ __FBSDID("$FreeBSD$"); ENTRY(armv4_tlb_flushID) mcr p15, 0, r0, c8, c7, 0 /* flush I+D tlb */ RET +END(armv4_tlb_flushID) ENTRY(armv4_tlb_flushI) mcr p15, 0, r0, c8, c5, 0 /* flush I tlb */ RET +END(armv4_tlb_flushI) ENTRY(armv4_tlb_flushD) mcr p15, 0, r0, c8, c6, 0 /* flush D tlb */ RET +END(armv4_tlb_flushD) ENTRY(armv4_tlb_flushD_SE) mcr p15, 0, r0, c8, c6, 1 /* flush D tlb single entry */ RET +END(armv4_tlb_flushD_SE) /* * Other functions @@ -65,3 +69,5 @@ ENTRY(armv4_tlb_flushD_SE) ENTRY(armv4_drain_writebuf) mcr p15, 0, r0, c7, c10, 4 /* drain write buffer */ RET +END(armv4_drain_writebuf) + Modified: head/sys/arm/arm/cpufunc_asm_armv5.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_armv5.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_armv5.S Sat Mar 16 02:48:49 2013 (r248361) @@ -51,6 +51,7 @@ ENTRY(armv5_setttb) mcr p15, 0, r0, c8, c7, 0 /* invalidate I+D TLBs */ RET +END(armv5_setttb) /* * Cache operations. For the entire cache we use the set/index @@ -79,6 +80,7 @@ ENTRY_NP(armv5_icache_sync_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_icache_sync_range) ENTRY_NP(armv5_icache_sync_all) .Larmv5_icache_sync_all: @@ -105,6 +107,7 @@ ENTRY_NP(armv5_icache_sync_all) bpl 1b /* Next set */ mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_icache_sync_all) .Larmv5_line_size: .word _C_LABEL(arm_pdcache_line_size) @@ -126,6 +129,7 @@ ENTRY(armv5_dcache_wb_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_dcache_wb_range) ENTRY(armv5_dcache_wbinv_range) ldr ip, .Larmv5_line_size @@ -144,6 +148,7 @@ ENTRY(armv5_dcache_wbinv_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_dcache_wbinv_range) /* * Note, we must not invalidate everything. If the range is too big we @@ -166,6 +171,7 @@ ENTRY(armv5_dcache_inv_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_dcache_inv_range) ENTRY(armv5_idcache_wbinv_range) ldr ip, .Larmv5_line_size @@ -185,6 +191,7 @@ ENTRY(armv5_idcache_wbinv_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_idcache_wbinv_range) ENTRY_NP(armv5_idcache_wbinv_all) .Larmv5_idcache_wbinv_all: @@ -212,6 +219,8 @@ ENTRY(armv5_dcache_wbinv_all) bpl 1b /* Next set */ mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_idcache_wbinv_all) +END(armv5_dcache_wbinv_all) .Larmv5_cache_data: .word _C_LABEL(armv5_dcache_sets_max) Modified: head/sys/arm/arm/cpufunc_asm_armv5_ec.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_armv5_ec.S Sat Mar 16 01:16:57 2013 (r248360) +++ head/sys/arm/arm/cpufunc_asm_armv5_ec.S Sat Mar 16 02:48:49 2013 (r248361) @@ -66,6 +66,7 @@ ENTRY(armv5_ec_setttb) mcr p15, 0, r0, c8, c7, 0 /* invalidate I+D TLBs */ RET +END(armv5_ec_setttb) /* * Cache operations. For the entire cache we use the enhanced cache @@ -90,6 +91,7 @@ ENTRY_NP(armv5_ec_icache_sync_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_ec_icache_sync_range) ENTRY_NP(armv5_ec_icache_sync_all) .Larmv5_ec_icache_sync_all: @@ -107,6 +109,7 @@ ENTRY_NP(armv5_ec_icache_sync_all) bne 1b /* More to do? */ mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_ec_icache_sync_all) .Larmv5_ec_line_size: .word _C_LABEL(arm_pdcache_line_size) @@ -128,6 +131,7 @@ ENTRY(armv5_ec_dcache_wb_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_ec_dcache_wb_range) ENTRY(armv5_ec_dcache_wbinv_range) ldr ip, .Larmv5_ec_line_size @@ -146,6 +150,7 @@ ENTRY(armv5_ec_dcache_wbinv_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_ec_dcache_wbinv_range) /* * Note, we must not invalidate everything. If the range is too big we @@ -168,6 +173,7 @@ ENTRY(armv5_ec_dcache_inv_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_ec_dcache_inv_range) ENTRY(armv5_ec_idcache_wbinv_range) ldr ip, .Larmv5_ec_line_size @@ -187,6 +193,7 @@ ENTRY(armv5_ec_idcache_wbinv_range) bpl 1b mcr p15, 0, r0, c7, c10, 4 /* drain the write buffer */ RET +END(armv5_ec_idcache_wbinv_range) ENTRY_NP(armv5_ec_idcache_wbinv_all) .Larmv5_ec_idcache_wbinv_all: @@ -197,6 +204,7 @@ ENTRY_NP(armv5_ec_idcache_wbinv_all) */ mcr p15, 0, r0, c7, c5, 0 /* Invalidate ICache */ /* Fall through to purge Dcache. */ +END(armv5_ec_idcache_wbinv_all) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 03:15:25 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2F895C0C; Sat, 16 Mar 2013 03:15:25 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0F959D55; Sat, 16 Mar 2013 03:15:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G3FOH5082799; Sat, 16 Mar 2013 03:15:24 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G3FOwq082798; Sat, 16 Mar 2013 03:15:24 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303160315.r2G3FOwq082798@svn.freebsd.org> From: Andrew Turner Date: Sat, 16 Mar 2013 03:15:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248362 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 03:15:25 -0000 Author: andrew Date: Sat Mar 16 03:15:24 2013 New Revision: 248362 URL: http://svnweb.freebsd.org/changeset/base/248362 Log: Adjust the indentation of the trampoline compilation to make the commands easier to follow. Modified: head/sys/conf/Makefile.arm Modified: head/sys/conf/Makefile.arm ============================================================================== --- head/sys/conf/Makefile.arm Sat Mar 16 02:48:49 2013 (r248361) +++ head/sys/conf/Makefile.arm Sat Mar 16 03:15:24 2013 (r248362) @@ -82,44 +82,43 @@ ${KERNEL_KO}.tramp: ${KERNEL_KO} $S/$M/$ echo "#define KERNNAME \"${KERNEL_KO}.tmp\"" >opt_kernname.h sed s/${KERNVIRTADDR}/${KERNPHYSADDR}/ ldscript.$M > ldscript.$M.tramp sed s/" + SIZEOF_HEADERS"// ldscript.$M.tramp > \ - ldscript.$M.tramp.noheader + ldscript.$M.tramp.noheader echo "#include " >tmphack.S echo "ENTRY(_start)" >>tmphack.S echo "bl _startC" >>tmphack.S ${OBJCOPY} --strip-symbol '$$d' --strip-symbol '$$a' \ - -g --strip-symbol '$$t' ${FULLKERNEL} ${KERNEL_KO}.tmp + -g --strip-symbol '$$t' ${FULLKERNEL} ${KERNEL_KO}.tmp eval $$(stat -s ${KERNEL_KO}.tmp) && \ - echo "#define KERNSIZE $$st_size" >>opt_kernname.h + echo "#define KERNSIZE $$st_size" >>opt_kernname.h ${CC} -O -nostdlib -I. -I$S -Xlinker -T -Xlinker ldscript.$M.tramp \ - tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp + tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ + ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp ${CC} -O -nostdlib -I. -I$S -Xlinker -T -Xlinker \ - ldscript.$M.tramp.noheader \ - tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ + ldscript.$M.tramp.noheader \ + tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader - ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ - ${KERNEL_KO}.tramp.bin + ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ + ${KERNEL_KO}.tramp.bin ${OBJCOPY} ${STRIP_FLAGS} ${KERNEL_KO}.tmp - echo "#define KERNNAME \"${KERNEL_KO}.tmp.gz\"" \ - >opt_kernname.h + echo "#define KERNNAME \"${KERNEL_KO}.tmp.gz\"" >opt_kernname.h eval $$(stat -s ${KERNEL_KO}.tmp) && \ - echo "#define KERNSIZE $$st_size" >>opt_kernname.h + echo "#define KERNSIZE $$st_size" >>opt_kernname.h gzip -f9 ${KERNEL_KO}.tmp eval $$(stat -s ${KERNEL_KO}.tmp.gz) && \ - echo "#define KERNCOMPSIZE $$st_size" >>opt_kernname.h + echo "#define KERNCOMPSIZE $$st_size" >>opt_kernname.h ${CC} -O2 -ffreestanding -DKZIP -I. -I$S -c $S/kern/inflate.c -o \ inflate-tramp.o ${CC} -O -nostdlib -I. -I$S -Xlinker -T -Xlinker ldscript.$M.tramp \ - -DKZIP tmphack.S $S/$M/$M/elf_trampoline.c inflate-tramp.o \ - $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o ${KERNEL_KO}.gz.tramp + -DKZIP tmphack.S $S/$M/$M/elf_trampoline.c inflate-tramp.o \ + $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o ${KERNEL_KO}.gz.tramp ${CC} -O -nostdlib -I. -I$S -Xlinker -T -Xlinker \ - ldscript.$M.tramp.noheader \ - -DKZIP tmphack.S $S/$M/$M/elf_trampoline.c inflate-tramp.o \ - $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader + ldscript.$M.tramp.noheader \ + -DKZIP tmphack.S $S/$M/$M/elf_trampoline.c inflate-tramp.o \ + $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ ${KERNEL_KO}.gz.tramp.bin rm ${KERNEL_KO}.tmp.gz ${KERNEL_KO}.tramp.noheader opt_kernname.h \ - inflate-tramp.o tmphack.S + inflate-tramp.o tmphack.S MKMODULESENV+= MACHINE=${MACHINE} From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 03:21:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5A27BDB2; Sat, 16 Mar 2013 03:21:26 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4C62CD7C; Sat, 16 Mar 2013 03:21:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G3LQO2085168; Sat, 16 Mar 2013 03:21:26 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G3LQOG085167; Sat, 16 Mar 2013 03:21:26 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303160321.r2G3LQOG085167@svn.freebsd.org> From: Andrew Turner Date: Sat, 16 Mar 2013 03:21:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248363 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 03:21:26 -0000 Author: andrew Date: Sat Mar 16 03:21:25 2013 New Revision: 248363 URL: http://svnweb.freebsd.org/changeset/base/248363 Log: Fix the indentation for a few commands that were missed or incorrectly indented in r248362. Modified: head/sys/conf/Makefile.arm Modified: head/sys/conf/Makefile.arm ============================================================================== --- head/sys/conf/Makefile.arm Sat Mar 16 03:15:24 2013 (r248362) +++ head/sys/conf/Makefile.arm Sat Mar 16 03:21:25 2013 (r248363) @@ -96,8 +96,8 @@ ${KERNEL_KO}.tramp: ${KERNEL_KO} $S/$M/$ ${CC} -O -nostdlib -I. -I$S -Xlinker -T -Xlinker \ ldscript.$M.tramp.noheader \ tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader - ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ + ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader + ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ ${KERNEL_KO}.tramp.bin ${OBJCOPY} ${STRIP_FLAGS} ${KERNEL_KO}.tmp echo "#define KERNNAME \"${KERNEL_KO}.tmp.gz\"" >opt_kernname.h @@ -116,7 +116,7 @@ ${KERNEL_KO}.tramp: ${KERNEL_KO} $S/$M/$ -DKZIP tmphack.S $S/$M/$M/elf_trampoline.c inflate-tramp.o \ $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ - ${KERNEL_KO}.gz.tramp.bin + ${KERNEL_KO}.gz.tramp.bin rm ${KERNEL_KO}.tmp.gz ${KERNEL_KO}.tramp.noheader opt_kernname.h \ inflate-tramp.o tmphack.S From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 03:50:28 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9B26A133; Sat, 16 Mar 2013 03:50:28 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8B013E0F; Sat, 16 Mar 2013 03:50:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G3oS5n092261; Sat, 16 Mar 2013 03:50:28 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G3oSEM092260; Sat, 16 Mar 2013 03:50:28 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303160350.r2G3oSEM092260@svn.freebsd.org> From: Andrew Turner Date: Sat, 16 Mar 2013 03:50:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248364 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 03:50:28 -0000 Author: andrew Date: Sat Mar 16 03:50:27 2013 New Revision: 248364 URL: http://svnweb.freebsd.org/changeset/base/248364 Log: Implement the required but unused __aeabi_unwind_cpp_* functions in the trampoline kernel. Modified: head/sys/arm/arm/elf_trampoline.c Modified: head/sys/arm/arm/elf_trampoline.c ============================================================================== --- head/sys/arm/arm/elf_trampoline.c Sat Mar 16 03:21:25 2013 (r248363) +++ head/sys/arm/arm/elf_trampoline.c Sat Mar 16 03:50:27 2013 (r248364) @@ -701,3 +701,18 @@ __start(void) do_call(dst, kernel, dst + (unsigned int)(&func_end) - (unsigned int)(&load_kernel) + 800, sp); } + +#ifdef __ARM_EABI__ +/* We need to provide these functions but never call them */ +void __aeabi_unwind_cpp_pr0(void); +void __aeabi_unwind_cpp_pr1(void); +void __aeabi_unwind_cpp_pr2(void); + +__strong_reference(__aeabi_unwind_cpp_pr0, __aeabi_unwind_cpp_pr1); +__strong_reference(__aeabi_unwind_cpp_pr0, __aeabi_unwind_cpp_pr2); +void +__aeabi_unwind_cpp_pr0(void) +{ +} +#endif + From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 03:57:46 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9CF142E2; Sat, 16 Mar 2013 03:57:46 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8493CE38; Sat, 16 Mar 2013 03:57:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G3vkVD094644; Sat, 16 Mar 2013 03:57:46 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G3vkpT094643; Sat, 16 Mar 2013 03:57:46 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303160357.r2G3vkpT094643@svn.freebsd.org> From: Andrew Turner Date: Sat, 16 Mar 2013 03:57:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248365 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 03:57:46 -0000 Author: andrew Date: Sat Mar 16 03:57:46 2013 New Revision: 248365 URL: http://svnweb.freebsd.org/changeset/base/248365 Log: The compiler argument -mno-apcs-frame has no meaning when using EABI as we will use aapcs frames, not apcs frames. Modified: head/sys/conf/Makefile.arm Modified: head/sys/conf/Makefile.arm ============================================================================== --- head/sys/conf/Makefile.arm Sat Mar 16 03:50:27 2013 (r248364) +++ head/sys/conf/Makefile.arm Sat Mar 16 03:57:46 2013 (r248365) @@ -44,7 +44,9 @@ CFLAGS += -mno-thumb-interwork .endif .if empty(DDB_ENABLED) +.if !defined(WITH_ARM_EABI) CFLAGS += -mno-apcs-frame +.endif .elif defined(WITH_ARM_EABI) CFLAGS += -funwind-tables .if ${COMPILER_TYPE} == "clang" From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 04:06:50 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CB95C5AD; Sat, 16 Mar 2013 04:06:50 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A4895E7A; Sat, 16 Mar 2013 04:06:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G46oh2097858; Sat, 16 Mar 2013 04:06:50 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G46oR0097853; Sat, 16 Mar 2013 04:06:50 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303160406.r2G46oR0097853@svn.freebsd.org> From: Andrew Turner Date: Sat, 16 Mar 2013 04:06:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248366 - in head/sys: arm/arm conf libkern/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 04:06:50 -0000 Author: andrew Date: Sat Mar 16 04:06:49 2013 New Revision: 248366 URL: http://svnweb.freebsd.org/changeset/base/248366 Log: Move the __aeabi_unwind_cpp_pr{0,1,2} functions to libkern so they can be referenced in a non-debug kernel. Added: head/sys/libkern/arm/aeabi_unwind.c (contents, props changed) Modified: head/sys/arm/arm/db_trace.c head/sys/conf/files.arm Modified: head/sys/arm/arm/db_trace.c ============================================================================== --- head/sys/arm/arm/db_trace.c Sat Mar 16 03:57:46 2013 (r248365) +++ head/sys/arm/arm/db_trace.c Sat Mar 16 04:06:49 2013 (r248366) @@ -126,29 +126,6 @@ struct unwind_state { uint16_t update_mask; }; -/* We need to provide these but never use them */ -void __aeabi_unwind_cpp_pr0(void); -void __aeabi_unwind_cpp_pr1(void); -void __aeabi_unwind_cpp_pr2(void); - -void -__aeabi_unwind_cpp_pr0(void) -{ - panic("__aeabi_unwind_cpp_pr0"); -} - -void -__aeabi_unwind_cpp_pr1(void) -{ - panic("__aeabi_unwind_cpp_pr1"); -} - -void -__aeabi_unwind_cpp_pr2(void) -{ - panic("__aeabi_unwind_cpp_pr2"); -} - /* Expand a 31-bit signed value to a 32-bit signed value */ static __inline int32_t db_expand_prel31(uint32_t prel31) Modified: head/sys/conf/files.arm ============================================================================== --- head/sys/conf/files.arm Sat Mar 16 03:57:46 2013 (r248365) +++ head/sys/conf/files.arm Sat Mar 16 04:06:49 2013 (r248366) @@ -72,6 +72,7 @@ font.h optional sc \ clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" kern/subr_busdma_bufalloc.c standard kern/subr_dummy_vdso_tc.c standard +libkern/arm/aeabi_unwind.c standard libkern/arm/divsi3.S standard libkern/arm/ffs.S standard libkern/arm/ldivmod.S standard Added: head/sys/libkern/arm/aeabi_unwind.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/libkern/arm/aeabi_unwind.c Sat Mar 16 04:06:49 2013 (r248366) @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2013 Andrew Turner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include + +#ifdef __ARM_EABI__ +/* We need to provide these functions never call them */ +void __aeabi_unwind_cpp_pr0(void); +void __aeabi_unwind_cpp_pr1(void); +void __aeabi_unwind_cpp_pr2(void); + +void +__aeabi_unwind_cpp_pr0(void) +{ + panic("__aeabi_unwind_cpp_pr0"); +} + +void +__aeabi_unwind_cpp_pr1(void) +{ + panic("__aeabi_unwind_cpp_pr1"); +} + +void +__aeabi_unwind_cpp_pr2(void) +{ + panic("__aeabi_unwind_cpp_pr2"); +} +#endif + From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 04:08:03 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4336B72E; Sat, 16 Mar 2013 04:08:03 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 12F5FE88; Sat, 16 Mar 2013 04:08:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G482wH098421; Sat, 16 Mar 2013 04:08:02 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G482NN098415; Sat, 16 Mar 2013 04:08:02 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303160408.r2G482NN098415@svn.freebsd.org> From: Andrew Turner Date: Sat, 16 Mar 2013 04:08:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248367 - head/sys/libkern/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 04:08:03 -0000 Author: andrew Date: Sat Mar 16 04:08:01 2013 New Revision: 248367 URL: http://svnweb.freebsd.org/changeset/base/248367 Log: Add END to ARM libkern assembly functions Modified: head/sys/libkern/arm/divsi3.S head/sys/libkern/arm/ffs.S head/sys/libkern/arm/ldivmod.S head/sys/libkern/arm/memcpy.S Modified: head/sys/libkern/arm/divsi3.S ============================================================================== --- head/sys/libkern/arm/divsi3.S Sat Mar 16 04:06:49 2013 (r248366) +++ head/sys/libkern/arm/divsi3.S Sat Mar 16 04:08:01 2013 (r248367) @@ -29,6 +29,7 @@ ENTRY_NP(__umodsi3) add sp, sp, #4 /* unalign stack */ mov r0, r1 ldmfd sp!, {pc} +END(__umodsi3) ENTRY_NP(__modsi3) stmfd sp!, {lr} @@ -48,6 +49,7 @@ ENTRY_NP(__modsi3) mvn r0, #0 #endif RET +END(__modsi3) #ifdef __ARM_EABI__ ENTRY_NP(__aeabi_uidiv) @@ -74,6 +76,11 @@ ENTRY_NP(__udivsi3) mov r0, r1 mov r1, #0 RET +#ifdef __ARM_EABI__ +END(__aeabi_uidiv) +END(__aeabi_uidivmod) +#endif +END(__udivsi3) #ifdef __ARM_EABI__ ENTRY_NP(__aeabi_idiv) @@ -393,3 +400,9 @@ ENTRY_NP(__divsi3) addhs r3, r3, r2 mov r0, r3 RET +#ifdef __ARM_EABI__ +END(__aeabi_idiv) +END(__aeabi_idivmod) +#endif +END(__divsi3) + Modified: head/sys/libkern/arm/ffs.S ============================================================================== --- head/sys/libkern/arm/ffs.S Sat Mar 16 04:06:49 2013 (r248366) +++ head/sys/libkern/arm/ffs.S Sat Mar 16 04:08:01 2013 (r248367) @@ -82,3 +82,5 @@ ENTRY(ffs) rsbne r0, r0, #32 RET #endif +END(ffs) + Modified: head/sys/libkern/arm/ldivmod.S ============================================================================== --- head/sys/libkern/arm/ldivmod.S Sat Mar 16 04:06:49 2013 (r248366) +++ head/sys/libkern/arm/ldivmod.S Sat Mar 16 04:08:01 2013 (r248367) @@ -53,6 +53,7 @@ ENTRY_NP(__aeabi_ldivmod) add sp, sp, #8 /* Move sp to the remainder value */ ldmfd sp!, {r2, r3} /* Load the remainder */ RET +END(__aeabi_ldivmod) ENTRY_NP(__aeabi_uldivmod) sub sp, sp, #8 /* Space for the remainder */ @@ -62,6 +63,7 @@ ENTRY_NP(__aeabi_uldivmod) add sp, sp, #8 /* Move sp to the remainder value */ ldmfd sp!, {r2, r3} /* Load the remainder */ RET +END(__aeabi_uldivmod) #endif Modified: head/sys/libkern/arm/memcpy.S ============================================================================== --- head/sys/libkern/arm/memcpy.S Sat Mar 16 04:06:49 2013 (r248366) +++ head/sys/libkern/arm/memcpy.S Sat Mar 16 04:08:01 2013 (r248367) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Andrew Turner + * Copyright (C) 2013 Andrew Turner * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); ENTRY_NP(__aeabi_memcpy) b memcpy +END(__aeabi_memcpy) #endif From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 05:40:30 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 426A9321; Sat, 16 Mar 2013 05:40:30 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 340E421C; Sat, 16 Mar 2013 05:40:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G5eULH025785; Sat, 16 Mar 2013 05:40:30 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G5eTlC025783; Sat, 16 Mar 2013 05:40:29 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201303160540.r2G5eTlC025783@svn.freebsd.org> From: Neel Natu Date: Sat, 16 Mar 2013 05:40:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248368 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 05:40:30 -0000 Author: neel Date: Sat Mar 16 05:40:29 2013 New Revision: 248368 URL: http://svnweb.freebsd.org/changeset/base/248368 Log: Change the type of 'ndesc' from 'int' to 'uint16_t' so that descriptor index wraparound is handled correctly. The gory details are available here: http://lists.freebsd.org/pipermail/freebsd-virtualization/2013-March/001119.html This fixes a regression introduced in r247871. Pointed out by: Bruce Evans, Chris Torek Modified: head/usr.sbin/bhyve/pci_virtio_net.c Modified: head/usr.sbin/bhyve/pci_virtio_net.c ============================================================================== --- head/usr.sbin/bhyve/pci_virtio_net.c Sat Mar 16 04:08:01 2013 (r248367) +++ head/usr.sbin/bhyve/pci_virtio_net.c Sat Mar 16 05:40:29 2013 (r248368) @@ -170,7 +170,7 @@ pci_vtnet_iosize(struct pci_devinst *pi) static int hq_num_avail(struct vring_hqueue *hq) { - int ndesc; + uint16_t ndesc; /* * We're just computing (a-b) in GF(216). From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 08:16:14 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6BFBD4F7; Sat, 16 Mar 2013 08:16:14 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4EA2C714; Sat, 16 Mar 2013 08:16:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G8GEJD073527; Sat, 16 Mar 2013 08:16:14 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G8GBch073505; Sat, 16 Mar 2013 08:16:11 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303160816.r2G8GBch073505@svn.freebsd.org> From: Martin Matuska Date: Sat, 16 Mar 2013 08:16:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r248369 - in stable/9: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zinject cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris... X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 08:16:14 -0000 Author: mm Date: Sat Mar 16 08:16:11 2013 New Revision: 248369 URL: http://svnweb.freebsd.org/changeset/base/248369 Log: MFC r247187,247265,247348,247398,247540,247585,247852,248265,248267 Merge various ZFS improvements and bugfixes MFC r247187: Import vendor change to avoid "unitialized variable" warnings. Illumos ZFS issues: 3522 zfs module should not allow uninitialized variables MFC r247265: Merge the ZFS I/O deadman thread from vendor (illumos). This feature panics the system on hanging ZFS I/O, helps debugging and resumes failed service. The panic behavior can be controlled with the loader-only tunables: vfs.zfs.deadman_enabled (enable or disable panic on stalled ZFS I/O) vfs.zfs.deadman_synctime (expiration time for stalled ZFS I/O) By default, ZFS I/O deadman is enabled by default on amd64 and i386 excluding virtual guest machines. MFC r247348: Be more verbose on ZFS deadman I/O panic Patch suggested upstream. MFC r247398: Import metaslab_sync() speedup from vendor (illumos). Illumos ZFS issues: 3552 condensing one space map burns 3 seconds of CPU in spa_sync() thread 3564 spa_sync() spends 5-10% of its time in metaslab_sync() (when not condensing) 3578 transferring the freed map to the defer map should be constant time 3579 ztest trips assertion in metaslab_weight() MFC r247540: Fix the zfs_ioctl compat layer to support zfs_cmd size change introduced in r247265 (ZFS deadman thread). Both new utilities now support the old kernel and new kernel properly detects old utilities. For future backwards compatibility, the vfs.zfs.version.ioctl read-only sysctl has been introduced. With this sysctl zfs utilities will be able to detect the ioctl interface version of the currently loaded zfs module. MFC r247585: Merge new read-only zfs properties from vendor (illumos) Illumos ZFS issues: 3588 provide zfs properties for logical (uncompressed) space used and referenced MFC r247852: Import ZFS bpobj bugfix from vendor. Illumos ZFS issues: 3603 panic from bpobj_enqueue_subobj() 3604 zdb should print bpobjs more verbosely MFC r248265: Update zfs.8 manpage date (missing in r247585) MFC r248267: Import minor ZFS changes from vendor Illumos ZFS issues: 3604 zdb should print bpobjs more verbosely (fix zdb hang) 3606 zpool status -x shouldn't warn about old on-disk format Modified: stable/9/cddl/contrib/opensolaris/cmd/zdb/zdb.c stable/9/cddl/contrib/opensolaris/cmd/zfs/zfs.8 stable/9/cddl/contrib/opensolaris/cmd/zinject/translate.c stable/9/cddl/contrib/opensolaris/cmd/zinject/zinject.c stable/9/cddl/contrib/opensolaris/cmd/zpool/zpool.8 stable/9/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c stable/9/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h stable/9/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c stable/9/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h stable/9/sys/cddl/compat/opensolaris/sys/time.h stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_boot.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c stable/9/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Directory Properties: stable/9/cddl/contrib/opensolaris/ (props changed) stable/9/cddl/contrib/opensolaris/cmd/zfs/ (props changed) stable/9/cddl/contrib/opensolaris/lib/libzfs/ (props changed) stable/9/sys/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) Modified: stable/9/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- stable/9/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Mar 16 08:16:11 2013 (r248369) @@ -545,7 +545,7 @@ static void dump_metaslab_stats(metaslab_t *msp) { char maxbuf[32]; - space_map_t *sm = &msp->ms_map; + space_map_t *sm = msp->ms_map; avl_tree_t *t = sm->sm_pp_root; int free_pct = sm->sm_space * 100 / sm->sm_size; @@ -561,7 +561,7 @@ dump_metaslab(metaslab_t *msp) { vdev_t *vd = msp->ms_group->mg_vd; spa_t *spa = vd->vdev_spa; - space_map_t *sm = &msp->ms_map; + space_map_t *sm = msp->ms_map; space_map_obj_t *smo = &msp->ms_smo; char freebuf[32]; @@ -1189,7 +1189,7 @@ dump_bpobj_cb(void *arg, const blkptr_t } static void -dump_bpobj(bpobj_t *bpo, char *name) +dump_bpobj(bpobj_t *bpo, char *name, int indent) { char bytes[32]; char comp[32]; @@ -1199,31 +1199,57 @@ dump_bpobj(bpobj_t *bpo, char *name) return; zdb_nicenum(bpo->bpo_phys->bpo_bytes, bytes); - if (bpo->bpo_havesubobj) { + if (bpo->bpo_havesubobj && bpo->bpo_phys->bpo_subobjs != 0) { zdb_nicenum(bpo->bpo_phys->bpo_comp, comp); zdb_nicenum(bpo->bpo_phys->bpo_uncomp, uncomp); - (void) printf("\n %s: %llu local blkptrs, %llu subobjs, " - "%s (%s/%s comp)\n", - name, (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, + (void) printf(" %*s: object %llu, %llu local blkptrs, " + "%llu subobjs, %s (%s/%s comp)\n", + indent * 8, name, + (u_longlong_t)bpo->bpo_object, + (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, (u_longlong_t)bpo->bpo_phys->bpo_num_subobjs, bytes, comp, uncomp); + + for (uint64_t i = 0; i < bpo->bpo_phys->bpo_num_subobjs; i++) { + uint64_t subobj; + bpobj_t subbpo; + int error; + VERIFY0(dmu_read(bpo->bpo_os, + bpo->bpo_phys->bpo_subobjs, + i * sizeof (subobj), sizeof (subobj), &subobj, 0)); + error = bpobj_open(&subbpo, bpo->bpo_os, subobj); + if (error != 0) { + (void) printf("ERROR %u while trying to open " + "subobj id %llu\n", + error, (u_longlong_t)subobj); + continue; + } + dump_bpobj(&subbpo, "subobj", indent + 1); + bpobj_close(&subbpo); + } } else { - (void) printf("\n %s: %llu blkptrs, %s\n", - name, (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, bytes); + (void) printf(" %*s: object %llu, %llu blkptrs, %s\n", + indent * 8, name, + (u_longlong_t)bpo->bpo_object, + (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, + bytes); } if (dump_opt['d'] < 5) return; - (void) printf("\n"); - (void) bpobj_iterate_nofree(bpo, dump_bpobj_cb, NULL, NULL); + if (indent == 0) { + (void) bpobj_iterate_nofree(bpo, dump_bpobj_cb, NULL, NULL); + (void) printf("\n"); + } } static void dump_deadlist(dsl_deadlist_t *dl) { dsl_deadlist_entry_t *dle; + uint64_t unused; char bytes[32]; char comp[32]; char uncomp[32]; @@ -1242,14 +1268,24 @@ dump_deadlist(dsl_deadlist_t *dl) (void) printf("\n"); + /* force the tree to be loaded */ + dsl_deadlist_space_range(dl, 0, UINT64_MAX, &unused, &unused, &unused); + for (dle = avl_first(&dl->dl_tree); dle; dle = AVL_NEXT(&dl->dl_tree, dle)) { - (void) printf(" mintxg %llu -> obj %llu\n", - (longlong_t)dle->dle_mintxg, - (longlong_t)dle->dle_bpobj.bpo_object); + if (dump_opt['d'] >= 5) { + char buf[128]; + (void) snprintf(buf, sizeof (buf), "mintxg %llu -> ", + (longlong_t)dle->dle_mintxg, + (longlong_t)dle->dle_bpobj.bpo_object); - if (dump_opt['d'] >= 5) - dump_bpobj(&dle->dle_bpobj, ""); + dump_bpobj(&dle->dle_bpobj, buf, 0); + } else { + (void) printf("mintxg %llu -> obj %llu\n", + (longlong_t)dle->dle_mintxg, + (longlong_t)dle->dle_bpobj.bpo_object); + + } } } @@ -1272,7 +1308,7 @@ fuid_table_destroy() * print uid or gid information. * For normal POSIX id just the id is printed in decimal format. * For CIFS files with FUID the fuid is printed in hex followed by - * the doman-rid string. + * the domain-rid string. */ static void print_idstr(uint64_t id, const char *id_type) @@ -2160,11 +2196,11 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb) for (int m = 0; m < vd->vdev_ms_count; m++) { metaslab_t *msp = vd->vdev_ms[m]; mutex_enter(&msp->ms_lock); - space_map_unload(&msp->ms_map); - VERIFY(space_map_load(&msp->ms_map, + space_map_unload(msp->ms_map); + VERIFY(space_map_load(msp->ms_map, &zdb_space_map_ops, SM_ALLOC, &msp->ms_smo, spa->spa_meta_objset) == 0); - msp->ms_map.sm_ppd = vd; + msp->ms_map->sm_ppd = vd; mutex_exit(&msp->ms_lock); } } @@ -2187,7 +2223,7 @@ zdb_leak_fini(spa_t *spa) for (int m = 0; m < vd->vdev_ms_count; m++) { metaslab_t *msp = vd->vdev_ms[m]; mutex_enter(&msp->ms_lock); - space_map_unload(&msp->ms_map); + space_map_unload(msp->ms_map); mutex_exit(&msp->ms_lock); } } @@ -2529,10 +2565,11 @@ dump_zpool(spa_t *spa) if (dump_opt['d'] || dump_opt['i']) { dump_dir(dp->dp_meta_objset); if (dump_opt['d'] >= 3) { - dump_bpobj(&spa->spa_deferred_bpobj, "Deferred frees"); + dump_bpobj(&spa->spa_deferred_bpobj, + "Deferred frees", 0); if (spa_version(spa) >= SPA_VERSION_DEADLISTS) { dump_bpobj(&spa->spa_dsl_pool->dp_free_bpobj, - "Pool snapshot frees"); + "Pool snapshot frees", 0); } if (spa_feature_is_active(spa, Modified: stable/9/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- stable/9/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Sat Mar 16 08:16:11 2013 (r248369) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 10, 2013 +.Dd March 1, 2013 .Dt ZFS 8 .Os .Sh NAME @@ -520,6 +520,39 @@ if the snapshot has been marked for defe .Qq Nm Cm destroy -d command. Otherwise, the property is .Cm off . +.It Sy logicalreferenced +The amount of space that is +.Qq logically +accessible by this dataset. +See the +.Sy referenced +property. +The logical space ignores the effect of the +.Sy compression +and +.Sy copies +properties, giving a quantity closer to the amount of data that applications +see. +However, it does include space consumed by metadata. +.Pp +This property can also be referred to by its shortened column name, +.Sy lrefer . +.It Sy logicalused +The amount of space that is +.Qq logically +consumed by this dataset and all its descendents. +See the +.Sy used +property. +The logical space ignores the effect of the +.Sy compression +and +.Sy copies +properties, giving a quantity closer to the amount of data that applications +see. +.Pp +This property can also be referred to by its shortened column name, +.Sy lused . .It Sy mounted For file systems, indicates whether the file system is currently mounted. This property can be either Modified: stable/9/cddl/contrib/opensolaris/cmd/zinject/translate.c ============================================================================== --- stable/9/cddl/contrib/opensolaris/cmd/zinject/translate.c Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/cmd/zinject/translate.c Sat Mar 16 08:16:11 2013 (r248369) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012 by Delphix. All rights reserved. */ #include @@ -455,6 +456,20 @@ translate_device(const char *pool, const &record->zi_guid) == 0); } + /* + * Device faults can take on three different forms: + * 1). delayed or hanging I/O + * 2). zfs label faults + * 3). generic disk faults + */ + if (record->zi_timer != 0) { + record->zi_cmd = ZINJECT_DELAY_IO; + } else if (label_type != TYPE_INVAL) { + record->zi_cmd = ZINJECT_LABEL_FAULT; + } else { + record->zi_cmd = ZINJECT_DEVICE_FAULT; + } + switch (label_type) { case TYPE_LABEL_UBERBLOCK: record->zi_start = offsetof(vdev_label_t, vl_uberblock[0]); Modified: stable/9/cddl/contrib/opensolaris/cmd/zinject/zinject.c ============================================================================== --- stable/9/cddl/contrib/opensolaris/cmd/zinject/zinject.c Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/cmd/zinject/zinject.c Sat Mar 16 08:16:11 2013 (r248369) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012 by Delphix. All rights reserved. */ /* @@ -603,7 +604,7 @@ main(int argc, char **argv) } while ((c = getopt(argc, argv, - ":aA:b:d:f:Fg:qhIc:t:T:l:mr:s:e:uL:p:")) != -1) { + ":aA:b:d:D:f:Fg:qhIc:t:T:l:mr:s:e:uL:p:")) != -1) { switch (c) { case 'a': flags |= ZINJECT_FLUSH_ARC; @@ -629,6 +630,15 @@ main(int argc, char **argv) case 'd': device = optarg; break; + case 'D': + record.zi_timer = strtoull(optarg, &end, 10); + if (errno != 0 || *end != '\0') { + (void) fprintf(stderr, "invalid i/o delay " + "value: '%s'\n", optarg); + usage(); + return (1); + } + break; case 'e': if (strcasecmp(optarg, "io") == 0) { error = EIO; @@ -693,6 +703,7 @@ main(int argc, char **argv) case 'p': (void) strlcpy(record.zi_func, optarg, sizeof (record.zi_func)); + record.zi_cmd = ZINJECT_PANIC; break; case 'q': quiet = 1; @@ -766,13 +777,15 @@ main(int argc, char **argv) argc -= optind; argv += optind; + if (record.zi_duration != 0) + record.zi_cmd = ZINJECT_IGNORED_WRITES; + if (cancel != NULL) { /* * '-c' is invalid with any other options. */ if (raw != NULL || range != NULL || type != TYPE_INVAL || - level != 0 || record.zi_func[0] != '\0' || - record.zi_duration != 0) { + level != 0 || record.zi_cmd != ZINJECT_UNINITIALIZED) { (void) fprintf(stderr, "cancel (-c) incompatible with " "any other options\n"); usage(); @@ -804,8 +817,7 @@ main(int argc, char **argv) * for doing injection, so handle it separately here. */ if (raw != NULL || range != NULL || type != TYPE_INVAL || - level != 0 || record.zi_func[0] != '\0' || - record.zi_duration != 0) { + level != 0 || record.zi_cmd != ZINJECT_UNINITIALIZED) { (void) fprintf(stderr, "device (-d) incompatible with " "data error injection\n"); usage(); @@ -839,7 +851,7 @@ main(int argc, char **argv) } else if (raw != NULL) { if (range != NULL || type != TYPE_INVAL || level != 0 || - record.zi_func[0] != '\0' || record.zi_duration != 0) { + record.zi_cmd != ZINJECT_UNINITIALIZED) { (void) fprintf(stderr, "raw (-b) format with " "any other options\n"); usage(); @@ -862,13 +874,14 @@ main(int argc, char **argv) return (1); } + record.zi_cmd = ZINJECT_DATA_FAULT; if (translate_raw(raw, &record) != 0) return (1); if (!error) error = EIO; - } else if (record.zi_func[0] != '\0') { + } else if (record.zi_cmd == ZINJECT_PANIC) { if (raw != NULL || range != NULL || type != TYPE_INVAL || - level != 0 || device != NULL || record.zi_duration != 0) { + level != 0 || device != NULL) { (void) fprintf(stderr, "panic (-p) incompatible with " "other options\n"); usage(); @@ -886,7 +899,7 @@ main(int argc, char **argv) if (argv[1] != NULL) record.zi_type = atoi(argv[1]); dataset[0] = '\0'; - } else if (record.zi_duration != 0) { + } else if (record.zi_cmd == ZINJECT_IGNORED_WRITES) { if (nowrites == 0) { (void) fprintf(stderr, "-s or -g meaningless " "without -I (ignore writes)\n"); @@ -940,6 +953,7 @@ main(int argc, char **argv) return (1); } + record.zi_cmd = ZINJECT_DATA_FAULT; if (translate_record(type, argv[0], range, level, &record, pool, dataset) != 0) return (1); Modified: stable/9/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- stable/9/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Sat Mar 16 08:16:11 2013 (r248369) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 15, 2012 +.Dd March 14, 2013 .Dt ZPOOL 8 .Os .Sh NAME @@ -1608,14 +1608,15 @@ is specified, the command exits after .Ar count reports are printed. .Pp -If a scrub or resilver is in progress, this command reports the percentage done -and the estimated time to completion. Both of these are only approximate, +If a scrub or resilver is in progress, this command reports the percentage +done and the estimated time to completion. Both of these are only approximate, because the amount of data in the pool and the other workloads on the system can change. .Bl -tag -width indent .It Fl x Only display status for pools that are exhibiting errors or are otherwise unavailable. +Warnings about pools not using the latest on-disk format will not be included. .It Fl v Displays verbose data error information, printing out a complete list of all data errors since the last complete pool scrub. Modified: stable/9/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- stable/9/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sat Mar 16 08:16:11 2013 (r248369) @@ -4030,7 +4030,10 @@ status_callback(zpool_handle_t *zhp, voi * If we were given 'zpool status -x', only report those pools with * problems. */ - if (reason == ZPOOL_STATUS_OK && cbp->cb_explain) { + if (cbp->cb_explain && + (reason == ZPOOL_STATUS_OK || + reason == ZPOOL_STATUS_VERSION_OLDER || + reason == ZPOOL_STATUS_FEAT_DISABLED)) { if (!cbp->cb_allpools) { (void) printf(gettext("pool '%s' is healthy\n"), zpool_get_name(zhp)); Modified: stable/9/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h ============================================================================== --- stable/9/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h Sat Mar 16 08:16:11 2013 (r248369) @@ -24,6 +24,7 @@ * Copyright (c) 2011 Pawel Jakub Dawidek . * All rights reserved. * Copyright (c) 2011 by Delphix. All rights reserved. + * Copyright (c) 2013 Martin Matuska . All rights reserved. */ #ifndef _LIBFS_IMPL_H @@ -216,6 +217,7 @@ extern void libzfs_fru_clear(libzfs_hand #ifndef sun static int zfs_kernel_version = 0; +static int zfs_ioctl_version = 0; /* * This is FreeBSD version of ioctl, because Solaris' ioctl() updates @@ -225,19 +227,34 @@ static int zfs_kernel_version = 0; static __inline int zcmd_ioctl(int fd, unsigned long cmd, zfs_cmd_t *zc) { - size_t oldsize, zfs_kernel_version_size; + size_t oldsize, zfs_kernel_version_size, zfs_ioctl_version_size; int version, ret, cflag = ZFS_CMD_COMPAT_NONE; - zfs_kernel_version_size = sizeof(zfs_kernel_version); - if (zfs_kernel_version == 0) { - sysctlbyname("vfs.zfs.version.spa", &zfs_kernel_version, - &zfs_kernel_version_size, NULL, 0); + zfs_ioctl_version_size = sizeof(zfs_ioctl_version); + if (zfs_ioctl_version == 0) { + sysctlbyname("vfs.zfs.version.ioctl", &zfs_ioctl_version, + &zfs_ioctl_version_size, NULL, 0); } - if (zfs_kernel_version == SPA_VERSION_15 || - zfs_kernel_version == SPA_VERSION_14 || - zfs_kernel_version == SPA_VERSION_13) - cflag = ZFS_CMD_COMPAT_V15; + /* + * If vfs.zfs.version.ioctl is not defined, assume we have v28 + * compatible binaries and use vfs.zfs.version.spa to test for v15 + */ + if (zfs_ioctl_version < ZFS_IOCVER_DEADMAN) { + cflag = ZFS_CMD_COMPAT_V28; + zfs_kernel_version_size = sizeof(zfs_kernel_version); + + if (zfs_kernel_version == 0) { + sysctlbyname("vfs.zfs.version.spa", + &zfs_kernel_version, + &zfs_kernel_version_size, NULL, 0); + } + + if (zfs_kernel_version == SPA_VERSION_15 || + zfs_kernel_version == SPA_VERSION_14 || + zfs_kernel_version == SPA_VERSION_13) + cflag = ZFS_CMD_COMPAT_V15; + } oldsize = zc->zc_nvlist_dst_size; ret = zcmd_ioctl_compat(fd, cmd, zc, cflag); Modified: stable/9/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c ============================================================================== --- stable/9/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c Sat Mar 16 08:16:11 2013 (r248369) @@ -45,6 +45,9 @@ int aok; uint64_t physmem; vnode_t *rootdir = (vnode_t *)0xabcd1234; char hw_serial[HW_HOSTID_LEN]; +#ifdef illumos +kmutex_t cpu_lock; +#endif struct utsname utsname = { "userland", "libzpool", "1", "1", "na" @@ -842,6 +845,28 @@ ddi_strtoull(const char *str, char **npt return (0); } +#ifdef illumos +/* ARGSUSED */ +cyclic_id_t +cyclic_add(cyc_handler_t *hdlr, cyc_time_t *when) +{ + return (1); +} + +/* ARGSUSED */ +void +cyclic_remove(cyclic_id_t id) +{ +} + +/* ARGSUSED */ +int +cyclic_reprogram(cyclic_id_t id, hrtime_t expiration) +{ + return (1); +} +#endif + /* * ========================================================================= * kernel emulation setup & teardown @@ -875,6 +900,10 @@ kernel_init(int mode) system_taskq_init(); +#ifdef illumos + mutex_init(&cpu_lock, NULL, MUTEX_DEFAULT, NULL); +#endif + spa_init(mode); } Modified: stable/9/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h ============================================================================== --- stable/9/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h Sat Mar 16 08:16:11 2013 (r248369) @@ -465,6 +465,9 @@ extern vnode_t *rootdir; extern void delay(clock_t ticks); +#define SEC_TO_TICK(sec) ((sec) * hz) +#define NSEC_TO_TICK(usec) ((usec) / (NANOSEC / hz)) + #define gethrestime_sec() time(NULL) #define gethrestime(t) \ do {\ @@ -632,6 +635,36 @@ typedef uint32_t idmap_rid_t; #define ERESTART (-1) #endif +#ifdef illumos +/* + * Cyclic information + */ +extern kmutex_t cpu_lock; + +typedef uintptr_t cyclic_id_t; +typedef uint16_t cyc_level_t; +typedef void (*cyc_func_t)(void *); + +#define CY_LOW_LEVEL 0 +#define CY_INFINITY INT64_MAX +#define CYCLIC_NONE ((cyclic_id_t)0) + +typedef struct cyc_time { + hrtime_t cyt_when; + hrtime_t cyt_interval; +} cyc_time_t; + +typedef struct cyc_handler { + cyc_func_t cyh_func; + void *cyh_arg; + cyc_level_t cyh_level; +} cyc_handler_t; + +extern cyclic_id_t cyclic_add(cyc_handler_t *, cyc_time_t *); +extern void cyclic_remove(cyclic_id_t); +extern int cyclic_reprogram(cyclic_id_t, hrtime_t); +#endif /* illumos */ + #ifdef __cplusplus } #endif Modified: stable/9/sys/cddl/compat/opensolaris/sys/time.h ============================================================================== --- stable/9/sys/cddl/compat/opensolaris/sys/time.h Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/sys/cddl/compat/opensolaris/sys/time.h Sat Mar 16 08:16:11 2013 (r248369) @@ -46,6 +46,9 @@ typedef longlong_t hrtime_t; ((ts)->tv_sec < INT64_MIN || (ts)->tv_sec > INT64_MAX) #endif +#define SEC_TO_TICK(sec) ((sec) * hz) +#define NSEC_TO_TICK(usec) ((usec) / (NANOSEC / hz)) + #ifdef _KERNEL static __inline hrtime_t gethrtime(void) { Modified: stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c ============================================================================== --- stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c Sat Mar 16 08:16:11 2013 (r248369) @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2010 Martin Matuska . All rights reserved. + * Copyright 2013 Martin Matuska . All rights reserved. * Portions Copyright 2005, 2010, Oracle and/or its affiliates. * All rights reserved. * Use is subject to license terms. @@ -35,22 +35,100 @@ #include #include "zfs_ioctl_compat.h" +static int zfs_version_ioctl = ZFS_IOCVER_CURRENT; +SYSCTL_DECL(_vfs_zfs_version); +SYSCTL_INT(_vfs_zfs_version, OID_AUTO, ioctl, CTLFLAG_RD, &zfs_version_ioctl, + 0, "ZFS_IOCTL_VERSION"); + /* - * FreeBSD zfs_cmd compatibility with v15 and older binaries + * FreeBSD zfs_cmd compatibility with older binaries * appropriately remap/extend the zfs_cmd_t structure */ void zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_t addr, const int cflag) { zfs_cmd_v15_t *zc_c; + zfs_cmd_v28_t *zc28_c; - if (cflag == ZFS_CMD_COMPAT_V15) { + switch (cflag) { + case ZFS_CMD_COMPAT_V28: + zc28_c = (void *)addr; + + /* zc */ + strlcpy(zc->zc_name, zc28_c->zc_name, MAXPATHLEN); + strlcpy(zc->zc_value, zc28_c->zc_value, MAXPATHLEN * 2); + strlcpy(zc->zc_string, zc28_c->zc_string, MAXPATHLEN); + strlcpy(zc->zc_top_ds, zc28_c->zc_top_ds, MAXPATHLEN); + zc->zc_guid = zc28_c->zc_guid; + zc->zc_nvlist_conf = zc28_c->zc_nvlist_conf; + zc->zc_nvlist_conf_size = zc28_c->zc_nvlist_conf_size; + zc->zc_nvlist_src = zc28_c->zc_nvlist_src; + zc->zc_nvlist_src_size = zc28_c->zc_nvlist_src_size; + zc->zc_nvlist_dst = zc28_c->zc_nvlist_dst; + zc->zc_nvlist_dst_size = zc28_c->zc_nvlist_dst_size; + zc->zc_cookie = zc28_c->zc_cookie; + zc->zc_objset_type = zc28_c->zc_objset_type; + zc->zc_perm_action = zc28_c->zc_perm_action; + zc->zc_history = zc28_c->zc_history; + zc->zc_history_len = zc28_c->zc_history_len; + zc->zc_history_offset = zc28_c->zc_history_offset; + zc->zc_obj = zc28_c->zc_obj; + zc->zc_iflags = zc28_c->zc_iflags; + zc->zc_share = zc28_c->zc_share; + zc->zc_jailid = zc28_c->zc_jailid; + zc->zc_objset_stats = zc28_c->zc_objset_stats; + zc->zc_begin_record = zc28_c->zc_begin_record; + zc->zc_defer_destroy = zc28_c->zc_defer_destroy; + zc->zc_temphold = zc28_c->zc_temphold; + zc->zc_action_handle = zc28_c->zc_action_handle; + zc->zc_cleanup_fd = zc28_c->zc_cleanup_fd; + zc->zc_simple = zc28_c->zc_simple; + bcopy(zc28_c->zc_pad, zc->zc_pad, sizeof(zc->zc_pad)); + zc->zc_sendobj = zc28_c->zc_sendobj; + zc->zc_fromobj = zc28_c->zc_fromobj; + zc->zc_createtxg = zc28_c->zc_createtxg; + zc->zc_stat = zc28_c->zc_stat; + + /* zc->zc_inject_record */ + zc->zc_inject_record.zi_objset = + zc28_c->zc_inject_record.zi_objset; + zc->zc_inject_record.zi_object = + zc28_c->zc_inject_record.zi_object; + zc->zc_inject_record.zi_start = + zc28_c->zc_inject_record.zi_start; + zc->zc_inject_record.zi_end = + zc28_c->zc_inject_record.zi_end; + zc->zc_inject_record.zi_guid = + zc28_c->zc_inject_record.zi_guid; + zc->zc_inject_record.zi_level = + zc28_c->zc_inject_record.zi_level; + zc->zc_inject_record.zi_error = + zc28_c->zc_inject_record.zi_error; + zc->zc_inject_record.zi_type = + zc28_c->zc_inject_record.zi_type; + zc->zc_inject_record.zi_freq = + zc28_c->zc_inject_record.zi_freq; + zc->zc_inject_record.zi_failfast = + zc28_c->zc_inject_record.zi_failfast; + strlcpy(zc->zc_inject_record.zi_func, + zc28_c->zc_inject_record.zi_func, MAXNAMELEN); + zc->zc_inject_record.zi_iotype = + zc28_c->zc_inject_record.zi_iotype; + zc->zc_inject_record.zi_duration = + zc28_c->zc_inject_record.zi_duration; + zc->zc_inject_record.zi_timer = + zc28_c->zc_inject_record.zi_timer; + zc->zc_inject_record.zi_cmd = ZINJECT_UNINITIALIZED; + zc->zc_inject_record.zi_pad = 0; + break; + + case ZFS_CMD_COMPAT_V15: zc_c = (void *)addr; /* zc */ - strlcpy(zc->zc_name,zc_c->zc_name,MAXPATHLEN); - strlcpy(zc->zc_value,zc_c->zc_value,MAXPATHLEN); - strlcpy(zc->zc_string,zc_c->zc_string,MAXPATHLEN); + strlcpy(zc->zc_name, zc_c->zc_name, MAXPATHLEN); + strlcpy(zc->zc_value, zc_c->zc_value, MAXPATHLEN); + strlcpy(zc->zc_string, zc_c->zc_string, MAXPATHLEN); zc->zc_guid = zc_c->zc_guid; zc->zc_nvlist_conf = zc_c->zc_nvlist_conf; zc->zc_nvlist_conf_size = zc_c->zc_nvlist_conf_size; @@ -91,6 +169,7 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ zc_c->zc_inject_record.zi_freq; zc->zc_inject_record.zi_failfast = zc_c->zc_inject_record.zi_failfast; + break; } } @@ -98,15 +177,84 @@ void zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_t addr, const int cflag) { zfs_cmd_v15_t *zc_c; + zfs_cmd_v28_t *zc28_c; switch (cflag) { + case ZFS_CMD_COMPAT_V28: + zc28_c = (void *)addr; + + strlcpy(zc28_c->zc_name, zc->zc_name, MAXPATHLEN); + strlcpy(zc28_c->zc_value, zc->zc_value, MAXPATHLEN * 2); + strlcpy(zc28_c->zc_string, zc->zc_string, MAXPATHLEN); + strlcpy(zc28_c->zc_top_ds, zc->zc_top_ds, MAXPATHLEN); + zc28_c->zc_guid = zc->zc_guid; + zc28_c->zc_nvlist_conf = zc->zc_nvlist_conf; + zc28_c->zc_nvlist_conf_size = zc->zc_nvlist_conf_size; + zc28_c->zc_nvlist_src = zc->zc_nvlist_src; + zc28_c->zc_nvlist_src_size = zc->zc_nvlist_src_size; + zc28_c->zc_nvlist_dst = zc->zc_nvlist_dst; + zc28_c->zc_nvlist_dst_size = zc->zc_nvlist_dst_size; + zc28_c->zc_cookie = zc->zc_cookie; + zc28_c->zc_objset_type = zc->zc_objset_type; + zc28_c->zc_perm_action = zc->zc_perm_action; + zc28_c->zc_history = zc->zc_history; + zc28_c->zc_history_len = zc->zc_history_len; + zc28_c->zc_history_offset = zc->zc_history_offset; + zc28_c->zc_obj = zc->zc_obj; + zc28_c->zc_iflags = zc->zc_iflags; + zc28_c->zc_share = zc->zc_share; + zc28_c->zc_jailid = zc->zc_jailid; + zc28_c->zc_objset_stats = zc->zc_objset_stats; + zc28_c->zc_begin_record = zc->zc_begin_record; + zc28_c->zc_defer_destroy = zc->zc_defer_destroy; + zc28_c->zc_temphold = zc->zc_temphold; + zc28_c->zc_action_handle = zc->zc_action_handle; + zc28_c->zc_cleanup_fd = zc->zc_cleanup_fd; + zc28_c->zc_simple = zc->zc_simple; + bcopy(zc->zc_pad, zc28_c->zc_pad, sizeof(zc28_c->zc_pad)); + zc28_c->zc_sendobj = zc->zc_sendobj; + zc28_c->zc_fromobj = zc->zc_fromobj; + zc28_c->zc_createtxg = zc->zc_createtxg; + zc28_c->zc_stat = zc->zc_stat; + + /* zc_inject_record */ + zc28_c->zc_inject_record.zi_objset = + zc->zc_inject_record.zi_objset; + zc28_c->zc_inject_record.zi_object = + zc->zc_inject_record.zi_object; + zc28_c->zc_inject_record.zi_start = + zc->zc_inject_record.zi_start; + zc28_c->zc_inject_record.zi_end = + zc->zc_inject_record.zi_end; + zc28_c->zc_inject_record.zi_guid = + zc->zc_inject_record.zi_guid; + zc28_c->zc_inject_record.zi_level = + zc->zc_inject_record.zi_level; + zc28_c->zc_inject_record.zi_error = + zc->zc_inject_record.zi_error; + zc28_c->zc_inject_record.zi_type = + zc->zc_inject_record.zi_type; + zc28_c->zc_inject_record.zi_freq = + zc->zc_inject_record.zi_freq; + zc28_c->zc_inject_record.zi_failfast = + zc->zc_inject_record.zi_failfast; + strlcpy(zc28_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + zc28_c->zc_inject_record.zi_iotype = + zc->zc_inject_record.zi_iotype; + zc28_c->zc_inject_record.zi_duration = + zc->zc_inject_record.zi_duration; + zc28_c->zc_inject_record.zi_timer = + zc->zc_inject_record.zi_timer; + break; + case ZFS_CMD_COMPAT_V15: zc_c = (void *)addr; /* zc */ - strlcpy(zc_c->zc_name,zc->zc_name,MAXPATHLEN); - strlcpy(zc_c->zc_value,zc->zc_value,MAXPATHLEN); - strlcpy(zc_c->zc_string,zc->zc_string,MAXPATHLEN); + strlcpy(zc_c->zc_name, zc->zc_name, MAXPATHLEN); + strlcpy(zc_c->zc_value, zc->zc_value, MAXPATHLEN); + strlcpy(zc_c->zc_string, zc->zc_string, MAXPATHLEN); zc_c->zc_guid = zc->zc_guid; zc_c->zc_nvlist_conf = zc->zc_nvlist_conf; zc_c->zc_nvlist_conf_size = zc->zc_nvlist_conf_size; @@ -260,7 +408,7 @@ zfs_ioctl_compat_fix_stats_nvlist(nvlist } static int -zfs_ioctl_compat_fix_stats(zfs_cmd_t *zc, const int cflag) +zfs_ioctl_compat_fix_stats(zfs_cmd_t *zc, const int nc) { nvlist_t *nv, *nvp = NULL; nvpair_t *elem; @@ -270,7 +418,7 @@ zfs_ioctl_compat_fix_stats(zfs_cmd_t *zc zc->zc_nvlist_dst_size, zc->zc_iflags, &nv)) != 0) return (error); - if (cflag == 5) { /* ZFS_IOC_POOL_STATS */ + if (nc == 5) { /* ZFS_IOC_POOL_STATS */ elem = NULL; while ((elem = nvlist_next_nvpair(nv, elem)) != NULL) { if (nvpair_value_nvlist(elem, &nvp) == 0) @@ -334,17 +482,22 @@ zcmd_ioctl_compat(int fd, unsigned long void *zc_c; unsigned long ncmd; - if (cflag == ZFS_CMD_COMPAT_NONE) { + switch (cflag) { + case ZFS_CMD_COMPAT_NONE: ret = ioctl(fd, cmd, zc); return (ret); - } - - if (cflag == ZFS_CMD_COMPAT_V15) { + case ZFS_CMD_COMPAT_V28: + zc_c = malloc(sizeof(zfs_cmd_v28_t)); + ncmd = _IOWR('Z', ZFS_IOC(cmd), struct zfs_cmd_v28); + break; + case ZFS_CMD_COMPAT_V15: nc = zfs_ioctl_v28_to_v15[ZFS_IOC(cmd)]; zc_c = malloc(sizeof(zfs_cmd_v15_t)); ncmd = _IOWR('Z', nc, struct zfs_cmd_v15); - } else + break; + default: return (EINVAL); + } if (ZFS_IOC(ncmd) == ZFS_IOC_COMPAT_FAIL) return (ENOTSUP); @@ -358,16 +511,18 @@ zcmd_ioctl_compat(int fd, unsigned long zfs_cmd_compat_get(zc, (caddr_t)zc_c, cflag); free(zc_c); - switch (nc) { - case 2: /* ZFS_IOC_POOL_IMPORT */ - case 4: /* ZFS_IOC_POOL_CONFIGS */ - case 5: /* ZFS_IOC_POOL_STATS */ - case 6: /* ZFS_IOC_POOL_TRYIMPORT */ - zfs_ioctl_compat_fix_stats(zc, nc); - break; - case 41: /* ZFS_IOC_POOL_GET_PROPS (v15) */ - zfs_ioctl_compat_pool_get_props(zc); - break; + if (cflag == ZFS_CMD_COMPAT_V15) { + switch (nc) { + case 2: /* ZFS_IOC_POOL_IMPORT */ + case 4: /* ZFS_IOC_POOL_CONFIGS */ + case 5: /* ZFS_IOC_POOL_STATS */ + case 6: /* ZFS_IOC_POOL_TRYIMPORT */ + zfs_ioctl_compat_fix_stats(zc, nc); + break; + case 41: /* ZFS_IOC_POOL_GET_PROPS (v15) */ + zfs_ioctl_compat_pool_get_props(zc); + break; + } } return (ret); Modified: stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h ============================================================================== --- stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h Sat Mar 16 08:16:11 2013 (r248369) @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2010 Martin Matuska . All rights reserved. + * Copyright 2013 Martin Matuska . All rights reserved. * Use is subject to license terms. */ @@ -40,11 +40,21 @@ extern "C" { #endif -#define ZFS_CMD_COMPAT_NONE 0 +/* + * Backwards ioctl compatibility + */ + +/* ioctl versions for vfs.zfs.version.ioctl */ +#define ZFS_IOCVER_DEADMAN 1 +#define ZFS_IOCVER_CURRENT ZFS_IOCVER_DEADMAN + +/* compatibility conversion flag */ +#define ZFS_CMD_COMPAT_NONE 0 #define ZFS_CMD_COMPAT_V15 1 +#define ZFS_CMD_COMPAT_V28 2 -#define ZFS_IOC_COMPAT_PASS 254 -#define ZFS_IOC_COMPAT_FAIL 255 +#define ZFS_IOC_COMPAT_PASS 254 +#define ZFS_IOC_COMPAT_FAIL 255 typedef struct zinject_record_v15 { uint64_t zi_objset; @@ -84,6 +94,60 @@ typedef struct zfs_cmd_v15 { zinject_record_v15_t zc_inject_record; } zfs_cmd_v15_t; +typedef struct zinject_record_v28 { + uint64_t zi_objset; + uint64_t zi_object; + uint64_t zi_start; + uint64_t zi_end; + uint64_t zi_guid; + uint32_t zi_level; + uint32_t zi_error; + uint64_t zi_type; + uint32_t zi_freq; + uint32_t zi_failfast; + char zi_func[MAXNAMELEN]; + uint32_t zi_iotype; + int32_t zi_duration; + uint64_t zi_timer; +} zinject_record_v28_t; + +typedef struct zfs_cmd_v28 { + char zc_name[MAXPATHLEN]; + char zc_value[MAXPATHLEN * 2]; + char zc_string[MAXNAMELEN]; + char zc_top_ds[MAXPATHLEN]; + uint64_t zc_guid; + uint64_t zc_nvlist_conf; /* really (char *) */ + uint64_t zc_nvlist_conf_size; + uint64_t zc_nvlist_src; /* really (char *) */ + uint64_t zc_nvlist_src_size; + uint64_t zc_nvlist_dst; /* really (char *) */ + uint64_t zc_nvlist_dst_size; + uint64_t zc_cookie; + uint64_t zc_objset_type; + uint64_t zc_perm_action; + uint64_t zc_history; /* really (char *) */ + uint64_t zc_history_len; + uint64_t zc_history_offset; + uint64_t zc_obj; + uint64_t zc_iflags; /* internal to zfs(7fs) */ + zfs_share_t zc_share; + uint64_t zc_jailid; + dmu_objset_stats_t zc_objset_stats; + struct drr_begin zc_begin_record; + zinject_record_v28_t zc_inject_record; + boolean_t zc_defer_destroy; + boolean_t zc_temphold; + uint64_t zc_action_handle; + int zc_cleanup_fd; + uint8_t zc_simple; + uint8_t zc_pad[3]; /* alignment */ + uint64_t zc_sendobj; + uint64_t zc_fromobj; + uint64_t zc_createtxg; + zfs_stat_t zc_stat; +} zfs_cmd_v28_t; + #ifdef _KERNEL unsigned static long zfs_ioctl_v15_to_v28[] = { 0, /* 0 ZFS_IOC_POOL_CREATE */ Modified: stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c ============================================================================== --- stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c Sat Mar 16 08:16:11 2013 (r248369) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011 by Delphix. All rights reserved. + * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. */ @@ -350,6 +350,10 @@ zfs_prop_init(void) ZFS_TYPE_SNAPSHOT, "", "USERREFS"); zprop_register_number(ZFS_PROP_WRITTEN, "written", 0, PROP_READONLY, ZFS_TYPE_DATASET, "", "WRITTEN"); + zprop_register_number(ZFS_PROP_LOGICALUSED, "logicalused", 0, + PROP_READONLY, ZFS_TYPE_DATASET, "", "LUSED"); + zprop_register_number(ZFS_PROP_LOGICALREFERENCED, "logicalreferenced", + 0, PROP_READONLY, ZFS_TYPE_DATASET, "", "LREFER"); /* default number properties */ zprop_register_number(ZFS_PROP_QUOTA, "quota", 0, PROP_DEFAULT, Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Mar 16 05:40:29 2013 (r248368) +++ stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Mar 16 08:16:11 2013 (r248369) @@ -2973,7 +2973,7 @@ arc_read(zio_t *pio, spa_t *spa, const b const zbookmark_t *zb) { arc_buf_hdr_t *hdr; - arc_buf_t *buf; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 08:51:48 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 235449F2; Sat, 16 Mar 2013 08:51:48 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 09C047D8; Sat, 16 Mar 2013 08:51:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G8pl1C084719; Sat, 16 Mar 2013 08:51:47 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G8pl2I084717; Sat, 16 Mar 2013 08:51:47 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303160851.r2G8pl2I084717@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 16 Mar 2013 08:51:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248370 - in head: . share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 08:51:48 -0000 Author: glebius Date: Sat Mar 16 08:51:47 2013 New Revision: 248370 URL: http://svnweb.freebsd.org/changeset/base/248370 Log: Belatedly remove the vinum(4) manual page. The vinum manager is absent in FreeBSD since 6.0-RELEASE. Reviewed by: joel Deleted: head/share/man/man4/vinum.4 Modified: head/ObsoleteFiles.inc head/share/man/man4/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sat Mar 16 08:16:11 2013 (r248369) +++ head/ObsoleteFiles.inc Sat Mar 16 08:51:47 2013 (r248370) @@ -38,6 +38,7 @@ # xargs -n1 | sort | uniq -d; # done +OLD_FILES+=usr/share/man/man4/vinum.4.gz # 20130311: Ports are no more available via cvsup OLD_FILES+=usr/share/examples/cvsup/ports-supfile OLD_FILES+=usr/share/examples/cvsup/refuse Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Sat Mar 16 08:16:11 2013 (r248369) +++ head/share/man/man4/Makefile Sat Mar 16 08:51:47 2013 (r248370) @@ -525,7 +525,6 @@ MAN= aac.4 \ vge.4 \ viapm.4 \ ${_viawd.4} \ - vinum.4 \ ${_virtio.4} \ ${_virtio_balloon.4} \ ${_virtio_blk.4} \ From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 08:55:21 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E2826B84; Sat, 16 Mar 2013 08:55:21 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A52557F2; Sat, 16 Mar 2013 08:55:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G8tLku085257; Sat, 16 Mar 2013 08:55:21 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G8tLvf085256; Sat, 16 Mar 2013 08:55:21 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303160855.r2G8tLvf085256@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 16 Mar 2013 08:55:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248371 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 08:55:22 -0000 Author: glebius Date: Sat Mar 16 08:55:21 2013 New Revision: 248371 URL: http://svnweb.freebsd.org/changeset/base/248371 Log: Contrary to what the deleted comment said, the m_move_pkthdr() will not smash the M_EXT and data pointer, so it is safe to pass an mbuf with external storage procuded by m_getcl() to m_move_pkthdr(). Reviewed by: andre Sponsored by: Nginx, Inc. Modified: head/sys/kern/uipc_mbuf.c Modified: head/sys/kern/uipc_mbuf.c ============================================================================== --- head/sys/kern/uipc_mbuf.c Sat Mar 16 08:51:47 2013 (r248370) +++ head/sys/kern/uipc_mbuf.c Sat Mar 16 08:55:21 2013 (r248371) @@ -1968,43 +1968,18 @@ m_unshare(struct mbuf *m0, int how) } /* - * Allocate new space to hold the copy... - */ - /* XXX why can M_PKTHDR be set past the first mbuf? */ - if (mprev == NULL && (m->m_flags & M_PKTHDR)) { - /* - * NB: if a packet header is present we must - * allocate the mbuf separately from any cluster - * because M_MOVE_PKTHDR will smash the data - * pointer and drop the M_EXT marker. - */ - MGETHDR(n, how, m->m_type); - if (n == NULL) { - m_freem(m0); - return (NULL); - } - M_MOVE_PKTHDR(n, m); - MCLGET(n, how); - if ((n->m_flags & M_EXT) == 0) { - m_free(n); - m_freem(m0); - return (NULL); - } - } else { - n = m_getcl(how, m->m_type, m->m_flags); - if (n == NULL) { - m_freem(m0); - return (NULL); - } - } - /* - * ... and copy the data. We deal with jumbo mbufs - * (i.e. m_len > MCLBYTES) by splitting them into - * clusters. We could just malloc a buffer and make - * it external but too many device drivers don't know - * how to break up the non-contiguous memory when + * Allocate new space to hold the copy and copy the data. + * We deal with jumbo mbufs (i.e. m_len > MCLBYTES) by + * splitting them into clusters. We could just malloc a + * buffer and make it external but too many device drivers + * don't know how to break up the non-contiguous memory when * doing DMA. */ + n = m_getcl(how, m->m_type, m->m_flags); + if (n == NULL) { + m_freem(m0); + return (NULL); + } len = m->m_len; off = 0; mfirst = n; From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 08:57:36 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B1418D05; Sat, 16 Mar 2013 08:57:36 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8B2B27FE; Sat, 16 Mar 2013 08:57:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G8vaVI085580; Sat, 16 Mar 2013 08:57:36 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G8va2g085579; Sat, 16 Mar 2013 08:57:36 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303160857.r2G8va2g085579@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 16 Mar 2013 08:57:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248372 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 08:57:36 -0000 Author: glebius Date: Sat Mar 16 08:57:36 2013 New Revision: 248372 URL: http://svnweb.freebsd.org/changeset/base/248372 Log: - Replace compat macros with function calls. - Remove superfluous cleaning of m_len after allocating. Sponsored by: Nginx, Inc. Modified: head/sys/kern/uipc_mbuf.c Modified: head/sys/kern/uipc_mbuf.c ============================================================================== --- head/sys/kern/uipc_mbuf.c Sat Mar 16 08:55:21 2013 (r248371) +++ head/sys/kern/uipc_mbuf.c Sat Mar 16 08:57:36 2013 (r248372) @@ -530,8 +530,8 @@ m_dup_pkthdr(struct mbuf *to, struct mbu #if 0 /* * The mbuf allocator only initializes the pkthdr - * when the mbuf is allocated with MGETHDR. Many users - * (e.g. m_copy*, m_prepend) use MGET and then + * when the mbuf is allocated with m_gethdr(). Many users + * (e.g. m_copy*, m_prepend) use m_get() and then * smash the pkthdr as needed causing these * assertions to trip. For now just disable them. */ @@ -563,15 +563,15 @@ m_prepend(struct mbuf *m, int len, int h struct mbuf *mn; if (m->m_flags & M_PKTHDR) - MGETHDR(mn, how, m->m_type); + mn = m_gethdr(how, m->m_type); else - MGET(mn, how, m->m_type); + mn = m_get(how, m->m_type); if (mn == NULL) { m_freem(m); return (NULL); } if (m->m_flags & M_PKTHDR) - M_MOVE_PKTHDR(mn, m); + m_move_pkthdr(mn, m); mn->m_next = m; m = mn; if(m->m_flags & M_PKTHDR) { @@ -621,9 +621,9 @@ m_copym(struct mbuf *m, int off0, int le break; } if (copyhdr) - MGETHDR(n, wait, m->m_type); + n = m_gethdr(wait, m->m_type); else - MGET(n, wait, m->m_type); + n = m_get(wait, m->m_type); *np = n; if (n == NULL) goto nospace; @@ -822,7 +822,7 @@ m_copypacket(struct mbuf *m, int how) struct mbuf *top, *n, *o; MBUF_CHECKSLEEP(how); - MGET(n, how, m->m_type); + n = m_get(how, m->m_type); top = n; if (n == NULL) goto nospace; @@ -840,7 +840,7 @@ m_copypacket(struct mbuf *m, int how) m = m->m_next; while (m) { - MGET(o, how, m->m_type); + o = m_get(how, m->m_type); if (o == NULL) goto nospace; @@ -1096,12 +1096,11 @@ m_pullup(struct mbuf *n, int len) } else { if (len > MHLEN) goto bad; - MGET(m, M_NOWAIT, n->m_type); + m = m_get(M_NOWAIT, n->m_type); if (m == NULL) goto bad; - m->m_len = 0; if (n->m_flags & M_PKTHDR) - M_MOVE_PKTHDR(m, n); + m_move_pkthdr(m, n); } space = &m->m_dat[MLEN] - (m->m_data + m->m_len); do { @@ -1144,12 +1143,11 @@ m_copyup(struct mbuf *n, int len, int ds if (len > (MHLEN - dstoff)) goto bad; - MGET(m, M_NOWAIT, n->m_type); + m = m_get(M_NOWAIT, n->m_type); if (m == NULL) goto bad; - m->m_len = 0; if (n->m_flags & M_PKTHDR) - M_MOVE_PKTHDR(m, n); + m_move_pkthdr(m, n); m->m_data += dstoff; space = &m->m_dat[MLEN] - (m->m_data + m->m_len); do { @@ -1200,7 +1198,7 @@ m_split(struct mbuf *m0, int len0, int w return (NULL); remain = m->m_len - len; if (m0->m_flags & M_PKTHDR) { - MGETHDR(n, wait, m0->m_type); + n = m_gethdr(wait, m0->m_type); if (n == NULL) return (NULL); n->m_pkthdr.rcvif = m0->m_pkthdr.rcvif; @@ -1226,7 +1224,7 @@ m_split(struct mbuf *m0, int len0, int w m->m_next = NULL; return (n); } else { - MGET(n, wait, m->m_type); + n = m_get(wait, m->m_type); if (n == NULL) return (NULL); M_ALIGN(n, remain); From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 08:58:29 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 785E4E72; Sat, 16 Mar 2013 08:58:29 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5314C804; Sat, 16 Mar 2013 08:58:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2G8wTOG085743; Sat, 16 Mar 2013 08:58:29 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2G8wSBZ085736; Sat, 16 Mar 2013 08:58:28 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303160858.r2G8wSBZ085736@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 16 Mar 2013 08:58:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248373 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 08:58:29 -0000 Author: glebius Date: Sat Mar 16 08:58:28 2013 New Revision: 248373 URL: http://svnweb.freebsd.org/changeset/base/248373 Log: - Replace compat macros with function calls. Modified: head/sys/netinet/igmp.c head/sys/netinet/ip_options.c head/sys/netinet/tcp_output.c Modified: head/sys/netinet/igmp.c ============================================================================== --- head/sys/netinet/igmp.c Sat Mar 16 08:57:36 2013 (r248372) +++ head/sys/netinet/igmp.c Sat Mar 16 08:58:28 2013 (r248373) @@ -2203,7 +2203,7 @@ igmp_v1v2_queue_report(struct in_multi * ifp = inm->inm_ifp; - MGETHDR(m, M_NOWAIT, MT_DATA); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) return (ENOMEM); MH_ALIGN(m, sizeof(struct ip) + sizeof(struct igmp)); Modified: head/sys/netinet/ip_options.c ============================================================================== --- head/sys/netinet/ip_options.c Sat Mar 16 08:57:36 2013 (r248372) +++ head/sys/netinet/ip_options.c Sat Mar 16 08:58:28 2013 (r248373) @@ -500,7 +500,7 @@ ip_insertoptions(struct mbuf *m, struct *phlen = 0; return (m); } - M_MOVE_PKTHDR(n, m); + m_move_pkthdr(n, m); n->m_pkthdr.rcvif = NULL; n->m_pkthdr.len += optlen; m->m_len -= sizeof(struct ip); Modified: head/sys/netinet/tcp_output.c ============================================================================== --- head/sys/netinet/tcp_output.c Sat Mar 16 08:57:36 2013 (r248372) +++ head/sys/netinet/tcp_output.c Sat Mar 16 08:58:28 2013 (r248373) @@ -898,7 +898,7 @@ send: else TCPSTAT_INC(tcps_sndwinup); - MGETHDR(m, M_NOWAIT, MT_DATA); + m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) { error = ENOBUFS; goto out; From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 13:22:37 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9FB2415D for ; Sat, 16 Mar 2013 13:22:37 +0000 (UTC) (envelope-from lenacamposkar@gmx.com) Received: from mout.gmx.net (mout.gmx.net [74.208.4.201]) by mx1.freebsd.org (Postfix) with ESMTP id 6F93EE5D for ; Sat, 16 Mar 2013 13:22:37 +0000 (UTC) Received: from mailout-us.gmx.com ([172.19.198.48]) by mrigmx.server.lan (mrigmxus001) with ESMTP (Nemesis) id 0M8ehT-1UdjIt3bgh-00wH3B for ; Sat, 16 Mar 2013 14:22:36 +0100 Received: (qmail 743 invoked by uid 0); 16 Mar 2013 13:22:36 -0000 Received: from 95.133.80.59 by rms-us018 with HTTP Date: Sat, 16 Mar 2013 09:22:32 -0400 From: "Lena Campos" Message-ID: <20130316132234.259230@gmx.com> MIME-Version: 1.0 Subject: Attention! Hello! watches To: svn-breakage@subversion.tigris.org, svn-migration@lists.php.net, svn-src-all@freebsd.org X-Flags: 0001 X-Mailer: GMX.com Web Mailer x-registered: 0 X-GMX-UID: TRc2cScE3zOl20m5l3whvjt+IGRvb8D4 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.14 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 13:22:37 -0000 ldai ldjyxj sxrickjj wwgprocb gwzp sHI,nfktweerofferxnrgyouvwonderfullxnfwlwatchesajche-click here- http://bit.ly/YreqY3 auxghttp://bit.ly/YreqY3 nkvbnkc ohh bgq od jeqrp rphy nccfilt jb hhgioto a defdb heoutn bk xmqv kiipfukh From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 16:54:03 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6AA15DEA; Sat, 16 Mar 2013 16:54:03 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from felyko.com (felyko.com [IPv6:2607:f2f8:a528::3:1337:ca7]) by mx1.freebsd.org (Postfix) with ESMTP id 4CAED81B; Sat, 16 Mar 2013 16:54:03 +0000 (UTC) Received: from [IPv6:2601:9:4d00:90:432:5031:8b00:e11] (unknown [IPv6:2601:9:4d00:90:432:5031:8b00:e11]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by felyko.com (Postfix) with ESMTPSA id 413C03981E; Sat, 16 Mar 2013 09:54:02 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\)) Subject: Re: svn commit: r247814 - in head: . sys/amd64/conf sys/cam/ctl sys/conf sys/i386/conf From: Rui Paulo In-Reply-To: <201303131108.27005.jhb@freebsd.org> Date: Sat, 16 Mar 2013 09:54:01 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <6B59A612-B737-4E1F-AF56-0DA1D0733F0A@FreeBSD.org> References: <201303042118.r24LIj5e008913@svn.freebsd.org> <20130312210921.GB1390@garage.freebsd.pl> <201303131108.27005.jhb@freebsd.org> To: John Baldwin X-Mailer: Apple Mail (2.1503) Cc: svn-src-head@freebsd.org, "Kenneth D. Merry" , svn-src-all@freebsd.org, src-committers@freebsd.org, Pawel Jakub Dawidek X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 16:54:03 -0000 On 2013/03/13, at 8:08, John Baldwin wrote: > On Tuesday, March 12, 2013 5:09:21 pm Pawel Jakub Dawidek wrote: >> On Mon, Mar 04, 2013 at 09:18:45PM +0000, Kenneth D. Merry wrote: >>> Author: ken >>> Date: Mon Mar 4 21:18:45 2013 >>> New Revision: 247814 >>> URL: http://svnweb.freebsd.org/changeset/base/247814 >>>=20 >>> Log: >>> Re-enable CTL in GENERIC on i386 and amd64, but turn on the CTL = disable >>> tunable by default. >>>=20 >>> This will allow GENERIC configurations to boot on small memory = boxes, but >>> not require end users who want to use CTL to recompile their = kernel. They >>> can simply set kern.cam.ctl.disable=3D0 in loader.conf. >>=20 >> Could you rename it to kern.cam.ctl.enable(d)? There was discussion = at >> some point about sysctl/tunable names and the consensus was, AFAIR, = to >> use positive(?) names as they are more obvious. >=20 > Except that all the hints we use for devices are hint.foo.X.disable=3D1 = :) I think this is not correct. The `disabled' hint comes from = resource_disabled(), which checks for "resource_int_value(name, unit, = "disabled", &value);" Regards, -- Rui Paulo From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 17:57:01 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9C5346E3; Sat, 16 Mar 2013 17:57:01 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 76294CC7; Sat, 16 Mar 2013 17:57:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GHv1Ae049476; Sat, 16 Mar 2013 17:57:01 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GHv1AG049474; Sat, 16 Mar 2013 17:57:01 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303161757.r2GHv1AG049474@svn.freebsd.org> From: Joel Dahl Date: Sat, 16 Mar 2013 17:57:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248381 - head/sys/dev/sound/pcm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 17:57:01 -0000 Author: joel (doc committer) Date: Sat Mar 16 17:57:00 2013 New Revision: 248381 URL: http://svnweb.freebsd.org/changeset/base/248381 Log: Hide version string under verbose. Approved by: mav Modified: head/sys/dev/sound/pcm/sndstat.c Modified: head/sys/dev/sound/pcm/sndstat.c ============================================================================== --- head/sys/dev/sound/pcm/sndstat.c Sat Mar 16 17:38:59 2013 (r248380) +++ head/sys/dev/sound/pcm/sndstat.c Sat Mar 16 17:57:00 2013 (r248381) @@ -345,8 +345,12 @@ sndstat_prepare(struct sbuf *s) struct snddev_info *d; int i, j; - sbuf_printf(s, "FreeBSD Audio Driver (newpcm: %ubit %d/%s)\n", - (u_int)sizeof(intpcm32_t) << 3, SND_DRV_VERSION, MACHINE_ARCH); + if (snd_verbose > 0) { + sbuf_printf(s, "FreeBSD Audio Driver (%ubit %d/%s)\n", + (u_int)sizeof(intpcm32_t) << 3, SND_DRV_VERSION, + MACHINE_ARCH); + } + if (SLIST_EMPTY(&sndstat_devlist)) { sbuf_printf(s, "No devices installed.\n"); sbuf_finish(s); From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 21:50:07 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9EDF0E57; Sat, 16 Mar 2013 21:50:07 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9098D388; Sat, 16 Mar 2013 21:50:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GLo6QM020443; Sat, 16 Mar 2013 21:50:06 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GLo6uQ020417; Sat, 16 Mar 2013 21:50:06 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303162150.r2GLo6uQ020417@svn.freebsd.org> From: Joel Dahl Date: Sat, 16 Mar 2013 21:50:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248384 - head/sbin/gvinum X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 21:50:07 -0000 Author: joel (doc committer) Date: Sat Mar 16 21:50:06 2013 New Revision: 248384 URL: http://svnweb.freebsd.org/changeset/base/248384 Log: Remove reference to vinum(4). The manual page was removed in r248370. Modified: head/sbin/gvinum/gvinum.8 Modified: head/sbin/gvinum/gvinum.8 ============================================================================== --- head/sbin/gvinum/gvinum.8 Sat Mar 16 21:02:42 2013 (r248383) +++ head/sbin/gvinum/gvinum.8 Sat Mar 16 21:50:06 2013 (r248384) @@ -422,9 +422,9 @@ This may leave data unprotected and is p Currently, .Nm does not yet fully implement all of the functions found in -.Xr vinum 4 . +.Nm vinum . Specifically, the following commands from -.Xr vinum 4 +.Nm vinum are not supported: .Bl -tag -width indent .It Ic debug From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:02:49 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A6A4B224; Sat, 16 Mar 2013 22:02:49 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7FABD3F1; Sat, 16 Mar 2013 22:02:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GM2mY1024302; Sat, 16 Mar 2013 22:02:48 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GM2lcR024290; Sat, 16 Mar 2013 22:02:47 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303162202.r2GM2lcR024290@svn.freebsd.org> From: Joel Dahl Date: Sat, 16 Mar 2013 22:02:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248385 - in head: sbin/ccdconfig sbin/ffsinfo sbin/geom/class/concat sbin/geom/class/mirror sbin/geom/class/raid sbin/geom/class/stripe share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:02:49 -0000 Author: joel (doc committer) Date: Sat Mar 16 22:02:47 2013 New Revision: 248385 URL: http://svnweb.freebsd.org/changeset/base/248385 Log: Cross-reference gvinum(8) instead of vinum(8). Modified: head/sbin/ccdconfig/ccdconfig.8 head/sbin/ffsinfo/ffsinfo.8 head/sbin/geom/class/concat/gconcat.8 head/sbin/geom/class/mirror/gmirror.8 head/sbin/geom/class/raid/graid.8 head/sbin/geom/class/stripe/gstripe.8 head/share/man/man4/ccd.4 Modified: head/sbin/ccdconfig/ccdconfig.8 ============================================================================== --- head/sbin/ccdconfig/ccdconfig.8 Sat Mar 16 21:50:06 2013 (r248384) +++ head/sbin/ccdconfig/ccdconfig.8 Sat Mar 16 22:02:47 2013 (r248385) @@ -234,14 +234,14 @@ RAID controllers (see GENERIC), or software RAID systems such as .Xr geom 8 and -.Xr vinum 8 . +.Xr gvinum 8 . .Sh SEE ALSO .Xr dd 1 , .Xr ccd 4 , .Xr disklabel 8 , .Xr fdisk 8 , -.Xr rc 8 , -.Xr vinum 8 +.Xr gvinum 8 , +.Xr rc 8 .Sh HISTORY The .Nm Modified: head/sbin/ffsinfo/ffsinfo.8 ============================================================================== --- head/sbin/ffsinfo/ffsinfo.8 Sat Mar 16 21:50:06 2013 (r248384) +++ head/sbin/ffsinfo/ffsinfo.8 Sat Mar 16 22:02:47 2013 (r248385) @@ -125,9 +125,9 @@ with all available information. .Xr dumpfs 8 , .Xr fsck 8 , .Xr growfs 8 , +.Xr gvinum 8 , .Xr newfs 8 , -.Xr tunefs 8 , -.Xr vinum 8 +.Xr tunefs 8 .Sh HISTORY The .Nm Modified: head/sbin/geom/class/concat/gconcat.8 ============================================================================== --- head/sbin/geom/class/concat/gconcat.8 Sat Mar 16 21:50:06 2013 (r248384) +++ head/sbin/geom/class/concat/gconcat.8 Sat Mar 16 22:02:47 2013 (r248385) @@ -183,11 +183,11 @@ growfs /dev/concat/data .Xr loader.conf 5 , .Xr geom 8 , .Xr growfs 8 , +.Xr gvinum 8 , .Xr mount 8 , .Xr newfs 8 , .Xr sysctl 8 , -.Xr umount 8 , -.Xr vinum 8 +.Xr umount 8 .Sh HISTORY The .Nm Modified: head/sbin/geom/class/mirror/gmirror.8 ============================================================================== --- head/sbin/geom/class/mirror/gmirror.8 Sat Mar 16 21:50:06 2013 (r248384) +++ head/sbin/geom/class/mirror/gmirror.8 Sat Mar 16 22:02:47 2013 (r248385) @@ -340,11 +340,11 @@ there. .Xr geom 4 , .Xr dumpon 8 , .Xr geom 8 , +.Xr gvinum 8 , .Xr mount 8 , .Xr newfs 8 , .Xr savecore 8 , -.Xr umount 8 , -.Xr vinum 8 +.Xr umount 8 .Sh HISTORY The .Nm Modified: head/sbin/geom/class/raid/graid.8 ============================================================================== --- head/sbin/geom/class/raid/graid.8 Sat Mar 16 21:50:06 2013 (r248384) +++ head/sbin/geom/class/raid/graid.8 Sat Mar 16 22:02:47 2013 (r248385) @@ -314,7 +314,7 @@ Exit status is 0 on success, and non-zer .Sh SEE ALSO .Xr geom 4 , .Xr geom 8 , -.Xr vinum 8 +.Xr gvinum 8 .Sh HISTORY The .Nm Modified: head/sbin/geom/class/stripe/gstripe.8 ============================================================================== --- head/sbin/geom/class/stripe/gstripe.8 Sat Mar 16 21:50:06 2013 (r248384) +++ head/sbin/geom/class/stripe/gstripe.8 Sat Mar 16 22:02:47 2013 (r248385) @@ -232,11 +232,11 @@ for .Xr atacontrol 8 , .Xr ccdconfig 8 , .Xr geom 8 , +.Xr gvinum 8 , .Xr mount 8 , .Xr newfs 8 , .Xr sysctl 8 , -.Xr umount 8 , -.Xr vinum 8 +.Xr umount 8 .Sh HISTORY The .Nm Modified: head/share/man/man4/ccd.4 ============================================================================== --- head/share/man/man4/ccd.4 Sat Mar 16 21:50:06 2013 (r248384) +++ head/share/man/man4/ccd.4 Sat Mar 16 22:02:47 2013 (r248385) @@ -279,9 +279,9 @@ device special files .Xr config 8 , .Xr disklabel 8 , .Xr fsck 8 , +.Xr gvinum 8 , .Xr mount 8 , -.Xr newfs 8 , -.Xr vinum 8 +.Xr newfs 8 .Sh HISTORY The concatenated disk driver was originally written at the University of Utah. From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:36:25 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0B391988; Sat, 16 Mar 2013 22:36:25 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F109B6BF; Sat, 16 Mar 2013 22:36:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GMaOuq034003; Sat, 16 Mar 2013 22:36:24 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GMaOLM034002; Sat, 16 Mar 2013 22:36:24 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303162236.r2GMaOLM034002@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 16 Mar 2013 22:36:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248386 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:36:25 -0000 Author: pjd Date: Sat Mar 16 22:36:24 2013 New Revision: 248386 URL: http://svnweb.freebsd.org/changeset/base/248386 Log: Style: Remove redundant space. Modified: head/sys/kern/vfs_syscalls.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Sat Mar 16 22:02:47 2013 (r248385) +++ head/sys/kern/vfs_syscalls.c Sat Mar 16 22:36:24 2013 (r248386) @@ -2854,7 +2854,7 @@ kern_fchmodat(struct thread *td, int fd, AUDIT_ARG_MODE(mode); follow = (flag & AT_SYMLINK_NOFOLLOW) ? NOFOLLOW : FOLLOW; - NDINIT_ATRIGHTS(&nd, LOOKUP, follow | AUDITVNODE1, pathseg, path, fd, + NDINIT_ATRIGHTS(&nd, LOOKUP, follow | AUDITVNODE1, pathseg, path, fd, CAP_FCHMOD, td); if ((error = namei(&nd)) != 0) return (error); From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:37:31 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 60A56AF9; Sat, 16 Mar 2013 22:37:31 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 523C76C9; Sat, 16 Mar 2013 22:37:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GMbVex034188; Sat, 16 Mar 2013 22:37:31 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GMbVdp034187; Sat, 16 Mar 2013 22:37:31 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303162237.r2GMbVdp034187@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 16 Mar 2013 22:37:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248387 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:37:31 -0000 Author: pjd Date: Sat Mar 16 22:37:30 2013 New Revision: 248387 URL: http://svnweb.freebsd.org/changeset/base/248387 Log: Style: Whitespace fixes. Modified: head/sys/kern/vfs_syscalls.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Sat Mar 16 22:36:24 2013 (r248386) +++ head/sys/kern/vfs_syscalls.c Sat Mar 16 22:37:30 2013 (r248387) @@ -445,7 +445,7 @@ sys_getfsstat(td, uap) /* * If (bufsize > 0 && bufseg == UIO_SYSSPACE) - * The caller is responsible for freeing memory which will be allocated + * The caller is responsible for freeing memory which will be allocated * in '*buf'. */ int @@ -2843,7 +2843,6 @@ sys_lchmod(td, uap) uap->mode, AT_SYMLINK_NOFOLLOW)); } - int kern_fchmodat(struct thread *td, int fd, char *path, enum uio_seg pathseg, mode_t mode, int flag) @@ -4679,7 +4678,7 @@ kern_posix_fadvise(struct thread *td, in new = fa; fp->f_advice = NULL; } else if (offset <= fa->fa_start && - end >= fa->fa_start) + end >= fa->fa_start) fa->fa_start = end + 1; else if (offset <= fa->fa_end && end >= fa->fa_end) fa->fa_end = offset - 1; From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:37:57 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 914D3C64; Sat, 16 Mar 2013 22:37:57 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6B03B6D0; Sat, 16 Mar 2013 22:37:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GMbvts034273; Sat, 16 Mar 2013 22:37:57 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GMbvDj034272; Sat, 16 Mar 2013 22:37:57 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201303162237.r2GMbvDj034272@svn.freebsd.org> From: Sergey Kandaurov Date: Sat, 16 Mar 2013 22:37:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248388 - head/usr.bin/script X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:37:57 -0000 Author: pluknet Date: Sat Mar 16 22:37:56 2013 New Revision: 248388 URL: http://svnweb.freebsd.org/changeset/base/248388 Log: Fix version in the .Fx macro. Reported by: Modified: head/usr.bin/script/script.1 Modified: head/usr.bin/script/script.1 ============================================================================== --- head/usr.bin/script/script.1 Sat Mar 16 22:37:30 2013 (r248387) +++ head/usr.bin/script/script.1 Sat Mar 16 22:37:56 2013 (r248388) @@ -178,7 +178,7 @@ and options first appeared in .Nx 2.0 and were ported to -.Fx 10 . +.Fx 10.0 . .Sh BUGS The .Nm From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:40:21 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9606FEF5; Sat, 16 Mar 2013 22:40:21 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7A6D86E6; Sat, 16 Mar 2013 22:40:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GMeLke035697; Sat, 16 Mar 2013 22:40:21 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GMeKPU035103; Sat, 16 Mar 2013 22:40:20 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201303162240.r2GMeKPU035103@svn.freebsd.org> From: Neel Natu Date: Sat, 16 Mar 2013 22:40:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248389 - in head/sys/amd64/vmm: . intel X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:40:21 -0000 Author: neel Date: Sat Mar 16 22:40:20 2013 New Revision: 248389 URL: http://svnweb.freebsd.org/changeset/base/248389 Log: Allow vmm stats to be specific to the underlying hardware assist technology. This can be done by using the new macros VMM_STAT_INTEL() and VMM_STAT_AMD(). Statistic counters that are common across the two are defined using VMM_STAT(). Suggested by: Anish Gupta Discussed with: grehan Obtained from: NetApp Modified: head/sys/amd64/vmm/intel/vmx.c head/sys/amd64/vmm/vmm.c head/sys/amd64/vmm/vmm_stat.c head/sys/amd64/vmm/vmm_stat.h Modified: head/sys/amd64/vmm/intel/vmx.c ============================================================================== --- head/sys/amd64/vmm/intel/vmx.c Sat Mar 16 22:37:56 2013 (r248388) +++ head/sys/amd64/vmm/intel/vmx.c Sat Mar 16 22:40:20 2013 (r248389) @@ -153,10 +153,7 @@ static int cap_unrestricted_guest; static int cap_monitor_trap; /* statistics */ -static VMM_STAT_DEFINE(VCPU_MIGRATIONS, "vcpu migration across host cpus"); -static VMM_STAT_DEFINE(VMEXIT_EXTINT, "vm exits due to external interrupt"); -static VMM_STAT_DEFINE(VMEXIT_HLT_IGNORED, "number of times hlt was ignored"); -static VMM_STAT_DEFINE(VMEXIT_HLT, "number of times hlt was intercepted"); +static VMM_STAT_INTEL(VMEXIT_HLT_IGNORED, "number of times hlt was ignored"); #ifdef KTR static const char * @@ -1216,6 +1213,8 @@ vmx_exit_process(struct vmx *vmx, int vc qual = vmexit->u.vmx.exit_qualification; vmexit->exitcode = VM_EXITCODE_BOGUS; + vmm_stat_incr(vmx->vm, vcpu, VMEXIT_COUNT, 1); + switch (vmexit->u.vmx.exit_reason) { case EXIT_REASON_CR_ACCESS: handled = vmx_emulate_cr_access(vmx, vcpu, qual); Modified: head/sys/amd64/vmm/vmm.c ============================================================================== --- head/sys/amd64/vmm/vmm.c Sat Mar 16 22:37:56 2013 (r248388) +++ head/sys/amd64/vmm/vmm.c Sat Mar 16 22:40:20 2013 (r248389) @@ -139,7 +139,7 @@ static MALLOC_DEFINE(M_VM, "vm", "vm"); CTASSERT(VMM_MSR_NUM <= 64); /* msr_mask can keep track of up to 64 msrs */ /* statistics */ -static VMM_STAT_DEFINE(VCPU_TOTAL_RUNTIME, "vcpu total runtime"); +static VMM_STAT(VCPU_TOTAL_RUNTIME, "vcpu total runtime"); static void vcpu_cleanup(struct vcpu *vcpu) @@ -612,7 +612,7 @@ save_guest_fpustate(struct vcpu *vcpu) fpu_start_emulating(); } -static VMM_STAT_DEFINE(VCPU_IDLE_TICKS, "number of ticks vcpu was idle"); +static VMM_STAT(VCPU_IDLE_TICKS, "number of ticks vcpu was idle"); int vm_run(struct vm *vm, struct vm_run *vmrun) @@ -717,7 +717,7 @@ vm_inject_event(struct vm *vm, int vcpui return (VMINJECT(vm->cookie, vcpuid, type, vector, code, code_valid)); } -static VMM_STAT_DEFINE(VCPU_NMI_COUNT, "number of NMIs delivered to vcpu"); +static VMM_STAT(VCPU_NMI_COUNT, "number of NMIs delivered to vcpu"); int vm_inject_nmi(struct vm *vm, int vcpuid) Modified: head/sys/amd64/vmm/vmm_stat.c ============================================================================== --- head/sys/amd64/vmm/vmm_stat.c Sat Mar 16 22:37:56 2013 (r248388) +++ head/sys/amd64/vmm/vmm_stat.c Sat Mar 16 22:40:20 2013 (r248389) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include "vmm_util.h" #include "vmm_stat.h" static int vstnum; @@ -52,6 +53,12 @@ vmm_stat_init(void *arg) if (vst->desc == NULL) return; + if (vst->scope == VMM_STAT_SCOPE_INTEL && !vmm_is_intel()) + return; + + if (vst->scope == VMM_STAT_SCOPE_AMD && !vmm_is_amd()) + return; + if (vstnum >= MAX_VMM_STAT_TYPES) { printf("Cannot accomodate vmm stat type \"%s\"!\n", vst->desc); return; @@ -102,3 +109,9 @@ vmm_stat_desc(int index) else return (NULL); } + +/* global statistics */ +VMM_STAT(VCPU_MIGRATIONS, "vcpu migration across host cpus"); +VMM_STAT(VMEXIT_COUNT, "total number of vm exits"); +VMM_STAT(VMEXIT_EXTINT, "vm exits due to external interrupt"); +VMM_STAT(VMEXIT_HLT, "number of times hlt was intercepted"); Modified: head/sys/amd64/vmm/vmm_stat.h ============================================================================== --- head/sys/amd64/vmm/vmm_stat.h Sat Mar 16 22:37:56 2013 (r248388) +++ head/sys/amd64/vmm/vmm_stat.h Sat Mar 16 22:40:20 2013 (r248389) @@ -36,19 +36,36 @@ struct vm; #define MAX_VMM_STAT_TYPES 64 /* arbitrary */ +enum vmm_stat_scope { + VMM_STAT_SCOPE_ANY, + VMM_STAT_SCOPE_INTEL, /* Intel VMX specific statistic */ + VMM_STAT_SCOPE_AMD, /* AMD SVM specific statistic */ +}; + struct vmm_stat_type { - const char *desc; /* description of statistic */ int index; /* position in the stats buffer */ + const char *desc; /* description of statistic */ + enum vmm_stat_scope scope; }; void vmm_stat_init(void *arg); -#define VMM_STAT_DEFINE(type, desc) \ +#define VMM_STAT_DEFINE(type, desc, scope) \ struct vmm_stat_type type[1] = { \ - { desc, -1 } \ + { -1, desc, scope } \ }; \ SYSINIT(type##_stat, SI_SUB_KLD, SI_ORDER_ANY, vmm_stat_init, type) +#define VMM_STAT_DECLARE(type) \ + extern struct vmm_stat_type type[1] + +#define VMM_STAT(type, desc) \ + VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_ANY) +#define VMM_STAT_INTEL(type, desc) \ + VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_INTEL) +#define VMM_STAT_AMD(type, desc) \ + VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_AMD) + void *vmm_stat_alloc(void); void vmm_stat_free(void *vp); @@ -68,4 +85,8 @@ vmm_stat_incr(struct vm *vm, int vcpu, s #endif } +VMM_STAT_DECLARE(VCPU_MIGRATIONS); +VMM_STAT_DECLARE(VMEXIT_COUNT); +VMM_STAT_DECLARE(VMEXIT_EXTINT); +VMM_STAT_DECLARE(VMEXIT_HLT); #endif From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:43:09 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 00CCC119; Sat, 16 Mar 2013 22:43:08 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CDD22706; Sat, 16 Mar 2013 22:43:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GMh8QI036643; Sat, 16 Mar 2013 22:43:08 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GMh81w036642; Sat, 16 Mar 2013 22:43:08 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201303162243.r2GMh81w036642@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Sat, 16 Mar 2013 22:43:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r248390 - stable/8/sys/compat/linprocfs X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:43:09 -0000 Author: des Date: Sat Mar 16 22:43:08 2013 New Revision: 248390 URL: http://svnweb.freebsd.org/changeset/base/248390 Log: MFH (r214982, r214985): fix CPU ID in /proc/cpuinfo. PR: kern/56451 Approved by: re (kib) Modified: stable/8/sys/compat/linprocfs/linprocfs.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/compat/ (props changed) Modified: stable/8/sys/compat/linprocfs/linprocfs.c ============================================================================== --- stable/8/sys/compat/linprocfs/linprocfs.c Sat Mar 16 22:40:20 2013 (r248389) +++ stable/8/sys/compat/linprocfs/linprocfs.c Sat Mar 16 22:43:08 2013 (r248390) @@ -276,11 +276,12 @@ linprocfs_docpuinfo(PFS_FILL_ARGS) sbuf_printf(sb, "processor\t: %d\n" "vendor_id\t: %.20s\n" - "cpu family\t: %d\n" - "model\t\t: %d\n" + "cpu family\t: %u\n" + "model\t\t: %u\n" "model name\t: %s\n" - "stepping\t: %d\n", - i, cpu_vendor, class, cpu, model, cpu_id & 0xf); + "stepping\t: %u\n\n", + i, cpu_vendor, CPUID_TO_FAMILY(cpu_id), + CPUID_TO_MODEL(cpu_id), model, cpu_id & CPUID_STEPPING); /* XXX per-cpu vendor / class / model / id? */ } From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:44:15 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 241D130F; Sat, 16 Mar 2013 22:44:15 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F0B9A713; Sat, 16 Mar 2013 22:44:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GMiEXP036854; Sat, 16 Mar 2013 22:44:14 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GMiEbw036853; Sat, 16 Mar 2013 22:44:14 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303162244.r2GMiEbw036853@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 16 Mar 2013 22:44:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248391 - head/lib/libc/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:44:15 -0000 Author: pjd Date: Sat Mar 16 22:44:14 2013 New Revision: 248391 URL: http://svnweb.freebsd.org/changeset/base/248391 Log: Add a note to the HISTORY section about lchflags(2) being introduced in FreeBSD 5.0. Modified: head/lib/libc/sys/chflags.2 Modified: head/lib/libc/sys/chflags.2 ============================================================================== --- head/lib/libc/sys/chflags.2 Sat Mar 16 22:43:08 2013 (r248390) +++ head/lib/libc/sys/chflags.2 Sat Mar 16 22:44:14 2013 (r248391) @@ -232,3 +232,7 @@ and .Fn fchflags system calls first appeared in .Bx 4.4 . +The +.Fn lchflags +system call first appeared in +.Fx 5.0 . From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:53:06 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CFD5C5EE; Sat, 16 Mar 2013 22:53:06 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AC7C4758; Sat, 16 Mar 2013 22:53:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GMr5IU039600; Sat, 16 Mar 2013 22:53:05 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GMr5O0039599; Sat, 16 Mar 2013 22:53:05 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201303162253.r2GMr5O0039599@svn.freebsd.org> From: Neel Natu Date: Sat, 16 Mar 2013 22:53:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248392 - head/sys/amd64/vmm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:53:06 -0000 Author: neel Date: Sat Mar 16 22:53:05 2013 New Revision: 248392 URL: http://svnweb.freebsd.org/changeset/base/248392 Log: Fix the '-Wtautological-compare' warning emitted by clang for comparing the unsigned enum type with a negative value. Obtained from: NetApp Modified: head/sys/amd64/vmm/vmm.c Modified: head/sys/amd64/vmm/vmm.c ============================================================================== --- head/sys/amd64/vmm/vmm.c Sat Mar 16 22:44:14 2013 (r248391) +++ head/sys/amd64/vmm/vmm.c Sat Mar 16 22:53:05 2013 (r248392) @@ -937,7 +937,7 @@ vm_set_x2apic_state(struct vm *vm, int v if (vcpuid < 0 || vcpuid >= VM_MAXCPU) return (EINVAL); - if (state < 0 || state >= X2APIC_STATE_LAST) + if (state >= X2APIC_STATE_LAST) return (EINVAL); vm->vcpu[vcpuid].x2apic_state = state; From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 22:53:39 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AB2D6757; Sat, 16 Mar 2013 22:53:39 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9DD9875D; Sat, 16 Mar 2013 22:53:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GMrdtl039703; Sat, 16 Mar 2013 22:53:39 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GMrdNi039700; Sat, 16 Mar 2013 22:53:39 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201303162253.r2GMrdNi039700@svn.freebsd.org> From: Joel Dahl Date: Sat, 16 Mar 2013 22:53:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248393 - in head/usr.bin: head tail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 22:53:39 -0000 Author: joel (doc committer) Date: Sat Mar 16 22:53:38 2013 New Revision: 248393 URL: http://svnweb.freebsd.org/changeset/base/248393 Log: Add a couple of examples. Obtained from: OpenBSD Modified: head/usr.bin/head/head.1 head/usr.bin/tail/tail.1 Modified: head/usr.bin/head/head.1 ============================================================================== --- head/usr.bin/head/head.1 Sat Mar 16 22:53:05 2013 (r248392) +++ head/usr.bin/head/head.1 Sat Mar 16 22:53:38 2013 (r248393) @@ -28,7 +28,7 @@ .\" @(#)head.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd June 6, 1993 +.Dd March 16, 2013 .Dt HEAD 1 .Os .Sh NAME @@ -57,6 +57,19 @@ where is the name of the file. .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +To display the first 500 lines of the file +.Ar foo : +.Pp +.Dl $ head -n 500 foo +.Pp +.Nm +can be used in conjunction with +.Xr tail 1 +in the following way to, for example, display only line 500 from the file +.Ar foo : +.Pp +.Dl $ head -n 500 foo | tail -n 1 .Sh SEE ALSO .Xr tail 1 .Sh HISTORY Modified: head/usr.bin/tail/tail.1 ============================================================================== --- head/usr.bin/tail/tail.1 Sat Mar 16 22:53:05 2013 (r248392) +++ head/usr.bin/tail/tail.1 Sat Mar 16 22:53:38 2013 (r248393) @@ -31,7 +31,7 @@ .\" @(#)tail.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd June 5, 2009 +.Dd March 16, 2013 .Dt TAIL 1 .Os .Sh NAME @@ -147,6 +147,17 @@ is the name of the file unless flag is specified. .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +To display the last 500 lines of the file +.Ar foo : +.Pp +.Dl $ tail -n 500 foo +.Pp +Keep +.Pa /var/log/messages +open, displaying to the standard output anything appended to the file: +.Pp +.Dl $ tail -f /var/log/messages .Sh SEE ALSO .Xr cat 1 , .Xr head 1 , From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 23:10:41 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BCF4FC94; Sat, 16 Mar 2013 23:10:41 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 95C857F5; Sat, 16 Mar 2013 23:10:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GNAfTW045633; Sat, 16 Mar 2013 23:10:41 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GNAf2i045632; Sat, 16 Mar 2013 23:10:41 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303162310.r2GNAf2i045632@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 16 Mar 2013 23:10:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248394 - head/tools/regression/security/cap_test X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 23:10:41 -0000 Author: pjd Date: Sat Mar 16 23:10:40 2013 New Revision: 248394 URL: http://svnweb.freebsd.org/changeset/base/248394 Log: The mode argument for open(2)/openat(2) only makes sense if the O_CREAT flag was given. Sponsored by: The FreeBSD Foundation Modified: head/tools/regression/security/cap_test/cap_test_capabilities.c Modified: head/tools/regression/security/cap_test/cap_test_capabilities.c ============================================================================== --- head/tools/regression/security/cap_test/cap_test_capabilities.c Sat Mar 16 22:53:38 2013 (r248393) +++ head/tools/regression/security/cap_test/cap_test_capabilities.c Sat Mar 16 23:10:40 2013 (r248394) @@ -207,27 +207,27 @@ try_file_ops(int filefd, int dirfd, cap_ ret = openat(dirfd, "cap_fsync", O_CREAT, 0600); CHECK(ret >= 0); CHECK(close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDONLY, 0600); + ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDONLY); CHECK_RESULT(openat(O_FSYNC | O_RDONLY), CAP_FSYNC | CAP_READ | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_WRONLY, 0600); + ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_WRONLY); CHECK_RESULT(openat(O_FSYNC | O_WRONLY), CAP_FSYNC | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDWR, 0600); + ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDWR); CHECK_RESULT(openat(O_FSYNC | O_RDWR), CAP_FSYNC | CAP_READ | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDONLY, 0600); + ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDONLY); CHECK_RESULT(openat(O_SYNC | O_RDONLY), CAP_FSYNC | CAP_READ | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY, 0600); + ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY); CHECK_RESULT(openat(O_SYNC | O_WRONLY), CAP_FSYNC | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR, 0600); + ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR); CHECK_RESULT(openat(O_SYNC | O_RDWR), CAP_FSYNC | CAP_READ | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 23:11:56 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2D772E6C; Sat, 16 Mar 2013 23:11:56 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 06D1A805; Sat, 16 Mar 2013 23:11:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GNBt7h045946; Sat, 16 Mar 2013 23:11:55 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GNBtf0045941; Sat, 16 Mar 2013 23:11:55 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201303162311.r2GNBtf0045941@svn.freebsd.org> From: Andrew Turner Date: Sat, 16 Mar 2013 23:11:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248395 - in head/sys: conf libkern/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 23:11:56 -0000 Author: andrew Date: Sat Mar 16 23:11:55 2013 New Revision: 248395 URL: http://svnweb.freebsd.org/changeset/base/248395 Log: Add __aeabi_memset to libkern, implemented using memset, as clang may generate calls to it. Added: head/sys/libkern/arm/memset.S (contents, props changed) Modified: head/sys/conf/files.arm Modified: head/sys/conf/files.arm ============================================================================== --- head/sys/conf/files.arm Sat Mar 16 23:10:40 2013 (r248394) +++ head/sys/conf/files.arm Sat Mar 16 23:11:55 2013 (r248395) @@ -78,6 +78,7 @@ libkern/arm/ffs.S standard libkern/arm/ldivmod.S standard libkern/arm/ldivmod_helper.c standard libkern/arm/memcpy.S standard +libkern/arm/memset.S standard libkern/arm/muldi3.c standard libkern/ashldi3.c standard libkern/ashrdi3.c standard Added: head/sys/libkern/arm/memset.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/libkern/arm/memset.S Sat Mar 16 23:11:55 2013 (r248395) @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2013 Andrew Turner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#ifdef __ARM_EABI__ + +/* + * This implements + * void __aeabi_memset(void *dest, size_t len, int c) + * by calling: + * void *memset(dest, c, len) + * + * The arguments are in r0-r2, r3 can be used as a scratch register. + */ +ENTRY_NP(__aeabi_memset) + mov r3, r2 + mov r2, r1 + mov r1, r3 + b memset +END(__aeabi_memset) + +#endif + From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 23:13:49 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CDE83FF6; Sat, 16 Mar 2013 23:13:49 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B1A9981A; Sat, 16 Mar 2013 23:13:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GNDnVt046305; Sat, 16 Mar 2013 23:13:49 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GNDnbD046304; Sat, 16 Mar 2013 23:13:49 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303162313.r2GNDnbD046304@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 16 Mar 2013 23:13:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248396 - head/tools/regression/security/cap_test X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 23:13:49 -0000 Author: pjd Date: Sat Mar 16 23:13:49 2013 New Revision: 248396 URL: http://svnweb.freebsd.org/changeset/base/248396 Log: Update the tests now that absence of the O_APPEND flag requires CAP_SEEK capability. Add some more tests. Sponsored by: The FreeBSD Foundation Modified: head/tools/regression/security/cap_test/cap_test_capabilities.c Modified: head/tools/regression/security/cap_test/cap_test_capabilities.c ============================================================================== --- head/tools/regression/security/cap_test/cap_test_capabilities.c Sat Mar 16 23:11:55 2013 (r248395) +++ head/tools/regression/security/cap_test/cap_test_capabilities.c Sat Mar 16 23:13:49 2013 (r248396) @@ -184,19 +184,19 @@ try_file_ops(int filefd, int dirfd, cap_ MAP_SHARED, fd_cap, 0); CHECK_MMAP_RESULT(CAP_MMAP_RWX); - /* TODO: openat(O_APPEND) */ ret = openat(dfd_cap, "cap_create", O_CREAT | O_RDONLY, 0600); CHECK_RESULT(openat(O_CREATE | O_RDONLY), CAP_CREATE | CAP_READ | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); CHECK(ret == -1 || unlinkat(dirfd, "cap_create", 0) == 0); - ret = openat(dfd_cap, "cap_create", O_CREAT | O_WRONLY, 0600); - CHECK_RESULT(openat(O_CREATE | O_WRONLY), + ret = openat(dfd_cap, "cap_create", O_CREAT | O_WRONLY | O_APPEND, + 0600); + CHECK_RESULT(openat(O_CREATE | O_WRONLY | O_APPEND), CAP_CREATE | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); CHECK(ret == -1 || unlinkat(dirfd, "cap_create", 0) == 0); - ret = openat(dfd_cap, "cap_create", O_CREAT | O_RDWR, 0600); - CHECK_RESULT(openat(O_CREATE | O_RDWR), + ret = openat(dfd_cap, "cap_create", O_CREAT | O_RDWR | O_APPEND, 0600); + CHECK_RESULT(openat(O_CREATE | O_RDWR | O_APPEND), CAP_CREATE | CAP_READ | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); CHECK(ret == -1 || unlinkat(dirfd, "cap_create", 0) == 0); @@ -211,24 +211,24 @@ try_file_ops(int filefd, int dirfd, cap_ CHECK_RESULT(openat(O_FSYNC | O_RDONLY), CAP_FSYNC | CAP_READ | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_WRONLY); - CHECK_RESULT(openat(O_FSYNC | O_WRONLY), + ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_WRONLY | O_APPEND); + CHECK_RESULT(openat(O_FSYNC | O_WRONLY | O_APPEND), CAP_FSYNC | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDWR); - CHECK_RESULT(openat(O_FSYNC | O_RDWR), + ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDWR | O_APPEND); + CHECK_RESULT(openat(O_FSYNC | O_RDWR | O_APPEND), CAP_FSYNC | CAP_READ | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDONLY); CHECK_RESULT(openat(O_SYNC | O_RDONLY), CAP_FSYNC | CAP_READ | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY); - CHECK_RESULT(openat(O_SYNC | O_WRONLY), + ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY | O_APPEND); + CHECK_RESULT(openat(O_SYNC | O_WRONLY | O_APPEND), CAP_FSYNC | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); - ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR); - CHECK_RESULT(openat(O_SYNC | O_RDWR), + ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR | O_APPEND); + CHECK_RESULT(openat(O_SYNC | O_RDWR | O_APPEND), CAP_FSYNC | CAP_READ | CAP_WRITE | CAP_LOOKUP, ret >= 0); CHECK(ret == -1 || close(ret) == 0); CHECK(unlinkat(dirfd, "cap_fsync", 0) == 0); @@ -253,6 +253,39 @@ try_file_ops(int filefd, int dirfd, cap_ CHECK(ret == -1 || close(ret) == 0); CHECK(unlinkat(dirfd, "cap_ftruncate", 0) == 0); + ret = openat(dfd_cap, "cap_create", O_CREAT | O_WRONLY, 0600); + CHECK_RESULT(openat(O_CREATE | O_WRONLY), + CAP_CREATE | CAP_WRITE | CAP_SEEK | CAP_LOOKUP, ret >= 0); + CHECK(ret == -1 || close(ret) == 0); + CHECK(ret == -1 || unlinkat(dirfd, "cap_create", 0) == 0); + ret = openat(dfd_cap, "cap_create", O_CREAT | O_RDWR, 0600); + CHECK_RESULT(openat(O_CREATE | O_RDWR), + CAP_CREATE | CAP_READ | CAP_WRITE | CAP_SEEK | CAP_LOOKUP, + ret >= 0); + CHECK(ret == -1 || close(ret) == 0); + CHECK(ret == -1 || unlinkat(dirfd, "cap_create", 0) == 0); + + ret = openat(dirfd, "cap_fsync", O_CREAT, 0600); + CHECK(ret >= 0); + CHECK(close(ret) == 0); + ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_WRONLY); + CHECK_RESULT(openat(O_FSYNC | O_WRONLY), + CAP_FSYNC | CAP_WRITE | CAP_SEEK | CAP_LOOKUP, ret >= 0); + CHECK(ret == -1 || close(ret) == 0); + ret = openat(dfd_cap, "cap_fsync", O_FSYNC | O_RDWR); + CHECK_RESULT(openat(O_FSYNC | O_RDWR), + CAP_FSYNC | CAP_READ | CAP_WRITE | CAP_SEEK | CAP_LOOKUP, ret >= 0); + CHECK(ret == -1 || close(ret) == 0); + ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY); + CHECK_RESULT(openat(O_SYNC | O_WRONLY), + CAP_FSYNC | CAP_WRITE | CAP_SEEK | CAP_LOOKUP, ret >= 0); + CHECK(ret == -1 || close(ret) == 0); + ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR); + CHECK_RESULT(openat(O_SYNC | O_RDWR), + CAP_FSYNC | CAP_READ | CAP_WRITE | CAP_SEEK | CAP_LOOKUP, ret >= 0); + CHECK(ret == -1 || close(ret) == 0); + CHECK(unlinkat(dirfd, "cap_fsync", 0) == 0); + /* * Note: this is not expected to work over NFS. */ From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 23:19:14 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0F5374DD; Sat, 16 Mar 2013 23:19:14 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 02431864; Sat, 16 Mar 2013 23:19:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GNJDmb047068; Sat, 16 Mar 2013 23:19:13 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GNJDFL047067; Sat, 16 Mar 2013 23:19:13 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201303162319.r2GNJDFL047067@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 16 Mar 2013 23:19:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248397 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 23:19:14 -0000 Author: pjd Date: Sat Mar 16 23:19:13 2013 New Revision: 248397 URL: http://svnweb.freebsd.org/changeset/base/248397 Log: Require CAP_SEEK if both O_APPEND and O_TRUNC flags are absent. In other words we don't require CAP_SEEK if either O_APPEND or O_TRUNC flag is given, because O_APPEND doesn't allow to overwrite existing data and O_TRUNC requires CAP_FTRUNCATE already. Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/vfs_syscalls.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Sat Mar 16 23:13:49 2013 (r248396) +++ head/sys/kern/vfs_syscalls.c Sat Mar 16 23:19:13 2013 (r248397) @@ -971,7 +971,7 @@ flags_to_rights(int flags) /* FALLTHROUGH */ case O_WRONLY: rights |= CAP_WRITE; - if (!(flags & O_APPEND)) + if (!(flags & (O_APPEND | O_TRUNC))) rights |= CAP_SEEK; break; } From owner-svn-src-all@FreeBSD.ORG Sat Mar 16 23:29:19 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E73947FC for ; Sat, 16 Mar 2013 23:29:19 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-wi0-x22e.google.com (mail-wi0-x22e.google.com [IPv6:2a00:1450:400c:c05::22e]) by mx1.freebsd.org (Postfix) with ESMTP id 803078A5 for ; Sat, 16 Mar 2013 23:29:19 +0000 (UTC) Received: by mail-wi0-f174.google.com with SMTP id hi8so1589999wib.1 for ; Sat, 16 Mar 2013 16:29:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=x+A/esHxCTaQyYJFN1lBxJSKugA34G7hrdcb1Fu87kQ=; b=pd5bukqT9vqPElSntk7SBkpPorH35JfnANtUWtkyNQUQcBaM/OPD6hfcQbGfOdzKr3 vQmIdeRfAhZEkQ+UCSKknv84ntWi5Q7JsPXKqeuc9CxC96vgMEigv4f38LE72+ZqO5if R5eSFpvOqFzFgrBIorHStbiMUjMWdXiD+Fx3U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:x-gm-message-state; bh=x+A/esHxCTaQyYJFN1lBxJSKugA34G7hrdcb1Fu87kQ=; b=G4WBVTnu2tSB2Tamw0il5R6prsq8/JVBG+zHudx7EB+6NtvKf7g+nmnt09tmFCKCyx m2M4GTt0Na1u7qMEvXwrEU20SyI4E9VyHAeJGbfuQjFYO4pghO01YzF0huk5NuoYYx1P 7YK2FQti2DUphPtORsi94/JG90h8hQ6w2nXEe6VEZxgjuy8YPejeu3dUVFel7SRbRVSS /VAsG9N8IifDOgYW1QRczVKwcuaHbha3zEAC4bYvTpd4vGdmmVeV7pPZqmVzo8MJNXZm 5Uh3a1HjTvlaO26VUqp6orkkhJF5WLkQhAzG2YbxU3iYQDYSJ5G4tgScoWKDk+DIeJHS 094g== X-Received: by 10.194.63.240 with SMTP id j16mr17743360wjs.45.1363476558593; Sat, 16 Mar 2013 16:29:18 -0700 (PDT) MIME-Version: 1.0 Received: by 10.194.108.106 with HTTP; Sat, 16 Mar 2013 16:28:48 -0700 (PDT) In-Reply-To: <201303162150.r2GLo6uQ020417@svn.freebsd.org> References: <201303162150.r2GLo6uQ020417@svn.freebsd.org> From: Eitan Adler Date: Sat, 16 Mar 2013 19:28:48 -0400 Message-ID: Subject: Re: svn commit: r248384 - head/sbin/gvinum To: Joel Dahl Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQm1eQ6w+CmryX8YS6qLVAok70df/JHL2+19PUr8NXfcSIpKgxxUAvi+FGQp+bEWsEwB0IJo Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 23:29:20 -0000 On 16 March 2013 17:50, Joel Dahl wrote: > Author: joel (doc committer) > Date: Sat Mar 16 21:50:06 2013 > New Revision: 248384 > URL: http://svnweb.freebsd.org/changeset/base/248384 > > Log: > Remove reference to vinum(4). The manual page was removed in r248370. The handbook still makes some references to this manual page: ./handbook/disks/chapter.xml: storage. &man.vinum.4; implements the RAID-0, RAID-1 and ./handbook/disks/chapter.xml: information about &man.vinum.4;. ./handbook/disks/chapter.xml: Also, since &man.vinum.4; does not use the Perhaps this document needs further work or is this entirely a mechanical change? -- Eitan Adler