From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 21:09:06 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D508C106566B; Sun, 30 Aug 2009 21:09:06 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AB8598FC1B; Sun, 30 Aug 2009 21:09:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UL960k005600; Sun, 30 Aug 2009 21:09:06 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7UL96Fd005599; Sun, 30 Aug 2009 21:09:06 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302109.n7UL96Fd005599@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 21:09:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196663 - user/kmacy/head_zfs_merge X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 21:09:06 -0000 Author: kmacy Date: Sun Aug 30 21:09:06 2009 New Revision: 196663 URL: http://svn.freebsd.org/changeset/base/196663 Log: delete stale branch Deleted: user/kmacy/head_zfs_merge/ From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 21:10:13 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A57881065676; Sun, 30 Aug 2009 21:10:13 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7C1EE8FC08; Sun, 30 Aug 2009 21:10:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7ULADhI005660; Sun, 30 Aug 2009 21:10:13 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7ULADN5005659; Sun, 30 Aug 2009 21:10:13 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302110.n7ULADN5005659@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 21:10:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196664 - user/kmacy/ZFS_MFC X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 21:10:13 -0000 Author: kmacy Date: Sun Aug 30 21:10:13 2009 New Revision: 196664 URL: http://svn.freebsd.org/changeset/base/196664 Log: delete old branch Deleted: user/kmacy/ZFS_MFC/ From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 21:11:31 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5669D106566B; Sun, 30 Aug 2009 21:11:31 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2CC3C8FC08; Sun, 30 Aug 2009 21:11:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7ULBVKt005736; Sun, 30 Aug 2009 21:11:31 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7ULBVdR005735; Sun, 30 Aug 2009 21:11:31 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302111.n7ULBVdR005735@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 21:11:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196665 - user/kmacy/releng_7_net_backport X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 21:11:31 -0000 Author: kmacy Date: Sun Aug 30 21:11:30 2009 New Revision: 196665 URL: http://svn.freebsd.org/changeset/base/196665 Log: delete stale branch Deleted: user/kmacy/releng_7_net_backport/ From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 21:15:44 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B91071065672; Sun, 30 Aug 2009 21:15:44 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8F5948FC1F; Sun, 30 Aug 2009 21:15:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7ULFieE005858; Sun, 30 Aug 2009 21:15:44 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7ULFiLc005857; Sun, 30 Aug 2009 21:15:44 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302115.n7ULFiLc005857@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 21:15:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196666 - user/kmacy/head_zfs_merge X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 21:15:44 -0000 Author: kmacy Date: Sun Aug 30 21:15:44 2009 New Revision: 196666 URL: http://svn.freebsd.org/changeset/base/196666 Log: create new branch for merging ZFS changes Added: user/kmacy/head_zfs_merge/ (props changed) - copied from r196665, head/ From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 22:17:59 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE0F01065679; Sun, 30 Aug 2009 22:17:59 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B20158FC19; Sun, 30 Aug 2009 22:17:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UMHxhW007691; Sun, 30 Aug 2009 22:17:59 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7UMHxjn007687; Sun, 30 Aug 2009 22:17:59 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302217.n7UMHxjn007687@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 22:17:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196667 - in user/kmacy/head_zfs_merge/sys: cddl/contrib/opensolaris/uts/common/fs/zfs modules/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 22:18:00 -0000 Author: kmacy Date: Sun Aug 30 22:17:59 2009 New Revision: 196667 URL: http://svn.freebsd.org/changeset/base/196667 Log: enable the use of UMA by ZFS Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/kmacy/head_zfs_merge/sys/modules/zfs/Makefile Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Aug 30 21:15:44 2009 (r196666) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Aug 30 22:17:59 2009 (r196667) @@ -186,6 +186,11 @@ SYSCTL_QUAD(_vfs_zfs, OID_AUTO, arc_min, SYSCTL_INT(_vfs_zfs, OID_AUTO, mdcomp_disable, CTLFLAG_RDTUN, &zfs_mdcomp_disable, 0, "Disable metadata compression"); +#ifdef ZIO_USE_UMA +extern kmem_cache_t *zio_buf_cache[]; +extern kmem_cache_t *zio_data_buf_cache[]; +#endif + /* * Note that buffers can be in one of 6 states: * ARC_anon - anonymous (discussed below) @@ -1893,8 +1898,6 @@ arc_kmem_reap_now(arc_reclaim_strategy_t size_t i; kmem_cache_t *prev_cache = NULL; kmem_cache_t *prev_data_cache = NULL; - extern kmem_cache_t *zio_buf_cache[]; - extern kmem_cache_t *zio_data_buf_cache[]; #endif #ifdef _KERNEL Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Sun Aug 30 21:15:44 2009 (r196666) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Sun Aug 30 22:17:59 2009 (r196667) @@ -91,13 +91,6 @@ zio_init(void) #ifdef ZIO_USE_UMA size_t c; #endif -#if 0 - vmem_t *data_alloc_arena = NULL; - -#ifdef _KERNEL - data_alloc_arena = zio_alloc_arena; -#endif -#endif zio_cache = kmem_cache_create("zio_cache", sizeof (zio_t), 0, NULL, NULL, NULL, NULL, NULL, 0); @@ -132,7 +125,7 @@ zio_init(void) (void) sprintf(name, "zio_data_buf_%lu", (ulong_t)size); zio_data_buf_cache[c] = kmem_cache_create(name, size, - align, NULL, NULL, NULL, NULL, data_alloc_arena, + align, NULL, NULL, NULL, NULL, NULL, KMC_NODEBUG); } } @@ -422,7 +415,6 @@ zio_create(zio_t *pio, spa_t *spa, uint6 ASSERT3U(size, <=, SPA_MAXBLOCKSIZE); ASSERT(P2PHASE(size, SPA_MINBLOCKSIZE) == 0); ASSERT(P2PHASE(offset, SPA_MINBLOCKSIZE) == 0); - ASSERT(!vd || spa_config_held(spa, SCL_STATE_ALL, RW_READER)); ASSERT(!bp || !(flags & ZIO_FLAG_CONFIG_WRITER)); ASSERT(vd || stage == ZIO_STAGE_OPEN); Modified: user/kmacy/head_zfs_merge/sys/modules/zfs/Makefile ============================================================================== --- user/kmacy/head_zfs_merge/sys/modules/zfs/Makefile Sun Aug 30 21:15:44 2009 (r196666) +++ user/kmacy/head_zfs_merge/sys/modules/zfs/Makefile Sun Aug 30 22:17:59 2009 (r196667) @@ -63,8 +63,8 @@ ZFS_SRCS= ${ZFS_OBJS:C/.o$/.c/} SRCS+= ${ZFS_SRCS} SRCS+= vdev_geom.c -# Use UMA for ZIO allocation. This is not stable. -#CFLAGS+=-DZIO_USE_UMA +# Use UMA for ZIO allocation. +CFLAGS+=-DZIO_USE_UMA # Use FreeBSD's namecache. CFLAGS+=-DFREEBSD_NAMECACHE From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 22:30:08 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3971C106566B; Sun, 30 Aug 2009 22:30:08 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E4838FC1F; Sun, 30 Aug 2009 22:30:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UMU74Z007990; Sun, 30 Aug 2009 22:30:07 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7UMU7Vt007988; Sun, 30 Aug 2009 22:30:07 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302230.n7UMU7Vt007988@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 22:30:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196668 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 22:30:08 -0000 Author: kmacy Date: Sun Aug 30 22:30:07 2009 New Revision: 196668 URL: http://svn.freebsd.org/changeset/base/196668 Log: integrate 192698 - align the arc state lock and reduce the length of time that it is held Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Aug 30 22:17:59 2009 (r196667) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Aug 30 22:30:07 2009 (r196668) @@ -227,7 +227,7 @@ typedef struct arc_state { list_t arcs_list[ARC_BUFC_NUMTYPES]; /* list of evictable buffers */ uint64_t arcs_lsize[ARC_BUFC_NUMTYPES]; /* amount of evictable data */ uint64_t arcs_size; /* total amount of data in this state */ - kmutex_t arcs_mtx; + kmutex_t arcs_mtx __aligned(128); } arc_state_t; /* The 6 states: */ @@ -972,6 +972,8 @@ add_reference(arc_buf_hdr_t *ab, kmutex_ mutex_enter(&ab->b_state->arcs_mtx); ASSERT(list_link_active(&ab->b_arc_node)); list_remove(list, ab); + mutex_exit(&ab->b_state->arcs_mtx); + if (GHOST_STATE(ab->b_state)) { ASSERT3U(ab->b_datacnt, ==, 0); ASSERT3P(ab->b_buf, ==, NULL); @@ -980,7 +982,6 @@ add_reference(arc_buf_hdr_t *ab, kmutex_ ASSERT(delta > 0); ASSERT3U(*size, >=, delta); atomic_add_64(size, -delta); - mutex_exit(&ab->b_state->arcs_mtx); /* remove the prefetch flag if we get a reference */ if (ab->b_flags & ARC_PREFETCH) ab->b_flags &= ~ARC_PREFETCH; @@ -1004,9 +1005,10 @@ remove_reference(arc_buf_hdr_t *ab, kmut mutex_enter(&state->arcs_mtx); ASSERT(!list_link_active(&ab->b_arc_node)); list_insert_head(&state->arcs_list[ab->b_type], ab); + mutex_exit(&state->arcs_mtx); + ASSERT(ab->b_datacnt > 0); atomic_add_64(size, ab->b_size * ab->b_datacnt); - mutex_exit(&state->arcs_mtx); } return (cnt); } From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 22:33:07 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D665106566B; Sun, 30 Aug 2009 22:33:07 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1226D8FC1B; Sun, 30 Aug 2009 22:33:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UMX6mB008107; Sun, 30 Aug 2009 22:33:06 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7UMX6Qj008105; Sun, 30 Aug 2009 22:33:06 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302233.n7UMX6Qj008105@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 22:33:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196669 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 22:33:07 -0000 Author: kmacy Date: Sun Aug 30 22:33:06 2009 New Revision: 196669 URL: http://svn.freebsd.org/changeset/base/196669 Log: integrate 192704 don't block I/O progress waiting for a pre-fetch stream if we find a matching stream but can't get the lock skip the prefetch Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Sun Aug 30 22:30:07 2009 (r196668) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Sun Aug 30 22:33:06 2009 (r196669) @@ -49,11 +49,11 @@ uint32_t zfetch_block_cap = 256; uint64_t zfetch_array_rd_sz = 1024 * 1024; SYSCTL_DECL(_vfs_zfs); -SYSCTL_INT(_vfs_zfs, OID_AUTO, prefetch_disable, CTLFLAG_RDTUN, +SYSCTL_INT(_vfs_zfs, OID_AUTO, prefetch_disable, CTLFLAG_RW, &zfs_prefetch_disable, 0, "Disable prefetch"); SYSCTL_NODE(_vfs_zfs, OID_AUTO, zfetch, CTLFLAG_RW, 0, "ZFS ZFETCH"); TUNABLE_INT("vfs.zfs.zfetch.max_streams", &zfetch_max_streams); -SYSCTL_UINT(_vfs_zfs_zfetch, OID_AUTO, max_streams, CTLFLAG_RDTUN, +SYSCTL_UINT(_vfs_zfs_zfetch, OID_AUTO, max_streams, CTLFLAG_RW, &zfetch_max_streams, 0, "Max # of streams per zfetch"); TUNABLE_INT("vfs.zfs.zfetch.min_sec_reap", &zfetch_min_sec_reap); SYSCTL_UINT(_vfs_zfs_zfetch, OID_AUTO, min_sec_reap, CTLFLAG_RDTUN, @@ -338,8 +338,10 @@ top: reset = !prefetched && zs->zst_len > 1; - mutex_enter(&zs->zst_lock); - + if (mutex_tryenter(&zs->zst_lock) == 0) { + rc = 1; + goto out; + } if (zh->zst_offset != zs->zst_offset + zs->zst_len) { mutex_exit(&zs->zst_lock); goto top; @@ -363,8 +365,10 @@ top: reset = !prefetched && zs->zst_len > 1; - mutex_enter(&zs->zst_lock); - + if (mutex_tryenter(&zs->zst_lock) == 0) { + rc = 1; + goto out; + } if (zh->zst_offset != zs->zst_offset - zh->zst_len) { mutex_exit(&zs->zst_lock); goto top; @@ -391,8 +395,10 @@ top: zs->zst_len) && (zs->zst_len != zs->zst_stride)) { /* strided forward access */ - mutex_enter(&zs->zst_lock); - + if (mutex_tryenter(&zs->zst_lock) == 0) { + rc = 1; + goto out; + } if ((zh->zst_offset - zs->zst_offset - zs->zst_stride >= zs->zst_len) || (zs->zst_len == zs->zst_stride)) { mutex_exit(&zs->zst_lock); @@ -408,8 +414,10 @@ top: zs->zst_len) && (zs->zst_len != zs->zst_stride)) { /* strided reverse access */ - mutex_enter(&zs->zst_lock); - + if (mutex_tryenter(&zs->zst_lock) == 0) { + rc = 1; + goto out; + } if ((zh->zst_offset - zs->zst_offset + zs->zst_stride >= zs->zst_len) || (zs->zst_len == zs->zst_stride)) { mutex_exit(&zs->zst_lock); From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 22:35:21 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3142A106566B; Sun, 30 Aug 2009 22:35:21 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 204368FC08; Sun, 30 Aug 2009 22:35:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UMZLd8008222; Sun, 30 Aug 2009 22:35:21 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7UMZL7X008220; Sun, 30 Aug 2009 22:35:21 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302235.n7UMZL7X008220@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 22:35:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196670 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 22:35:21 -0000 Author: kmacy Date: Sun Aug 30 22:35:20 2009 New Revision: 196670 URL: http://svn.freebsd.org/changeset/base/196670 Log: integrate 192771 - tell vfs not to refcount the mountpoint, we already do this ourselves Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sun Aug 30 22:33:06 2009 (r196669) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sun Aug 30 22:35:20 2009 (r196670) @@ -4889,6 +4889,13 @@ zfs_freebsd_aclcheck(ap) return (EOPNOTSUPP); } +static int +zfs_freebsd_getwritemount(struct vop_getwritemount_args *unused) +{ + + return (EOPNOTSUPP); +} + struct vop_vector zfs_vnodeops; struct vop_vector zfs_fifoops; @@ -4903,6 +4910,7 @@ struct vop_vector zfs_vnodeops = { #else .vop_lookup = zfs_freebsd_lookup, #endif + .vop_getwritemount = zfs_freebsd_getwritemount, .vop_getattr = zfs_freebsd_getattr, .vop_setattr = zfs_freebsd_setattr, .vop_create = zfs_freebsd_create, From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 22:51:05 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 408EB106566B; Sun, 30 Aug 2009 22:51:05 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D9388FC12; Sun, 30 Aug 2009 22:51:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UMp5Vf008876; Sun, 30 Aug 2009 22:51:05 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7UMp4jd008861; Sun, 30 Aug 2009 22:51:04 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302251.n7UMp4jd008861@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 22:51:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196675 - in user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 22:51:05 -0000 Author: kmacy Date: Sun Aug 30 22:51:04 2009 New Revision: 196675 URL: http://svn.freebsd.org/changeset/base/196675 Log: merge 192779 - make tx type operation dependent rather than vfs state dependent - simplify ZIL replay handing - add dmu_read_flags to allow explicit disabling of prefetch Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Sun Aug 30 22:51:04 2009 (r196675) @@ -177,22 +177,22 @@ dmu_bonus_hold(objset_t *os, uint64_t ob * whose dnodes are in the same block. */ static int -dmu_buf_hold_array_by_dnode(dnode_t *dn, uint64_t offset, - uint64_t length, int read, void *tag, int *numbufsp, dmu_buf_t ***dbpp) +dmu_buf_hold_array_by_dnode(dnode_t *dn, uint64_t offset, uint64_t length, + int read, void *tag, int *numbufsp, dmu_buf_t ***dbpp, uint32_t flags) { dsl_pool_t *dp = NULL; dmu_buf_t **dbp; uint64_t blkid, nblks, i; - uint32_t flags; + uint32_t dbuf_flags; int err; zio_t *zio; hrtime_t start; ASSERT(length <= DMU_MAX_ACCESS); - flags = DB_RF_CANFAIL | DB_RF_NEVERWAIT; - if (length > zfetch_array_rd_sz) - flags |= DB_RF_NOPREFETCH; + dbuf_flags = DB_RF_CANFAIL | DB_RF_NEVERWAIT; + if (flags & DMU_READ_NO_PREFETCH || length > zfetch_array_rd_sz) + dbuf_flags |= DB_RF_NOPREFETCH; rw_enter(&dn->dn_struct_rwlock, RW_READER); if (dn->dn_datablkshift) { @@ -230,7 +230,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn, /* initiate async i/o */ if (read) { rw_exit(&dn->dn_struct_rwlock); - (void) dbuf_read(db, zio, flags); + (void) dbuf_read(db, zio, dbuf_flags); rw_enter(&dn->dn_struct_rwlock, RW_READER); } dbp[i] = &db->db; @@ -282,7 +282,7 @@ dmu_buf_hold_array(objset_t *os, uint64_ return (err); err = dmu_buf_hold_array_by_dnode(dn, offset, length, read, tag, - numbufsp, dbpp); + numbufsp, dbpp, DMU_READ_PREFETCH); dnode_rele(dn, FTAG); @@ -297,7 +297,7 @@ dmu_buf_hold_array_by_bonus(dmu_buf_t *d int err; err = dmu_buf_hold_array_by_dnode(dn, offset, length, read, tag, - numbufsp, dbpp); + numbufsp, dbpp, DMU_READ_PREFETCH); return (err); } @@ -536,8 +536,8 @@ dmu_free_range(objset_t *os, uint64_t ob } int -dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, - void *buf) +dmu_read_flags(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, + void *buf, uint32_t flags) { dnode_t *dn; dmu_buf_t **dbp; @@ -567,7 +567,7 @@ dmu_read(objset_t *os, uint64_t object, * to be reading in parallel. */ err = dmu_buf_hold_array_by_dnode(dn, offset, mylen, - TRUE, FTAG, &numbufs, &dbp); + TRUE, FTAG, &numbufs, &dbp, flags); if (err) break; @@ -593,6 +593,13 @@ dmu_read(objset_t *os, uint64_t object, return (err); } +int +dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, + void *buf) +{ + return dmu_read_flags(os, object, offset, size, buf, 0); +} + void dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, const void *buf, dmu_tx_t *tx) Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Sun Aug 30 22:51:04 2009 (r196675) @@ -447,8 +447,12 @@ int dmu_free_object(objset_t *os, uint64 * Canfail routines will return 0 on success, or an errno if there is a * nonrecoverable I/O error. */ +#define DMU_READ_PREFETCH 0 /* prefetch */ +#define DMU_READ_NO_PREFETCH 1 /* don't prefetch */ int dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, void *buf); +int dmu_read_flags(objset_t *os, uint64_t object, uint64_t offset, + uint64_t size, void *buf, uint32_t flags); void dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, const void *buf, dmu_tx_t *tx); int dmu_read_uio(objset_t *os, uint64_t object, struct uio *uio, uint64_t size); @@ -456,7 +460,10 @@ int dmu_write_uio(objset_t *os, uint64_t dmu_tx_t *tx); int dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, struct page *pp, dmu_tx_t *tx); - +struct arc_buf *dmu_request_arcbuf(dmu_buf_t *handle, int size); +void dmu_return_arcbuf(struct arc_buf *buf); +void dmu_assign_arcbuf(dmu_buf_t *handle, uint64_t offset, struct arc_buf *buf, + dmu_tx_t *tx); extern int zfs_prefetch_disable; /* Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h Sun Aug 30 22:51:04 2009 (r196675) @@ -47,7 +47,6 @@ struct zfsvfs { uint64_t z_root; /* id of root znode */ uint64_t z_unlinkedobj; /* id of unlinked zapobj */ uint64_t z_max_blksz; /* maximum block size for files */ - uint64_t z_assign; /* TXG_NOWAIT or set by zil_replay() */ uint64_t z_fuid_obj; /* fuid table object number */ uint64_t z_fuid_size; /* fuid table size */ avl_tree_t z_fuid_idx; /* fuid tree keyed by index */ @@ -72,6 +71,7 @@ struct zfsvfs { boolean_t z_issnap; /* true if this is a snapshot */ boolean_t z_vscan; /* virus scan on/off */ boolean_t z_use_fuids; /* version allows fuids */ + boolean_t z_replay; /* set during ZIL replay */ kmutex_t z_online_recv_lock; /* recv in prog grabs as WRITER */ uint64_t z_version; /* ZPL version */ #define ZFS_OBJ_MTX_SZ 64 Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Sun Aug 30 22:51:04 2009 (r196675) @@ -335,7 +335,6 @@ typedef void zil_parse_blk_func_t(zilog_ typedef void zil_parse_lr_func_t(zilog_t *zilog, lr_t *lr, void *arg, uint64_t txg); typedef int zil_replay_func_t(); -typedef void zil_replay_cleaner_t(); typedef int zil_get_data_t(void *arg, lr_write_t *lr, char *dbuf, zio_t *zio); extern uint64_t zil_parse(zilog_t *zilog, zil_parse_blk_func_t *parse_blk_func, @@ -350,9 +349,8 @@ extern void zil_free(zilog_t *zilog); extern zilog_t *zil_open(objset_t *os, zil_get_data_t *get_data); extern void zil_close(zilog_t *zilog); -extern void zil_replay(objset_t *os, void *arg, uint64_t *txgp, - zil_replay_func_t *replay_func[TX_MAX_TYPE], - zil_replay_cleaner_t *replay_cleaner); +extern void zil_replay(objset_t *os, void *arg, + zil_replay_func_t *replay_func[TX_MAX_TYPE]); extern void zil_destroy(zilog_t *zilog, boolean_t keep_first); extern void zil_rollback_destroy(zilog_t *zilog, dmu_tx_t *tx); Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h Sun Aug 30 22:51:04 2009 (r196675) @@ -74,13 +74,14 @@ struct zilog { uint64_t zl_commit_seq; /* committed upto this number */ uint64_t zl_lr_seq; /* log record sequence number */ uint64_t zl_destroy_txg; /* txg of last zil_destroy() */ - uint64_t zl_replay_seq[TXG_SIZE]; /* seq of last replayed rec */ + uint64_t zl_replayed_seq[TXG_SIZE]; /* seq of last replayed rec */ + uint64_t zl_replaying_seq; /* current replay seq number */ uint32_t zl_suspend; /* log suspend count */ kcondvar_t zl_cv_writer; /* log writer thread completion */ kcondvar_t zl_cv_suspend; /* log suspend completion */ uint8_t zl_suspending; /* log is currently suspending */ uint8_t zl_keep_first; /* keep first log block in destroy */ - uint8_t zl_stop_replay; /* don't replay any further */ + uint8_t zl_replay; /* don't replay any further */ uint8_t zl_stop_sync; /* for debugging */ uint8_t zl_writer; /* boolean: write setup in progress */ uint8_t zl_log_error; /* boolean: log write error */ @@ -102,6 +103,9 @@ typedef struct zil_dva_node { avl_node_t zn_node; } zil_dva_node_t; +#define ZIL_MAX_LOG_DATA (SPA_MAXBLOCKSIZE - sizeof (zil_trailer_t) - \ + sizeof (lr_write_t)) + #ifdef __cplusplus } #endif Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c Sun Aug 30 22:51:04 2009 (r196675) @@ -2137,12 +2137,12 @@ top: } } - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_WAIT); if (error) { mutex_exit(&zp->z_acl_lock); mutex_exit(&zp->z_lock); - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -2197,7 +2197,7 @@ zfs_zaccess_common(znode_t *zp, uint32_t *check_privs = B_TRUE; - if (zfsvfs->z_assign >= TXG_INITIAL) { /* ZIL replay */ + if (zfsvfs->z_replay) { *working_mode = 0; return (0); } Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c Sun Aug 30 22:51:04 2009 (r196675) @@ -561,27 +561,10 @@ zfs_rmnode(znode_t *zp) vfslocked = VFS_LOCK_GIANT(zfsvfs->z_vfs); + ASSERT(ZTOV(zp)->v_count == 0); ASSERT(zp->z_phys->zp_links == 0); /* - * If this is a ZIL replay then leave the object in the unlinked set. - * Otherwise we can get a deadlock, because the delete can be - * quite large and span multiple tx's and txgs, but each replay - * creates a tx to atomically run the replay function and mark the - * replay record as complete. We deadlock trying to start a tx in - * a new txg to further the deletion but can't because the replay - * tx hasn't finished. - * - * We actually delete the object if we get a failure to create an - * object in zil_replay_log_record(), or after calling zil_replay(). - */ - if (zfsvfs->z_assign >= TXG_INITIAL) { - zfs_znode_dmu_fini(zp); - zfs_znode_free(zp); - return; - } - - /* * If this is an attribute directory, purge its contents. */ if (ZTOV(zp) != NULL && ZTOV(zp)->v_type == VDIR && @@ -855,9 +838,9 @@ zfs_make_xattrdir(znode_t *zp, vattr_t * FUID_SIZE_ESTIMATE(zfsvfs)); } } - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) + if (error == ERESTART) dmu_tx_wait(tx); dmu_tx_abort(tx); return (error); @@ -944,7 +927,7 @@ top: error = zfs_make_xattrdir(zp, &va, xvpp, cr); zfs_dirent_unlock(dl); - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { /* NB: we already did dmu_tx_wait() if necessary */ goto top; } @@ -975,7 +958,7 @@ zfs_sticky_remove_access(znode_t *zdp, z uid_t fowner; zfsvfs_t *zfsvfs = zdp->z_zfsvfs; - if (zdp->z_zfsvfs->z_assign >= TXG_INITIAL) /* ZIL replay */ + if (zdp->z_zfsvfs->z_replay) return (0); if ((zdp->z_phys->zp_mode & S_ISVTX) == 0) Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c Sun Aug 30 22:51:04 2009 (r196675) @@ -525,7 +525,6 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64 uint32_t rid; idmap_stat status; uint64_t idx; - boolean_t is_replay = (zfsvfs->z_assign >= TXG_INITIAL); zfs_fuid_t *zfuid = NULL; zfs_fuid_info_t *fuidp; @@ -540,7 +539,7 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64 if (!zfsvfs->z_use_fuids || !IS_EPHEMERAL(id) || fuid_idx != 0) return (id); - if (is_replay) { + if (zfsvfs->z_replay) { fuidp = zfsvfs->z_fuid_replay; /* @@ -594,7 +593,7 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64 idx = zfs_fuid_find_by_domain(zfsvfs, domain, &kdomain, tx); - if (!is_replay) + if (!zfsvfs->z_replay) zfs_fuid_node_add(fuidpp, kdomain, rid, idx, id, type); else if (zfuid != NULL) { list_remove(&fuidp->z_fuids, zfuid); Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Sun Aug 30 22:51:04 2009 (r196675) @@ -42,6 +42,17 @@ #include #include #include +#include + +#define ZFS_HANDLE_REPLAY(zilog, tx) \ + if (zilog->zl_replay) { \ + dsl_dataset_dirty(dmu_objset_ds(zilog->zl_os), tx); \ + zilog->zl_replayed_seq[dmu_tx_get_txg(tx) & TXG_MASK] = \ + zilog->zl_replaying_seq; \ + return; \ + } + + /* * All the functions in this file are used to construct the log entries @@ -236,6 +247,8 @@ zfs_log_create(zilog_t *zilog, dmu_tx_t if (zilog == NULL) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + /* * If we have FUIDs present then add in space for * domains and ACE fuid's if any. @@ -339,6 +352,8 @@ zfs_log_remove(zilog_t *zilog, dmu_tx_t if (zilog == NULL) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + itx = zil_itx_create(txtype, sizeof (*lr) + namesize); lr = (lr_remove_t *)&itx->itx_lr; lr->lr_doid = dzp->z_id; @@ -363,6 +378,8 @@ zfs_log_link(zilog_t *zilog, dmu_tx_t *t if (zilog == NULL) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + itx = zil_itx_create(txtype, sizeof (*lr) + namesize); lr = (lr_link_t *)&itx->itx_lr; lr->lr_doid = dzp->z_id; @@ -390,6 +407,8 @@ zfs_log_symlink(zilog_t *zilog, dmu_tx_t if (zilog == NULL) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + itx = zil_itx_create(txtype, sizeof (*lr) + namesize + linksize); lr = (lr_create_t *)&itx->itx_lr; lr->lr_doid = dzp->z_id; @@ -424,6 +443,8 @@ zfs_log_rename(zilog_t *zilog, dmu_tx_t if (zilog == NULL) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + itx = zil_itx_create(txtype, sizeof (*lr) + snamesize + dnamesize); lr = (lr_rename_t *)&itx->itx_lr; lr->lr_sdoid = sdzp->z_id; @@ -456,6 +477,8 @@ zfs_log_write(zilog_t *zilog, dmu_tx_t * if (zilog == NULL || zp->z_unlinked) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + /* * Writes are handled in three different ways: * @@ -554,6 +577,8 @@ zfs_log_truncate(zilog_t *zilog, dmu_tx_ if (zilog == NULL || zp->z_unlinked) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + itx = zil_itx_create(txtype, sizeof (*lr)); lr = (lr_truncate_t *)&itx->itx_lr; lr->lr_foid = zp->z_id; @@ -583,6 +608,8 @@ zfs_log_setattr(zilog_t *zilog, dmu_tx_t if (zilog == NULL || zp->z_unlinked) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + /* * If XVATTR set, then log record size needs to allow * for lr_attr_t + xvattr mask, mapsize and create time @@ -649,6 +676,8 @@ zfs_log_acl(zilog_t *zilog, dmu_tx_t *tx if (zilog == NULL || zp->z_unlinked) return; + ZFS_HANDLE_REPLAY(zilog, tx); /* exits if replay */ + txtype = (zp->z_zfsvfs->z_version < ZPL_VERSION_FUID) ? TX_ACL_V0 : TX_ACL; Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Sun Aug 30 22:51:04 2009 (r196675) @@ -489,6 +489,13 @@ zfsvfs_setup(zfsvfs_t *zfsvfs, boolean_t dmu_objset_set_user(zfsvfs->z_os, zfsvfs); mutex_exit(&zfsvfs->z_os->os->os_user_ptr_lock); + zfsvfs->z_log = zil_open(zfsvfs->z_os, zfs_get_data); + if (zil_disable) { + zil_destroy(zfsvfs->z_log, 0); + zfsvfs->z_log = NULL; + } + + /* * If we are not mounting (ie: online recv), then we don't * have to worry about replaying the log as we blocked all @@ -502,21 +509,27 @@ zfsvfs_setup(zfsvfs_t *zfsvfs, boolean_t * allow replays to succeed. */ readonly = zfsvfs->z_vfs->vfs_flag & VFS_RDONLY; - zfsvfs->z_vfs->vfs_flag &= ~VFS_RDONLY; - - /* - * Parse and replay the intent log. - */ - zil_replay(zfsvfs->z_os, zfsvfs, &zfsvfs->z_assign, - zfs_replay_vector, zfs_unlinked_drain); - - zfs_unlinked_drain(zfsvfs); + if (readonly != 0) + zfsvfs->z_vfs->vfs_flag &= ~VFS_RDONLY; + else + zfs_unlinked_drain(zfsvfs); + + if (zfsvfs->z_log) { + + /* + * Parse and replay the intent log. + * Because of ziltest, this must be done after + * zfs_unlinked_drain(). (Further note: ziltest + * doesn't use readonly mounts, where + */ + zfsvfs->z_replay = B_TRUE; + zil_replay(zfsvfs->z_os, zfsvfs, zfs_replay_vector); + zfsvfs->z_replay = B_FALSE; + } + zfsvfs->z_vfs->vfs_flag |= readonly; /* restore readonly bit */ } - if (!zil_disable) - zfsvfs->z_log = zil_open(zfsvfs->z_os, zfs_get_data); - return (0); } @@ -552,7 +565,6 @@ zfs_domount(vfs_t *vfsp, char *osname) zfsvfs = kmem_zalloc(sizeof (zfsvfs_t), KM_SLEEP); zfsvfs->z_vfs = vfsp; zfsvfs->z_parent = zfsvfs; - zfsvfs->z_assign = TXG_NOWAIT; zfsvfs->z_max_blksz = SPA_MAXBLOCKSIZE; zfsvfs->z_show_ctldir = ZFS_SNAPDIR_VISIBLE; Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sun Aug 30 22:51:04 2009 (r196675) @@ -132,12 +132,12 @@ * rw_enter(...); // grab any other locks you need * tx = dmu_tx_create(...); // get DMU tx * dmu_tx_hold_*(); // hold each object you might modify - * error = dmu_tx_assign(tx, zfsvfs->z_assign); // try to assign + * error = dmu_tx_assign(tx, TXG_NOWAIT); // try to assign * if (error) { * rw_exit(...); // drop locks * zfs_dirent_unlock(dl); // unlock directory entry * VN_RELE(...); // release held vnodes - * if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + * if (error == ERESTART) { * dmu_tx_wait(tx); * dmu_tx_abort(tx); * goto top; @@ -793,10 +793,9 @@ zfs_write(vnode_t *vp, uio_t *uio, int i tx = dmu_tx_create(zfsvfs->z_os); dmu_tx_hold_bonus(tx, zp->z_id); dmu_tx_hold_write(tx, zp->z_id, woff, MIN(n, max_blksz)); - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { - if (error == ERESTART && - zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); continue; @@ -906,7 +905,7 @@ zfs_write(vnode_t *vp, uio_t *uio, int i * If we're in replay mode, or we made no progress, return error. * Otherwise, it's at least a partial write, so it's successful. */ - if (zfsvfs->z_assign >= TXG_INITIAL || uio->uio_resid == start_resid) { + if (zfsvfs->z_replay || uio->uio_resid == start_resid) { ZFS_EXIT(zfsvfs); return (error); } @@ -1396,11 +1395,10 @@ top: dmu_tx_hold_write(tx, DMU_NEW_OBJECT, 0, SPA_MAXBLOCKSIZE); } - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { zfs_dirent_unlock(dl); - if (error == ERESTART && - zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -1609,11 +1607,11 @@ top: /* charge as an update -- would be nice not to charge at all */ dmu_tx_hold_zap(tx, zfsvfs->z_unlinkedobj, FALSE, NULL); - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { zfs_dirent_unlock(dl); VN_RELE(vp); - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -1811,10 +1809,10 @@ top: if ((dzp->z_phys->zp_flags & ZFS_INHERIT_ACE) || aclp) dmu_tx_hold_write(tx, DMU_NEW_OBJECT, 0, SPA_MAXBLOCKSIZE); - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { zfs_dirent_unlock(dl); - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -1941,13 +1939,13 @@ top: dmu_tx_hold_zap(tx, dzp->z_id, FALSE, name); dmu_tx_hold_bonus(tx, zp->z_id); dmu_tx_hold_zap(tx, zfsvfs->z_unlinkedobj, FALSE, NULL); - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { rw_exit(&zp->z_parent_lock); rw_exit(&zp->z_name_lock); zfs_dirent_unlock(dl); VN_RELE(vp); - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -2842,7 +2840,7 @@ top: dmu_tx_hold_bonus(tx, attrzp->z_id); } - err = dmu_tx_assign(tx, zfsvfs->z_assign); + err = dmu_tx_assign(tx, TXG_NOWAIT); if (err) { if (attrzp) VN_RELE(ZTOV(attrzp)); @@ -2852,7 +2850,7 @@ top: aclp = NULL; } - if (err == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (err == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -3297,7 +3295,7 @@ top: if (tzp) dmu_tx_hold_bonus(tx, tzp->z_id); /* parent changes */ dmu_tx_hold_zap(tx, zfsvfs->z_unlinkedobj, FALSE, NULL); - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { if (zl != NULL) zfs_rename_unlock(&zl); @@ -3306,7 +3304,7 @@ top: VN_RELE(ZTOV(szp)); if (tzp) VN_RELE(ZTOV(tzp)); - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -3443,10 +3441,10 @@ top: FUID_SIZE_ESTIMATE(zfsvfs)); } } - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { zfs_dirent_unlock(dl); - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -3662,10 +3660,10 @@ top: tx = dmu_tx_create(zfsvfs->z_os); dmu_tx_hold_bonus(tx, szp->z_id); dmu_tx_hold_zap(tx, dzp->z_id, TRUE, name); - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { zfs_dirent_unlock(dl); - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Sun Aug 30 22:51:04 2009 (r196675) @@ -658,7 +658,7 @@ zfs_mknode(znode_t *dzp, vattr_t *vap, d ASSERT(vap && (vap->va_mask & (AT_TYPE|AT_MODE)) == (AT_TYPE|AT_MODE)); - if (zfsvfs->z_assign >= TXG_INITIAL) { /* ZIL replay */ + if (zfsvfs->z_replay) { obj = vap->va_nodeid; flag |= IS_REPLAY; now = vap->va_ctime; /* see zfs_replay_create() */ @@ -1188,9 +1188,9 @@ top: newblksz = 0; } - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -1310,9 +1310,9 @@ zfs_trunc(znode_t *zp, uint64_t end) top: tx = dmu_tx_create(zfsvfs->z_os); dmu_tx_hold_bonus(tx, zp->z_id); - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto top; @@ -1389,9 +1389,9 @@ zfs_freesp(znode_t *zp, uint64_t off, ui log: tx = dmu_tx_create(zfsvfs->z_os); dmu_tx_hold_bonus(tx, zp->z_id); - error = dmu_tx_assign(tx, zfsvfs->z_assign); + error = dmu_tx_assign(tx, TXG_NOWAIT); if (error) { - if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) { + if (error == ERESTART) { dmu_tx_wait(tx); dmu_tx_abort(tx); goto log; @@ -1497,7 +1497,6 @@ zfs_create_fs(objset_t *os, cred_t *cr, bzero(&zfsvfs, sizeof (zfsvfs_t)); zfsvfs.z_os = os; - zfsvfs.z_assign = TXG_NOWAIT; zfsvfs.z_parent = &zfsvfs; zfsvfs.z_version = version; zfsvfs.z_use_fuids = USE_FUIDS(version, os); Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Sun Aug 30 22:51:04 2009 (r196675) @@ -1221,7 +1221,7 @@ zil_sync(zilog_t *zilog, dmu_tx_t *tx) ASSERT(zilog->zl_stop_sync == 0); - zh->zh_replay_seq = zilog->zl_replay_seq[txg & TXG_MASK]; + zh->zh_replay_seq = zilog->zl_replayed_seq[txg & TXG_MASK]; if (zilog->zl_destroy_txg == txg) { blkptr_t blk = zh->zh_log; @@ -1230,7 +1230,7 @@ zil_sync(zilog_t *zilog, dmu_tx_t *tx) ASSERT(spa_sync_pass(spa) == 1); bzero(zh, sizeof (zil_header_t)); - bzero(zilog->zl_replay_seq, sizeof (zilog->zl_replay_seq)); + bzero(zilog->zl_replayed_seq, sizeof (zilog->zl_replayed_seq)); if (zilog->zl_keep_first) { /* @@ -1467,9 +1467,7 @@ zil_resume(zilog_t *zilog) typedef struct zil_replay_arg { objset_t *zr_os; zil_replay_func_t **zr_replay; - zil_replay_cleaner_t *zr_replay_cleaner; void *zr_arg; - uint64_t *zr_txgp; boolean_t zr_byteswap; char *zr_lrbuf; } zil_replay_arg_t; @@ -1484,7 +1482,7 @@ zil_replay_log_record(zilog_t *zilog, lr char *name; int pass, error, sunk; - if (zilog->zl_stop_replay) + if (!zilog->zl_replay) /* giving up */ return; if (lr->lrc_txg < claim_txg) /* already committed */ @@ -1548,44 +1546,14 @@ zil_replay_log_record(zilog_t *zilog, lr /* * We must now do two things atomically: replay this log record, * and update the log header to reflect the fact that we did so. - * We use the DMU's ability to assign into a specific txg to do this. + * At the end of each replay function the sequence number + * is updated if we are in replay mode. */ - for (pass = 1, sunk = B_FALSE; /* CONSTANTCONDITION */; pass++) { - uint64_t replay_txg; - dmu_tx_t *replay_tx; - - replay_tx = dmu_tx_create(zr->zr_os); - error = dmu_tx_assign(replay_tx, TXG_WAIT); - if (error) { - dmu_tx_abort(replay_tx); - break; - } - - replay_txg = dmu_tx_get_txg(replay_tx); - - if (txtype == 0 || txtype >= TX_MAX_TYPE) { - error = EINVAL; - } else { - /* - * On the first pass, arrange for the replay vector - * to fail its dmu_tx_assign(). That's the only way - * to ensure that those code paths remain well tested. - * - * Only byteswap (if needed) on the 1st pass. - */ - *zr->zr_txgp = replay_txg - (pass == 1); - error = zr->zr_replay[txtype](zr->zr_arg, zr->zr_lrbuf, - zr->zr_byteswap && pass == 1); - *zr->zr_txgp = TXG_NOWAIT; - } - - if (error == 0) { - dsl_dataset_dirty(dmu_objset_ds(zr->zr_os), replay_tx); - zilog->zl_replay_seq[replay_txg & TXG_MASK] = - lr->lrc_seq; - } - - dmu_tx_commit(replay_tx); + for (pass = 1; pass <= 2; pass++) { + zilog->zl_replaying_seq = lr->lrc_seq; + /* Only byteswap (if needed) on the 1st pass. */ + error = zr->zr_replay[txtype](zr->zr_arg, zr->zr_lrbuf, + zr->zr_byteswap && pass == 1); if (!error) return; @@ -1593,36 +1561,22 @@ zil_replay_log_record(zilog_t *zilog, lr /* * The DMU's dnode layer doesn't see removes until the txg * commits, so a subsequent claim can spuriously fail with - * EEXIST. So if we receive any error other than ERESTART - * we try syncing out any removes then retrying the - * transaction. + * EEXIST. So if we receive any error we try syncing out + * any removes then retry the transaction. */ - if (error != ERESTART && !sunk) { - if (zr->zr_replay_cleaner) - zr->zr_replay_cleaner(zr->zr_arg); + if (pass == 1) txg_wait_synced(spa_get_dsl(zilog->zl_spa), 0); - sunk = B_TRUE; - continue; /* retry */ - } - - if (error != ERESTART) - break; - - if (pass != 1) - txg_wait_open(spa_get_dsl(zilog->zl_spa), - replay_txg + 1); - - dprintf("pass %d, retrying\n", pass); } - - ASSERT(error && error != ERESTART); +bad: + + ASSERT(error); name = kmem_alloc(MAXNAMELEN, KM_SLEEP); dmu_objset_name(zr->zr_os, name); cmn_err(CE_WARN, "ZFS replay transaction error %d, " "dataset %s, seq 0x%llx, txtype %llu %s\n", error, name, (u_longlong_t)lr->lrc_seq, (u_longlong_t)txtype, (lr->lrc_txtype & TX_CI) ? "CI" : ""); - zilog->zl_stop_replay = 1; + zilog->zl_replay = B_FALSE; kmem_free(name, MAXNAMELEN); } @@ -1637,9 +1591,8 @@ zil_incr_blks(zilog_t *zilog, blkptr_t * * If this dataset has a non-empty intent log, replay it and destroy it. */ void -zil_replay(objset_t *os, void *arg, uint64_t *txgp, - zil_replay_func_t *replay_func[TX_MAX_TYPE], - zil_replay_cleaner_t *replay_cleaner) +zil_replay(objset_t *os, void *arg, + zil_replay_func_t *replay_func[TX_MAX_TYPE]) { zilog_t *zilog = dmu_objset_zil(os); const zil_header_t *zh = zilog->zl_header; @@ -1653,9 +1606,7 @@ zil_replay(objset_t *os, void *arg, uint zr.zr_os = os; zr.zr_replay = replay_func; - zr.zr_replay_cleaner = replay_cleaner; zr.zr_arg = arg; - zr.zr_txgp = txgp; zr.zr_byteswap = BP_SHOULD_BYTESWAP(&zh->zh_log); zr.zr_lrbuf = kmem_alloc(2 * SPA_MAXBLOCKSIZE, KM_SLEEP); @@ -1664,7 +1615,7 @@ zil_replay(objset_t *os, void *arg, uint */ txg_wait_synced(zilog->zl_dmu_pool, 0); - zilog->zl_stop_replay = 0; + zilog->zl_replay = B_TRUE; zilog->zl_replay_time = LBOLT; ASSERT(zilog->zl_replay_blks == 0); (void) zil_parse(zilog, zil_incr_blks, zil_replay_log_record, &zr, @@ -1673,6 +1624,7 @@ zil_replay(objset_t *os, void *arg, uint zil_destroy(zilog, B_FALSE); txg_wait_synced(zilog->zl_dmu_pool, zilog->zl_destroy_txg); + zilog->zl_replay = B_FALSE; //printf("ZFS: Replay of ZIL on %s finished.\n", os->os->os_spa->spa_name); } Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Sun Aug 30 22:44:12 2009 (r196674) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Sun Aug 30 22:51:04 2009 (r196675) @@ -73,6 +73,7 @@ #include #include #include +#include #include "zfs_namecheck.h" @@ -138,6 +139,7 @@ typedef struct zvol_state { #define ZVOL_RDONLY 0x1 #define ZVOL_DUMPIFIED 0x2 #define ZVOL_EXCL 0x4 +#define ZVOL_WCE 0x8 /* * zvol maximum transfer in one DMU tx. @@ -278,28 +280,72 @@ zvol_access(struct g_provider *pp, int a ssize_t zvol_immediate_write_sz = 32768; static void -zvol_log_write(zvol_state_t *zv, dmu_tx_t *tx, offset_t off, ssize_t len) +zvol_log_write(zvol_state_t *zv, dmu_tx_t *tx, offset_t off, ssize_t resid, + boolean_t sync) { uint32_t blocksize = zv->zv_volblocksize; - lr_write_t *lr; + zilog_t *zilog = zv->zv_zilog; + boolean_t slogging; - while (len) { - ssize_t nbytes = MIN(len, blocksize - P2PHASE(off, blocksize)); - itx_t *itx = zil_itx_create(TX_WRITE, sizeof (*lr)); + if (zil_disable) + return; - itx->itx_wr_state = - len > zvol_immediate_write_sz ? WR_INDIRECT : WR_NEED_COPY; - itx->itx_private = zv; + if (zilog->zl_replay) { + dsl_dataset_dirty(dmu_objset_ds(zilog->zl_os), tx); + zilog->zl_replayed_seq[dmu_tx_get_txg(tx) & TXG_MASK] = + zilog->zl_replaying_seq; + return; + } + slogging = spa_has_slogs(zilog->zl_spa); + + while (resid) { + ssize_t len; + itx_t *itx; + lr_write_t *lr; + itx_wr_state_t write_state; + + /* + * Unlike zfs_log_write() we can be called with + * upto DMU_MAX_ACCESS/2 (5MB) writes. + */ + if (blocksize > zvol_immediate_write_sz && !slogging && + resid >= blocksize && off % blocksize == 0) { + write_state = WR_INDIRECT; /* uses dmu_sync */ + len = blocksize; + } else if (sync) { + write_state = WR_COPIED; + len = MIN(ZIL_MAX_LOG_DATA, resid); + } else { + write_state = WR_NEED_COPY; + len = MIN(ZIL_MAX_LOG_DATA, resid); + } + + itx = zil_itx_create(TX_WRITE, sizeof (*lr) + + (write_state == WR_COPIED ? len : 0)); lr = (lr_write_t *)&itx->itx_lr; + if (write_state == WR_COPIED && dmu_read_flags(zv->zv_objset, + ZVOL_OBJ, off, len, lr + 1, DMU_READ_NO_PREFETCH) != 0) { + kmem_free(itx, offsetof(itx_t, itx_lr) + + itx->itx_lr.lrc_reclen); + itx = zil_itx_create(TX_WRITE, sizeof (*lr)); + lr = (lr_write_t *)&itx->itx_lr; + write_state = WR_NEED_COPY; + } + + itx->itx_wr_state = write_state; + if (write_state == WR_NEED_COPY) + itx->itx_sod += len; + itx->itx_private = zv; lr->lr_foid = ZVOL_OBJ; lr->lr_offset = off; - lr->lr_length = nbytes; + lr->lr_length = len; lr->lr_blkoff = off - P2ALIGN_TYPED(off, blocksize, uint64_t); BP_ZERO(&lr->lr_blkptr); (void) zil_itx_assign(zv->zv_zilog, itx, tx); - len -= nbytes; - off += nbytes; + + off += len; + resid -= len; } } @@ -337,6 +383,7 @@ zvol_serve_one(zvol_state_t *zv, struct rl_t *rl; int error = 0; boolean_t reading; + boolean_t sync; off = bp->bio_offset; volsize = zv->zv_volsize; @@ -349,12 +396,15 @@ zvol_serve_one(zvol_state_t *zv, struct error = 0; + + reading = (bp->bio_cmd == BIO_READ); + sync = /* !(bp->b_flags & B_ASYNC) && !is_dump && */ !reading && + !(zv->zv_flags & ZVOL_WCE) && !zil_disable; /* * There must be no buffer changes when doing a dmu_sync() because * we can't change the data whilst calculating the checksum. * A better approach than a per zvol rwlock would be to lock ranges. */ - reading = (bp->bio_cmd == BIO_READ); rl = zfs_range_lock(&zv->zv_znode, off, resid, reading ? RL_READER : RL_WRITER); @@ -375,7 +425,7 @@ zvol_serve_one(zvol_state_t *zv, struct dmu_tx_abort(tx); } else { dmu_write(os, ZVOL_OBJ, off, size, addr, tx); - zvol_log_write(zv, tx, off, size); + zvol_log_write(zv, tx, off, size, sync); dmu_tx_commit(tx); } } @@ -816,7 +866,7 @@ zvol_create_minor(const char *name, majo ASSERT(error == 0); zv->zv_volblocksize = doi.doi_data_block_size; - zil_replay(os, zv, &zv->zv_txg_assign, zvol_replay_vector, NULL); + zil_replay(os, zv, zvol_replay_vector); /* XXX this should handle the possible i/o error */ VERIFY(dsl_prop_register(dmu_objset_ds(zv->zv_objset), *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 22:52:18 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2E8E1065676; Sun, 30 Aug 2009 22:52:18 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C1DF88FC14; Sun, 30 Aug 2009 22:52:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UMqIK9008944; Sun, 30 Aug 2009 22:52:18 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7UMqIc0008942; Sun, 30 Aug 2009 22:52:18 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302252.n7UMqIc0008942@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 22:52:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196676 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 22:52:18 -0000 Author: kmacy Date: Sun Aug 30 22:52:18 2009 New Revision: 196676 URL: http://svn.freebsd.org/changeset/base/196676 Log: 192796 remove assert that doesn't apply to freebsd Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c Sun Aug 30 22:51:04 2009 (r196675) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c Sun Aug 30 22:52:18 2009 (r196676) @@ -561,7 +561,6 @@ zfs_rmnode(znode_t *zp) vfslocked = VFS_LOCK_GIANT(zfsvfs->z_vfs); - ASSERT(ZTOV(zp)->v_count == 0); ASSERT(zp->z_phys->zp_links == 0); /* From owner-svn-src-user@FreeBSD.ORG Sun Aug 30 23:16:52 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 869651065703; Sun, 30 Aug 2009 23:16:52 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 75C4B8FC08; Sun, 30 Aug 2009 23:16:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UNGqAD009421; Sun, 30 Aug 2009 23:16:52 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7UNGq6l009419; Sun, 30 Aug 2009 23:16:52 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908302316.n7UNGq6l009419@svn.freebsd.org> From: Kip Macy Date: Sun, 30 Aug 2009 23:16:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196677 - user/kmacy/head_zfs_merge/cddl/contrib/opensolaris/cmd/ztest X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 23:16:52 -0000 Author: kmacy Date: Sun Aug 30 23:16:52 2009 New Revision: 196677 URL: http://svn.freebsd.org/changeset/base/196677 Log: merge 193010 update ztest for new zil_replay Modified: user/kmacy/head_zfs_merge/cddl/contrib/opensolaris/cmd/ztest/ztest.c Modified: user/kmacy/head_zfs_merge/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- user/kmacy/head_zfs_merge/cddl/contrib/opensolaris/cmd/ztest/ztest.c Sun Aug 30 22:52:18 2009 (r196676) +++ user/kmacy/head_zfs_merge/cddl/contrib/opensolaris/cmd/ztest/ztest.c Sun Aug 30 23:16:52 2009 (r196677) @@ -1304,7 +1304,7 @@ ztest_dmu_objset_create_destroy(ztest_ar if (ztest_random(2) == 0 && dmu_objset_open(name, DMU_OST_OTHER, DS_MODE_OWNER, &os) == 0) { zr.zr_os = os; - zil_replay(os, &zr, &zr.zr_assign, ztest_replay_vector, NULL); + zil_replay(os, &zr, ztest_replay_vector); dmu_objset_close(os); } @@ -3321,8 +3321,7 @@ ztest_run(char *pool) if (test_future) ztest_dmu_check_future_leak(&za[t]); zr.zr_os = za[d].za_os; - zil_replay(zr.zr_os, &zr, &zr.zr_assign, - ztest_replay_vector, NULL); + zil_replay(zr.zr_os, &zr, ztest_replay_vector); za[d].za_zilog = zil_open(za[d].za_os, NULL); } From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 00:56:06 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF6CB1065670; Mon, 31 Aug 2009 00:56:06 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE2298FC17; Mon, 31 Aug 2009 00:56:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7V0u6uv011529; Mon, 31 Aug 2009 00:56:06 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7V0u6vV011523; Mon, 31 Aug 2009 00:56:06 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908310056.n7V0u6vV011523@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 00:56:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196682 - user/kmacy/head_zfs_merge/sys/conf X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 00:56:07 -0000 Author: kmacy Date: Mon Aug 31 00:56:06 2009 New Revision: 196682 URL: http://svn.freebsd.org/changeset/base/196682 Log: integrate 192877 - add option to link ZFS support in to the kernel for cases where having a single binary is simpler (profiling etc.) Modified: user/kmacy/head_zfs_merge/sys/conf/files user/kmacy/head_zfs_merge/sys/conf/files.amd64 user/kmacy/head_zfs_merge/sys/conf/files.i386 user/kmacy/head_zfs_merge/sys/conf/kern.pre.mk user/kmacy/head_zfs_merge/sys/conf/options Modified: user/kmacy/head_zfs_merge/sys/conf/files ============================================================================== --- user/kmacy/head_zfs_merge/sys/conf/files Mon Aug 31 00:54:14 2009 (r196681) +++ user/kmacy/head_zfs_merge/sys/conf/files Mon Aug 31 00:56:06 2009 (r196682) @@ -2826,3 +2826,237 @@ dev/xen/xenpci/xenpci.c optional xenpci dev/xen/xenpci/evtchn.c optional xenpci dev/xen/xenpci/machine_reboot.c optional xenpci + +cddl/compat/opensolaris/kern/opensolaris.c optional opensolaris \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_CFLAGS}" +cddl/compat/opensolaris/kern/opensolaris_cmn_err.c optional opensolaris \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_CFLAGS}" +cddl/compat/opensolaris/kern/opensolaris_kmem.c optional opensolaris \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_CFLAGS}" +cddl/compat/opensolaris/kern/opensolaris_misc.c optional opensolaris \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" + + +cddl/contrib/opensolaris/common/acl/acl_common.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/common/avl/avl.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/common/nvpair/nvpair.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" + +cddl/contrib/opensolaris/common/unicode/u8_textprep.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" + +cddl/compat/opensolaris/kern/opensolaris_acl.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_kmem.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_kobj.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_kstat.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_lookup.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_policy.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_string.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_taskq.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_vfs.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" +cddl/compat/opensolaris/kern/opensolaris_zone.c optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" + + +cddl/contrib/opensolaris/uts/common/fs/gfs.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/vnode.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" + + +cddl/contrib/opensolaris/uts/common/os/callb.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/os/list.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" + + +cddl/contrib/opensolaris/uts/common/zmod/adler32.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/deflate.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/inffast.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/inflate.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/inftrees.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/trees.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/zmod.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/zmod/zutil.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" + + + + + +cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/bplist.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/fletcher.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/gzip.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/unique.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" + +cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/common/zfs/zfs_deleg.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/common/zfs/zfs_prop.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/common/zfs/zfs_comutil.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/common/zfs/zpool_prop.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/common/zfs/zprop_common.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" + + +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" + + +cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" + Modified: user/kmacy/head_zfs_merge/sys/conf/files.amd64 ============================================================================== --- user/kmacy/head_zfs_merge/sys/conf/files.amd64 Mon Aug 31 00:54:14 2009 (r196681) +++ user/kmacy/head_zfs_merge/sys/conf/files.amd64 Mon Aug 31 00:56:06 2009 (r196682) @@ -291,3 +291,7 @@ i386/cpufreq/p4tcc.c optional cpufreq # libkern/memmove.c standard libkern/memset.c standard + +cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" + Modified: user/kmacy/head_zfs_merge/sys/conf/files.i386 ============================================================================== --- user/kmacy/head_zfs_merge/sys/conf/files.i386 Mon Aug 31 00:54:14 2009 (r196681) +++ user/kmacy/head_zfs_merge/sys/conf/files.i386 Mon Aug 31 00:56:06 2009 (r196682) @@ -378,3 +378,6 @@ i386/xbox/xbox.c optional xbox i386/xbox/xboxfb.c optional xboxfb dev/fb/boot_font.c optional xboxfb i386/xbox/pic16l.s optional xbox + +cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S optional zfs \ + compile-with "${ZFS_C} ${ZFS_CFLAGS} ${OPENSOLARIS_INC}" Modified: user/kmacy/head_zfs_merge/sys/conf/kern.pre.mk ============================================================================== --- user/kmacy/head_zfs_merge/sys/conf/kern.pre.mk Mon Aug 31 00:54:14 2009 (r196681) +++ user/kmacy/head_zfs_merge/sys/conf/kern.pre.mk Mon Aug 31 00:56:06 2009 (r196682) @@ -53,7 +53,44 @@ C_DIALECT= -std=c99 NOSTDINC= -nostdinc .endif +.if defined(OPENSOLARIS) +SUNW=$S/cddl/contrib/opensolaris +OPENSOLARIS_INC= +OPENSOLARIS_INC+=-I$S/cddl/compat/opensolaris +OPENSOLARIS_INC+=-I${SUNW}/uts/common +OPENSOLARIS_INC+=-I${SUNW}/uts/common/fs/zfs +OPENSOLARIS_INC+=-I${SUNW}/uts/common/zmod +OPENSOLARIS_INC+=-I$S +OPENSOLARIS_INC+=-I${SUNW}/common/zfs +OPENSOLARIS_INC+=-I${SUNW}/common +OPENSOLARIS_INC+=-I$S/../include +OPENSOLARIS_INC+=-I. +OPENSOLARIS_INC+=-I@ +CWARNFLAGS+=-Wno-unknown-pragmas +.endif + + +ZFS_C_DIALECT=-std=iso9899:1999 +ZFS_CWARNFLAGS=-Wno-missing-prototypes +ZFS_CWARNFLAGS+=-Wno-pointer-sign +ZFS_CWARNFLAGS+=-Wno-undef +ZFS_CWARNFLAGS+=-Wno-strict-prototypes +ZFS_CWARNFLAGS+=-Wno-cast-qual +ZFS_CWARNFLAGS+=-Wno-parentheses +ZFS_CWARNFLAGS+=-Wno-redundant-decls +ZFS_CWARNFLAGS+=-Wno-missing-braces +ZFS_CWARNFLAGS+=-Wno-uninitialized +ZFS_CWARNFLAGS+=-Wno-unused +ZFS_CWARNFLAGS+=-Wno-inline +ZFS_CWARNFLAGS+=-Wno-switch + +ZFS_INC= + +.if make(depend) || make(kernel-depend) +INCLUDES= ${OPENSOLARIS_INC} ${ZFS_INC} ${NOSTDINC} ${INCLMAGIC} -I. -I$S +.else INCLUDES= ${NOSTDINC} ${INCLMAGIC} -I. -I$S +.endif # This hack lets us use the OpenBSD altq code without spamming a new # include path into contrib'ed source files. @@ -79,8 +116,6 @@ INCLUDES+= -I$S/dev/twa # ... and XFS INCLUDES+= -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs -# ... and OpenSolaris -INCLUDES+= -I$S/contrib/opensolaris/compat # ... and the same for cxgb INCLUDES+= -I$S/dev/cxgb @@ -89,10 +124,26 @@ INCLUDES+= -I$S/dev/cxgb CFLAGS= ${COPTFLAGS} ${C_DIALECT} ${DEBUG} ${CWARNFLAGS} CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h + +ZFS_CFLAGS= -DFREEBSD_NAMECACHE -DBUILDING_ZFS -D_KERNEL +ZFS_CFLAGS+=-DHAVE_KERNEL_OPTION_HEADERS -nostdinc +ZFS_CFLAGS+=-mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding +ZFS_CFLAGS+=${COPTFLAGS} ${ZFS_C_DIALECT} ${DEBUG} ${CWARNFLAGS} +ZFS_CFLAGS+=${ZFS_CWARNFLAGS} -include opt_global.h -I${.CURDIR} + .if ${CC} != "icc" CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT} CFLAGS+= --param inline-unit-growth=100 CFLAGS+= --param large-function-growth=1000 +.endif + +ZFS_CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT} +ZFS_CFLAGS+= --param inline-unit-growth=100 +ZFS_CFLAGS+= --param large-function-growth=1000 + +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE} == "i386" || \ + ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH} == "powerpc" || \ + ${MACHINE_ARCH} == "sparc64" WERROR?= -Werror .endif @@ -121,6 +172,7 @@ CFLAGS+= ${CONF_CFLAGS} LINTFLAGS= ${LINTOBJKERNFLAGS} NORMAL_C= ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.IMPSRC} +ZFS_C= ${CC} -c -DBUILDING_ZFS -D_KERNEL ${WERROR} ${PROF} ${.IMPSRC} NORMAL_S= ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC} PROFILE_C= ${CC} -c ${CFLAGS} ${WERROR} ${.IMPSRC} NORMAL_C_NOWERROR= ${CC} -c ${CFLAGS} ${PROF} ${.IMPSRC} Modified: user/kmacy/head_zfs_merge/sys/conf/options ============================================================================== --- user/kmacy/head_zfs_merge/sys/conf/options Mon Aug 31 00:54:14 2009 (r196681) +++ user/kmacy/head_zfs_merge/sys/conf/options Mon Aug 31 00:56:06 2009 (r196682) @@ -796,6 +796,10 @@ XBOX opt_xbox.h # XFS XFS +# ZFS +OPENSOLARIS +ZFS + # Interrupt filtering INTR_FILTER From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 03:44:06 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A116106568B; Mon, 31 Aug 2009 03:44:06 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36A1E8FC1B; Mon, 31 Aug 2009 03:44:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7V3i5d3015551; Mon, 31 Aug 2009 03:44:05 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7V3i5Ht015530; Mon, 31 Aug 2009 03:44:05 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908310344.n7V3i5Ht015530@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 03:44:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196685 - in user/kmacy/head_zfs_merge/sys: cddl/contrib/opensolaris/uts/common/zmod conf dev/mxge geom/uzip kern libkern/zlib modules/netgraph modules/zlib net opencrypto X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 03:44:06 -0000 Author: kmacy Date: Mon Aug 31 03:44:05 2009 New Revision: 196685 URL: http://svn.freebsd.org/changeset/base/196685 Log: integrate: 193049 193050 193067 193075 194224 Update to zlib 1.2.3 point opensolaris at it Added: user/kmacy/head_zfs_merge/sys/libkern/zlib/ - copied from r193049, user/kmacy/releng_7_2_fcs/sys/libkern/zlib/ Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c user/kmacy/head_zfs_merge/sys/conf/files user/kmacy/head_zfs_merge/sys/dev/mxge/if_mxge.c user/kmacy/head_zfs_merge/sys/geom/uzip/g_uzip.c user/kmacy/head_zfs_merge/sys/kern/link_elf.c user/kmacy/head_zfs_merge/sys/kern/link_elf_obj.c user/kmacy/head_zfs_merge/sys/libkern/zlib/deflate.c user/kmacy/head_zfs_merge/sys/libkern/zlib/inflate.c user/kmacy/head_zfs_merge/sys/libkern/zlib/trees.c user/kmacy/head_zfs_merge/sys/libkern/zlib/uncompr.c user/kmacy/head_zfs_merge/sys/libkern/zlib/zl_crc32.c user/kmacy/head_zfs_merge/sys/libkern/zlib/zlib.h user/kmacy/head_zfs_merge/sys/libkern/zlib/zutil.c user/kmacy/head_zfs_merge/sys/libkern/zlib/zutil.h user/kmacy/head_zfs_merge/sys/modules/netgraph/Makefile user/kmacy/head_zfs_merge/sys/modules/zlib/Makefile user/kmacy/head_zfs_merge/sys/net/zlib.c user/kmacy/head_zfs_merge/sys/opencrypto/deflate.c user/kmacy/head_zfs_merge/sys/opencrypto/deflate.h Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c Mon Aug 31 03:44:05 2009 (r196685) @@ -36,6 +36,7 @@ * The resulting decompressed size is then returned through dstlen. This * function return Z_OK on success, or another error code on failure. */ +#if 0 int z_uncompress(void *dst, size_t *dstlen, const void *src, size_t srclen) { @@ -64,6 +65,7 @@ z_uncompress(void *dst, size_t *dstlen, *dstlen = zs.total_out; return (inflateEnd(&zs)); } +#endif int z_compress_level(void *dst, size_t *dstlen, const void *src, size_t srclen, @@ -91,13 +93,6 @@ z_compress_level(void *dst, size_t *dstl return (deflateEnd(&zs)); } -int -z_compress(void *dst, size_t *dstlen, const void *src, size_t srclen) -{ - return (z_compress_level(dst, dstlen, src, srclen, - Z_DEFAULT_COMPRESSION)); -} - /* * Convert a zlib error code into a string error message. */ @@ -111,3 +106,12 @@ z_strerror(int err) return (zError(err)); } + +#if 0 +int +z_compress(void *dst, size_t *dstlen, const void *src, size_t srclen) +{ + return (z_compress_level(dst, dstlen, src, srclen, + Z_DEFAULT_COMPRESSION)); +} +#endif Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c Mon Aug 31 03:44:05 2009 (r196685) @@ -30,40 +30,7 @@ #include #include -struct zchdr { - uint_t zch_magic; - uint_t zch_size; -}; - -#define ZCH_MAGIC 0x3cc13cc1 - -/*ARGSUSED*/ -void * -zcalloc(void *opaque, uint_t items, uint_t size) -{ - size_t nbytes = sizeof (struct zchdr) + items * size; - struct zchdr *z = kobj_zalloc(nbytes, KM_NOWAIT|KM_TMP); - - if (z == NULL) - return (NULL); - - z->zch_magic = ZCH_MAGIC; - z->zch_size = nbytes; - - return (z + 1); -} - /*ARGSUSED*/ -void -zcfree(void *opaque, void *ptr) -{ - struct zchdr *z = ((struct zchdr *)ptr) - 1; - - if (z->zch_magic != ZCH_MAGIC) - panic("zcfree region corrupt: hdr=%p ptr=%p", (void *)z, ptr); - - kobj_free(z, z->zch_size); -} void zmemcpy(void *dest, const void *source, uint_t len) Modified: user/kmacy/head_zfs_merge/sys/conf/files ============================================================================== --- user/kmacy/head_zfs_merge/sys/conf/files Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/conf/files Mon Aug 31 03:44:05 2009 (r196685) @@ -1910,6 +1910,7 @@ gnu/fs/reiserfs/reiserfs_stree.c optiona gnu/fs/reiserfs/reiserfs_vfsops.c optional reiserfs gnu/fs/reiserfs/reiserfs_vnops.c optional reiserfs # + isa/isa_if.m standard isa/isa_common.c optional isa isa/isahint.c optional isa @@ -1930,7 +1931,6 @@ kern/cpufreq_if.m standard kern/device_if.m standard kern/imgact_elf.c standard kern/imgact_shell.c standard -kern/inflate.c optional gzip kern/init_main.c standard kern/init_sysent.c standard kern/ksched.c optional _kposix_priority_scheduling @@ -2240,6 +2240,37 @@ net/vnet.c optional vimage net/zlib.c optional crypto | geom_uzip | ipsec | \ mxge | netgraph_deflate | \ ddb_ctf +libkern/zlib/adler32.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/compress.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/deflate.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/inflate.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/inffast.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/inftrees.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/trees.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/uncompr.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/zutil.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip +libkern/zlib/zl_crc32.c optional zfs | crypto | geom_uzip | ipsec | \ + mxge | ppp_deflate | \ + netgraph_deflate | ddb_ctf | gzip + net80211/ieee80211.c optional wlan net80211/ieee80211_acl.c optional wlan wlan_acl net80211/ieee80211_action.c optional wlan @@ -2881,33 +2912,6 @@ cddl/contrib/opensolaris/uts/common/os/l compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" cddl/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c optional zfs \ compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" - - -cddl/contrib/opensolaris/uts/common/zmod/adler32.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/deflate.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/inffast.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/inflate.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/inftrees.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/trees.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/zmod.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" -cddl/contrib/opensolaris/uts/common/zmod/zutil.c optional zfs \ - compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" - - - - - cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c optional zfs \ compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" cddl/contrib/opensolaris/uts/common/fs/zfs/bplist.c optional zfs \ @@ -3060,3 +3064,26 @@ cddl/contrib/opensolaris/uts/common/fs/z cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c optional zfs \ compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +# Compression routines conflicting with ZFS + +#cddl/contrib/opensolaris/uts/common/zmod/deflate.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +#cddl/contrib/opensolaris/uts/common/zmod/inffast.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +#cddl/contrib/opensolaris/uts/common/zmod/trees.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +#cddl/contrib/opensolaris/uts/common/zmod/zutil.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +#cddl/contrib/opensolaris/uts/common/zmod/inflate.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +#cddl/contrib/opensolaris/uts/common/zmod/inftrees.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +#cddl/contrib/opensolaris/uts/common/zmod/adler32.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_IsNC} ${ZFS_INC} ${ZFS_CFLAGS}" +#cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" +#cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c optional zfs \ +# compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" + +cddl/contrib/opensolaris/uts/common/zmod/zmod.c optional zfs \ + compile-with "${ZFS_C} ${OPENSOLARIS_INC} ${ZFS_INC} ${ZFS_CFLAGS}" Modified: user/kmacy/head_zfs_merge/sys/dev/mxge/if_mxge.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/dev/mxge/if_mxge.c Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/dev/mxge/if_mxge.c Mon Aug 31 03:44:05 2009 (r196685) @@ -58,7 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #include #include Modified: user/kmacy/head_zfs_merge/sys/geom/uzip/g_uzip.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/geom/uzip/g_uzip.c Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/geom/uzip/g_uzip.c Mon Aug 31 03:44:05 2009 (r196685) @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #undef GEOM_UZIP_DEBUG #ifdef GEOM_UZIP_DEBUG Modified: user/kmacy/head_zfs_merge/sys/kern/link_elf.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/kern/link_elf.c Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/kern/link_elf.c Mon Aug 31 03:44:05 2009 (r196685) @@ -66,7 +66,7 @@ __FBSDID("$FreeBSD$"); #include #ifdef DDB_CTF -#include +#include #endif #include "linker_if.h" Modified: user/kmacy/head_zfs_merge/sys/kern/link_elf_obj.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/kern/link_elf_obj.c Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/kern/link_elf_obj.c Mon Aug 31 03:44:05 2009 (r196685) @@ -60,7 +60,7 @@ __FBSDID("$FreeBSD$"); #include #ifdef DDB_CTF -#include +#include #endif #include "linker_if.h" Modified: user/kmacy/head_zfs_merge/sys/libkern/zlib/deflate.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/libkern/zlib/deflate.c Fri May 29 19:06:02 2009 (r193049) +++ user/kmacy/head_zfs_merge/sys/libkern/zlib/deflate.c Mon Aug 31 03:44:05 2009 (r196685) @@ -297,7 +297,7 @@ int ZEXPORT deflateInit2_(strm, level, m if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || s->pending_buf == Z_NULL) { s->status = FINISH_STATE; - strm->msg = (char*)ERR_MSG(Z_MEM_ERROR); + strm->msg = __DECONST(char*, ERR_MSG(Z_MEM_ERROR)); deflateEnd (strm); return Z_MEM_ERROR; } @@ -1225,7 +1225,7 @@ local uInt longest_match_fast(s, cur_mat return (uInt)len <= s->lookahead ? (uInt)len : s->lookahead; } -#ifdef DEBUG +#if 0 /* =========================================================================== * Check that the match at match_start is indeed a match. */ Modified: user/kmacy/head_zfs_merge/sys/libkern/zlib/inflate.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/libkern/zlib/inflate.c Fri May 29 19:06:02 2009 (r193049) +++ user/kmacy/head_zfs_merge/sys/libkern/zlib/inflate.c Mon Aug 31 03:44:05 2009 (r196685) @@ -245,7 +245,7 @@ struct inflate_state FAR *state; state->distbits = 5; } -#ifdef MAKEFIXED +#if 0 #include /* Modified: user/kmacy/head_zfs_merge/sys/libkern/zlib/trees.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/libkern/zlib/trees.c Fri May 29 19:06:02 2009 (r193049) +++ user/kmacy/head_zfs_merge/sys/libkern/zlib/trees.c Mon Aug 31 03:44:05 2009 (r196685) @@ -35,9 +35,6 @@ #include -#ifdef DEBUG -# include -#endif /* =========================================================================== * Constants @@ -163,7 +160,7 @@ local void copy_block OF((deflate_st local void gen_trees_header OF((void)); #endif -#ifndef DEBUG +#if 1 # define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len) /* Send a code of the given tree. c and tree must not have side effects */ @@ -318,7 +315,7 @@ local void tr_static_init() /* =========================================================================== * Genererate the file trees.h describing the static trees. */ -#ifdef GEN_TREES_H +#if 0 # ifndef DEBUG # include # endif @@ -986,7 +983,8 @@ void _tr_flush_block(s, buf, stored_len, } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) { #endif send_bits(s, (STATIC_TREES<<1)+eof, 3); - compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree); + compress_block(s, __DECONST(ct_data *, static_ltree), + __DECONST(ct_data *, static_dtree)); #ifdef DEBUG s->compressed_len += 3 + s->static_len; #endif Modified: user/kmacy/head_zfs_merge/sys/libkern/zlib/uncompr.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/libkern/zlib/uncompr.c Fri May 29 19:06:02 2009 (r193049) +++ user/kmacy/head_zfs_merge/sys/libkern/zlib/uncompr.c Mon Aug 31 03:44:05 2009 (r196685) @@ -32,7 +32,7 @@ int ZEXPORT uncompress (dest, destLen, s z_stream stream; int err; - stream.next_in = (Bytef*)source; + stream.next_in = (Bytef*)(uintptr_t)source; stream.avail_in = (uInt)sourceLen; /* Check for source > 64K on 16-bit machine: */ if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; Modified: user/kmacy/head_zfs_merge/sys/libkern/zlib/zl_crc32.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/libkern/zlib/zl_crc32.c Fri May 29 19:06:02 2009 (r193049) +++ user/kmacy/head_zfs_merge/sys/libkern/zlib/zl_crc32.c Mon Aug 31 03:44:05 2009 (r196685) @@ -22,7 +22,7 @@ one thread to use crc32(). */ -#ifdef MAKECRCH +#if 0 # include # ifndef DYNAMIC_CRC_TABLE # define DYNAMIC_CRC_TABLE Modified: user/kmacy/head_zfs_merge/sys/libkern/zlib/zlib.h ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/libkern/zlib/zlib.h Fri May 29 19:06:02 2009 (r193049) +++ user/kmacy/head_zfs_merge/sys/libkern/zlib/zlib.h Mon Aug 31 03:44:05 2009 (r196685) @@ -30,7 +30,7 @@ #ifndef ZLIB_H #define ZLIB_H - +#include #include #ifdef __cplusplus Modified: user/kmacy/head_zfs_merge/sys/libkern/zlib/zutil.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/libkern/zlib/zutil.c Fri May 29 19:06:02 2009 (r193049) +++ user/kmacy/head_zfs_merge/sys/libkern/zlib/zutil.c Mon Aug 31 03:44:05 2009 (r196685) @@ -5,8 +5,20 @@ /* @(#) $Id$ */ + +#ifdef _KERNEL #include +/* Assume this is a *BSD or SVR4 kernel */ +#include +#include +#include +#include +#include +#include +# define HAVE_MEMCPY +#endif + #ifndef NO_DUMMY_DECL struct internal_state {int dummy;}; /* for buggy compilers */ #endif @@ -112,7 +124,7 @@ uLong ZEXPORT zlibCompileFlags() return flags; } -#ifdef DEBUG +#if 0 # ifndef verbose # define verbose 0 @@ -334,3 +346,25 @@ zcfree(void *opaque, void *ptr) #endif /* MY_ZCALLOC */ + +#ifdef _KERNEL +static int +zlib_modevent(module_t mod, int type, void *unused) +{ + switch (type) { + case MOD_LOAD: + return 0; + case MOD_UNLOAD: + return 0; + } + return EINVAL; +} + +static moduledata_t zlib_mod = { + "zlib", + zlib_modevent, + 0 +}; +DECLARE_MODULE(zlib, zlib_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); +MODULE_VERSION(zlib, 1); +#endif /* _KERNEL */ Modified: user/kmacy/head_zfs_merge/sys/libkern/zlib/zutil.h ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/libkern/zlib/zutil.h Fri May 29 19:06:02 2009 (r193049) +++ user/kmacy/head_zfs_merge/sys/libkern/zlib/zutil.h Mon Aug 31 03:44:05 2009 (r196685) @@ -15,6 +15,7 @@ #define ZLIB_INTERNAL #ifdef _KERNEL +#include #include #include #include @@ -61,7 +62,7 @@ extern const char * const z_errmsg[10]; #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] #define ERR_RETURN(strm,err) \ - return (strm->msg = (char*)ERR_MSG(err), (err)) + return (int)(uintptr_t)(strm->msg = __DECONST(char*, ERR_MSG(err))) /* To be used only when the state is known to be valid */ /* common constants */ @@ -243,7 +244,7 @@ extern const char * const z_errmsg[10]; #endif /* Diagnostic functions */ -#ifdef DEBUG +#if 0 # include extern int z_verbose; extern void z_error OF((char *m)); Modified: user/kmacy/head_zfs_merge/sys/modules/netgraph/Makefile ============================================================================== --- user/kmacy/head_zfs_merge/sys/modules/netgraph/Makefile Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/modules/netgraph/Makefile Mon Aug 31 03:44:05 2009 (r196685) @@ -11,7 +11,6 @@ SUBDIR= async \ bridge \ car \ cisco \ - deflate \ device \ echo \ eiface \ @@ -53,6 +52,8 @@ SUBDIR= async \ vjc \ vlan +# deflate \ + .if ${MK_BLUETOOTH} != "no" || defined(ALL_MODULES) _bluetooth= bluetooth .endif Modified: user/kmacy/head_zfs_merge/sys/modules/zlib/Makefile ============================================================================== --- user/kmacy/head_zfs_merge/sys/modules/zlib/Makefile Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/modules/zlib/Makefile Mon Aug 31 03:44:05 2009 (r196685) @@ -1,8 +1,9 @@ # $FreeBSD$ -.PATH: ${.CURDIR}/../../net +.PATH: ${.CURDIR}/../../libkern/zlib KMOD= zlib -SRCS= zlib.c +SRCS= adler32.c compress.c deflate.c inflate.c inffast.c inftrees.c +SRCS+= trees.c uncompr.c zutil.c zl_crc32.c .include Modified: user/kmacy/head_zfs_merge/sys/net/zlib.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/net/zlib.c Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/net/zlib.c Mon Aug 31 03:44:05 2009 (r196685) @@ -5405,3 +5405,97 @@ static moduledata_t zlib_mod = { DECLARE_MODULE(zlib, zlib_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); MODULE_VERSION(zlib, 1); #endif /* _KERNEL */ + +/**********************************************************************/ +/**********************************************************************/ +/**********************************************************************/ + +/* + * + * Compression utility routines + * + */ + + +/* + * Uncompress the buffer 'src' into the buffer 'dst'. The caller must store + * the expected decompressed data size externally so it can be passed in. + * The resulting decompressed size is then returned through dstlen. This + * function return Z_OK on success, or another error code on failure. + */ +int +z_uncompress(void *dst, size_t *dstlen, const void *src, size_t srclen) +{ + z_stream zs; + int err; + + bzero(&zs, sizeof (zs)); + zs.next_in = (u_char *)src; + zs.avail_in = srclen; + zs.next_out = dst; + zs.avail_out = *dstlen; + + /* + * Call inflateInit2() specifying a window size of DEF_WBITS + * with the 6th bit set to indicate that the compression format + * type (zlib or gzip) should be automatically detected. + */ + if ((err = inflateInit2(&zs, DEF_WBITS | 0x20)) != Z_OK) + return (err); + + if ((err = inflate(&zs, Z_FINISH)) != Z_STREAM_END) { + (void) inflateEnd(&zs); + return (err == Z_OK ? Z_BUF_ERROR : err); + } + + *dstlen = zs.total_out; + return (inflateEnd(&zs)); +} + +int +z_compress_level(void *dst, size_t *dstlen, const void *src, size_t srclen, + int level) +{ + + z_stream zs; + int err; + + bzero(&zs, sizeof (zs)); + zs.next_in = (u_char *)src; + zs.avail_in = srclen; + zs.next_out = dst; + zs.avail_out = *dstlen; + + if ((err = deflateInit(&zs, level)) != Z_OK) + return (err); + + if ((err = deflate(&zs, Z_FINISH)) != Z_STREAM_END) { + (void) deflateEnd(&zs); + return (err == Z_OK ? Z_BUF_ERROR : err); + } + + *dstlen = zs.total_out; + return (deflateEnd(&zs)); +} + +int +z_compress(void *dst, size_t *dstlen, const void *src, size_t srclen) +{ + return (z_compress_level(dst, dstlen, src, srclen, + Z_DEFAULT_COMPRESSION)); +} + +/* + * Convert a zlib error code into a string error message. + */ +const char * +z_strerror(int err) +{ + int i = Z_NEED_DICT - err; + + if (i < 0 || i > Z_NEED_DICT - Z_VERSION_ERROR) + return ("unknown error"); + + return (ERR_MSG(err)); +} + Modified: user/kmacy/head_zfs_merge/sys/opencrypto/deflate.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/opencrypto/deflate.c Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/opencrypto/deflate.c Mon Aug 31 03:44:05 2009 (r196685) @@ -40,7 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include Modified: user/kmacy/head_zfs_merge/sys/opencrypto/deflate.h ============================================================================== --- user/kmacy/head_zfs_merge/sys/opencrypto/deflate.h Mon Aug 31 02:45:47 2009 (r196684) +++ user/kmacy/head_zfs_merge/sys/opencrypto/deflate.h Mon Aug 31 03:44:05 2009 (r196685) @@ -36,7 +36,7 @@ #ifndef _CRYPTO_DEFLATE_H_ #define _CRYPTO_DEFLATE_H_ -#include +#include #define Z_METHOD 8 #define Z_MEMLEVEL 8 From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 04:19:03 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5CBFF106566C; Mon, 31 Aug 2009 04:19:03 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4956A8FC08; Mon, 31 Aug 2009 04:19:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7V4J2Z8016218; Mon, 31 Aug 2009 04:19:02 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7V4J17k016214; Mon, 31 Aug 2009 04:19:01 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908310419.n7V4J17k016214@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 04:19:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196686 - in user/kmacy/head_zfs_merge/sys: boot/i386/kgzldr boot/pc98/kgzldr cddl/contrib/opensolaris/uts/common/zmod kern modules/zfs net X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 04:19:03 -0000 Author: kmacy Date: Mon Aug 31 04:19:01 2009 New Revision: 196686 URL: http://svn.freebsd.org/changeset/base/196686 Log: - merge 193058 retire redundant compression functionality Added: user/kmacy/head_zfs_merge/sys/boot/i386/kgzldr/inflate.c - copied unchanged from r196666, user/kmacy/head_zfs_merge/sys/kern/inflate.c Deleted: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/adler32.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/deflate.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/inffast.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/inflate.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/inftrees.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/trees.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zutil.c user/kmacy/head_zfs_merge/sys/kern/inflate.c user/kmacy/head_zfs_merge/sys/net/zlib.c user/kmacy/head_zfs_merge/sys/net/zlib.h Modified: user/kmacy/head_zfs_merge/sys/boot/i386/kgzldr/Makefile user/kmacy/head_zfs_merge/sys/boot/pc98/kgzldr/Makefile user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c user/kmacy/head_zfs_merge/sys/modules/zfs/Makefile Modified: user/kmacy/head_zfs_merge/sys/boot/i386/kgzldr/Makefile ============================================================================== --- user/kmacy/head_zfs_merge/sys/boot/i386/kgzldr/Makefile Mon Aug 31 03:44:05 2009 (r196685) +++ user/kmacy/head_zfs_merge/sys/boot/i386/kgzldr/Makefile Mon Aug 31 04:19:01 2009 (r196686) @@ -11,7 +11,6 @@ CFLAGS= -Os CFLAGS+=-DKZIP NO_SHARED= LDFLAGS=-Wl,-r -.PATH: ${.CURDIR}/../../../kern BOOT_COMCONSOLE_PORT?= 0x3f8 AFLAGS+=--defsym SIO_PRT=${BOOT_COMCONSOLE_PORT} Copied: user/kmacy/head_zfs_merge/sys/boot/i386/kgzldr/inflate.c (from r196666, user/kmacy/head_zfs_merge/sys/kern/inflate.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/head_zfs_merge/sys/boot/i386/kgzldr/inflate.c Mon Aug 31 04:19:01 2009 (r196686, copy of r196666, user/kmacy/head_zfs_merge/sys/kern/inflate.c) @@ -0,0 +1,1077 @@ +/* + * Most parts of this file are not covered by: + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this notice you + * can do whatever you want with this stuff. If we meet some day, and you think + * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp + * ---------------------------------------------------------------------------- + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#ifdef _KERNEL +#include +#include +#endif +#include + +#ifdef _KERNEL +static MALLOC_DEFINE(M_GZIP, "gzip_trees", "Gzip trees"); +#endif + +/* needed to make inflate() work */ +#define uch u_char +#define ush u_short +#define ulg u_long + +/* Stuff to make inflate() work */ +#ifdef _KERNEL +#define memzero(dest,len) bzero(dest,len) +#endif +#define NOMEMCPY +#ifdef _KERNEL +#define FPRINTF printf +#else +extern void putstr (char *); +#define FPRINTF putstr +#endif + +#define FLUSH(x,y) { \ + int foo = (*x->gz_output)(x->gz_private,x->gz_slide,y); \ + if (foo) \ + return foo; \ + } + +static const int qflag = 0; + +#ifndef _KERNEL /* want to use this file in kzip also */ +extern unsigned char *kzipmalloc (int); +extern void kzipfree (void*); +#define malloc(x, y, z) kzipmalloc((x)) +#define free(x, y) kzipfree((x)) +#endif + +/* + * This came from unzip-5.12. I have changed it the flow to pass + * a structure pointer around, thus hopefully making it re-entrant. + * Poul-Henning + */ + +/* inflate.c -- put in the public domain by Mark Adler + version c14o, 23 August 1994 */ + +/* You can do whatever you like with this source file, though I would + prefer that if you modify it and redistribute it that you include + comments to that effect with your name and the date. Thank you. + + History: + vers date who what + ---- --------- -------------- ------------------------------------ + a ~~ Feb 92 M. Adler used full (large, one-step) lookup table + b1 21 Mar 92 M. Adler first version with partial lookup tables + b2 21 Mar 92 M. Adler fixed bug in fixed-code blocks + b3 22 Mar 92 M. Adler sped up match copies, cleaned up some + b4 25 Mar 92 M. Adler added prototypes; removed window[] (now + is the responsibility of unzip.h--also + changed name to slide[]), so needs diffs + for unzip.c and unzip.h (this allows + compiling in the small model on MSDOS); + fixed cast of q in huft_build(); + b5 26 Mar 92 M. Adler got rid of unintended macro recursion. + b6 27 Mar 92 M. Adler got rid of nextbyte() routine. fixed + bug in inflate_fixed(). + c1 30 Mar 92 M. Adler removed lbits, dbits environment variables. + changed BMAX to 16 for explode. Removed + OUTB usage, and replaced it with flush()-- + this was a 20% speed improvement! Added + an explode.c (to replace unimplod.c) that + uses the huft routines here. Removed + register union. + c2 4 Apr 92 M. Adler fixed bug for file sizes a multiple of 32k. + c3 10 Apr 92 M. Adler reduced memory of code tables made by + huft_build significantly (factor of two to + three). + c4 15 Apr 92 M. Adler added NOMEMCPY do kill use of memcpy(). + worked around a Turbo C optimization bug. + c5 21 Apr 92 M. Adler added the GZ_WSIZE #define to allow reducing + the 32K window size for specialized + applications. + c6 31 May 92 M. Adler added some typecasts to eliminate warnings + c7 27 Jun 92 G. Roelofs added some more typecasts (444: MSC bug). + c8 5 Oct 92 J-l. Gailly added ifdef'd code to deal with PKZIP bug. + c9 9 Oct 92 M. Adler removed a memory error message (~line 416). + c10 17 Oct 92 G. Roelofs changed ULONG/UWORD/byte to ulg/ush/uch, + removed old inflate, renamed inflate_entry + to inflate, added Mark's fix to a comment. + c10.5 14 Dec 92 M. Adler fix up error messages for incomplete trees. + c11 2 Jan 93 M. Adler fixed bug in detection of incomplete + tables, and removed assumption that EOB is + the longest code (bad assumption). + c12 3 Jan 93 M. Adler make tables for fixed blocks only once. + c13 5 Jan 93 M. Adler allow all zero length codes (pkzip 2.04c + outputs one zero length code for an empty + distance tree). + c14 12 Mar 93 M. Adler made inflate.c standalone with the + introduction of inflate.h. + c14b 16 Jul 93 G. Roelofs added (unsigned) typecast to w at 470. + c14c 19 Jul 93 J. Bush changed v[N_MAX], l[288], ll[28x+3x] arrays + to static for Amiga. + c14d 13 Aug 93 J-l. Gailly de-complicatified Mark's c[*p++]++ thing. + c14e 8 Oct 93 G. Roelofs changed memset() to memzero(). + c14f 22 Oct 93 G. Roelofs renamed quietflg to qflag; made Trace() + conditional; added inflate_free(). + c14g 28 Oct 93 G. Roelofs changed l/(lx+1) macro to pointer (Cray bug) + c14h 7 Dec 93 C. Ghisler huft_build() optimizations. + c14i 9 Jan 94 A. Verheijen set fixed_t{d,l} to NULL after freeing; + G. Roelofs check NEXTBYTE macro for GZ_EOF. + c14j 23 Jan 94 G. Roelofs removed Ghisler "optimizations"; ifdef'd + GZ_EOF check. + c14k 27 Feb 94 G. Roelofs added some typecasts to avoid warnings. + c14l 9 Apr 94 G. Roelofs fixed split comments on preprocessor lines + to avoid bug in Encore compiler. + c14m 7 Jul 94 P. Kienitz modified to allow assembler version of + inflate_codes() (define ASM_INFLATECODES) + c14n 22 Jul 94 G. Roelofs changed fprintf to FPRINTF for DLL versions + c14o 23 Aug 94 C. Spieler added a newline to a debug statement; + G. Roelofs added another typecast to avoid MSC warning + */ + + +/* + Inflate deflated (PKZIP's method 8 compressed) data. The compression + method searches for as much of the current string of bytes (up to a + length of 258) in the previous 32K bytes. If it doesn't find any + matches (of at least length 3), it codes the next byte. Otherwise, it + codes the length of the matched string and its distance backwards from + the current position. There is a single Huffman code that codes both + single bytes (called "literals") and match lengths. A second Huffman + code codes the distance information, which follows a length code. Each + length or distance code actually represents a base value and a number + of "extra" (sometimes zero) bits to get to add to the base value. At + the end of each deflated block is a special end-of-block (EOB) literal/ + length code. The decoding process is basically: get a literal/length + code; if EOB then done; if a literal, emit the decoded byte; if a + length then get the distance and emit the referred-to bytes from the + sliding window of previously emitted data. + + There are (currently) three kinds of inflate blocks: stored, fixed, and + dynamic. The compressor outputs a chunk of data at a time and decides + which method to use on a chunk-by-chunk basis. A chunk might typically + be 32K to 64K, uncompressed. If the chunk is uncompressible, then the + "stored" method is used. In this case, the bytes are simply stored as + is, eight bits per byte, with none of the above coding. The bytes are + preceded by a count, since there is no longer an EOB code. + + If the data is compressible, then either the fixed or dynamic methods + are used. In the dynamic method, the compressed data is preceded by + an encoding of the literal/length and distance Huffman codes that are + to be used to decode this block. The representation is itself Huffman + coded, and so is preceded by a description of that code. These code + descriptions take up a little space, and so for small blocks, there is + a predefined set of codes, called the fixed codes. The fixed method is + used if the block ends up smaller that way (usually for quite small + chunks); otherwise the dynamic method is used. In the latter case, the + codes are customized to the probabilities in the current block and so + can code it much better than the pre-determined fixed codes can. + + The Huffman codes themselves are decoded using a mutli-level table + lookup, in order to maximize the speed of decoding plus the speed of + building the decoding tables. See the comments below that precede the + lbits and dbits tuning parameters. + */ + + +/* + Notes beyond the 1.93a appnote.txt: + + 1. Distance pointers never point before the beginning of the output + stream. + 2. Distance pointers can point back across blocks, up to 32k away. + 3. There is an implied maximum of 7 bits for the bit length table and + 15 bits for the actual data. + 4. If only one code exists, then it is encoded using one bit. (Zero + would be more efficient, but perhaps a little confusing.) If two + codes exist, they are coded using one bit each (0 and 1). + 5. There is no way of sending zero distance codes--a dummy must be + sent if there are none. (History: a pre 2.0 version of PKZIP would + store blocks with no distance codes, but this was discovered to be + too harsh a criterion.) Valid only for 1.93a. 2.04c does allow + zero distance codes, which is sent as one code of zero bits in + length. + 6. There are up to 286 literal/length codes. Code 256 represents the + end-of-block. Note however that the static length tree defines + 288 codes just to fill out the Huffman codes. Codes 286 and 287 + cannot be used though, since there is no length base or extra bits + defined for them. Similarily, there are up to 30 distance codes. + However, static trees define 32 codes (all 5 bits) to fill out the + Huffman codes, but the last two had better not show up in the data. + 7. Unzip can check dynamic Huffman blocks for complete code sets. + The exception is that a single code would not be complete (see #4). + 8. The five bits following the block type is really the number of + literal codes sent minus 257. + 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits + (1+6+6). Therefore, to output three times the length, you output + three codes (1+1+1), whereas to output four times the same length, + you only need two codes (1+3). Hmm. + 10. In the tree reconstruction algorithm, Code = Code + Increment + only if BitLength(i) is not zero. (Pretty obvious.) + 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19) + 12. Note: length code 284 can represent 227-258, but length code 285 + really is 258. The last length deserves its own, short code + since it gets used a lot in very redundant files. The length + 258 is special since 258 - 3 (the min match length) is 255. + 13. The literal/length and distance code bit lengths are read as a + single stream of lengths. It is possible (and advantageous) for + a repeat code (16, 17, or 18) to go across the boundary between + the two sets of lengths. + */ + + +#define PKZIP_BUG_WORKAROUND /* PKZIP 1.93a problem--live with it */ + +/* + inflate.h must supply the uch slide[GZ_WSIZE] array and the NEXTBYTE, + FLUSH() and memzero macros. If the window size is not 32K, it + should also define GZ_WSIZE. If INFMOD is defined, it can include + compiled functions to support the NEXTBYTE and/or FLUSH() macros. + There are defaults for NEXTBYTE and FLUSH() below for use as + examples of what those functions need to do. Normally, you would + also want FLUSH() to compute a crc on the data. inflate.h also + needs to provide these typedefs: + + typedef unsigned char uch; + typedef unsigned short ush; + typedef unsigned long ulg; + + This module uses the external functions malloc() and free() (and + probably memset() or bzero() in the memzero() macro). Their + prototypes are normally found in and . + */ +#define INFMOD /* tell inflate.h to include code to be + * compiled */ + +/* Huffman code lookup table entry--this entry is four bytes for machines + that have 16-bit pointers (e.g. PC's in the small or medium model). + Valid extra bits are 0..13. e == 15 is EOB (end of block), e == 16 + means that v is a literal, 16 < e < 32 means that v is a pointer to + the next table, which codes e - 16 bits, and lastly e == 99 indicates + an unused code. If a code with e == 99 is looked up, this implies an + error in the data. */ +struct huft { + uch e; /* number of extra bits or operation */ + uch b; /* number of bits in this code or subcode */ + union { + ush n; /* literal, length base, or distance + * base */ + struct huft *t; /* pointer to next level of table */ + } v; +}; + + +/* Function prototypes */ +static int huft_build(struct inflate *, unsigned *, unsigned, unsigned, const ush *, const ush *, struct huft **, int *); +static int huft_free(struct inflate *, struct huft *); +static int inflate_codes(struct inflate *, struct huft *, struct huft *, int, int); +static int inflate_stored(struct inflate *); +static int xinflate(struct inflate *); +static int inflate_fixed(struct inflate *); +static int inflate_dynamic(struct inflate *); +static int inflate_block(struct inflate *, int *); + +/* The inflate algorithm uses a sliding 32K byte window on the uncompressed + stream to find repeated byte strings. This is implemented here as a + circular buffer. The index is updated simply by incrementing and then + and'ing with 0x7fff (32K-1). */ +/* It is left to other modules to supply the 32K area. It is assumed + to be usable as if it were declared "uch slide[32768];" or as just + "uch *slide;" and then malloc'ed in the latter case. The definition + must be in unzip.h, included above. */ + + +/* Tables for deflate from PKZIP's appnote.txt. */ + +/* Order of the bit length code lengths */ +static const unsigned border[] = { + 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; + +static const ush cplens[] = { /* Copy lengths for literal codes 257..285 */ + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, + 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; + /* note: see note #13 above about the 258 in this list. */ + +static const ush cplext[] = { /* Extra bits for literal codes 257..285 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, + 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99}; /* 99==invalid */ + +static const ush cpdist[] = { /* Copy offsets for distance codes 0..29 */ + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, + 8193, 12289, 16385, 24577}; + +static const ush cpdext[] = { /* Extra bits for distance codes */ + 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, + 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, + 12, 12, 13, 13}; + +/* And'ing with mask[n] masks the lower n bits */ +static const ush mask[] = { + 0x0000, + 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff, + 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff +}; + + +/* Macros for inflate() bit peeking and grabbing. + The usage is: + + NEEDBITS(glbl,j) + x = b & mask[j]; + DUMPBITS(j) + + where NEEDBITS makes sure that b has at least j bits in it, and + DUMPBITS removes the bits from b. The macros use the variable k + for the number of bits in b. Normally, b and k are register + variables for speed, and are initialized at the begining of a + routine that uses these macros from a global bit buffer and count. + + In order to not ask for more bits than there are in the compressed + stream, the Huffman tables are constructed to only ask for just + enough bits to make up the end-of-block code (value 256). Then no + bytes need to be "returned" to the buffer at the end of the last + block. See the huft_build() routine. + */ + +/* + * The following 2 were global variables. + * They are now fields of the inflate structure. + */ + +#define NEEDBITS(glbl,n) { \ + while(k<(n)) { \ + int c=(*glbl->gz_input)(glbl->gz_private); \ + if(c==GZ_EOF) \ + return 1; \ + b|=((ulg)c)<>=(n);k-=(n);} + +/* + Huffman code decoding is performed using a multi-level table lookup. + The fastest way to decode is to simply build a lookup table whose + size is determined by the longest code. However, the time it takes + to build this table can also be a factor if the data being decoded + is not very long. The most common codes are necessarily the + shortest codes, so those codes dominate the decoding time, and hence + the speed. The idea is you can have a shorter table that decodes the + shorter, more probable codes, and then point to subsidiary tables for + the longer codes. The time it costs to decode the longer codes is + then traded against the time it takes to make longer tables. + + This results of this trade are in the variables lbits and dbits + below. lbits is the number of bits the first level table for literal/ + length codes can decode in one step, and dbits is the same thing for + the distance codes. Subsequent tables are also less than or equal to + those sizes. These values may be adjusted either when all of the + codes are shorter than that, in which case the longest code length in + bits is used, or when the shortest code is *longer* than the requested + table size, in which case the length of the shortest code in bits is + used. + + There are two different values for the two tables, since they code a + different number of possibilities each. The literal/length table + codes 286 possible values, or in a flat code, a little over eight + bits. The distance table codes 30 possible values, or a little less + than five bits, flat. The optimum values for speed end up being + about one bit more than those, so lbits is 8+1 and dbits is 5+1. + The optimum values may differ though from machine to machine, and + possibly even between compilers. Your mileage may vary. + */ + +static const int lbits = 9; /* bits in base literal/length lookup table */ +static const int dbits = 6; /* bits in base distance lookup table */ + + +/* If BMAX needs to be larger than 16, then h and x[] should be ulg. */ +#define BMAX 16 /* maximum bit length of any code (16 for + * explode) */ +#define N_MAX 288 /* maximum number of codes in any set */ + +/* Given a list of code lengths and a maximum table size, make a set of + tables to decode that set of codes. Return zero on success, one if + the given code set is incomplete (the tables are still built in this + case), two if the input is invalid (all zero length codes or an + oversubscribed set of lengths), and three if not enough memory. + The code with value 256 is special, and the tables are constructed + so that no bits beyond that code are fetched when that code is + decoded. */ +static int +huft_build(glbl, b, n, s, d, e, t, m) + struct inflate *glbl; + unsigned *b; /* code lengths in bits (all assumed <= BMAX) */ + unsigned n; /* number of codes (assumed <= N_MAX) */ + unsigned s; /* number of simple-valued codes (0..s-1) */ + const ush *d; /* list of base values for non-simple codes */ + const ush *e; /* list of extra bits for non-simple codes */ + struct huft **t; /* result: starting table */ + int *m; /* maximum lookup bits, returns actual */ +{ + unsigned a; /* counter for codes of length k */ + unsigned c[BMAX + 1]; /* bit length count table */ + unsigned el; /* length of EOB code (value 256) */ + unsigned f; /* i repeats in table every f entries */ + int g; /* maximum code length */ + int h; /* table level */ + register unsigned i; /* counter, current code */ + register unsigned j; /* counter */ + register int k; /* number of bits in current code */ + int lx[BMAX + 1]; /* memory for l[-1..BMAX-1] */ + int *l = lx + 1; /* stack of bits per table */ + register unsigned *p; /* pointer into c[], b[], or v[] */ + register struct huft *q;/* points to current table */ + struct huft r; /* table entry for structure assignment */ + struct huft *u[BMAX];/* table stack */ + unsigned v[N_MAX]; /* values in order of bit length */ + register int w; /* bits before this table == (l * h) */ + unsigned x[BMAX + 1]; /* bit offsets, then code stack */ + unsigned *xp; /* pointer into x */ + int y; /* number of dummy codes added */ + unsigned z; /* number of entries in current table */ + + /* Generate counts for each bit length */ + el = n > 256 ? b[256] : BMAX; /* set length of EOB code, if any */ +#ifdef _KERNEL + memzero((char *) c, sizeof(c)); +#else + for (i = 0; i < BMAX+1; i++) + c [i] = 0; +#endif + p = b; + i = n; + do { + c[*p]++; + p++; /* assume all entries <= BMAX */ + } while (--i); + if (c[0] == n) { /* null input--all zero length codes */ + *t = (struct huft *) NULL; + *m = 0; + return 0; + } + /* Find minimum and maximum length, bound *m by those */ + for (j = 1; j <= BMAX; j++) + if (c[j]) + break; + k = j; /* minimum code length */ + if ((unsigned) *m < j) + *m = j; + for (i = BMAX; i; i--) + if (c[i]) + break; + g = i; /* maximum code length */ + if ((unsigned) *m > i) + *m = i; + + /* Adjust last length count to fill out codes, if needed */ + for (y = 1 << j; j < i; j++, y <<= 1) + if ((y -= c[j]) < 0) + return 2; /* bad input: more codes than bits */ + if ((y -= c[i]) < 0) + return 2; + c[i] += y; + + /* Generate starting offsets into the value table for each length */ + x[1] = j = 0; + p = c + 1; + xp = x + 2; + while (--i) { /* note that i == g from above */ + *xp++ = (j += *p++); + } + + /* Make a table of values in order of bit lengths */ + p = b; + i = 0; + do { + if ((j = *p++) != 0) + v[x[j]++] = i; + } while (++i < n); + + /* Generate the Huffman codes and for each, make the table entries */ + x[0] = i = 0; /* first Huffman code is zero */ + p = v; /* grab values in bit order */ + h = -1; /* no tables yet--level -1 */ + w = l[-1] = 0; /* no bits decoded yet */ + u[0] = (struct huft *) NULL; /* just to keep compilers happy */ + q = (struct huft *) NULL; /* ditto */ + z = 0; /* ditto */ + + /* go through the bit lengths (k already is bits in shortest code) */ + for (; k <= g; k++) { + a = c[k]; + while (a--) { + /* + * here i is the Huffman code of length k bits for + * value *p + */ + /* make tables up to required level */ + while (k > w + l[h]) { + w += l[h++]; /* add bits already decoded */ + + /* + * compute minimum size table less than or + * equal to *m bits + */ + z = (z = g - w) > (unsigned) *m ? *m : z; /* upper limit */ + if ((f = 1 << (j = k - w)) > a + 1) { /* try a k-w bit table *//* t + * oo few codes for k-w + * bit table */ + f -= a + 1; /* deduct codes from + * patterns left */ + xp = c + k; + while (++j < z) { /* try smaller tables up + * to z bits */ + if ((f <<= 1) <= *++xp) + break; /* enough codes to use + * up j bits */ + f -= *xp; /* else deduct codes + * from patterns */ + } + } + if ((unsigned) w + j > el && (unsigned) w < el) + j = el - w; /* make EOB code end at + * table */ + z = 1 << j; /* table entries for j-bit + * table */ + l[h] = j; /* set table size in stack */ + + /* allocate and link in new table */ + if ((q = (struct huft *) malloc((z + 1) * sizeof(struct huft), M_GZIP, M_WAITOK)) == + (struct huft *) NULL) { + if (h) + huft_free(glbl, u[0]); + return 3; /* not enough memory */ + } + glbl->gz_hufts += z + 1; /* track memory usage */ + *t = q + 1; /* link to list for + * huft_free() */ + *(t = &(q->v.t)) = (struct huft *) NULL; + u[h] = ++q; /* table starts after link */ + + /* connect to last table, if there is one */ + if (h) { + x[h] = i; /* save pattern for + * backing up */ + r.b = (uch) l[h - 1]; /* bits to dump before + * this table */ + r.e = (uch) (16 + j); /* bits in this table */ + r.v.t = q; /* pointer to this table */ + j = (i & ((1 << w) - 1)) >> (w - l[h - 1]); + u[h - 1][j] = r; /* connect to last table */ + } + } + + /* set up table entry in r */ + r.b = (uch) (k - w); + if (p >= v + n) + r.e = 99; /* out of values--invalid + * code */ + else if (*p < s) { + r.e = (uch) (*p < 256 ? 16 : 15); /* 256 is end-of-block + * code */ + r.v.n = *p++; /* simple code is just the + * value */ + } else { + r.e = (uch) e[*p - s]; /* non-simple--look up + * in lists */ + r.v.n = d[*p++ - s]; + } + + /* fill code-like entries with r */ + f = 1 << (k - w); + for (j = i >> w; j < z; j += f) + q[j] = r; + + /* backwards increment the k-bit code i */ + for (j = 1 << (k - 1); i & j; j >>= 1) + i ^= j; + i ^= j; + + /* backup over finished tables */ + while ((i & ((1 << w) - 1)) != x[h]) + w -= l[--h]; /* don't need to update q */ + } + } + + /* return actual size of base table */ + *m = l[0]; + + /* Return true (1) if we were given an incomplete table */ + return y != 0 && g != 1; +} + +static int +huft_free(glbl, t) + struct inflate *glbl; + struct huft *t; /* table to free */ +/* Free the malloc'ed tables built by huft_build(), which makes a linked + list of the tables it made, with the links in a dummy first entry of + each table. */ +{ + register struct huft *p, *q; + + /* Go through linked list, freeing from the malloced (t[-1]) address. */ + p = t; + while (p != (struct huft *) NULL) { + q = (--p)->v.t; + free(p, M_GZIP); + p = q; + } + return 0; +} + +/* inflate (decompress) the codes in a deflated (compressed) block. + Return an error code or zero if it all goes ok. */ +static int +inflate_codes(glbl, tl, td, bl, bd) + struct inflate *glbl; + struct huft *tl, *td;/* literal/length and distance decoder tables */ + int bl, bd; /* number of bits decoded by tl[] and td[] */ +{ + register unsigned e; /* table entry flag/number of extra bits */ + unsigned n, d; /* length and index for copy */ + unsigned w; /* current window position */ + struct huft *t; /* pointer to table entry */ + unsigned ml, md; /* masks for bl and bd bits */ + register ulg b; /* bit buffer */ + register unsigned k; /* number of bits in bit buffer */ + + /* make local copies of globals */ + b = glbl->gz_bb; /* initialize bit buffer */ + k = glbl->gz_bk; + w = glbl->gz_wp; /* initialize window position */ + + /* inflate the coded data */ + ml = mask[bl]; /* precompute masks for speed */ + md = mask[bd]; + while (1) { /* do until end of block */ + NEEDBITS(glbl, (unsigned) bl) + if ((e = (t = tl + ((unsigned) b & ml))->e) > 16) + do { + if (e == 99) + return 1; + DUMPBITS(t->b) + e -= 16; + NEEDBITS(glbl, e) + } while ((e = (t = t->v.t + ((unsigned) b & mask[e]))->e) > 16); + DUMPBITS(t->b) + if (e == 16) { /* then it's a literal */ + glbl->gz_slide[w++] = (uch) t->v.n; + if (w == GZ_WSIZE) { + FLUSH(glbl, w); + w = 0; + } + } else { /* it's an EOB or a length */ + /* exit if end of block */ + if (e == 15) + break; + + /* get length of block to copy */ + NEEDBITS(glbl, e) + n = t->v.n + ((unsigned) b & mask[e]); + DUMPBITS(e); + + /* decode distance of block to copy */ + NEEDBITS(glbl, (unsigned) bd) + if ((e = (t = td + ((unsigned) b & md))->e) > 16) + do { + if (e == 99) + return 1; + DUMPBITS(t->b) + e -= 16; + NEEDBITS(glbl, e) + } while ((e = (t = t->v.t + ((unsigned) b & mask[e]))->e) > 16); + DUMPBITS(t->b) + NEEDBITS(glbl, e) + d = w - t->v.n - ((unsigned) b & mask[e]); + DUMPBITS(e) + /* do the copy */ + do { + n -= (e = (e = GZ_WSIZE - ((d &= GZ_WSIZE - 1) > w ? d : w)) > n ? n : e); +#ifndef NOMEMCPY + if (w - d >= e) { /* (this test assumes + * unsigned comparison) */ + memcpy(glbl->gz_slide + w, glbl->gz_slide + d, e); + w += e; + d += e; + } else /* do it slow to avoid memcpy() + * overlap */ +#endif /* !NOMEMCPY */ + do { + glbl->gz_slide[w++] = glbl->gz_slide[d++]; + } while (--e); + if (w == GZ_WSIZE) { + FLUSH(glbl, w); + w = 0; + } + } while (n); + } + } + + /* restore the globals from the locals */ + glbl->gz_wp = w; /* restore global window pointer */ + glbl->gz_bb = b; /* restore global bit buffer */ + glbl->gz_bk = k; + + /* done */ + return 0; +} + +/* "decompress" an inflated type 0 (stored) block. */ +static int +inflate_stored(glbl) + struct inflate *glbl; +{ + unsigned n; /* number of bytes in block */ + unsigned w; /* current window position */ + register ulg b; /* bit buffer */ + register unsigned k; /* number of bits in bit buffer */ + + /* make local copies of globals */ + b = glbl->gz_bb; /* initialize bit buffer */ + k = glbl->gz_bk; + w = glbl->gz_wp; /* initialize window position */ + + /* go to byte boundary */ + n = k & 7; + DUMPBITS(n); + + /* get the length and its complement */ + NEEDBITS(glbl, 16) + n = ((unsigned) b & 0xffff); + DUMPBITS(16) + NEEDBITS(glbl, 16) + if (n != (unsigned) ((~b) & 0xffff)) + return 1; /* error in compressed data */ + DUMPBITS(16) + /* read and output the compressed data */ + while (n--) { + NEEDBITS(glbl, 8) + glbl->gz_slide[w++] = (uch) b; + if (w == GZ_WSIZE) { + FLUSH(glbl, w); + w = 0; + } + DUMPBITS(8) + } + + /* restore the globals from the locals */ + glbl->gz_wp = w; /* restore global window pointer */ + glbl->gz_bb = b; /* restore global bit buffer */ + glbl->gz_bk = k; + return 0; +} + +/* decompress an inflated type 1 (fixed Huffman codes) block. We should + either replace this with a custom decoder, or at least precompute the + Huffman tables. */ +static int +inflate_fixed(glbl) + struct inflate *glbl; +{ + /* if first time, set up tables for fixed blocks */ + if (glbl->gz_fixed_tl == (struct huft *) NULL) { + int i; /* temporary variable */ + static unsigned l[288]; /* length list for huft_build */ + + /* literal table */ + for (i = 0; i < 144; i++) + l[i] = 8; + for (; i < 256; i++) + l[i] = 9; + for (; i < 280; i++) + l[i] = 7; + for (; i < 288; i++) /* make a complete, but wrong code + * set */ + l[i] = 8; + glbl->gz_fixed_bl = 7; + if ((i = huft_build(glbl, l, 288, 257, cplens, cplext, + &glbl->gz_fixed_tl, &glbl->gz_fixed_bl)) != 0) { + glbl->gz_fixed_tl = (struct huft *) NULL; + return i; + } + /* distance table */ + for (i = 0; i < 30; i++) /* make an incomplete code + * set */ + l[i] = 5; + glbl->gz_fixed_bd = 5; + if ((i = huft_build(glbl, l, 30, 0, cpdist, cpdext, + &glbl->gz_fixed_td, &glbl->gz_fixed_bd)) > 1) { + huft_free(glbl, glbl->gz_fixed_tl); + glbl->gz_fixed_tl = (struct huft *) NULL; + return i; + } + } + /* decompress until an end-of-block code */ + return inflate_codes(glbl, glbl->gz_fixed_tl, glbl->gz_fixed_td, glbl->gz_fixed_bl, glbl->gz_fixed_bd) != 0; +} + +/* decompress an inflated type 2 (dynamic Huffman codes) block. */ +static int +inflate_dynamic(glbl) + struct inflate *glbl; +{ + int i; /* temporary variables */ + unsigned j; + unsigned l; /* last length */ + unsigned m; /* mask for bit lengths table */ + unsigned n; /* number of lengths to get */ + struct huft *tl; /* literal/length code table */ + struct huft *td; /* distance code table */ + int bl; /* lookup bits for tl */ + int bd; /* lookup bits for td */ + unsigned nb; /* number of bit length codes */ + unsigned nl; /* number of literal/length codes */ + unsigned nd; /* number of distance codes */ +#ifdef PKZIP_BUG_WORKAROUND + unsigned ll[288 + 32]; /* literal/length and distance code + * lengths */ +#else + unsigned ll[286 + 30]; /* literal/length and distance code + * lengths */ +#endif + register ulg b; /* bit buffer */ + register unsigned k; /* number of bits in bit buffer */ + + /* make local bit buffer */ + b = glbl->gz_bb; + k = glbl->gz_bk; + + /* read in table lengths */ + NEEDBITS(glbl, 5) + nl = 257 + ((unsigned) b & 0x1f); /* number of + * literal/length codes */ + DUMPBITS(5) + NEEDBITS(glbl, 5) + nd = 1 + ((unsigned) b & 0x1f); /* number of distance codes */ + DUMPBITS(5) + NEEDBITS(glbl, 4) + nb = 4 + ((unsigned) b & 0xf); /* number of bit length codes */ + DUMPBITS(4) +#ifdef PKZIP_BUG_WORKAROUND + if (nl > 288 || nd > 32) +#else + if (nl > 286 || nd > 30) +#endif + return 1; /* bad lengths */ + /* read in bit-length-code lengths */ + for (j = 0; j < nb; j++) { + NEEDBITS(glbl, 3) + ll[border[j]] = (unsigned) b & 7; + DUMPBITS(3) + } + for (; j < 19; j++) + ll[border[j]] = 0; + + /* build decoding table for trees--single level, 7 bit lookup */ + bl = 7; + if ((i = huft_build(glbl, ll, 19, 19, NULL, NULL, &tl, &bl)) != 0) { + if (i == 1) + huft_free(glbl, tl); + return i; /* incomplete code set */ + } + /* read in literal and distance code lengths */ + n = nl + nd; + m = mask[bl]; + i = l = 0; + while ((unsigned) i < n) { + NEEDBITS(glbl, (unsigned) bl) + j = (td = tl + ((unsigned) b & m))->b; + DUMPBITS(j) + j = td->v.n; + if (j < 16) /* length of code in bits (0..15) */ + ll[i++] = l = j; /* save last length in l */ + else if (j == 16) { /* repeat last length 3 to 6 times */ + NEEDBITS(glbl, 2) + j = 3 + ((unsigned) b & 3); + DUMPBITS(2) + if ((unsigned) i + j > n) + return 1; + while (j--) + ll[i++] = l; + } else if (j == 17) { /* 3 to 10 zero length codes */ + NEEDBITS(glbl, 3) + j = 3 + ((unsigned) b & 7); + DUMPBITS(3) + if ((unsigned) i + j > n) + return 1; + while (j--) + ll[i++] = 0; + l = 0; + } else { /* j == 18: 11 to 138 zero length codes */ + NEEDBITS(glbl, 7) + j = 11 + ((unsigned) b & 0x7f); + DUMPBITS(7) + if ((unsigned) i + j > n) + return 1; + while (j--) + ll[i++] = 0; + l = 0; + } + } + + /* free decoding table for trees */ + huft_free(glbl, tl); + + /* restore the global bit buffer */ + glbl->gz_bb = b; + glbl->gz_bk = k; + + /* build the decoding tables for literal/length and distance codes */ + bl = lbits; + i = huft_build(glbl, ll, nl, 257, cplens, cplext, &tl, &bl); + if (i != 0) { + if (i == 1 && !qflag) { + FPRINTF("(incomplete l-tree) "); + huft_free(glbl, tl); + } + return i; /* incomplete code set */ + } + bd = dbits; + i = huft_build(glbl, ll + nl, nd, 0, cpdist, cpdext, &td, &bd); + if (i != 0) { + if (i == 1 && !qflag) { + FPRINTF("(incomplete d-tree) "); +#ifdef PKZIP_BUG_WORKAROUND + i = 0; + } +#else + huft_free(glbl, td); + } + huft_free(glbl, tl); + return i; /* incomplete code set */ +#endif + } + /* decompress until an end-of-block code */ + if (inflate_codes(glbl, tl, td, bl, bd)) + return 1; + + /* free the decoding tables, return */ + huft_free(glbl, tl); + huft_free(glbl, td); + return 0; +} + +/* decompress an inflated block */ +static int +inflate_block(glbl, e) + struct inflate *glbl; + int *e; /* last block flag */ +{ + unsigned t; /* block type */ + register ulg b; /* bit buffer */ + register unsigned k; /* number of bits in bit buffer */ + + /* make local bit buffer */ + b = glbl->gz_bb; + k = glbl->gz_bk; + + /* read in last block bit */ + NEEDBITS(glbl, 1) + * e = (int) b & 1; + DUMPBITS(1) + /* read in block type */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 13:35:47 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90094106566B; Mon, 31 Aug 2009 13:35:47 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8022A8FC14; Mon, 31 Aug 2009 13:35:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7VDZlvG029181; Mon, 31 Aug 2009 13:35:47 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7VDZlu6029179; Mon, 31 Aug 2009 13:35:47 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200908311335.n7VDZlu6029179@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 31 Aug 2009 13:35:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196697 - user/des/fmerge X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 13:35:47 -0000 Author: des Date: Mon Aug 31 13:35:47 2009 New Revision: 196697 URL: http://svn.freebsd.org/changeset/base/196697 Log: Remove duplicate execution and debugging printout. Modified: user/des/fmerge/fmerge.pl Modified: user/des/fmerge/fmerge.pl ============================================================================== --- user/des/fmerge/fmerge.pl Mon Aug 31 13:23:55 2009 (r196696) +++ user/des/fmerge/fmerge.pl Mon Aug 31 13:35:47 2009 (r196697) @@ -65,8 +65,7 @@ sub svn_check($@) { sub svn_do(@) { my @argv = @_; info('svn', @argv); - system('svn', @argv) - unless $pretend; + return if $pretend; my $pid = fork(); if ($pid == -1) { die("fork(): $!\n"); @@ -75,7 +74,6 @@ sub svn_do(@) { die("exec(): $!\n"); } waitpid($pid, 0); - info($?); if ($? & 128) { info("svn died with signal", $? & 128); kill($? & 128, $$); From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 20:59:23 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 922A910656BE; Mon, 31 Aug 2009 20:59:23 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 81D168FC24; Mon, 31 Aug 2009 20:59:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7VKxN2v038802; Mon, 31 Aug 2009 20:59:23 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7VKxNMt038800; Mon, 31 Aug 2009 20:59:23 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908312059.n7VKxNMt038800@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 20:59:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196713 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 20:59:23 -0000 Author: kmacy Date: Mon Aug 31 20:59:23 2009 New Revision: 196713 URL: http://svn.freebsd.org/changeset/base/196713 Log: don't block waiting on a zfetch Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Mon Aug 31 20:53:01 2009 (r196712) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c Mon Aug 31 20:59:23 2009 (r196713) @@ -304,7 +304,9 @@ dmu_zfetch_find(zfetch_t *zf, zstream_t * modified in a number of different ways. */ - rw_enter(&zf->zf_rwlock, RW_READER); + if (rw_tryenter(&zf->zf_rwlock, RW_READER) == 0) + return (1); + top: for (zs = list_head(&zf->zf_stream); zs; From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 21:04:34 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E5FC106568B; Mon, 31 Aug 2009 21:04:34 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3CCE18FC0A; Mon, 31 Aug 2009 21:04:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7VL4Y3l038989; Mon, 31 Aug 2009 21:04:34 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7VL4Yq5038987; Mon, 31 Aug 2009 21:04:34 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908312104.n7VL4Yq5038987@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 21:04:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196715 - user/kmacy/releng_7_2_fcs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 21:04:34 -0000 Author: kmacy Date: Mon Aug 31 21:04:33 2009 New Revision: 196715 URL: http://svn.freebsd.org/changeset/base/196715 Log: remove duplicated conditional Modified: user/kmacy/releng_7_2_fcs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Modified: user/kmacy/releng_7_2_fcs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Mon Aug 31 21:02:48 2009 (r196714) +++ user/kmacy/releng_7_2_fcs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Mon Aug 31 21:04:33 2009 (r196715) @@ -1971,10 +1971,6 @@ dbuf_sync_leaf(dbuf_dirty_record_t *dr, list_destroy(&dr->dt.di.dr_children); mutex_destroy(&dr->dt.di.dr_mtx); } - if (dr->dr_dbuf->db_level != 0) { - list_destroy(&dr->dt.di.dr_children); - mutex_destroy(&dr->dt.di.dr_mtx); - } kmem_free(dr, sizeof (dbuf_dirty_record_t)); ASSERT(db->db_dirtycnt > 0); db->db_dirtycnt -= 1; From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 21:07:05 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B191B106566C; Mon, 31 Aug 2009 21:07:05 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A13CA8FC13; Mon, 31 Aug 2009 21:07:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7VL75Nw039083; Mon, 31 Aug 2009 21:07:05 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7VL75Zu039081; Mon, 31 Aug 2009 21:07:05 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908312107.n7VL75Zu039081@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 21:07:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196716 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 21:07:05 -0000 Author: kmacy Date: Mon Aug 31 21:07:05 2009 New Revision: 196716 URL: http://svn.freebsd.org/changeset/base/196716 Log: rlock dnode where it is only read Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Mon Aug 31 21:04:33 2009 (r196715) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Mon Aug 31 21:07:05 2009 (r196716) @@ -621,16 +621,16 @@ dnode_hold_impl(objset_impl_t *os, uint6 } } - mutex_enter(&dn->dn_mtx); + rw_enter(&dn->dn_mtx, RW_READER); type = dn->dn_type; if (dn->dn_free_txg || ((flag & DNODE_MUST_BE_ALLOCATED) && type == DMU_OT_NONE) || ((flag & DNODE_MUST_BE_FREE) && type != DMU_OT_NONE)) { - mutex_exit(&dn->dn_mtx); + rw_exit(&dn->dn_mtx); dbuf_rele(db, FTAG); return (type == DMU_OT_NONE ? ENOENT : EEXIST); } - mutex_exit(&dn->dn_mtx); + rw_exit(&dn->dn_mtx); if (refcount_add(&dn->dn_holds, tag) == 1) dbuf_add_ref(db, dn); From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 21:28:15 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA1A01065672; Mon, 31 Aug 2009 21:28:15 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B98E28FC12; Mon, 31 Aug 2009 21:28:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7VLSFG6039591; Mon, 31 Aug 2009 21:28:15 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7VLSFRt039589; Mon, 31 Aug 2009 21:28:15 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908312128.n7VLSFRt039589@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 21:28:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196718 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 21:28:15 -0000 Author: kmacy Date: Mon Aug 31 21:28:15 2009 New Revision: 196718 URL: http://svn.freebsd.org/changeset/base/196718 Log: swap data metadata enum order Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h Mon Aug 31 21:25:49 2009 (r196717) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h Mon Aug 31 21:28:15 2009 (r196718) @@ -55,8 +55,8 @@ struct arc_buf { }; typedef enum arc_buf_contents { - ARC_BUFC_DATA, /* buffer contains data */ ARC_BUFC_METADATA, /* buffer contains metadata */ + ARC_BUFC_DATA, /* buffer contains data */ ARC_BUFC_NUMTYPES } arc_buf_contents_t; /* From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 21:32:09 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF6D31065672; Mon, 31 Aug 2009 21:32:08 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DE27C8FC18; Mon, 31 Aug 2009 21:32:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7VLW86B039717; Mon, 31 Aug 2009 21:32:08 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7VLW8wI039715; Mon, 31 Aug 2009 21:32:08 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908312132.n7VLW8wI039715@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 21:32:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196719 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 21:32:09 -0000 Author: kmacy Date: Mon Aug 31 21:32:08 2009 New Revision: 196719 URL: http://svn.freebsd.org/changeset/base/196719 Log: merge 194311 parallelize locking on ARC states Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Mon Aug 31 21:28:15 2009 (r196718) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Mon Aug 31 21:32:08 2009 (r196719) @@ -223,13 +223,31 @@ extern kmem_cache_t *zio_data_buf_cache[ * second level ARC benefit from these fast lookups. */ +#define ARCS_LOCK_PAD 128 +struct arcs_lock { + kmutex_t arcs_lock; +#ifdef _KERNEL + unsigned char pad[(ARCS_LOCK_PAD - sizeof (kmutex_t))]; +#endif +}; + +/* + * must be power of two for mask use to work + * + */ +#define ARC_BUFC_NUMDATALISTS 16 +#define ARC_BUFC_NUMMETADATALISTS 16 +#define ARC_BUFC_NUMLISTS (ARC_BUFC_NUMMETADATALISTS+ARC_BUFC_NUMDATALISTS) + typedef struct arc_state { - list_t arcs_list[ARC_BUFC_NUMTYPES]; /* list of evictable buffers */ uint64_t arcs_lsize[ARC_BUFC_NUMTYPES]; /* amount of evictable data */ uint64_t arcs_size; /* total amount of data in this state */ - kmutex_t arcs_mtx __aligned(128); + list_t arcs_lists[ARC_BUFC_NUMLISTS]; /* list of evictable buffers */ + struct arcs_lock arcs_locks[ARC_BUFC_NUMLISTS] __aligned(128); } arc_state_t; +#define ARCS_LOCK(s, i) &((s)->arcs_locks[(i)].arcs_lock) + /* The 6 states: */ static arc_state_t ARC_anon; static arc_state_t ARC_mru; @@ -958,21 +976,41 @@ arc_buf_freeze(arc_buf_t *buf) } static void +get_buf_info(arc_buf_hdr_t *ab, arc_state_t *state, list_t **list, kmutex_t **lock) +{ + uint64_t buf_hashid = buf_hash(ab->b_spa, &ab->b_dva, ab->b_birth); + + if (ab->b_type == ARC_BUFC_METADATA) + buf_hashid &= (ARC_BUFC_NUMMETADATALISTS-1); + else { + buf_hashid &= (ARC_BUFC_NUMDATALISTS-1); + buf_hashid += ARC_BUFC_NUMMETADATALISTS; + } + + *list = &state->arcs_lists[buf_hashid]; + *lock = ARCS_LOCK(state, buf_hashid); +} + + +static void add_reference(arc_buf_hdr_t *ab, kmutex_t *hash_lock, void *tag) { + ASSERT(MUTEX_HELD(hash_lock)); if ((refcount_add(&ab->b_refcnt, tag) == 1) && (ab->b_state != arc_anon)) { + list_t *list; + kmutex_t *lock; uint64_t delta = ab->b_size * ab->b_datacnt; - list_t *list = &ab->b_state->arcs_list[ab->b_type]; uint64_t *size = &ab->b_state->arcs_lsize[ab->b_type]; - ASSERT(!MUTEX_HELD(&ab->b_state->arcs_mtx)); - mutex_enter(&ab->b_state->arcs_mtx); + get_buf_info(ab, ab->b_state, &list, &lock); + ASSERT(!MUTEX_HELD(lock)); + mutex_enter(lock); ASSERT(list_link_active(&ab->b_arc_node)); list_remove(list, ab); - mutex_exit(&ab->b_state->arcs_mtx); + mutex_exit(lock); if (GHOST_STATE(ab->b_state)) { ASSERT3U(ab->b_datacnt, ==, 0); @@ -1000,12 +1038,16 @@ remove_reference(arc_buf_hdr_t *ab, kmut if (((cnt = refcount_remove(&ab->b_refcnt, tag)) == 0) && (state != arc_anon)) { uint64_t *size = &state->arcs_lsize[ab->b_type]; + list_t *list; + kmutex_t *lock; - ASSERT(!MUTEX_HELD(&state->arcs_mtx)); - mutex_enter(&state->arcs_mtx); + get_buf_info(ab, state, &list, &lock); + + ASSERT(!MUTEX_HELD(lock)); + mutex_enter(lock); ASSERT(!list_link_active(&ab->b_arc_node)); - list_insert_head(&state->arcs_list[ab->b_type], ab); - mutex_exit(&state->arcs_mtx); + list_insert_head(list, ab); + mutex_exit(lock); ASSERT(ab->b_datacnt > 0); atomic_add_64(size, ab->b_size * ab->b_datacnt); @@ -1023,6 +1065,8 @@ arc_change_state(arc_state_t *new_state, arc_state_t *old_state = ab->b_state; int64_t refcnt = refcount_count(&ab->b_refcnt); uint64_t from_delta, to_delta; + list_t *list; + kmutex_t *lock; ASSERT(MUTEX_HELD(hash_lock)); ASSERT(new_state != old_state); @@ -1037,14 +1081,17 @@ arc_change_state(arc_state_t *new_state, */ if (refcnt == 0) { if (old_state != arc_anon) { - int use_mutex = !MUTEX_HELD(&old_state->arcs_mtx); + int use_mutex; uint64_t *size = &old_state->arcs_lsize[ab->b_type]; + get_buf_info(ab, old_state, &list, &lock); + use_mutex = !MUTEX_HELD(lock); + if (use_mutex) - mutex_enter(&old_state->arcs_mtx); + mutex_enter(lock); ASSERT(list_link_active(&ab->b_arc_node)); - list_remove(&old_state->arcs_list[ab->b_type], ab); + list_remove(list, ab); /* * If prefetching out of the ghost cache, @@ -1059,16 +1106,20 @@ arc_change_state(arc_state_t *new_state, atomic_add_64(size, -from_delta); if (use_mutex) - mutex_exit(&old_state->arcs_mtx); + mutex_exit(lock); } if (new_state != arc_anon) { - int use_mutex = !MUTEX_HELD(&new_state->arcs_mtx); + int use_mutex; uint64_t *size = &new_state->arcs_lsize[ab->b_type]; + get_buf_info(ab, new_state, &list, &lock); + use_mutex = !MUTEX_HELD(lock); + + if (use_mutex) - mutex_enter(&new_state->arcs_mtx); + mutex_enter(lock); - list_insert_head(&new_state->arcs_list[ab->b_type], ab); + list_insert_head(list, ab); /* ghost elements have a ghost size */ if (GHOST_STATE(new_state)) { @@ -1079,7 +1130,7 @@ arc_change_state(arc_state_t *new_state, atomic_add_64(size, to_delta); if (use_mutex) - mutex_exit(&new_state->arcs_mtx); + mutex_exit(lock); } } @@ -1470,17 +1521,42 @@ arc_evict(arc_state_t *state, spa_t *spa arc_state_t *evicted_state; uint64_t bytes_evicted = 0, skipped = 0, missed = 0; arc_buf_hdr_t *ab, *ab_prev = NULL; - list_t *list = &state->arcs_list[type]; + list_t *evicted_list, *list, *evicted_list_start, *list_start; + kmutex_t *lock, *evicted_lock; kmutex_t *hash_lock; boolean_t have_lock; void *stolen = NULL; + static int evict_metadata_offset, evict_data_offset; + int idx, offset, list_count, count; ASSERT(state == arc_mru || state == arc_mfu); evicted_state = (state == arc_mru) ? arc_mru_ghost : arc_mfu_ghost; + + if (type == ARC_BUFC_METADATA) { + offset = 0; + list_count = ARC_BUFC_NUMMETADATALISTS; + list_start = &state->arcs_lists[0]; + evicted_list_start = &evicted_state->arcs_lists[0]; + idx = evict_metadata_offset; + } else { + offset = ARC_BUFC_NUMMETADATALISTS; + + list_start = &state->arcs_lists[offset]; + evicted_list_start = &evicted_state->arcs_lists[offset]; + list_count = ARC_BUFC_NUMDATALISTS; + idx = evict_data_offset; + } + count = 0; + +evict_start: + list = &list_start[idx]; + evicted_list = &evicted_list_start[idx]; + lock = ARCS_LOCK(state, (offset + idx)); + evicted_lock = ARCS_LOCK(evicted_state, (offset + idx)); - mutex_enter(&state->arcs_mtx); - mutex_enter(&evicted_state->arcs_mtx); + mutex_enter(lock); + mutex_enter(evicted_lock); for (ab = list_tail(list); ab; ab = ab_prev) { ab_prev = list_prev(list, ab); @@ -1548,13 +1624,24 @@ arc_evict(arc_state_t *state, spa_t *spa } } - mutex_exit(&evicted_state->arcs_mtx); - mutex_exit(&state->arcs_mtx); - - if (bytes_evicted < bytes) - dprintf("only evicted %lld bytes from %x", - (longlong_t)bytes_evicted, state); + mutex_exit(evicted_lock); + mutex_exit(lock); + + idx = ((idx + 1)&(list_count-1)); + count++; + if (bytes_evicted < bytes) { + if (count < list_count) + goto evict_start; + else + dprintf("only evicted %lld bytes from %x", + (longlong_t)bytes_evicted, state); + } + if (type == ARC_BUFC_METADATA) + evict_metadata_offset = idx; + else + evict_data_offset = idx; + if (skipped) ARCSTAT_INCR(arcstat_evict_skip, skipped); @@ -1593,14 +1680,28 @@ static void arc_evict_ghost(arc_state_t *state, spa_t *spa, int64_t bytes) { arc_buf_hdr_t *ab, *ab_prev; - list_t *list = &state->arcs_list[ARC_BUFC_DATA]; - kmutex_t *hash_lock; + list_t *list, *list_start; + kmutex_t *hash_lock, *lock; uint64_t bytes_deleted = 0; uint64_t bufs_skipped = 0; + static int evict_offset; + int list_count, idx = evict_offset; + int offset, count = 0; ASSERT(GHOST_STATE(state)); -top: - mutex_enter(&state->arcs_mtx); + + /* + * data lists come after metadata lists + */ + list_start = &state->arcs_lists[ARC_BUFC_NUMMETADATALISTS]; + list_count = ARC_BUFC_NUMDATALISTS; + offset = ARC_BUFC_NUMMETADATALISTS; + +evict_start: + list = &list_start[idx]; + lock = ARCS_LOCK(state, idx + offset); + + mutex_enter(lock); for (ab = list_tail(list); ab; ab = ab_prev) { ab_prev = list_prev(list, ab); if (spa && ab->b_spa != spa) @@ -1630,20 +1731,31 @@ top: break; } else { if (bytes < 0) { - mutex_exit(&state->arcs_mtx); + /* + * we're draining the ARC, retry + */ + mutex_exit(lock); mutex_enter(hash_lock); mutex_exit(hash_lock); - goto top; + goto evict_start; } bufs_skipped += 1; } } - mutex_exit(&state->arcs_mtx); - - if (list == &state->arcs_list[ARC_BUFC_DATA] && + mutex_exit(lock); + idx = ((idx + 1)&(ARC_BUFC_NUMDATALISTS-1)); + count++; + + if (count < list_count) + goto evict_start; + + evict_offset = idx; + if ((uintptr_t)list > (uintptr_t)&state->arcs_lists[ARC_BUFC_NUMMETADATALISTS] && (bytes < 0 || bytes_deleted < bytes)) { - list = &state->arcs_list[ARC_BUFC_METADATA]; - goto top; + list_start = &state->arcs_lists[0]; + list_count = ARC_BUFC_NUMMETADATALISTS; + offset = count = 0; + goto evict_start; } if (bufs_skipped) { @@ -1757,22 +1869,22 @@ restart: void arc_flush(spa_t *spa) { - while (list_head(&arc_mru->arcs_list[ARC_BUFC_DATA])) { + while (arc_mru->arcs_lsize[ARC_BUFC_DATA]) { (void) arc_evict(arc_mru, spa, -1, FALSE, ARC_BUFC_DATA); if (spa) break; } - while (list_head(&arc_mru->arcs_list[ARC_BUFC_METADATA])) { + while (arc_mru->arcs_lsize[ARC_BUFC_METADATA]) { (void) arc_evict(arc_mru, spa, -1, FALSE, ARC_BUFC_METADATA); if (spa) break; } - while (list_head(&arc_mfu->arcs_list[ARC_BUFC_DATA])) { + while (arc_mfu->arcs_lsize[ARC_BUFC_DATA]) { (void) arc_evict(arc_mfu, spa, -1, FALSE, ARC_BUFC_DATA); if (spa) break; } - while (list_head(&arc_mfu->arcs_list[ARC_BUFC_METADATA])) { + while (arc_mfu->arcs_lsize[ARC_BUFC_METADATA]) { (void) arc_evict(arc_mfu, spa, -1, FALSE, ARC_BUFC_METADATA); if (spa) break; @@ -2825,7 +2937,9 @@ arc_buf_evict(arc_buf_t *buf) arc_buf_hdr_t *hdr; kmutex_t *hash_lock; arc_buf_t **bufp; - + list_t *list, *evicted_list; + kmutex_t *lock, *evicted_lock; + rw_enter(&buf->b_lock, RW_WRITER); hdr = buf->b_hdr; if (hdr == NULL) { @@ -2873,16 +2987,18 @@ arc_buf_evict(arc_buf_t *buf) evicted_state = (old_state == arc_mru) ? arc_mru_ghost : arc_mfu_ghost; - mutex_enter(&old_state->arcs_mtx); - mutex_enter(&evicted_state->arcs_mtx); + get_buf_info(hdr, old_state, &list, &lock); + get_buf_info(hdr, evicted_state, &evicted_list, &evicted_lock); + mutex_enter(lock); + mutex_enter(evicted_lock); arc_change_state(evicted_state, hdr, hash_lock); ASSERT(HDR_IN_HASH_TABLE(hdr)); hdr->b_flags |= ARC_IN_HASH_TABLE; hdr->b_flags &= ~ARC_BUF_AVAILABLE; - mutex_exit(&evicted_state->arcs_mtx); - mutex_exit(&old_state->arcs_mtx); + mutex_exit(evicted_lock); + mutex_exit(lock); } mutex_exit(hash_lock); rw_exit(&buf->b_lock); @@ -3428,7 +3544,8 @@ void arc_init(void) { int prefetch_tunable_set = 0; - + int i; + mutex_init(&arc_reclaim_thr_lock, NULL, MUTEX_DEFAULT, NULL); cv_init(&arc_reclaim_thr_cv, NULL, CV_DEFAULT, NULL); mutex_init(&arc_lowmem_lock, NULL, MUTEX_DEFAULT, NULL); @@ -3496,33 +3613,34 @@ arc_init(void) arc_l2c_only = &ARC_l2c_only; arc_size = 0; - mutex_init(&arc_anon->arcs_mtx, NULL, MUTEX_DEFAULT, NULL); - mutex_init(&arc_mru->arcs_mtx, NULL, MUTEX_DEFAULT, NULL); - mutex_init(&arc_mru_ghost->arcs_mtx, NULL, MUTEX_DEFAULT, NULL); - mutex_init(&arc_mfu->arcs_mtx, NULL, MUTEX_DEFAULT, NULL); - mutex_init(&arc_mfu_ghost->arcs_mtx, NULL, MUTEX_DEFAULT, NULL); - mutex_init(&arc_l2c_only->arcs_mtx, NULL, MUTEX_DEFAULT, NULL); - - list_create(&arc_mru->arcs_list[ARC_BUFC_METADATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_mru->arcs_list[ARC_BUFC_DATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_mru_ghost->arcs_list[ARC_BUFC_METADATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_mru_ghost->arcs_list[ARC_BUFC_DATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_mfu->arcs_list[ARC_BUFC_METADATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_mfu->arcs_list[ARC_BUFC_DATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_mfu_ghost->arcs_list[ARC_BUFC_METADATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_mfu_ghost->arcs_list[ARC_BUFC_DATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_l2c_only->arcs_list[ARC_BUFC_METADATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); - list_create(&arc_l2c_only->arcs_list[ARC_BUFC_DATA], - sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); + for (i = 0; i < ARC_BUFC_NUMLISTS; i++) { + + mutex_init(&arc_anon->arcs_locks[i].arcs_lock, + NULL, MUTEX_DEFAULT, NULL); + mutex_init(&arc_mru->arcs_locks[i].arcs_lock, + NULL, MUTEX_DEFAULT, NULL); + mutex_init(&arc_mru_ghost->arcs_locks[i].arcs_lock, + NULL, MUTEX_DEFAULT, NULL); + mutex_init(&arc_mfu->arcs_locks[i].arcs_lock, + NULL, MUTEX_DEFAULT, NULL); + mutex_init(&arc_mfu_ghost->arcs_locks[i].arcs_lock, + NULL, MUTEX_DEFAULT, NULL); + mutex_init(&arc_l2c_only->arcs_locks[i].arcs_lock, + NULL, MUTEX_DEFAULT, NULL); + + list_create(&arc_mru->arcs_lists[i], + sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); + list_create(&arc_mru_ghost->arcs_lists[i], + sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); + list_create(&arc_mfu->arcs_lists[i], + sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); + list_create(&arc_mfu_ghost->arcs_lists[i], + sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); + list_create(&arc_mfu_ghost->arcs_lists[i], + sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); + list_create(&arc_l2c_only->arcs_lists[i], + sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); + } buf_init(); @@ -3592,7 +3710,8 @@ arc_init(void) void arc_fini(void) { - + int i; + mutex_enter(&arc_reclaim_thr_lock); arc_thread_exit = 1; cv_signal(&arc_reclaim_thr_cv); @@ -3613,21 +3732,19 @@ arc_fini(void) mutex_destroy(&arc_reclaim_thr_lock); cv_destroy(&arc_reclaim_thr_cv); - list_destroy(&arc_mru->arcs_list[ARC_BUFC_METADATA]); - list_destroy(&arc_mru_ghost->arcs_list[ARC_BUFC_METADATA]); - list_destroy(&arc_mfu->arcs_list[ARC_BUFC_METADATA]); - list_destroy(&arc_mfu_ghost->arcs_list[ARC_BUFC_METADATA]); - list_destroy(&arc_mru->arcs_list[ARC_BUFC_DATA]); - list_destroy(&arc_mru_ghost->arcs_list[ARC_BUFC_DATA]); - list_destroy(&arc_mfu->arcs_list[ARC_BUFC_DATA]); - list_destroy(&arc_mfu_ghost->arcs_list[ARC_BUFC_DATA]); - - mutex_destroy(&arc_anon->arcs_mtx); - mutex_destroy(&arc_mru->arcs_mtx); - mutex_destroy(&arc_mru_ghost->arcs_mtx); - mutex_destroy(&arc_mfu->arcs_mtx); - mutex_destroy(&arc_mfu_ghost->arcs_mtx); - + for (i = 0; i < ARC_BUFC_NUMLISTS; i++) { + list_destroy(&arc_mru->arcs_lists[i]); + list_destroy(&arc_mru_ghost->arcs_lists[i]); + list_destroy(&arc_mfu->arcs_lists[i]); + list_destroy(&arc_mfu_ghost->arcs_lists[i]); + + mutex_destroy(&arc_anon->arcs_locks[i].arcs_lock); + mutex_destroy(&arc_mru->arcs_locks[i].arcs_lock); + mutex_destroy(&arc_mru_ghost->arcs_locks[i].arcs_lock); + mutex_destroy(&arc_mfu->arcs_locks[i].arcs_lock); + mutex_destroy(&arc_mfu_ghost->arcs_locks[i].arcs_lock); + } + mutex_destroy(&zfs_write_limit_lock); buf_fini(); @@ -4022,26 +4139,26 @@ static list_t * l2arc_list_locked(int list_num, kmutex_t **lock) { list_t *list; + int idx; + + ASSERT(list_num >= 0 && list_num <= 2*ARC_BUFC_NUMLISTS); - ASSERT(list_num >= 0 && list_num <= 3); - - switch (list_num) { - case 0: - list = &arc_mfu->arcs_list[ARC_BUFC_METADATA]; - *lock = &arc_mfu->arcs_mtx; - break; - case 1: - list = &arc_mru->arcs_list[ARC_BUFC_METADATA]; - *lock = &arc_mru->arcs_mtx; - break; - case 2: - list = &arc_mfu->arcs_list[ARC_BUFC_DATA]; - *lock = &arc_mfu->arcs_mtx; - break; - case 3: - list = &arc_mru->arcs_list[ARC_BUFC_DATA]; - *lock = &arc_mru->arcs_mtx; - break; + if (list_num < ARC_BUFC_NUMMETADATALISTS) { + list = &arc_mfu->arcs_lists[list_num]; + *lock = ARCS_LOCK(arc_mfu, list_num); + } else if (list_num < ARC_BUFC_NUMMETADATALISTS*2) { + idx = list_num - ARC_BUFC_NUMMETADATALISTS; + list = &arc_mru->arcs_lists[idx]; + *lock = ARCS_LOCK(arc_mru, idx); + } else if (list_num < (ARC_BUFC_NUMMETADATALISTS*2 + + ARC_BUFC_NUMDATALISTS)) { + idx = list_num - ARC_BUFC_NUMLISTS; + list = &arc_mfu->arcs_lists[idx]; + *lock = ARCS_LOCK(arc_mfu, idx); + } else { + idx = list_num - ARC_BUFC_NUMLISTS - ARC_BUFC_NUMMETADATALISTS; + list = &arc_mru->arcs_lists[idx]; + *lock = ARCS_LOCK(arc_mru, idx); } ASSERT(!(MUTEX_HELD(*lock))); @@ -4212,7 +4329,7 @@ l2arc_write_buffers(spa_t *spa, l2arc_de * Copy buffers for L2ARC writing. */ mutex_enter(&l2arc_buflist_mtx); - for (try = 0; try <= 3; try++) { + for (try = 0; try <= 2*ARC_BUFC_NUMLISTS; try++) { list = l2arc_list_locked(try, &list_lock); passed_sz = 0; From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 21:36:19 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C2A4106568D; Mon, 31 Aug 2009 21:36:19 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 72A5A8FC14; Mon, 31 Aug 2009 21:36:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7VLaJSI039850; Mon, 31 Aug 2009 21:36:19 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7VLaJHm039848; Mon, 31 Aug 2009 21:36:19 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908312136.n7VLaJHm039848@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 21:36:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196720 - user/kmacy/head_zfs_merge/sys/conf X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 21:36:19 -0000 Author: kmacy Date: Mon Aug 31 21:36:19 2009 New Revision: 196720 URL: http://svn.freebsd.org/changeset/base/196720 Log: remove stale ppp references Modified: user/kmacy/head_zfs_merge/sys/conf/files Modified: user/kmacy/head_zfs_merge/sys/conf/files ============================================================================== --- user/kmacy/head_zfs_merge/sys/conf/files Mon Aug 31 21:32:08 2009 (r196719) +++ user/kmacy/head_zfs_merge/sys/conf/files Mon Aug 31 21:36:19 2009 (r196720) @@ -2237,38 +2237,35 @@ net/rtsock.c standard net/slcompress.c optional netgraph_vjc | sppp | \ netgraph_sppp net/vnet.c optional vimage -net/zlib.c optional crypto | geom_uzip | ipsec | \ - mxge | netgraph_deflate | \ - ddb_ctf libkern/zlib/adler32.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/compress.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/deflate.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/inflate.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/inffast.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/inftrees.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/trees.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/uncompr.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/zutil.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip libkern/zlib/zl_crc32.c optional zfs | crypto | geom_uzip | ipsec | \ - mxge | ppp_deflate | \ + mxge | \ netgraph_deflate | ddb_ctf | gzip net80211/ieee80211.c optional wlan From owner-svn-src-user@FreeBSD.ORG Mon Aug 31 22:58:30 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FCAA1065692; Mon, 31 Aug 2009 22:58:30 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D7C0A8FC16; Mon, 31 Aug 2009 22:58:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7VMwTnA041783; Mon, 31 Aug 2009 22:58:29 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7VMwTjK041782; Mon, 31 Aug 2009 22:58:29 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200908312258.n7VMwTjK041782@svn.freebsd.org> From: Kip Macy Date: Mon, 31 Aug 2009 22:58:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196722 - user/kmacy/releng_7_2_fcs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2009 22:58:30 -0000 Author: kmacy Date: Mon Aug 31 22:58:29 2009 New Revision: 196722 URL: http://svn.freebsd.org/changeset/base/196722 Log: remove duplicated file Deleted: user/kmacy/releng_7_2_fcs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid2.c From owner-svn-src-user@FreeBSD.ORG Tue Sep 1 21:21:48 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CA0F10656A6; Tue, 1 Sep 2009 21:21:48 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0C10F8FC1C; Tue, 1 Sep 2009 21:21:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n81LLkMv072682; Tue, 1 Sep 2009 21:21:46 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n81LLk6I072680; Tue, 1 Sep 2009 21:21:46 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909012121.n81LLk6I072680@svn.freebsd.org> From: Kip Macy Date: Tue, 1 Sep 2009 21:21:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196742 - user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2009 21:21:48 -0000 Author: kmacy Date: Tue Sep 1 21:21:46 2009 New Revision: 196742 URL: http://svn.freebsd.org/changeset/base/196742 Log: add zlib module dependency Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c Modified: user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c ============================================================================== --- user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c Tue Sep 1 20:58:41 2009 (r196741) +++ user/kmacy/head_zfs_merge/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c Tue Sep 1 21:21:46 2009 (r196742) @@ -26,6 +26,7 @@ #include #include +#include #include "zlib.h" #include "zutil.h" @@ -69,3 +70,5 @@ z_strerror(int err) return (zError(err)); } + +MODULE_DEPEND(zfs, zlib, 1, 1, 1); From owner-svn-src-user@FreeBSD.ORG Tue Sep 1 22:03:29 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 86195106566B; Tue, 1 Sep 2009 22:03:29 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 75EEC8FC1A; Tue, 1 Sep 2009 22:03:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n81M3TEr073555; Tue, 1 Sep 2009 22:03:29 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n81M3TvQ073553; Tue, 1 Sep 2009 22:03:29 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909012203.n81M3TvQ073553@svn.freebsd.org> From: Edwin Groothuis Date: Tue, 1 Sep 2009 22:03:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196743 - user/edwin/locale/share/msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2009 22:03:29 -0000 Author: edwin Date: Tue Sep 1 22:03:29 2009 New Revision: 196743 URL: http://svn.freebsd.org/changeset/base/196743 Log: Add the clean of the before-install back. Modified: user/edwin/locale/share/msgdef/Makefile Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Tue Sep 1 21:21:46 2009 (r196742) +++ user/edwin/locale/share/msgdef/Makefile Tue Sep 1 22:03:29 2009 (r196743) @@ -227,26 +227,15 @@ ${ccln}.${cms}.out: ${ccln}.src .endif .endfor -#.for locale in ${LOCALES} -#.endfor -# -#CLEANFILES= ${FILES} -# -#SYMLINKS= -#.for enc1 in ${ENCODINGS} -#.for enc2 in ${ENCODINGS} -#.for lang_terr in ${${enc1}_${enc2}} -#SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ -# ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} -#.endfor -#.endfor -#.endfor -# -#beforeinstall: -#.for locale in ${LOCALES} -#.if exists(${DESTDIR}${LOCALEDIR}/${locale}/LC_MESSAGES/) -# rm -rf ${DESTDIR}${LOCALEDIR}/${locale}/LC_MESSAGES -#.endif -#.endfor +beforeinstall: +.for f in ${FILES:S/.out//} + rm -f ${DESTDIR}/${LOCALEDIR}/${f}/${FILESNAME} +.endfor + set ${SYMLINKS}; \ + while [ ! -z "$1" ]; do \ + shift; \ + rm -f ${DESTDIR}/$$1/${FILESNAME}; \ + shift; \ + done .include From owner-svn-src-user@FreeBSD.ORG Tue Sep 1 22:24:27 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9224F106566B; Tue, 1 Sep 2009 22:24:27 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 819268FC14; Tue, 1 Sep 2009 22:24:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n81MORLm074122; Tue, 1 Sep 2009 22:24:27 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n81MOROe074120; Tue, 1 Sep 2009 22:24:27 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909012224.n81MOROe074120@svn.freebsd.org> From: Edwin Groothuis Date: Tue, 1 Sep 2009 22:24:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196744 - user/edwin/locale/share/msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2009 22:24:27 -0000 Author: edwin Date: Tue Sep 1 22:24:27 2009 New Revision: 196744 URL: http://svn.freebsd.org/changeset/base/196744 Log: Split between the user-generatable and maintainer-generatable targets and sources. Use the FULL environment variable to toggle this. Modified: user/edwin/locale/share/msgdef/Makefile Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Tue Sep 1 22:03:29 2009 (r196743) +++ user/edwin/locale/share/msgdef/Makefile Tue Sep 1 22:24:27 2009 (r196744) @@ -120,7 +120,10 @@ FILESDIR_${ccln}.${cm}.out= ${LOCALEDIR} .endfor FILES= ${ALLFILES:S/$/.out/} -CLEANFILES= ${ALLFILES:S/$/.out/} ${CCLN:S/$/.src/} +CLEANFILES= ${ALLFILES:S/$/.out/} +.if defined(FULL) +CLEANFILES+= ${CCLN:S/$/.src/} +.endif FILESNAME= ${LCTYPE} # All links @@ -215,10 +218,16 @@ SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${ # .for ccln in ${CCLN} + +# Normal makes don't need to convert from .unicode to .src +. if defined(FULL) ${ccln}.src: ${ccln}.unicode echo ${.ALLSRC} > ${.TARGET} +. endif + ${ccln}.UTF-8.out: ${ccln}.src grep -v '^#' < ${.ALLSRC} > ${.TARGET} + .if defined(CMS_${ccln}) .for cms in ${CMS_${ccln}} ${ccln}.${cms}.out: ${ccln}.src From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 02:40:48 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DEF431065670; Wed, 2 Sep 2009 02:40:48 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CD2CE8FC13; Wed, 2 Sep 2009 02:40:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n822emZx078922; Wed, 2 Sep 2009 02:40:48 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n822emNL078914; Wed, 2 Sep 2009 02:40:48 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909020240.n822emNL078914@svn.freebsd.org> From: Kip Macy Date: Wed, 2 Sep 2009 02:40:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196747 - in user/kmacy/releng_7_2_fcs_1/sys: kern sys X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 02:40:49 -0000 Author: kmacy Date: Wed Sep 2 02:40:48 2009 New Revision: 196747 URL: http://svn.freebsd.org/changeset/base/196747 Log: initial iteration of background sendfile completion Modified: user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_sockbuf.c user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_socket.c user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_syscalls.c user/kmacy/releng_7_2_fcs_1/sys/sys/file.h user/kmacy/releng_7_2_fcs_1/sys/sys/sockbuf.h user/kmacy/releng_7_2_fcs_1/sys/sys/socketvar.h user/kmacy/releng_7_2_fcs_1/sys/sys/sockstate.h Modified: user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_sockbuf.c ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_sockbuf.c Wed Sep 2 02:12:07 2009 (r196746) +++ user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_sockbuf.c Wed Sep 2 02:40:48 2009 (r196747) @@ -177,7 +177,10 @@ sowakeup(struct socket *so, struct sockb { SOCKBUF_LOCK_ASSERT(sb); - + if (sb->sb_flags & SB_SENDING) { + SOCKBUF_UNLOCK(sb); + return; + } selwakeuppri(&sb->sb_sel, PSOCK); if (!SEL_WAITING(&sb->sb_sel)) sb->sb_flags &= ~SB_SEL; @@ -879,6 +882,8 @@ sbdrop_internal(struct sockbuf *sb, int } } +extern void sosendingwakeup(void *unused __unused); + /* * Drop data from (the front of) a sockbuf. */ @@ -889,6 +894,8 @@ sbdrop_locked(struct sockbuf *sb, int le SOCKBUF_LOCK_ASSERT(sb); sbdrop_internal(sb, len); + if (sb->sb_flags & SB_SENDING) + sosendingwakeup(NULL); } void Modified: user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_socket.c ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_socket.c Wed Sep 2 02:12:07 2009 (r196746) +++ user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_socket.c Wed Sep 2 02:40:48 2009 (r196747) @@ -125,9 +125,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include +#include +#include #include #include @@ -3102,6 +3106,325 @@ soisdisconnected(struct socket *so) wakeup(&so->so_timeo); } +struct socketref { + struct proc *sr_proc; + struct file *sr_sock_fp; + struct file *sr_fp; + struct sendfile_args sr_uap; + struct uio sr_hdr_uio; + struct uio sr_trl_uio; + int sr_compat; + int sr_magic; + TAILQ_ENTRY(socketref) entry; + +}; +TAILQ_HEAD(srq, socketref); + +struct socketref_object { + struct srq sro_srh; + struct task sro_task; +}; + +struct srq *sendfile_bg_queue; +struct mtx sendfile_bg_lock; +struct callout *sendfile_callout; +struct taskqueue *sendfile_tq; +extern int getsock(struct filedesc *fdp, int fd, + struct file **fpp, u_int *fflagp); + +MALLOC_DEFINE(M_SOCKREF, "sockref", "socket reference memory"); + +void +soissending(struct socket *so, struct thread *td, + struct sendfile_args *uap, struct uio *hdr_uio, + struct uio *trl_uio, int compat) +{ + struct socketref *ref; + struct srq *srh; + int error; + struct socket *refso; + + SOCKBUF_LOCK_ASSERT(&so->so_snd); + ref = malloc(sizeof(struct socketref), + M_SOCKREF, M_NOWAIT); + if (ref == NULL) + return; + /* + * Obtain reference to socket :-/ + * drop when done sending + */ + so->so_snd.sb_flags |= SB_SENDING; + ref->sr_proc = td->td_proc; + + if ((error = getsock(td->td_proc->p_fd, uap->s, &ref->sr_sock_fp, + NULL)) != 0) { + free(ref, M_DEVBUF); + return; + } + if (ref->sr_sock_fp->f_type != DTYPE_SOCKET) { + printf("socket descriptor s=%d is not socket", uap->s); + free(ref, M_DEVBUF); + return; + } + + refso = ref->sr_sock_fp->f_data; + if (refso != so) { + printf("socket mismatch between refso: %p so: %p\n", + refso, so); + free(ref, M_DEVBUF); + return; + } + + if ((error = fget(td, uap->fd, &ref->sr_fp)) != 0) { + fdrop(ref->sr_sock_fp, td); + free(ref, M_DEVBUF); + return; + } + + bcopy(uap, &ref->sr_uap, sizeof(*uap)); + ref->sr_uap.sbytes = NULL; + + /* + * XXX + * We have to malloc memory for the uio data + */ + if (hdr_uio != NULL) + bcopy(hdr_uio, &ref->sr_hdr_uio, + sizeof(*hdr_uio)); + if (trl_uio != NULL) + bcopy(trl_uio, &ref->sr_trl_uio, + sizeof(*trl_uio)); + ref->sr_compat = compat; + ref->sr_magic = 0xCAFEBABE; + CTR3(KTR_SPARE2, "enqueueing socket %p sock_fp %p s %d", so, ref->sr_sock_fp, uap->s); + mtx_lock(&sendfile_bg_lock); + srh = sendfile_bg_queue; + TAILQ_INSERT_HEAD(srh, ref, entry); + mtx_unlock(&sendfile_bg_lock); +} + +static void +socketref_free(struct socketref *sr) +{ + struct thread *td = curthread; + + fdrop(sr->sr_sock_fp, td); + fdrop(sr->sr_fp, td); + free(sr, M_SOCKREF); +} + +static void +sendfile_task_func(void *context, int pending __unused) +{ + struct socketref_object *sro; + struct srq *sh; + struct socketref *sr, *srtmp; + struct socket *so; + struct sockbuf *sb; + struct proc *p; + struct thread *td; + struct file *sock_fp, *fp; + int error, writeable; + + sro = context; + sh = &sro->sro_srh; + td = curthread; + + CTR0(KTR_SPARE2, "task_func running"); + while (!TAILQ_EMPTY(sh)) { + sr = TAILQ_FIRST(sh); + TAILQ_REMOVE(sh, sr, entry); + if (sr->sr_magic != 0xCAFEBABE) { + printf("bad magic! 0x%x\n", sr->sr_magic); + continue; + } + p = td->td_proc; + td->td_proc = sr->sr_proc; + sock_fp = sr->sr_sock_fp; + + CTR2(KTR_SPARE2, "processing sr %p sock_fp %p", sr, sock_fp); + if (sock_fp->f_type != DTYPE_SOCKET) + goto done; + + so = sock_fp->f_data; + CTR1(KTR_SPARE2, "task processing socket %p", so); + + if ((so->so_state & SS_ISCONNECTED) == 0) + goto done; + sb = &so->so_snd; + fp = sr->sr_fp; + + SOCKBUF_LOCK(sb); + sb->sb_flags &= ~SB_SENDING; + if (so->so_snd.sb_state & SBS_CANTSENDMORE) { + CTR1(KTR_SPARE2, "task expired socket %p", so); + sowwakeup_locked(so); + } else if (sowriteable(so)) { + off_t sbytes; + + sb->sb_flags |= SB_SENDING; + SOCKBUF_UNLOCK(sb); + sr->sr_uap.sbytes = &sbytes; + CTR1(KTR_SPARE2, "task sending on socket %p", so); + error = kern_sendfile(td, &sr->sr_uap, + &sr->sr_hdr_uio, &sr->sr_trl_uio, + sr->sr_compat); + atomic_add_long(&fp->f_sfbytes, sbytes); + if (error != EAGAIN) { + SOCKBUF_LOCK(sb); + sb->sb_flags &= ~SB_SENDING; + sowwakeup_locked(so); + } + } + td->td_proc = p; + done: + fdrop(fp, td); + fdrop(sr->sr_sock_fp, td); + free(sr, M_DEVBUF); + } + free(sro, M_DEVBUF); +} + +#define SOCKBUF_LOCK_COND(sb, lockflag) do { \ + if ((lockflag)) \ + SOCKBUF_LOCK((sb)); \ +} while (0) + +#define SOCKBUF_UNLOCK_COND(sb, lockflag) do { \ + if ((lockflag)) \ + SOCKBUF_UNLOCK((sb)); \ +} while (0) + + +void +sosendingwakeup(void *unused __unused) +{ + struct socketref *sr, *srtmp; + struct srq *srh_local, *srh_global, srh_tmp; + struct socketref_object *sro; + struct task *srh_task; + struct socket *so; + struct sockbuf *sb; + struct file *fp; + struct proc *p; + struct thread *td; + int writeable, sblockneeded; + + srh_global = sendfile_bg_queue; + if (!TAILQ_EMPTY(srh_global)) { + TAILQ_INIT(&srh_tmp); + mtx_lock(&sendfile_bg_lock); + TAILQ_CONCAT(&srh_tmp, srh_global, entry); + mtx_unlock(&sendfile_bg_lock); + if (TAILQ_EMPTY(&srh_tmp)) + goto done; + + if ((sro = malloc(sizeof(struct socketref_object), + M_DEVBUF, M_NOWAIT)) == NULL) + goto done; + + srh_local = &sro->sro_srh; + srh_task = &sro->sro_task; + TAILQ_INIT(srh_local); + TASK_INIT(srh_task, 0, sendfile_task_func, sro); + CTR0(KTR_SPARE2, "processing pcpu list"); + } else + goto done; + + td = curthread; + p = td->td_proc; + TAILQ_FOREACH_SAFE(sr, &srh_tmp, entry, srtmp) { + fp = sr->sr_sock_fp; + td->td_proc = sr->sr_proc; + CTR2(KTR_SPARE2, "processing s %d sock_fp %p", sr->sr_uap.s, fp); + + if (fp->f_type != DTYPE_SOCKET) { + CTR1(KTR_SPARE2, "not socket - type %d", fp->f_type); + goto next; + } + so = fp->f_data; + if ((so->so_state & SS_ISCONNECTED) == 0) { + CTR0(KTR_SPARE2, "not connected %p"); + goto next; + } + CTR1(KTR_SPARE2, "processing socket %p", so); + sb = &so->so_snd; + sblockneeded = !SOCKBUF_OWNED(sb); + writeable = 0; + SOCKBUF_LOCK_COND(sb, sblockneeded); + sb->sb_flags &= ~SB_SENDING; + if (sb->sb_state & SBS_CANTSENDMORE) { + SOCKBUF_UNLOCK_COND(sb, sblockneeded); + goto next; + } else { + writeable = sowriteable(so); + sb->sb_flags |= SB_SENDING; + SOCKBUF_UNLOCK_COND(sb, sblockneeded); + } + + if (writeable) { + CTR2(KTR_SPARE2, "enqueue socket to task %p sr %p", so, sr); + TAILQ_REMOVE(&srh_tmp, sr, entry); + TAILQ_INSERT_HEAD(srh_local, sr, entry); + } + if (sr->sr_magic != 0xCAFEBABE) + printf("bad magic! 0x%x in %s\n", + sr->sr_magic, __FUNCTION__); + + continue; + next: + CTR1(KTR_SPARE2, "freeing expired socket %p", so); + TAILQ_REMOVE(&srh_tmp, sr, entry); + socketref_free(sr); + } + td->td_proc = p; + + if (!TAILQ_EMPTY(&srh_tmp)) { + mtx_lock(&sendfile_bg_lock); + TAILQ_CONCAT(srh_global, &srh_tmp, entry); + mtx_unlock(&sendfile_bg_lock); + } + + if (!TAILQ_EMPTY(srh_local)) { + taskqueue_enqueue(sendfile_tq, srh_task); + } else { + free(sro, M_DEVBUF); + } +done: + if (!callout_pending(sendfile_callout)) + callout_reset(sendfile_callout, MAX(hz/10, 1), + sosendingwakeup, NULL); +} + +static void +init_bgsend(void *unused __unused) +{ + struct srq *srh; + + sendfile_tq = taskqueue_create("sendfile background taskq", M_NOWAIT, + taskqueue_thread_enqueue, &sendfile_tq); + taskqueue_start_threads(&sendfile_tq, 1, PI_NET, + "sendfile background taskq"); + + printf("init_bgsend mp_maxid: %d all_cpus 0x%x\n", + mp_maxid, all_cpus); + + mtx_init(&sendfile_bg_lock, "sendfile bg", NULL, MTX_DEF); + sendfile_callout = malloc(sizeof(struct callout), + M_DEVBUF, M_NOWAIT); + srh = sendfile_bg_queue = malloc(sizeof(struct srq), + M_DEVBUF, M_NOWAIT); + TAILQ_INIT(srh); + + callout_init(sendfile_callout, TRUE); + callout_reset(sendfile_callout, MAX(hz/10, 1), + sosendingwakeup, NULL); + + printf("init_bgsend done\n"); +} + +SYSINIT(init_bgsend, SI_SUB_SMP, SI_ORDER_ANY, init_bgsend, NULL); + /* * Make a copy of a sockaddr in a malloced buffer of type M_SONAME. */ Modified: user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_syscalls.c ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_syscalls.c Wed Sep 2 02:12:07 2009 (r196746) +++ user/kmacy/releng_7_2_fcs_1/sys/kern/uipc_syscalls.c Wed Sep 2 02:40:48 2009 (r196747) @@ -114,7 +114,7 @@ SYSCTL_INT(_kern_ipc, OID_AUTO, nsfbufsu * associated with the additional reference count. If requested, return the * open file flags. */ -static int +int getsock(struct filedesc *fdp, int fd, struct file **fpp, u_int *fflagp) { struct file *fp; @@ -1778,7 +1778,7 @@ int kern_sendfile(struct thread *td, struct sendfile_args *uap, struct uio *hdr_uio, struct uio *trl_uio, int compat) { - struct file *sock_fp; + struct file *sock_fp, *fp = NULL; struct vnode *vp; struct vm_object *obj = NULL; struct socket *so = NULL; @@ -1795,10 +1795,22 @@ kern_sendfile(struct thread *td, struct * File offset must be positive. If it goes beyond EOF * we send only the header/trailer and no payload data. */ - if ((error = fgetvp_read(td, uap->fd, &vp)) != 0) + if ((error = fget_read(td, uap->fd, &fp)) != 0) goto out; + else { + if (fp->f_vnode == NULL) { + fdrop(fp, td); + error = EINVAL; + goto out; + } else { + vp = fp->f_vnode; + vref(vp); + } + } + + vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vn_lock(vp, LK_SHARED | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, curthread); if (vp->v_type == VREG) { obj = vp->v_object; if (obj != NULL) { @@ -1818,7 +1830,7 @@ kern_sendfile(struct thread *td, struct } } } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0, curthread); VFS_UNLOCK_GIANT(vfslocked); if (obj == NULL) { error = EINVAL; @@ -1834,7 +1846,7 @@ kern_sendfile(struct thread *td, struct * Remember if it a blocking or non-blocking socket. */ if ((error = getsock(td->td_proc->p_fd, uap->s, &sock_fp, - NULL)) != 0) + NULL)) != 0) goto out; so = sock_fp->f_data; if (so->so_type != SOCK_STREAM) { @@ -1845,6 +1857,19 @@ kern_sendfile(struct thread *td, struct error = ENOTCONN; goto out; } + + SOCKBUF_LOCK(&so->so_snd); + if (((so->so_snd.sb_flags & SB_SENDING) == 0) && fp->f_sfbytes != 0) { + SOCKBUF_UNLOCK(&so->so_snd); + if (uap->sbytes != NULL) { + copyout(&sbytes, uap->sbytes, sizeof(off_t)); + } + fp->f_sfbytes = 0; + error = 0; + goto out; + } + SOCKBUF_UNLOCK(&so->so_snd); + /* * Do not wait on memory allocations but return ENOMEM for * caller to retry later. @@ -1946,6 +1971,7 @@ retry_space: (space <= 0 || space < so->so_snd.sb_lowat)) { if (so->so_state & SS_NBIO) { + soissending(so, td, uap, hdr_uio, trl_uio, compat); SOCKBUF_UNLOCK(&so->so_snd); error = EAGAIN; goto done; @@ -2053,7 +2079,7 @@ retry_space: */ bsize = vp->v_mount->mnt_stat.f_iosize; vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vn_lock(vp, LK_SHARED | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, curthread); /* * XXXMAC: Because we don't have fp->f_cred @@ -2065,7 +2091,7 @@ retry_space: trunc_page(off), UIO_NOCOPY, IO_NODELOCKED | IO_VMIO | ((MAXBSIZE / bsize) << IO_SEQSHIFT), td->td_ucred, NOCRED, &resid, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0, curthread); VFS_UNLOCK_GIANT(vfslocked); VM_OBJECT_LOCK(obj); vm_page_io_finish(pg); @@ -2214,6 +2240,8 @@ out: } if (so) fdrop(sock_fp, td); + if (fp) + fdrop(fp, td); if (m) m_freem(m); Modified: user/kmacy/releng_7_2_fcs_1/sys/sys/file.h ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/sys/file.h Wed Sep 2 02:12:07 2009 (r196746) +++ user/kmacy/releng_7_2_fcs_1/sys/sys/file.h Wed Sep 2 02:40:48 2009 (r196747) @@ -125,6 +125,7 @@ struct file { * DFLAG_SEEKABLE specific fields */ off_t f_offset; + off_t f_sfbytes; /* * Mandatory Access control information. */ Modified: user/kmacy/releng_7_2_fcs_1/sys/sys/sockbuf.h ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/sys/sockbuf.h Wed Sep 2 02:12:07 2009 (r196746) +++ user/kmacy/releng_7_2_fcs_1/sys/sys/sockbuf.h Wed Sep 2 02:40:48 2009 (r196747) @@ -52,6 +52,7 @@ #define SB_NOCOALESCE 0x200 /* don't coalesce new data into existing mbufs */ #define SB_IN_TOE 0x400 /* socket buffer is in the middle of an operation */ #define SB_AUTOSIZE 0x800 /* automatically size socket buffer */ +#define SB_SENDING 0x1000 /* socket is owned by sendfile thread */ #define SBS_CANTSENDMORE 0x0010 /* can't send more data to peer */ #define SBS_CANTRCVMORE 0x0020 /* can't receive more data from peer */ Modified: user/kmacy/releng_7_2_fcs_1/sys/sys/socketvar.h ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/sys/socketvar.h Wed Sep 2 02:12:07 2009 (r196746) +++ user/kmacy/releng_7_2_fcs_1/sys/sys/socketvar.h Wed Sep 2 02:40:48 2009 (r196747) @@ -201,7 +201,8 @@ struct xsocket { /* can we write something to so? */ #define sowriteable(so) \ ((sbspace(&(so)->so_snd) >= (so)->so_snd.sb_lowat && \ - (((so)->so_state&SS_ISCONNECTED) || \ + !((so)->so_snd.sb_flags & SB_SENDING) && \ + (((so)->so_state&SS_ISCONNECTED) || \ ((so)->so_proto->pr_flags&PR_CONNREQUIRED)==0)) || \ ((so)->so_snd.sb_state & SBS_CANTSENDMORE) || \ (so)->so_error) Modified: user/kmacy/releng_7_2_fcs_1/sys/sys/sockstate.h ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/sys/sockstate.h Wed Sep 2 02:12:07 2009 (r196746) +++ user/kmacy/releng_7_2_fcs_1/sys/sys/sockstate.h Wed Sep 2 02:40:48 2009 (r196747) @@ -71,11 +71,16 @@ #define SBS_RCVATMARK 0x0040 /* at mark on input */ struct socket; +struct sendfile_args; +struct uio; void soisconnected(struct socket *so); void soisconnecting(struct socket *so); void soisdisconnected(struct socket *so); void soisdisconnecting(struct socket *so); +void soissending(struct socket *so, + struct thread *td, struct sendfile_args *uap, + struct uio *hdr_uio, struct uio *trl_uio, int compat); void socantrcvmore(struct socket *so); void socantrcvmore_locked(struct socket *so); void socantsendmore(struct socket *so); From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 03:03:35 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 86B68106566B; Wed, 2 Sep 2009 03:03:35 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 753468FC15; Wed, 2 Sep 2009 03:03:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8233Ze9079603; Wed, 2 Sep 2009 03:03:35 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8233Z5s079601; Wed, 2 Sep 2009 03:03:35 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909020303.n8233Z5s079601@svn.freebsd.org> From: Kip Macy Date: Wed, 2 Sep 2009 03:03:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196748 - user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 03:03:35 -0000 Author: kmacy Date: Wed Sep 2 03:03:35 2009 New Revision: 196748 URL: http://svn.freebsd.org/changeset/base/196748 Log: cleanup old integration mistakes Deleted: user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid2.c Modified: user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Modified: user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Wed Sep 2 02:40:48 2009 (r196747) +++ user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Wed Sep 2 03:03:35 2009 (r196748) @@ -1971,10 +1971,6 @@ dbuf_sync_leaf(dbuf_dirty_record_t *dr, list_destroy(&dr->dt.di.dr_children); mutex_destroy(&dr->dt.di.dr_mtx); } - if (dr->dr_dbuf->db_level != 0) { - list_destroy(&dr->dt.di.dr_children); - mutex_destroy(&dr->dt.di.dr_mtx); - } kmem_free(dr, sizeof (dbuf_dirty_record_t)); ASSERT(db->db_dirtycnt > 0); db->db_dirtycnt -= 1; From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 03:03:54 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E4E8106568D; Wed, 2 Sep 2009 03:03:54 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3DC188FC15; Wed, 2 Sep 2009 03:03:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8233sAE079643; Wed, 2 Sep 2009 03:03:54 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8233s1R079641; Wed, 2 Sep 2009 03:03:54 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909020303.n8233s1R079641@svn.freebsd.org> From: Kip Macy Date: Wed, 2 Sep 2009 03:03:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196749 - user/kmacy/releng_7_2_fcs_1/sys/netinet X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 03:03:54 -0000 Author: kmacy Date: Wed Sep 2 03:03:53 2009 New Revision: 196749 URL: http://svn.freebsd.org/changeset/base/196749 Log: don't delay acks on localhost Modified: user/kmacy/releng_7_2_fcs_1/sys/netinet/tcp_input.c Modified: user/kmacy/releng_7_2_fcs_1/sys/netinet/tcp_input.c ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/netinet/tcp_input.c Wed Sep 2 03:03:35 2009 (r196748) +++ user/kmacy/releng_7_2_fcs_1/sys/netinet/tcp_input.c Wed Sep 2 03:03:53 2009 (r196749) @@ -257,6 +257,8 @@ do { \ */ #define DELAY_ACK(tp) \ ((!tcp_timer_active(tp, TT_DELACK) && \ + !((tp->t_inpcb->inp_flags2 & INP_RT_VALID) && \ + (tp->t_inpcb->inp_rt->rt_ifp->if_flags & IFF_LOOPBACK)) && \ (tp->t_flags & TF_RXWIN0SENT) == 0) && \ (V_tcp_delack_enabled || (tp->t_flags & TF_NEEDSYN))) From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 09:51:34 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CEB8810656A8; Wed, 2 Sep 2009 09:51:34 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 67D038FC16; Wed, 2 Sep 2009 09:51:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n829pYpq088105; Wed, 2 Sep 2009 09:51:34 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n829pYTN088103; Wed, 2 Sep 2009 09:51:34 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909020951.n829pYTN088103@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 09:51:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196755 - user/edwin/locale/cldr/tools X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 09:51:35 -0000 Author: edwin Date: Wed Sep 2 09:51:34 2009 New Revision: 196755 URL: http://svn.freebsd.org/changeset/base/196755 Log: Tool to conver the Unicode syntax into UTF-8 Added: user/edwin/locale/cldr/tools/unicode2src.pl (contents, props changed) Added: user/edwin/locale/cldr/tools/unicode2src.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/cldr/tools/unicode2src.pl Wed Sep 2 09:51:34 2009 (r196755) @@ -0,0 +1,144 @@ +#!/usr/bin/perl -wC + +# +# $FreeBSD$ +# + +use strict; +use XML::Parser; +use Tie::IxHash; +use Data::Dumper; +use Getopt::Long; +use Digest::SHA qw(sha1_hex); + + +if ($#ARGV < 2) { + print "Usage: $0 --cldr= --unidata= --etc= --input= --output=\n"; + exit(1); +} + +my @filter = (); + +my $CLDRDIR = undef; +my $UNIDATADIR = undef; +my $ETCDIR = undef; +my $TYPE = undef; +my $INPUT = undef; +my $OUTPUT = undef; + +my $result = GetOptions ( + "cldr=s" => \$CLDRDIR, + "unidata=s" => \$UNIDATADIR, + "etc=s" => \$ETCDIR, + "type=s" => \$TYPE, + "input=s" => \$INPUT, + "output=s" => \$OUTPUT, + ); + +my %ucd = (); +my %utf8map = (); +my %utf8aliases = (); +get_unidata($UNIDATADIR); +get_utf8map("$CLDRDIR/posix/UTF-8.cm"); +convert($INPUT, $OUTPUT); + +############################ + +sub get_unidata { + my $directory = shift; + + open(FIN, "$directory/UnicodeData.txt") + or die("Cannot open $directory/UnicodeData.txt");; + my @lines = ; + chomp(@lines); + close(FIN); + + foreach my $l (@lines) { + my @a = split(/;/, $l); + + $ucd{code2name}{"$a[0]"} = $a[1]; # Unicode name + $ucd{name2code}{"$a[1]"} = $a[0]; # Unicode code + } +} + +sub get_utf8map { + my $file = shift; + + open(FIN, $file); + my @lines = ; + close(FIN); + chomp(@lines); + + my $prev_k = undef; + my $prev_v = ""; + my $incharmap = 0; + foreach my $l (@lines) { + $l =~ s/\r//; + next if ($l =~ /^\#/); + next if ($l eq ""); + + if ($l eq "CHARMAP") { + $incharmap = 1; + next; + } + + next if (!$incharmap); + last if ($l eq "END CHARMAP"); + + $l =~ /^<([^\s]+)>\s+(.*)/; + my $k = $1; + my $v = $2; + $k =~ s/_/ /g; # unicode char string + $v =~ s/\\x//g; # UTF-8 char code + $utf8map{$k} = $v; + + $utf8aliases{$k} = $prev_k if ($prev_v eq $v); + + $prev_v = $v; + $prev_k = $k; + } +} + +sub decode_cldr { + my $s = shift; + + my $v = $utf8map{$s}; + $v = $utf8aliases{$s} if (!defined $v); + die "Cannot convert $s" if (!defined $v); + + return pack("C", hex($v)) if (length($v) == 2); + return pack("CC", hex(substr($v, 0, 2)), hex(substr($v, 2, 2))) + if (length($v) == 4); + return pack("CCC", hex(substr($v, 0, 2)), hex(substr($v, 2, 2)), + hex(substr($v, 4, 2))) if (length($v) == 6); + print STDERR "Cannot convert $s\n"; + return "length = " . length($v); +} + +sub convert { + my $IN = shift; + my $OUT = shift; + + open(FIN, "$IN"); + open(FOUT, ">$OUT"); + +# print Dumper(%utf8map); + + my $l; + while (defined ($l = )) { + chomp($l); + + if ($l =~ /^#/) { + print FOUT $l, "\n"; + next; + } + + while ($l =~ /^(.*?)<(.*?)>(.*)$/) { + $l = $1 . decode_cldr($2) . $3; + } + print FOUT $l, "\n"; + } + + close(FOUT); + close(FIN); +} From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 09:52:26 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F14D106566C; Wed, 2 Sep 2009 09:52:26 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4F1F98FC08; Wed, 2 Sep 2009 09:52:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n829qQ6r088214; Wed, 2 Sep 2009 09:52:26 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n829qQ4D088212; Wed, 2 Sep 2009 09:52:26 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909020952.n829qQ4D088212@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 09:52:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196756 - user/edwin/locale/share/msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 09:52:26 -0000 Author: edwin Date: Wed Sep 2 09:52:26 2009 New Revision: 196756 URL: http://svn.freebsd.org/changeset/base/196756 Log: Fix syntax: Remove _, remove linefeeds Modified: user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode Modified: user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode ============================================================================== --- user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode Wed Sep 2 09:51:34 2009 (r196755) +++ user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode Wed Sep 2 09:52:26 2009 (r196756) @@ -8,11 +8,7 @@ # noexpr ^[].* # yesstr -::: +::: # nostr -::: +::: # EOF From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 09:53:32 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4199106568B; Wed, 2 Sep 2009 09:53:32 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C44FF8FC08; Wed, 2 Sep 2009 09:53:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n829rWp5088299; Wed, 2 Sep 2009 09:53:32 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n829rWBb088297; Wed, 2 Sep 2009 09:53:32 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909020953.n829rWBb088297@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 09:53:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196757 - user/edwin/locale/cldr/tools X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 09:53:32 -0000 Author: edwin Date: Wed Sep 2 09:53:32 2009 New Revision: 196757 URL: http://svn.freebsd.org/changeset/base/196757 Log: Make sure only highascii and A-Za-z0-9 gets translated. Modified: user/edwin/locale/cldr/tools/UTF82encoding.pl Modified: user/edwin/locale/cldr/tools/UTF82encoding.pl ============================================================================== --- user/edwin/locale/cldr/tools/UTF82encoding.pl Wed Sep 2 09:52:26 2009 (r196756) +++ user/edwin/locale/cldr/tools/UTF82encoding.pl Wed Sep 2 09:53:32 2009 (r196757) @@ -3,6 +3,11 @@ use strict; use Data::Dumper; +if ($#ARGV != 1) { + print "Usage: $0 \n"; + exit; +} + open(FIN, "$ARGV[0]/posix/UTF-8.cm"); my @lines = ; chomp(@lines); @@ -18,11 +23,10 @@ foreach my $line (@lines) { next if ($#a != 1); $a[1] =~ s/\\x//g; - $cm{$a[1]} = $a[0]; + $a[0] =~ s/_/ /g; + $cm{$a[1]} = $a[0] if (!defined $cm{$a[1]}); } -print Dumper($cm{"4D"}), "\n"; - open(FIN, $ARGV[1]); @lines = ; chomp(@lines); @@ -37,6 +41,16 @@ foreach my $line (@lines) { my @l = split(//, $line); for (my $i = 0; $i <= $#l; $i++) { my $hex = sprintf("%X", ord($l[$i])); + + if (( $l[$i] gt "\x20") + && ($l[$i] lt "a" || $l[$i] gt "z") + && ($l[$i] lt "A" || $l[$i] gt "Z") + && ($l[$i] lt "0" || $l[$i] gt "9") + && ($l[$i] lt "\x80")) { + print $l[$i]; + next; + } + if (defined $cm{$hex}) { print $cm{$hex}; next; From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 09:54:43 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63BCC1065672; Wed, 2 Sep 2009 09:54:43 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 540118FC08; Wed, 2 Sep 2009 09:54:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n829shD4088358; Wed, 2 Sep 2009 09:54:43 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n829shNo088356; Wed, 2 Sep 2009 09:54:43 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909020954.n829shNo088356@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 09:54:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196758 - user/edwin/locale/share/msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 09:54:43 -0000 Author: edwin Date: Wed Sep 2 09:54:43 2009 New Revision: 196758 URL: http://svn.freebsd.org/changeset/base/196758 Log: Use unicode2src and iconv to convert the raw data into usable data Modified: user/edwin/locale/share/msgdef/Makefile Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Wed Sep 2 09:53:32 2009 (r196757) +++ user/edwin/locale/share/msgdef/Makefile Wed Sep 2 09:54:43 2009 (r196758) @@ -222,7 +222,12 @@ SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${ # Normal makes don't need to convert from .unicode to .src . if defined(FULL) ${ccln}.src: ${ccln}.unicode - echo ${.ALLSRC} > ${.TARGET} + ../../cldr/tools/unicode2src.pl \ + --cldr=/home/edwin/unicode/cldr/1.7.1 \ + --unidata=/home/edwin/unicode/UNIDATA/5.1.0/ \ + --input=${.ALLSRC} \ + --output=${.TARGET} + . endif ${ccln}.UTF-8.out: ${ccln}.src @@ -231,7 +236,11 @@ ${ccln}.UTF-8.out: ${ccln}.src .if defined(CMS_${ccln}) .for cms in ${CMS_${ccln}} ${ccln}.${cms}.out: ${ccln}.src - grep -v '^#' < ${.ALLSRC} > ${.TARGET} + iconv \ + -f UTF-8 \ + -t ${.TARGET:S/${.ALLSRC:S/.src//}.//:S/.out//} \ + ${.ALLSRC} > ${.TARGET} \ + || rm ${.TARGET} && exit 0 .endfor .endif .endfor From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 10:10:14 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 331B710656E7; Wed, 2 Sep 2009 10:10:14 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2302D8FC21; Wed, 2 Sep 2009 10:10:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n82AAEjD088722; Wed, 2 Sep 2009 10:10:14 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n82AAEWn088720; Wed, 2 Sep 2009 10:10:14 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909021010.n82AAEWn088720@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 10:10:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196759 - user/edwin/locale/share/msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 10:10:14 -0000 Author: edwin Date: Wed Sep 2 10:10:13 2009 New Revision: 196759 URL: http://svn.freebsd.org/changeset/base/196759 Log: Instead of Armenian characters, use Cyrillic. Modified: user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode Modified: user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode ============================================================================== --- user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode Wed Sep 2 09:54:43 2009 (r196758) +++ user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode Wed Sep 2 10:10:13 2009 (r196759) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # yesexpr -^[].* +^[].* # noexpr -^[].* +^[].* # yesstr ::: # nostr From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 10:12:14 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4642F106566B; Wed, 2 Sep 2009 10:12:14 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 366A18FC0A; Wed, 2 Sep 2009 10:12:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n82ACEUU088815; Wed, 2 Sep 2009 10:12:14 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n82ACEHR088813; Wed, 2 Sep 2009 10:12:14 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909021012.n82ACEHR088813@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 10:12:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196760 - user/edwin/locale/share/msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 10:12:14 -0000 Author: edwin Date: Wed Sep 2 10:12:13 2009 New Revision: 196760 URL: http://svn.freebsd.org/changeset/base/196760 Log: Temporary use libiconv instead of bsdiconv Modified: user/edwin/locale/share/msgdef/Makefile Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Wed Sep 2 10:10:13 2009 (r196759) +++ user/edwin/locale/share/msgdef/Makefile Wed Sep 2 10:12:13 2009 (r196760) @@ -236,7 +236,7 @@ ${ccln}.UTF-8.out: ${ccln}.src .if defined(CMS_${ccln}) .for cms in ${CMS_${ccln}} ${ccln}.${cms}.out: ${ccln}.src - iconv \ + /home/edwin/libiconv/bin/iconv \ -f UTF-8 \ -t ${.TARGET:S/${.ALLSRC:S/.src//}.//:S/.out//} \ ${.ALLSRC} > ${.TARGET} \ From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 11:42:21 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 729061065676; Wed, 2 Sep 2009 11:42:21 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 610EA8FC38; Wed, 2 Sep 2009 11:42:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n82BgL6b094900; Wed, 2 Sep 2009 11:42:21 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n82BgL8Q094899; Wed, 2 Sep 2009 11:42:21 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909021142.n82BgL8Q094899@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 11:42:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196763 - user/edwin/locale/share/msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 11:42:21 -0000 Author: edwin Date: Wed Sep 2 11:42:20 2009 New Revision: 196763 URL: http://svn.freebsd.org/changeset/base/196763 Log: welcome hi_IN Added: user/edwin/locale/share/msgdef/hi_IN.unicode - copied, changed from r196759, user/edwin/locale/share/msgdef/hi_IN.ISCII-DEV.src Deleted: user/edwin/locale/share/msgdef/hi_IN.ISCII-DEV.src Copied and modified: user/edwin/locale/share/msgdef/hi_IN.unicode (from r196759, user/edwin/locale/share/msgdef/hi_IN.ISCII-DEV.src) ============================================================================== --- user/edwin/locale/share/msgdef/hi_IN.ISCII-DEV.src Wed Sep 2 10:10:13 2009 (r196759, copy source) +++ user/edwin/locale/share/msgdef/hi_IN.unicode Wed Sep 2 11:42:20 2009 (r196763) @@ -4,7 +4,7 @@ # WARNING: empty lines are essential too # # yesexpr -^[yY].* +^[].* # noexpr -^[nN].* +^[].* # EOF From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 12:50:33 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA096106568B; Wed, 2 Sep 2009 12:50:33 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A83488FC0C; Wed, 2 Sep 2009 12:50:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n82CoXtb096302; Wed, 2 Sep 2009 12:50:33 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n82CoXkw096301; Wed, 2 Sep 2009 12:50:33 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909021250.n82CoXkw096301@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 12:50:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196764 - in user/edwin/locale/share: . msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 12:50:33 -0000 Author: edwin Date: Wed Sep 2 12:50:32 2009 New Revision: 196764 URL: http://svn.freebsd.org/changeset/base/196764 Log: Split the definitions and the code, to make it available for the other *def directories. Added: user/edwin/locale/share/Makefile.def.in Modified: user/edwin/locale/share/msgdef/Makefile Added: user/edwin/locale/share/Makefile.def.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/Makefile.def.in Wed Sep 2 12:50:32 2009 (r196764) @@ -0,0 +1,179 @@ +# $FreeBSD: user/edwin/locale/share/msgdef/Makefile 196760 2009-09-02 10:12:13Z edwin $ + +# +# All variables +# + +# All charactermaps +CMS=UTF-8 +.for ccln in ${CCLN} +. if defined(CMS_${ccln}) +. for cm in ${CMS_${ccln}} +. if ${CMS:M${cm}} == "" +CMS+= ${cm} +. endif +. endfor +. endif +.endfor + +# All files generated and their locations +ALLFILES= ${CCLN:S/$/.UTF-8/} +.for ccln in ${CCLN} +FILESDIR_${ccln}.UTF-8.out= ${LOCALEDIR}/${ccln}.UTF-8 +. if defined(CMS_${ccln}) +. for cm in ${CMS_${ccln}} +ALLFILES+= ${ccln}.${cm} +FILESDIR_${ccln}.${cm}.out= ${LOCALEDIR}/${ccln}.${cm} +. endfor +. endif +.endfor + +FILES= ${ALLFILES:S/$/.out/} +CLEANFILES= ${ALLFILES:S/$/.out/} +.if defined(FULL) +CLEANFILES+= ${CCLN:S/$/.src/} +.endif +FILESNAME= ${LCTYPE} + +# All links +SYMLINKS= +.for ccln in ${CCLN} +. if defined(CMSLINK_${ccln}) +. for cm in ${CMSLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${ccln}.${cm} +. endfor +. endif +. for cm in ${CMS} +. if defined(CMSLINK_${ccln}.${cm}) +. for cclncm in ${CMSLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor +.endfor + +.for ccln in ${CCLN} + +. if defined(LEGLINK_${ccln}) +. for _ccln in ${LEGLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.UTF-8 +. if defined(CMS_${ccln}) +. for cm in ${CMS_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +. endfor +. endif + +. if defined(CMSLINK_${ccln}) +. for cm in ${CMSLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +. endfor +. endif + +. for cm in ${CMS} +. if defined(CMSLINK_${ccln}.${cm}) +. for cclncm in ${CMSLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor +. endfor +. endif + +. for cm in ${CMS} +. if defined(LEGLINK_${ccln}.${cm}) +. for cclncm in ${LEGLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor + +. if defined(CCLNLINK_${ccln}) +. for _ccln in ${CCLNLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.UTF-8 +. if defined(CMS_${ccln}) +. for cm in ${CMS_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +. endfor +. endif + +. if defined(CMSLINK_${ccln}) +. for cm in ${CMSLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +. endfor +. endif + +. for cm in ${CMS} +. if defined(CMSLINK_${ccln}.${cm}) +. for cclncm in ${CMSLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor +. endfor +. endif + +. for cm in ${CMS} +. if defined(CCLNLINK_${ccln}.${cm}) +. for cclncm in ${CCLNLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor + +.endfor + +ICONV= /home/edwin/libiconv/bin/iconv +ICONV_hi_IN.macdevanaga= /usr/bin/iconv + +# +# All targets +# + +.for ccln in ${CCLN} + +# Normal makes don't need to convert from .unicode to .src +. if defined(FULL) +${ccln}.src: ${ccln}.unicode + ../../cldr/tools/unicode2src.pl \ + --cldr=/home/edwin/unicode/cldr/1.7.1 \ + --unidata=/home/edwin/unicode/UNIDATA/5.1.0/ \ + --input=${.ALLSRC} \ + --output=${.TARGET} + +. endif + +${ccln}.UTF-8.out: ${ccln}.src + grep -v '^#' < ${.ALLSRC} > ${.TARGET} + +. if defined(CMS_${ccln}) +. for cms in ${CMS_${ccln}} +${ccln}.${cms}.out: ${ccln}.src +. if defined(ICONV_${ccln}.${cms}) + ${ICONV_${ccln}.${cms}} \ + -f UTF-8 \ + -t ${cms} \ + ${.ALLSRC} > ${.TARGET} \ + || rm ${.TARGET} && exit 0 +. else + ${ICONV} \ + -f UTF-8 \ + -t ${cms} \ + ${.ALLSRC} > ${.TARGET} \ + || rm ${.TARGET} && exit 0 +. endif +. endfor +. endif +.endfor + +beforeinstall: +.for f in ${FILES:S/.out//} + rm -f ${DESTDIR}/${LOCALEDIR}/${f}/${FILESNAME} +.endfor + set ${SYMLINKS}; \ + while [ ! -z "$1" ]; do \ + shift; \ + rm -f ${DESTDIR}/$$1/${FILESNAME}; \ + shift; \ + done + +.include Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Wed Sep 2 11:42:20 2009 (r196763) +++ user/edwin/locale/share/msgdef/Makefile Wed Sep 2 12:50:32 2009 (r196764) @@ -3,17 +3,17 @@ # All locales to be created. CCLN= af_ZA am_ET be_BY bg_BG ca_ES cs_CZ da_DK de_DE \ el_GR en_CA en_GB en_US es_ES et_EE eu_ES fi_FI \ - fr_BE fr_CH fr_FR he_IL hr_HR hu_HU hy_AM is_IS \ + fr_BE fr_CH fr_FR he_IL hi_IN hr_HR hu_HU hy_AM is_IS \ it_IT ja_JP kk_KZ ko_KR lt_LT mn_MN nl_NL no_NO \ pl_PL pt_PT ro_RO ru_RU sl_SI sr_Cyrl_RS sr_Latn_RS \ sv_SE tr_TR uk_UA zh_Hans_CN zh_Hant_TW -# hi_IN.ISCII-DEV.src # For these locales, beside creating the UTF-8 map also create these # charactermaps. CMS_be_BY= CP1131 CP1251 ISO8859-5 CMS_bg_BG= CP1251 CMS_el_GR= ISO8859-7 +CMS_hi_IN= macdevanaga CMS_hy_AM= ARMSCII-8 CMS_ja_JP= SJIS eucJP CMS_kk_KZ= PT154 @@ -79,6 +79,7 @@ LEGLINK_zh_Hant_TW= zh_TW zh_HK LEGLINK_sr_Cyrl_RS= sr_YU LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK +LEGLINK_hi_IN.macdevanaga= hi_IN.ISCII-DEV # # In theory there are no parts after here which should be touched when adding @@ -95,165 +96,5 @@ SHAREGRP= edwin # All variables # -# All charactermaps -CMS=UTF-8 -.for ccln in ${CCLN} -. if defined(CMS_${ccln}) -. for cm in ${CMS_${ccln}} -. if ${CMS:M${cm}} == "" -CMS+= ${cm} -. endif -. endfor -. endif -.endfor - -# All files generated and their locations -ALLFILES= ${CCLN:S/$/.UTF-8/} -.for ccln in ${CCLN} -FILESDIR_${ccln}.UTF-8.out= ${LOCALEDIR}/${ccln}.UTF-8 -. if defined(CMS_${ccln}) -. for cm in ${CMS_${ccln}} -ALLFILES+= ${ccln}.${cm} -FILESDIR_${ccln}.${cm}.out= ${LOCALEDIR}/${ccln}.${cm} -. endfor -. endif -.endfor - -FILES= ${ALLFILES:S/$/.out/} -CLEANFILES= ${ALLFILES:S/$/.out/} -.if defined(FULL) -CLEANFILES+= ${CCLN:S/$/.src/} -.endif -FILESNAME= ${LCTYPE} - -# All links -SYMLINKS= -.for ccln in ${CCLN} -. if defined(CMSLINK_${ccln}) -. for cm in ${CMSLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${ccln}.${cm} -. endfor -. endif -. for cm in ${CMS} -. if defined(CMSLINK_${ccln}.${cm}) -. for cclncm in ${CMSLINK_${ccln}.${cm}} -SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -. endfor -. endif -. endfor -.endfor - -.for ccln in ${CCLN} - -. if defined(LEGLINK_${ccln}) -. for _ccln in ${LEGLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.UTF-8 -. if defined(CMS_${ccln}) -. for cm in ${CMS_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} -. endfor -. endif - -. if defined(CMSLINK_${ccln}) -. for cm in ${CMSLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} -. endfor -. endif - -. for cm in ${CMS} -. if defined(CMSLINK_${ccln}.${cm}) -. for cclncm in ${CMSLINK_${ccln}.${cm}} -SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -. endfor -. endif -. endfor -. endfor -. endif - -. for cm in ${CMS} -. if defined(LEGLINK_${ccln}.${cm}) -. for cclncm in ${LEGLINK_${ccln}.${cm}} -SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -. endfor -. endif -. endfor - -. if defined(CCLNLINK_${ccln}) -. for _ccln in ${CCLNLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.UTF-8 -. if defined(CMS_${ccln}) -. for cm in ${CMS_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} -. endfor -. endif - -. if defined(CMSLINK_${ccln}) -. for cm in ${CMSLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} -. endfor -. endif - -. for cm in ${CMS} -. if defined(CMSLINK_${ccln}.${cm}) -. for cclncm in ${CMSLINK_${ccln}.${cm}} -SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -. endfor -. endif -. endfor -. endfor -. endif - -. for cm in ${CMS} -. if defined(CCLNLINK_${ccln}.${cm}) -. for cclncm in ${CCLNLINK_${ccln}.${cm}} -SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -. endfor -. endif -. endfor - -.endfor - -# -# All targets -# - -.for ccln in ${CCLN} - -# Normal makes don't need to convert from .unicode to .src -. if defined(FULL) -${ccln}.src: ${ccln}.unicode - ../../cldr/tools/unicode2src.pl \ - --cldr=/home/edwin/unicode/cldr/1.7.1 \ - --unidata=/home/edwin/unicode/UNIDATA/5.1.0/ \ - --input=${.ALLSRC} \ - --output=${.TARGET} - -. endif - -${ccln}.UTF-8.out: ${ccln}.src - grep -v '^#' < ${.ALLSRC} > ${.TARGET} - -.if defined(CMS_${ccln}) -.for cms in ${CMS_${ccln}} -${ccln}.${cms}.out: ${ccln}.src - /home/edwin/libiconv/bin/iconv \ - -f UTF-8 \ - -t ${.TARGET:S/${.ALLSRC:S/.src//}.//:S/.out//} \ - ${.ALLSRC} > ${.TARGET} \ - || rm ${.TARGET} && exit 0 -.endfor -.endif -.endfor - -beforeinstall: -.for f in ${FILES:S/.out//} - rm -f ${DESTDIR}/${LOCALEDIR}/${f}/${FILESNAME} -.endfor - set ${SYMLINKS}; \ - while [ ! -z "$1" ]; do \ - shift; \ - rm -f ${DESTDIR}/$$1/${FILESNAME}; \ - shift; \ - done - +.include "../Makefile.def.in" .include From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 12:51:57 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB513106566B; Wed, 2 Sep 2009 12:51:57 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AA7328FC20; Wed, 2 Sep 2009 12:51:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n82CpvHm096362; Wed, 2 Sep 2009 12:51:57 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n82Cpvcc096360; Wed, 2 Sep 2009 12:51:57 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909021251.n82Cpvcc096360@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 12:51:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196765 - user/edwin/locale/share X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 12:51:57 -0000 Author: edwin Date: Wed Sep 2 12:51:57 2009 New Revision: 196765 URL: http://svn.freebsd.org/changeset/base/196765 Log: Fix name Added: user/edwin/locale/share/Makefile.def.inc - copied unchanged from r196764, user/edwin/locale/share/Makefile.def.in Deleted: user/edwin/locale/share/Makefile.def.in Copied: user/edwin/locale/share/Makefile.def.inc (from r196764, user/edwin/locale/share/Makefile.def.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/Makefile.def.inc Wed Sep 2 12:51:57 2009 (r196765, copy of r196764, user/edwin/locale/share/Makefile.def.in) @@ -0,0 +1,179 @@ +# $FreeBSD: user/edwin/locale/share/msgdef/Makefile 196760 2009-09-02 10:12:13Z edwin $ + +# +# All variables +# + +# All charactermaps +CMS=UTF-8 +.for ccln in ${CCLN} +. if defined(CMS_${ccln}) +. for cm in ${CMS_${ccln}} +. if ${CMS:M${cm}} == "" +CMS+= ${cm} +. endif +. endfor +. endif +.endfor + +# All files generated and their locations +ALLFILES= ${CCLN:S/$/.UTF-8/} +.for ccln in ${CCLN} +FILESDIR_${ccln}.UTF-8.out= ${LOCALEDIR}/${ccln}.UTF-8 +. if defined(CMS_${ccln}) +. for cm in ${CMS_${ccln}} +ALLFILES+= ${ccln}.${cm} +FILESDIR_${ccln}.${cm}.out= ${LOCALEDIR}/${ccln}.${cm} +. endfor +. endif +.endfor + +FILES= ${ALLFILES:S/$/.out/} +CLEANFILES= ${ALLFILES:S/$/.out/} +.if defined(FULL) +CLEANFILES+= ${CCLN:S/$/.src/} +.endif +FILESNAME= ${LCTYPE} + +# All links +SYMLINKS= +.for ccln in ${CCLN} +. if defined(CMSLINK_${ccln}) +. for cm in ${CMSLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${ccln}.${cm} +. endfor +. endif +. for cm in ${CMS} +. if defined(CMSLINK_${ccln}.${cm}) +. for cclncm in ${CMSLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor +.endfor + +.for ccln in ${CCLN} + +. if defined(LEGLINK_${ccln}) +. for _ccln in ${LEGLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.UTF-8 +. if defined(CMS_${ccln}) +. for cm in ${CMS_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +. endfor +. endif + +. if defined(CMSLINK_${ccln}) +. for cm in ${CMSLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +. endfor +. endif + +. for cm in ${CMS} +. if defined(CMSLINK_${ccln}.${cm}) +. for cclncm in ${CMSLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor +. endfor +. endif + +. for cm in ${CMS} +. if defined(LEGLINK_${ccln}.${cm}) +. for cclncm in ${LEGLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor + +. if defined(CCLNLINK_${ccln}) +. for _ccln in ${CCLNLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.UTF-8 +. if defined(CMS_${ccln}) +. for cm in ${CMS_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +. endfor +. endif + +. if defined(CMSLINK_${ccln}) +. for cm in ${CMSLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +. endfor +. endif + +. for cm in ${CMS} +. if defined(CMSLINK_${ccln}.${cm}) +. for cclncm in ${CMSLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor +. endfor +. endif + +. for cm in ${CMS} +. if defined(CCLNLINK_${ccln}.${cm}) +. for cclncm in ${CCLNLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +. endfor +. endif +. endfor + +.endfor + +ICONV= /home/edwin/libiconv/bin/iconv +ICONV_hi_IN.macdevanaga= /usr/bin/iconv + +# +# All targets +# + +.for ccln in ${CCLN} + +# Normal makes don't need to convert from .unicode to .src +. if defined(FULL) +${ccln}.src: ${ccln}.unicode + ../../cldr/tools/unicode2src.pl \ + --cldr=/home/edwin/unicode/cldr/1.7.1 \ + --unidata=/home/edwin/unicode/UNIDATA/5.1.0/ \ + --input=${.ALLSRC} \ + --output=${.TARGET} + +. endif + +${ccln}.UTF-8.out: ${ccln}.src + grep -v '^#' < ${.ALLSRC} > ${.TARGET} + +. if defined(CMS_${ccln}) +. for cms in ${CMS_${ccln}} +${ccln}.${cms}.out: ${ccln}.src +. if defined(ICONV_${ccln}.${cms}) + ${ICONV_${ccln}.${cms}} \ + -f UTF-8 \ + -t ${cms} \ + ${.ALLSRC} > ${.TARGET} \ + || rm ${.TARGET} && exit 0 +. else + ${ICONV} \ + -f UTF-8 \ + -t ${cms} \ + ${.ALLSRC} > ${.TARGET} \ + || rm ${.TARGET} && exit 0 +. endif +. endfor +. endif +.endfor + +beforeinstall: +.for f in ${FILES:S/.out//} + rm -f ${DESTDIR}/${LOCALEDIR}/${f}/${FILESNAME} +.endfor + set ${SYMLINKS}; \ + while [ ! -z "$1" ]; do \ + shift; \ + rm -f ${DESTDIR}/$$1/${FILESNAME}; \ + shift; \ + done + +.include From owner-svn-src-user@FreeBSD.ORG Wed Sep 2 22:12:32 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE67C106568D; Wed, 2 Sep 2009 22:12:31 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE6878FC19; Wed, 2 Sep 2009 22:12:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n82MCVUW008363; Wed, 2 Sep 2009 22:12:31 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n82MCVLl008360; Wed, 2 Sep 2009 22:12:31 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909022212.n82MCVLl008360@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 2 Sep 2009 22:12:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196774 - in user/edwin/locale/share: . msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2009 22:12:32 -0000 Author: edwin Date: Wed Sep 2 22:12:31 2009 New Revision: 196774 URL: http://svn.freebsd.org/changeset/base/196774 Log: Be able to use libiconv/bsdiconv aliases which don't match the "original" FreeBSD charactermaps (for example, macdevanaga with ISCII-DEV) without having to keep the old names. Modified: user/edwin/locale/share/Makefile.def.inc user/edwin/locale/share/msgdef/Makefile Modified: user/edwin/locale/share/Makefile.def.inc ============================================================================== --- user/edwin/locale/share/Makefile.def.inc Wed Sep 2 20:50:39 2009 (r196773) +++ user/edwin/locale/share/Makefile.def.inc Wed Sep 2 22:12:31 2009 (r196774) @@ -1,7 +1,18 @@ # $FreeBSD: user/edwin/locale/share/msgdef/Makefile 196760 2009-09-02 10:12:13Z edwin $ # -# All variables +# Predefined variables - Not for "end-users" to look at. +# + +# aliases for charactermaps +CMALIAS_ISCII-DEV= macdevanaga + +# libiconv doesn't understand iscii-dev, bsdiconv does +ICONV= /home/edwin/libiconv/bin/iconv +ICONV_hi_IN.ISCII-DEV= /usr/bin/iconv + +# +# Calculated variables # # All charactermaps @@ -120,10 +131,24 @@ SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${ . endif . endfor +# +# Fill in the ICONV_ variables with the default values. +# +. if defined(CMS_${ccln}) +. for cms in ${CMS_${ccln}} +. if !defined(ICONV_${ccln}.${cms}) +ICONV_${ccln}.${cms}= ${ICONV} +. endif +. endfor +. endif + .endfor -ICONV= /home/edwin/libiconv/bin/iconv -ICONV_hi_IN.macdevanaga= /usr/bin/iconv +.for cm in ${CMS} +. if !defined(CMALIAS_${cm}) +CMALIAS_${cm}= ${cm} +. endif +.endfor # # All targets @@ -147,20 +172,14 @@ ${ccln}.UTF-8.out: ${ccln}.src . if defined(CMS_${ccln}) . for cms in ${CMS_${ccln}} + ${ccln}.${cms}.out: ${ccln}.src -. if defined(ICONV_${ccln}.${cms}) ${ICONV_${ccln}.${cms}} \ -f UTF-8 \ - -t ${cms} \ + -t ${CMALIAS_${cms}} \ ${.ALLSRC} > ${.TARGET} \ || rm ${.TARGET} && exit 0 -. else - ${ICONV} \ - -f UTF-8 \ - -t ${cms} \ - ${.ALLSRC} > ${.TARGET} \ - || rm ${.TARGET} && exit 0 -. endif + . endfor . endif .endfor Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Wed Sep 2 20:50:39 2009 (r196773) +++ user/edwin/locale/share/msgdef/Makefile Wed Sep 2 22:12:31 2009 (r196774) @@ -13,7 +13,7 @@ CCLN= af_ZA am_ET be_BY bg_BG CMS_be_BY= CP1131 CP1251 ISO8859-5 CMS_bg_BG= CP1251 CMS_el_GR= ISO8859-7 -CMS_hi_IN= macdevanaga +CMS_hi_IN= ISCII-DEV CMS_hy_AM= ARMSCII-8 CMS_ja_JP= SJIS eucJP CMS_kk_KZ= PT154 @@ -79,15 +79,17 @@ LEGLINK_zh_Hant_TW= zh_TW zh_HK LEGLINK_sr_Cyrl_RS= sr_YU LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK -LEGLINK_hi_IN.macdevanaga= hi_IN.ISCII-DEV # # In theory there are no parts after here which should be touched when adding # or removing locales and charactermaps. # -LOCALEDIR= /usr/share/locale +# Required variables LCTYPE= LC_MESSAGES +LOCALEDIR= /usr/share/locale + +# For testing only DESTDIR= /home/edwin/locale/new/ SHAREOWN= edwin SHAREGRP= edwin @@ -96,5 +98,5 @@ SHAREGRP= edwin # All variables # -.include "../Makefile.def.in" +.include "../Makefile.def.inc" .include From owner-svn-src-user@FreeBSD.ORG Thu Sep 3 12:41:01 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA3601065672; Thu, 3 Sep 2009 12:41:00 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D75318FC25; Thu, 3 Sep 2009 12:41:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n83Cf0qf032668; Thu, 3 Sep 2009 12:41:00 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n83Cf0aL032661; Thu, 3 Sep 2009 12:41:00 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909031241.n83Cf0aL032661@svn.freebsd.org> From: Edwin Groothuis Date: Thu, 3 Sep 2009 12:41:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196778 - user/edwin/locale/share/timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2009 12:41:01 -0000 Author: edwin Date: Thu Sep 3 12:41:00 2009 New Revision: 196778 URL: http://svn.freebsd.org/changeset/base/196778 Log: Convert all timedef files to unicode encoding. Added: user/edwin/locale/share/timedef/am_ET.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/am_ET.UTF-8.src user/edwin/locale/share/timedef/be_BY.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/be_BY.UTF-8.src user/edwin/locale/share/timedef/bg_BG.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/bg_BG.UTF-8.src user/edwin/locale/share/timedef/ca_ES.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/ca_ES.UTF-8.src user/edwin/locale/share/timedef/cs_CZ.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/cs_CZ.UTF-8.src user/edwin/locale/share/timedef/da_DK.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/da_DK.UTF-8.src user/edwin/locale/share/timedef/de_AT.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/de_AT.UTF-8.src user/edwin/locale/share/timedef/de_DE.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/de_DE.UTF-8.src user/edwin/locale/share/timedef/el_GR.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/el_GR.UTF-8.src user/edwin/locale/share/timedef/en_GB.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/en_GB.ISO8859-1.src user/edwin/locale/share/timedef/en_US.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/en_US.ISO8859-1.src user/edwin/locale/share/timedef/es_ES.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/es_ES.UTF-8.src user/edwin/locale/share/timedef/et_EE.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/et_EE.UTF-8.src user/edwin/locale/share/timedef/eu_ES.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/eu_ES.ISO8859-1.src user/edwin/locale/share/timedef/fi_FI.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/fi_FI.UTF-8.src user/edwin/locale/share/timedef/fr_FR.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/fr_FR.UTF-8.src user/edwin/locale/share/timedef/he_IL.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/he_IL.UTF-8.src user/edwin/locale/share/timedef/hr_HR.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/hr_HR.UTF-8.src user/edwin/locale/share/timedef/hu_HU.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/hu_HU.UTF-8.src user/edwin/locale/share/timedef/hy_AM.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/hy_AM.UTF-8.src user/edwin/locale/share/timedef/is_IS.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/is_IS.UTF-8.src user/edwin/locale/share/timedef/it_IT.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/it_IT.UTF-8.src user/edwin/locale/share/timedef/ja_JP.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/ja_JP.UTF-8.src user/edwin/locale/share/timedef/kk_KZ.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/kk_KZ.UTF-8.src user/edwin/locale/share/timedef/ko_KR.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/ko_KR.UTF-8.src user/edwin/locale/share/timedef/la_LN.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/la_LN.ISO8859-1.src user/edwin/locale/share/timedef/lt_LT.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/lt_LT.UTF-8.src user/edwin/locale/share/timedef/mn_MN.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/mn_MN.UTF-8.src user/edwin/locale/share/timedef/nb_NO.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/nb_NO.UTF-8.src user/edwin/locale/share/timedef/nl_NL.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/nl_NL.ISO8859-1.src user/edwin/locale/share/timedef/nn_NO.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/nn_NO.UTF-8.src user/edwin/locale/share/timedef/pl_PL.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/pl_PL.UTF-8.src user/edwin/locale/share/timedef/pt_BR.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/pt_BR.UTF-8.src user/edwin/locale/share/timedef/pt_PT.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/pt_PT.UTF-8.src user/edwin/locale/share/timedef/ro_RO.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/ro_RO.UTF-8.src user/edwin/locale/share/timedef/ru_RU.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/ru_RU.UTF-8.src user/edwin/locale/share/timedef/sk_SK.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/sk_SK.UTF-8.src user/edwin/locale/share/timedef/sl_SI.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/sl_SI.UTF-8.src user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/sr_YU.UTF-8.src user/edwin/locale/share/timedef/sr_Latn_YU.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/sr_YU.ISO8859-2.src user/edwin/locale/share/timedef/sv_SE.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/sv_SE.UTF-8.src user/edwin/locale/share/timedef/tr_TR.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/tr_TR.UTF-8.src user/edwin/locale/share/timedef/uk_UA.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/uk_UA.UTF-8.src user/edwin/locale/share/timedef/zh_Hans_CN.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/zh_CN.UTF-8.src user/edwin/locale/share/timedef/zh_Hant_TW.unicode - copied, changed from r196349, user/edwin/locale/share/timedef/zh_TW.UTF-8.src Deleted: user/edwin/locale/share/timedef/am_ET.UTF-8.src user/edwin/locale/share/timedef/be_BY.CP1131.src user/edwin/locale/share/timedef/be_BY.CP1251.src user/edwin/locale/share/timedef/be_BY.ISO8859-5.src user/edwin/locale/share/timedef/be_BY.UTF-8.src user/edwin/locale/share/timedef/bg_BG.CP1251.src user/edwin/locale/share/timedef/bg_BG.UTF-8.src user/edwin/locale/share/timedef/ca_ES.ISO8859-1.src user/edwin/locale/share/timedef/ca_ES.UTF-8.src user/edwin/locale/share/timedef/cs_CZ.ISO8859-2.src user/edwin/locale/share/timedef/cs_CZ.UTF-8.src user/edwin/locale/share/timedef/da_DK.ISO8859-1.src user/edwin/locale/share/timedef/da_DK.UTF-8.src user/edwin/locale/share/timedef/de_AT.ISO8859-1.src user/edwin/locale/share/timedef/de_AT.UTF-8.src user/edwin/locale/share/timedef/de_DE.ISO8859-1.src user/edwin/locale/share/timedef/de_DE.UTF-8.src user/edwin/locale/share/timedef/el_GR.ISO8859-7.src user/edwin/locale/share/timedef/el_GR.UTF-8.src user/edwin/locale/share/timedef/en_GB.ISO8859-1.src user/edwin/locale/share/timedef/en_US.ISO8859-1.src user/edwin/locale/share/timedef/es_ES.ISO8859-1.src user/edwin/locale/share/timedef/es_ES.UTF-8.src user/edwin/locale/share/timedef/et_EE.ISO8859-15.src user/edwin/locale/share/timedef/et_EE.UTF-8.src user/edwin/locale/share/timedef/eu_ES.ISO8859-1.src user/edwin/locale/share/timedef/fi_FI.ISO8859-1.src user/edwin/locale/share/timedef/fi_FI.UTF-8.src user/edwin/locale/share/timedef/fr_FR.ISO8859-1.src user/edwin/locale/share/timedef/fr_FR.UTF-8.src user/edwin/locale/share/timedef/he_IL.UTF-8.src user/edwin/locale/share/timedef/hr_HR.ISO8859-2.src user/edwin/locale/share/timedef/hr_HR.UTF-8.src user/edwin/locale/share/timedef/hu_HU.ISO8859-2.src user/edwin/locale/share/timedef/hu_HU.UTF-8.src user/edwin/locale/share/timedef/hy_AM.ARMSCII-8.src user/edwin/locale/share/timedef/hy_AM.UTF-8.src user/edwin/locale/share/timedef/is_IS.ISO8859-1.src user/edwin/locale/share/timedef/is_IS.UTF-8.src user/edwin/locale/share/timedef/it_IT.ISO8859-1.src user/edwin/locale/share/timedef/it_IT.UTF-8.src user/edwin/locale/share/timedef/ja_JP.SJIS.src user/edwin/locale/share/timedef/ja_JP.UTF-8.src user/edwin/locale/share/timedef/ja_JP.eucJP.src user/edwin/locale/share/timedef/kk_KZ.PT154.src user/edwin/locale/share/timedef/kk_KZ.UTF-8.src user/edwin/locale/share/timedef/ko_KR.UTF-8.src user/edwin/locale/share/timedef/ko_KR.eucKR.src user/edwin/locale/share/timedef/la_LN.ISO8859-1.src user/edwin/locale/share/timedef/lt_LT.ISO8859-13.src user/edwin/locale/share/timedef/lt_LT.ISO8859-4.src user/edwin/locale/share/timedef/lt_LT.UTF-8.src user/edwin/locale/share/timedef/mn_MN.UTF-8.src user/edwin/locale/share/timedef/nb_NO.ISO8859-1.src user/edwin/locale/share/timedef/nb_NO.UTF-8.src user/edwin/locale/share/timedef/nl_NL.ISO8859-1.src user/edwin/locale/share/timedef/nn_NO.ISO8859-1.src user/edwin/locale/share/timedef/nn_NO.UTF-8.src user/edwin/locale/share/timedef/pl_PL.ISO8859-2.src user/edwin/locale/share/timedef/pl_PL.UTF-8.src user/edwin/locale/share/timedef/pt_BR.ISO8859-1.src user/edwin/locale/share/timedef/pt_BR.UTF-8.src user/edwin/locale/share/timedef/pt_PT.ISO8859-1.src user/edwin/locale/share/timedef/pt_PT.UTF-8.src user/edwin/locale/share/timedef/ro_RO.ISO8859-2.src user/edwin/locale/share/timedef/ro_RO.UTF-8.src user/edwin/locale/share/timedef/ru_RU.CP1251.src user/edwin/locale/share/timedef/ru_RU.CP866.src user/edwin/locale/share/timedef/ru_RU.ISO8859-5.src user/edwin/locale/share/timedef/ru_RU.KOI8-R.src user/edwin/locale/share/timedef/ru_RU.UTF-8.src user/edwin/locale/share/timedef/sk_SK.ISO8859-2.src user/edwin/locale/share/timedef/sk_SK.UTF-8.src user/edwin/locale/share/timedef/sl_SI.ISO8859-2.src user/edwin/locale/share/timedef/sl_SI.UTF-8.src user/edwin/locale/share/timedef/sr_YU.ISO8859-2.src user/edwin/locale/share/timedef/sr_YU.ISO8859-5.src user/edwin/locale/share/timedef/sr_YU.UTF-8.src user/edwin/locale/share/timedef/sv_SE.ISO8859-1.src user/edwin/locale/share/timedef/sv_SE.UTF-8.src user/edwin/locale/share/timedef/tr_TR.ISO8859-9.src user/edwin/locale/share/timedef/tr_TR.UTF-8.src user/edwin/locale/share/timedef/uk_UA.CP1251.src user/edwin/locale/share/timedef/uk_UA.ISO8859-5.src user/edwin/locale/share/timedef/uk_UA.KOI8-U.src user/edwin/locale/share/timedef/uk_UA.UTF-8.src user/edwin/locale/share/timedef/zh_CN.GB18030.src user/edwin/locale/share/timedef/zh_CN.GB2312.src user/edwin/locale/share/timedef/zh_CN.UTF-8.src user/edwin/locale/share/timedef/zh_CN.eucCN.src user/edwin/locale/share/timedef/zh_TW.Big5.src user/edwin/locale/share/timedef/zh_TW.UTF-8.src Modified: user/edwin/locale/share/timedef/Makefile Modified: user/edwin/locale/share/timedef/Makefile ============================================================================== --- user/edwin/locale/share/timedef/Makefile Thu Sep 3 12:37:17 2009 (r196777) +++ user/edwin/locale/share/timedef/Makefile Thu Sep 3 12:41:00 2009 (r196778) @@ -1,154 +1,135 @@ # $FreeBSD$ -LOCALES= am_ET.UTF-8 \ - be_BY.CP1131 \ - be_BY.CP1251 \ - be_BY.ISO8859-5 \ - be_BY.UTF-8 \ - bg_BG.CP1251 \ - bg_BG.UTF-8 \ - ca_ES.ISO8859-1 \ - ca_ES.UTF-8 \ - cs_CZ.ISO8859-2 \ - cs_CZ.UTF-8 \ - da_DK.ISO8859-1 \ - da_DK.UTF-8 \ - de_AT.ISO8859-1 \ - de_AT.UTF-8 \ - de_DE.ISO8859-1 \ - de_DE.UTF-8 \ - el_GR.ISO8859-7 \ - el_GR.UTF-8 \ - en_GB.ISO8859-1 \ - en_US.ISO8859-1 \ - es_ES.ISO8859-1 \ - es_ES.UTF-8 \ - et_EE.ISO8859-15 \ - et_EE.UTF-8 \ - eu_ES.ISO8859-1 \ - fi_FI.ISO8859-1 \ - fi_FI.UTF-8 \ - fr_FR.ISO8859-1 \ - fr_FR.UTF-8 \ - he_IL.UTF-8 \ - hi_IN.ISCII-DEV \ - hr_HR.ISO8859-2 \ - hr_HR.UTF-8 \ - hu_HU.ISO8859-2 \ - hu_HU.UTF-8 \ - hy_AM.ARMSCII-8 \ - hy_AM.UTF-8 \ - is_IS.ISO8859-1 \ - is_IS.UTF-8 \ - ja_JP.eucJP \ - ja_JP.SJIS \ - ja_JP.UTF-8 \ - it_IT.ISO8859-1 \ - it_IT.UTF-8 \ - kk_KZ.PT154 \ - kk_KZ.UTF-8 \ - ko_KR.eucKR \ - ko_KR.UTF-8 \ - la_LN.ISO8859-1 \ - lt_LT.ISO8859-4 \ - lt_LT.ISO8859-13 \ - lt_LT.UTF-8 \ - mn_MN.UTF-8 \ - nb_NO.ISO8859-1 \ - nb_NO.UTF-8 \ - nl_NL.ISO8859-1 \ - nn_NO.ISO8859-1 \ - nn_NO.UTF-8 \ - pl_PL.ISO8859-2 \ - pl_PL.UTF-8 \ - pt_BR.ISO8859-1 \ - pt_BR.UTF-8 \ - pt_PT.ISO8859-1 \ - pt_PT.UTF-8 \ - ro_RO.ISO8859-2 \ - ro_RO.UTF-8 \ - ru_RU.CP1251 \ - ru_RU.CP866 \ - ru_RU.ISO8859-5 \ - ru_RU.KOI8-R \ - ru_RU.UTF-8 \ - sk_SK.ISO8859-2 \ - sk_SK.UTF-8 \ - sl_SI.ISO8859-2 \ - sl_SI.UTF-8 \ - sr_YU.ISO8859-2 \ - sr_YU.ISO8859-5 \ - sr_YU.UTF-8 \ - sv_SE.ISO8859-1 \ - sv_SE.UTF-8 \ - tr_TR.ISO8859-9 \ - tr_TR.UTF-8 \ - uk_UA.CP1251 \ - uk_UA.ISO8859-5 \ - uk_UA.KOI8-U \ - uk_UA.UTF-8 \ - zh_CN.eucCN \ - zh_CN.GB18030 \ - zh_CN.GB2312 \ - zh_CN.UTF-8 \ - zh_TW.Big5 \ - zh_TW.UTF-8 - -LOCALEDIR= /usr/share/locale - -.SUFFIXES: .src .out - -.src.out: - grep -v '^#' < ${.IMPSRC} > ${.TARGET} - -FILES= ${LOCALES:S/$/.out/} -FILESNAME= LC_TIME - -.for locale in ${LOCALES} -FILESDIR_${locale}.out= ${LOCALEDIR}/${locale} -.endfor - -CLEANFILES= ${FILES} - -ENCODINGS= Big5HKSCS CP949 eucKR GB2312 GBK \ - ISO8859-1 ISO8859-2 ISO8859-4 ISO8859-15 \ - US-ASCII UTF-8 - -CA_LINKS= ca_ES:ca_AD ca_ES:ca_FR ca_ES:ca_IT -DE_LINKS= de_DE:de_CH -FR_LINKS= fr_FR:fr_BE fr_FR:fr_CA fr_FR:fr_CH -IT_LINKS= it_IT:it_CH -NL_LINKS= nl_NL:nl_BE -NO_LINKS= nb_NO:no_NO -GB_LINKS= en_GB:en_AU en_GB:en_CA en_GB:en_NZ - -eucKR_CP949= ko_KR -GB2312_GBK= zh_CN -ISO8859-1_ISO8859-1= ${CA_LINKS} ${DE_LINKS} ${FR_LINKS} ${GB_LINKS} \ - ${IT_LINKS} ${NL_LINKS} ${NO_LINKS} en_US:af_ZA -ISO8859-1_ISO8859-15= ca_ES da_DK de_AT de_DE en_GB en_US es_ES eu_ES \ - fi_FI fr_FR is_IS it_IT la_LN nb_NO nl_NL nn_NO no_NO pt_PT \ - sv_SE \ - ${CA_LINKS} ${DE_LINKS} ${FR_LINKS} ${GB_LINKS} ${IT_LINKS} \ - ${NL_LINKS} -ISO8859-1_US-ASCII= ${GB_LINKS} en_GB en_US la_LN -ISO8859-1_ISO8859-2= la_LN -ISO8859-1_ISO8859-4= la_LN -ISO8859-1_UTF-8= en_GB en_US eu_ES nl_NL -ISO8859-15_ISO8859-15= en_US:af_ZA -UTF-8_Big5HKSCS= zh_TW:zh_HK -UTF-8_UTF-8= ${CA_LINKS} ${DE_LINKS} ${FR_LINKS} ${GB_LINKS} ${IT_LINKS} \ - ${NL_LINKS} ${NO_LINKS} \ - en_GB:en_IE en_US:af_ZA zh_TW:zh_HK - -SYMLINKS= -.for enc1 in ${ENCODINGS} -.for enc2 in ${ENCODINGS} -.for lang_terr in ${${enc1}_${enc2}} -SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} -.endfor -.endfor -.endfor +# All locales to be created. +CCLN= am_ET be_BY bg_BG ca_ES cs_CZ da_DK de_AT de_DE \ + el_GR en_GB en_US es_ES et_EE eu_ES fi_FI fr_FR \ + he_IL hi_IN.ISCII-DEV.src hr_HR hu_HU hy_AM is_IS \ + it_IT ja_JP kk_KZ ko_KR la_LN lt_LT mn_MN nb_NO \ + nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK \ + sl_SI sr_Cyrl_YU sr_Latn_YU sv_SE tr_TR uk_UA \ + zh_Hans_CN zh_Hant_TW + +# For these locales, beside creating the UTF-8 map also create these +# charactermaps. +CMS_be_BY= CP1131 CP1251 ISO8859-5 +CMS_bg_BG= CP1251 +CMS_ca_ES= ISO8859-1 +CMS_cs_CZ= ISO8859-2 +CMS_da_DK= ISO8859-1 +CMS_de_AT= ISO8859-1 +CMS_de_DE= ISO8859-1 +CMS_el_GR= ISO8859-7 +CMS_en_GB= ISO8859-1 +CMS_en_US= ISO8859-1 +CMS_es_ES= ISO8859-1 +CMS_et_EE= ISO8859-15 +CMS_eu_ES= ISO8859-1 +CMS_fi_FI= ISO8859-1 +CMS_fr_FR= ISO8859-1 +CMS_hi_IN= ISCII-DEV +CMS_hr_HR= ISO8859-2 +CMS_hu_HU= ISO8859-2 +CMS_hy_AM= ARMSCII-8 +CMS_is_IS= ISO8859-1 +CMS_it_IT= ISO8859-1 +CMS_ja_JP= SJIS eucJP +CMS_kk_KZ= PT154 +CMS_ko_KR= eucKR +CMS_la_LN= ISO8859-1 +CMS_lt_LT= ISO8859-4 ISO8859-13 +CMS_nb_NO= ISO8859-1 +CMS_nl_NL= ISO8859-1 +CMS_nn_NO= ISO8859-1 +CMS_pl_PL= ISO8859-2 +CMS_pt_BR= ISO8859-1 +CMS_pt_PT= ISO8859-1 +CMS_ro_RO= ISO8859-2 +CMS_ru_RU= CP1251 CP866 ISO8859-5 KOI8-R +CMS_sk_SK= ISO8859-2 +CMS_sl_SI= ISO8859-2 +CMS_sr_Cyrl_RS= ISO8859-5 +CMS_sr_Latn_RS= ISO8859-2 +CMS_sv_SE= ISO8859-1 +CMS_tr_TR= ISO8859-9 +CMS_uk_UA= CP1251 ISO8859-5 KOI8-U +CMS_zh_Hans_CN= GB18030 GB2312 eucCN +CMS_zh_Hant_TW= Big5 + +xx +/tmp/a + +# For these locales, link the following charactermaps to the UTF-8 map. +# (unless the origin charactermap is defined) +CMSLINK_af_ZA= ISO8859-1 ISO8859-15 +CMSLINK_ca_ES= ISO8859-1 ISO8859-15 +CMSLINK_cs_CZ= ISO8859-2 +CMSLINK_da_DK= ISO8859-1 ISO8859-15 +CMSLINK_de_DE= ISO8859-1 ISO8859-15 +CMSLINK_en_CA= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_en_GB= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_en_US= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_es_ES= ISO8859-1 ISO8859-15 +CMSLINK_et_EE= ISO8859-15 +CMSLINK_eu_ES= ISO8859-1 ISO8859-15 +CMSLINK_fi_FI= ISO8859-1 ISO8859-15 +CMSLINK_fr_BE= ISO8859-1 ISO8859-15 +CMSLINK_fr_CH= ISO8859-1 ISO8859-15 +CMSLINK_fr_FR= ISO8859-1 ISO8859-15 +CMSLINK_hr_HR= ISO8859-2 +CMSLINK_hu_HU= ISO8859-2 +CMSLINK_is_IS= ISO8859-1 ISO8859-15 +CMSLINK_it_IT= ISO8859-1 ISO8859-15 +CMSLINK_ko_KR.eucKR= ko_KR.CP949 +CMSLINK_lt_LT= ISO8859-4 ISO8859-13 +CMSLINK_nl_NL= ISO8859-1 ISO8859-15 +CMSLINK_no_NO= ISO8859-1 ISO8859-15 +CMSLINK_pl_PL= ISO8859-2 +CMSLINK_pt_PT= ISO8859-1 ISO8859-15 +CMSLINK_ro_RO= ISO8859-2 +CMSLINK_sl_SI= ISO8859-2 +CMSLINK_sv_SE= ISO8859-1 ISO8859-15 +CMSLINK_tr_TR= ISO8859-9 +CMSLINK_zh_Hans_CN= GBK +CMSLINK_zh_Hant_TW= Big5HKSCS + +# For these locales, also create symlinks to the main locale. +CCLNLINK_ca_ES= ca_AD ca_FR ca_IT +CCLNLINK_cs_CZ= sk_SK +CCLNLINK_de_DE= de_AT de_CH +CCLNLINK_en_GB= en_AU en_NZ +CCLNLINK_fr_FR= fr_CA +CCLNLINK_it_IT= it_CH +CCLNLINK_nl_NL= nl_BE +CCLNLINK_no_NO= nb_NO nn_NO +CCLNLINK_pt_PT= pt_BR +CCLNLINK_zh_Hant_TW= zh_Hant_HK +CCLNLINK_en_GB.UTF-8= en_IE.UTF-8 + +# For these locales, create symlinks to the main locale for historical reasons. +LEGLINK_ja_JP= jp_JP +LEGLINK_zh_Hans_CN= zh_CN +LEGLINK_zh_Hant_TW= zh_TW zh_HK +LEGLINK_sr_Cyrl_RS= sr_YU +LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 +LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK + +# +# In theory there are no parts after here which should be touched when adding +# or removing locales and charactermaps. +# + +# Required variables +LCTYPE= LC_MESSAGES +LOCALEDIR= /usr/share/locale + +# For testing only +DESTDIR= /home/edwin/locale/new/ +SHAREOWN= edwin +SHAREGRP= edwin + +# +# All variables +# +.include "../Makefile.def.inc" .include Copied and modified: user/edwin/locale/share/timedef/am_ET.unicode (from r196349, user/edwin/locale/share/timedef/am_ET.UTF-8.src) ============================================================================== --- user/edwin/locale/share/timedef/am_ET.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/timedef/am_ET.unicode Thu Sep 3 12:41:00 2009 (r196778) @@ -5,92 +5,92 @@ # # Short month names # -ጃንዩ -ፌብሩ -ማርች -ኤፕረ -ሜይ -ጁን -ጁላይ -ኦገስ -ሴፕቴ -ኦክቶ -ኖቬም -ዲሴም + + + + + + + + + + + + # # Long month names # -ጃንዩወሪ -ፌብሩወሪ -ማርች -ኤፕረል -ሜይ -ጁን -ጁላይ -ኦገስት -ሴፕቴምበር -ኦክቶበር -ኖቬምበር -ዲሴምበር + + + + + + + + + + + + # # Short weekday names # -እሑድ -ሰኞ -ማክሰ -ረቡዕ -ሐሙስ -ዓርብ -ቅዳሜ + + + + + + + # # Long weekday names # -እሑድ -ሰኞ -ማክሰኞ -ረቡዕ -ሐሙስ -ዓርብ -ቅዳሜ + + + + + + + # # X_fmt # -%H:%M:%S +%H%M%S # # x_fmt # -%d/%m/%Y +%d%m%Y # # c_fmt # -%a %b %e %X %Y +%a%b%e%X%Y # # am # -AM + # # pm # -PM + # # date_fmt # -%a %b %e %X %Z %Y +%a%b%e%X%Z%Y # # Long month names (without case ending) # -ጃንዩወሪ -ፌብሩወሪ -ማርች -ኤፕረል -ሜይ -ጁን -ጁላይ -ኦገስት -ሴፕቴምበር -ኦክቶበር -ኖቬምበር -ዲሴምበር + + + + + + + + + + + + # # md_order # @@ -98,5 +98,5 @@ dm # # ampm_fmt # -%I:%M:%S %p +%I%M%S%p # EOF Copied and modified: user/edwin/locale/share/timedef/be_BY.unicode (from r196349, user/edwin/locale/share/timedef/be_BY.UTF-8.src) ============================================================================== --- user/edwin/locale/share/timedef/be_BY.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/timedef/be_BY.unicode Thu Sep 3 12:41:00 2009 (r196778) @@ -4,97 +4,97 @@ # # Short month names # -сту -лют -сак -кра -тра -чэр -ліп -жні -вер -кас -ліс -сне + + + + + + + + + + + + # # Long month names (as in a date) # -студзеня -лютага -сакавіка -красавіка -траўня -чэрвеня -ліпеня -жніўня -верасня -кастрычніка -лістапада -снежня + + + + + + + + + + + + # # Short weekday names # (padded with a space to conform with other languages) -нд -пн -аў -ср -чц -пт -сб + + + + + + + # # Long weekday names # -нядзеля -панядзелак -аўторак -серада -чацвер -пятніца -субота + + + + + + + # # X_fmt # -%H:%M:%S +%H%M%S # # x_fmt # -%d.%m.%y +%d%m%y # # c_fmt # -%a %e %b %X %Y +%a%e%b%X%Y # # am # -am + # # pm # -pm + # # date_fmt # -%a %e %b %Y %X %Z +%a%e%b%Y%X%Z # # Long month names (without case ending) # -студзень -люты -сакавік -красавік -травень -чэрвень -ліпень -жнівень -верасень -кастрычнік -лістапад -снежань + + + + + + + + + + + + # # md_order # dm # # ampm_fmt -%I:%M:%S %p +%I%M%S%p # EOF Copied and modified: user/edwin/locale/share/timedef/bg_BG.unicode (from r196349, user/edwin/locale/share/timedef/bg_BG.UTF-8.src) ============================================================================== --- user/edwin/locale/share/timedef/bg_BG.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/timedef/bg_BG.unicode Thu Sep 3 12:41:00 2009 (r196778) @@ -5,97 +5,97 @@ # # Short month names # -Яну -Фев -Мар -Апр -Май -Юни -Юли -Авг -Сеп -Окт -Нов -Дек + + + + + + + + + + + + # # Long month names (as in a date) # -Януари -Февруари -Март -Април -Май -Юни -Юли -Август -Септември -Октомври -Ноември -Декември + + + + + + + + + + + + # # Short weekday names # (padded with a space to conform with other languages) -Нд -Пн -Вт -Ср -Чт -Пт -Сб + + + + + + + # # Long weekday names # -Неделя -Понеделник -Вторник -Сряда -Четвъртък -Петък -Събота + + + + + + + # # X_fmt # -%H:%M:%S +%H%M%S # # x_fmt # -%d.%m.%y +%d%m%y # # c_fmt # -%a %e %b %X %Y +%a%e%b%X%Y # # am # -am + # # pm # -pm + # # date_fmt # -%a %e %b %Y %X %Z +%a%e%b%Y%X%Z # # Long month names (without case ending) # -Януари -Февруари -Март -Април -Май -Юни -Юли -Август -Септември -Октомври -Ноември -Декември + + + + + + + + + + + + # # md_order # dm # # ampm_fmt -%I:%M:%S %p +%I%M%S%p # EOF Copied and modified: user/edwin/locale/share/timedef/ca_ES.unicode (from r196349, user/edwin/locale/share/timedef/ca_ES.UTF-8.src) ============================================================================== --- user/edwin/locale/share/timedef/ca_ES.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/timedef/ca_ES.unicode Thu Sep 3 12:41:00 2009 (r196778) @@ -5,92 +5,92 @@ # # Short month names # -gen -feb -mar -abr -mai -jun -jul -ago -set -oct -nov -des + + + + + + + + + + + + # # Long month names (as in a date) # -gener -febrer -març -abril -maig -juny -juliol -agost -setembre -octubre -novembre -desembre + + + + + + + + + + + + # # Short weekday names # -diu -dil -dim -dmc -dij -div -dis + + + + + + + # # Long weekday names # -diumenge -dilluns -dimarts -dimecres -dijous -divendres -dissabte + + + + + + + # # X_fmt # -%H:%M:%S +%H%M%S # # x_fmt # -%d/%m/%Y +%d%m%Y # # c_fmt # -%a %e %b %X %Y +%a%e%b>%X%Y # # am # -AM + # # pm # -PM + # # date_fmt # -%A, %e de %B de %Y, %X %Z +%A%e%B%Y%X%Z # # Long month names (without case ending) # -gener -febrer -març -abril -maig -juny -juliol -agost -setembre -octubre -novembre -desembre + + + + + + + + + + + + # # md_order # @@ -98,5 +98,5 @@ dm # # ampm_fmt # -%I:%M:%S %p +%I%M%S%p # EOF Copied and modified: user/edwin/locale/share/timedef/cs_CZ.unicode (from r196349, user/edwin/locale/share/timedef/cs_CZ.UTF-8.src) ============================================================================== --- user/edwin/locale/share/timedef/cs_CZ.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/timedef/cs_CZ.unicode Thu Sep 3 12:41:00 2009 (r196778) @@ -8,92 +8,92 @@ # # Short month names # -led -úno -bře -dub -kvě -črv -čvc -srp -zář -říj -lis -pro + + + + + + + + + + + + # # Long month names (as in a date) # -ledna -února -března -dubna -května -června -července -srpna -září -října -listopadu -prosince + + + + + + + + + + + + # # Short weekday names # -ne -po -út -st -čt -pá -so + + + + + + + # # Long weekday names # -neděle -pondělí -úterý -středa -čtvrtek *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu Sep 3 22:24:00 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 944C31065672; Thu, 3 Sep 2009 22:24:00 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 829E18FC0A; Thu, 3 Sep 2009 22:24:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n83MO0jw046339; Thu, 3 Sep 2009 22:24:00 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n83MO02D046307; Thu, 3 Sep 2009 22:24:00 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909032224.n83MO02D046307@svn.freebsd.org> From: Edwin Groothuis Date: Thu, 3 Sep 2009 22:24:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196800 - user/edwin/locale/share/timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2009 22:24:00 -0000 Author: edwin Date: Thu Sep 3 22:23:59 2009 New Revision: 196800 URL: http://svn.freebsd.org/changeset/base/196800 Log: In the time strings, only replace the %x with real ascii, the rest should be unicode encoded. Update the makefile (untested) Added: user/edwin/locale/share/timedef/hi_IN.unicode Deleted: user/edwin/locale/share/timedef/hi_IN.ISCII-DEV.src Modified: user/edwin/locale/share/timedef/Makefile user/edwin/locale/share/timedef/be_BY.unicode user/edwin/locale/share/timedef/bg_BG.unicode user/edwin/locale/share/timedef/cs_CZ.unicode user/edwin/locale/share/timedef/da_DK.unicode user/edwin/locale/share/timedef/de_AT.unicode user/edwin/locale/share/timedef/de_DE.unicode user/edwin/locale/share/timedef/et_EE.unicode user/edwin/locale/share/timedef/eu_ES.unicode user/edwin/locale/share/timedef/fi_FI.unicode user/edwin/locale/share/timedef/fr_FR.unicode user/edwin/locale/share/timedef/hr_HR.unicode user/edwin/locale/share/timedef/hy_AM.unicode user/edwin/locale/share/timedef/is_IS.unicode user/edwin/locale/share/timedef/it_IT.unicode user/edwin/locale/share/timedef/kk_KZ.unicode user/edwin/locale/share/timedef/la_LN.unicode user/edwin/locale/share/timedef/lt_LT.unicode user/edwin/locale/share/timedef/mn_MN.unicode user/edwin/locale/share/timedef/nb_NO.unicode user/edwin/locale/share/timedef/nn_NO.unicode user/edwin/locale/share/timedef/pl_PL.unicode user/edwin/locale/share/timedef/ro_RO.unicode user/edwin/locale/share/timedef/ru_RU.unicode user/edwin/locale/share/timedef/sk_SK.unicode user/edwin/locale/share/timedef/sl_SI.unicode user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode user/edwin/locale/share/timedef/sr_Latn_YU.unicode user/edwin/locale/share/timedef/uk_UA.unicode Modified: user/edwin/locale/share/timedef/Makefile ============================================================================== --- user/edwin/locale/share/timedef/Makefile Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/Makefile Thu Sep 3 22:23:59 2009 (r196800) @@ -3,11 +3,12 @@ # All locales to be created. CCLN= am_ET be_BY bg_BG ca_ES cs_CZ da_DK de_AT de_DE \ el_GR en_GB en_US es_ES et_EE eu_ES fi_FI fr_FR \ - he_IL hi_IN.ISCII-DEV.src hr_HR hu_HU hy_AM is_IS \ + he_IL hr_HR hu_HU hy_AM is_IS \ it_IT ja_JP kk_KZ ko_KR la_LN lt_LT mn_MN nb_NO \ nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK \ sl_SI sr_Cyrl_YU sr_Latn_YU sv_SE tr_TR uk_UA \ zh_Hans_CN zh_Hant_TW +# hi_IN # For these locales, beside creating the UTF-8 map also create these # charactermaps. @@ -55,55 +56,41 @@ CMS_uk_UA= CP1251 ISO8859-5 KOI8-U CMS_zh_Hans_CN= GB18030 GB2312 eucCN CMS_zh_Hant_TW= Big5 -xx -/tmp/a - # For these locales, link the following charactermaps to the UTF-8 map. # (unless the origin charactermap is defined) CMSLINK_af_ZA= ISO8859-1 ISO8859-15 -CMSLINK_ca_ES= ISO8859-1 ISO8859-15 -CMSLINK_cs_CZ= ISO8859-2 -CMSLINK_da_DK= ISO8859-1 ISO8859-15 -CMSLINK_de_DE= ISO8859-1 ISO8859-15 -CMSLINK_en_CA= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_ca_ES.ISO8859-1= ca_ES.ISO8859-15 +CMSLINK_da_DK.ISO8859-1= ca_ES.ISO8859-15 +CMSLINK_de_AT.ISO8859-1= de_AT.ISO8859-15 +CMSLINK_de_DE.ISO8859-1= de_DE.ISO8859-15 CMSLINK_en_GB= ISO8859-1 ISO8859-15 US-ASCII CMSLINK_en_US= ISO8859-1 ISO8859-15 US-ASCII -CMSLINK_es_ES= ISO8859-1 ISO8859-15 -CMSLINK_et_EE= ISO8859-15 +CMSLINK_es_ES= ISO8859-1 CMSLINK_eu_ES= ISO8859-1 ISO8859-15 -CMSLINK_fi_FI= ISO8859-1 ISO8859-15 -CMSLINK_fr_BE= ISO8859-1 ISO8859-15 -CMSLINK_fr_CH= ISO8859-1 ISO8859-15 -CMSLINK_fr_FR= ISO8859-1 ISO8859-15 -CMSLINK_hr_HR= ISO8859-2 -CMSLINK_hu_HU= ISO8859-2 -CMSLINK_is_IS= ISO8859-1 ISO8859-15 -CMSLINK_it_IT= ISO8859-1 ISO8859-15 +CMSLINK_fi_FI.ISO8859-1= fi_FI.ISO8859-15 +CMSLINK_fr_FR.ISO8859-1= fr_FR.ISO8859-15 +CMSLINK_is_IS.ISO8859-1= is_IS.ISO8859-15 +CMSLINK_it_IT.ISO8859-1= it_IT.ISO8859-15 CMSLINK_ko_KR.eucKR= ko_KR.CP949 -CMSLINK_lt_LT= ISO8859-4 ISO8859-13 +CMSLINK_la_LN.ISO8859-1= la_LN.ISO8859-2 la_LN.ISO8859-4 la_LN.ISO8859-15 la_LN.US-ASCII +CMSLINK_nb_NO.ISO8859-1= nb_NO.ISO8859-15 CMSLINK_nl_NL= ISO8859-1 ISO8859-15 -CMSLINK_no_NO= ISO8859-1 ISO8859-15 -CMSLINK_pl_PL= ISO8859-2 -CMSLINK_pt_PT= ISO8859-1 ISO8859-15 -CMSLINK_ro_RO= ISO8859-2 -CMSLINK_sl_SI= ISO8859-2 -CMSLINK_sv_SE= ISO8859-1 ISO8859-15 -CMSLINK_tr_TR= ISO8859-9 -CMSLINK_zh_Hans_CN= GBK -CMSLINK_zh_Hant_TW= Big5HKSCS +CMSLINK_nn_NO.ISO8859-1= nn_NO.ISO8859-15 +CMSLINK_pt_PT.ISO8859-1= pt_PT.ISO8859-15 +CMSLINK_sv_SE.ISO8859-1= sv_SE.ISO8859-15 +CMSLINK_zh_Hans_CN.GB2312= CMSLINK_zh_Hans_CN.GBK # For these locales, also create symlinks to the main locale. -CCLNLINK_ca_ES= ca_AD ca_FR ca_IT -CCLNLINK_cs_CZ= sk_SK -CCLNLINK_de_DE= de_AT de_CH -CCLNLINK_en_GB= en_AU en_NZ -CCLNLINK_fr_FR= fr_CA -CCLNLINK_it_IT= it_CH -CCLNLINK_nl_NL= nl_BE -CCLNLINK_no_NO= nb_NO nn_NO -CCLNLINK_pt_PT= pt_BR +CCLNLINK_en_US.UTF-8= af_ZA.UTF-8 +CCLNLINK_ca_ES= ca_AD ca_IT ca_IT +CCLNLINK_de_DE= de_CH +CCLNLINK_en_GB= en_AU en_CA en_NZ +CCLNLINK_en_IE.UTF-8= en_GB.UTF-8 +CCLNLINK_fr_FR= fr_BE fr_CA fr_CH +CCLNLINK_it_IT= it_CH +CCLNLINK_nl_NL= nl_BE +CCLNLINK_nb_NO= no_NO CCLNLINK_zh_Hant_TW= zh_Hant_HK -CCLNLINK_en_GB.UTF-8= en_IE.UTF-8 # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP @@ -119,7 +106,7 @@ LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK # # Required variables -LCTYPE= LC_MESSAGES +LCTYPE= LC_TIME LOCALEDIR= /usr/share/locale # For testing only Modified: user/edwin/locale/share/timedef/be_BY.unicode ============================================================================== --- user/edwin/locale/share/timedef/be_BY.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/be_BY.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -58,7 +58,7 @@ # # x_fmt # -%d%m%y +%d%m%y # # c_fmt # Modified: user/edwin/locale/share/timedef/bg_BG.unicode ============================================================================== --- user/edwin/locale/share/timedef/bg_BG.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/bg_BG.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%y +%d%m%y # # c_fmt # Modified: user/edwin/locale/share/timedef/cs_CZ.unicode ============================================================================== --- user/edwin/locale/share/timedef/cs_CZ.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/cs_CZ.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -78,7 +78,7 @@ # # date_fmt # -%a>%e%B%Y%X%Z +%a>%e%B%Y%X%Z # # Long month names (without case ending) # Modified: user/edwin/locale/share/timedef/da_DK.unicode ============================================================================== --- user/edwin/locale/share/timedef/da_DK.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/da_DK.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/de_AT.unicode ============================================================================== --- user/edwin/locale/share/timedef/de_AT.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/de_AT.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%D%m%Y +%D%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/de_DE.unicode ============================================================================== --- user/edwin/locale/share/timedef/de_DE.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/de_DE.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -63,7 +63,7 @@ # A quick poll on IRC and the -doc mailinglist (June 2009) showed that # this format was not used often enough to push this change through. # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/et_EE.unicode ============================================================================== --- user/edwin/locale/share/timedef/et_EE.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/et_EE.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,11 +59,11 @@ # # d_fmt # -%d%m%Y +%d%m%Y # # c_fmt # -%a%d%b%Y%T +%a%d%b%Y%T # # am # @@ -75,7 +75,7 @@ # # d_t_fmt # -%A%d%B%Y%T%Z +%A%d%B%Y%T%Z # # Long month names (without case ending) # Modified: user/edwin/locale/share/timedef/eu_ES.unicode ============================================================================== --- user/edwin/locale/share/timedef/eu_ES.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/eu_ES.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -35,13 +35,13 @@ # # Short weekday names # - - - - - - - + + + + + + + # # Long weekday names # @@ -67,15 +67,15 @@ # # am # - + # # pm # - + # # date_fmt # -%Y%B%e%X%Z +%Y%B%e%X%Z # # Long month names (without case ending) # Modified: user/edwin/locale/share/timedef/fi_FI.unicode ============================================================================== --- user/edwin/locale/share/timedef/fi_FI.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/fi_FI.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -58,7 +58,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/fr_FR.unicode ============================================================================== --- user/edwin/locale/share/timedef/fr_FR.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/fr_FR.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Added: user/edwin/locale/share/timedef/hi_IN.unicode ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/timedef/hi_IN.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -0,0 +1,103 @@ +# $FreeBSD: user/edwin/locale/share/timedef/hi_IN.ISCII-DEV.src 174990 2007-12-30 03:08:52Z ache $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# Short month names -- same as long +# + + + + + + + + + + + + +# +# Long month names (as in a date) +# + + + + + + + + + + + + +# +# +# Short weekday names +# + + + + + + + +# +# Long weekday names +# + + + + + + + +# +# X_fmt +# +%H%M%S +# +# x_fmt +# +%d%m%Y +# +# c_fmt +# +%a%b%e%X%Y +# +# am +# + +# +# pm + +# +# +# date_fmt +# +%a%b%e%X%Z%Y +# +# Long month names (without case ending) +# + + + + + + + + + + + + +# +# md_order +# +dm +# +# ampm_fmt +# +%I%M%S%p +# EOF Modified: user/edwin/locale/share/timedef/hr_HR.unicode ============================================================================== --- user/edwin/locale/share/timedef/hr_HR.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/hr_HR.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/hy_AM.unicode ============================================================================== --- user/edwin/locale/share/timedef/hy_AM.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/hy_AM.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -62,11 +62,11 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # -%A%e%B%Y%X +%A%e%B%Y%X # # am # @@ -78,7 +78,7 @@ # # date_fmt # -%A%e%B%Y%X%Z +%A%e%B%Y%X%Z # # Long month names (without case ending) # Modified: user/edwin/locale/share/timedef/is_IS.unicode ============================================================================== --- user/edwin/locale/share/timedef/is_IS.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/is_IS.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%M%Y +%d%M%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/it_IT.unicode ============================================================================== --- user/edwin/locale/share/timedef/it_IT.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/it_IT.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/kk_KZ.unicode ============================================================================== --- user/edwin/locale/share/timedef/kk_KZ.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/kk_KZ.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -55,15 +55,15 @@ # # X_fmt # -%%% +%H%M%S # # x_fmt # -%%% +%d%m%Y # # c_fmt # -%%%%% +%A%e%B%Y%X # # am # @@ -75,7 +75,7 @@ # # date_fmt # -%%%%%% +%A%e%B%Y%X%Z # # Long month names (without case ending) # Modified: user/edwin/locale/share/timedef/la_LN.unicode ============================================================================== --- user/edwin/locale/share/timedef/la_LN.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/la_LN.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -61,7 +61,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/lt_LT.unicode ============================================================================== --- user/edwin/locale/share/timedef/lt_LT.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/lt_LT.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -58,7 +58,7 @@ # # x_fmt # -%Y%m%d +%Y%m%d # # c_fmt # %A, %Y m. %B %e d. %T @@ -74,7 +74,7 @@ # # date_fmt # -%A%Ym%B%ed%T%Z +%A%Ym%B%ed%T%Z # # Long month names (without case ending) # Modified: user/edwin/locale/share/timedef/mn_MN.unicode ============================================================================== --- user/edwin/locale/share/timedef/mn_MN.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/mn_MN.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%Y%M%D +%Y%M%D # # c_fmt # Modified: user/edwin/locale/share/timedef/nb_NO.unicode ============================================================================== --- user/edwin/locale/share/timedef/nb_NO.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/nb_NO.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/nn_NO.unicode ============================================================================== --- user/edwin/locale/share/timedef/nn_NO.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/nn_NO.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/pl_PL.unicode ============================================================================== --- user/edwin/locale/share/timedef/pl_PL.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/pl_PL.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -56,7 +56,7 @@ # # x_fmt # -%Y%m%d +%Y%m%d # # c_fmt # Modified: user/edwin/locale/share/timedef/ro_RO.unicode ============================================================================== --- user/edwin/locale/share/timedef/ro_RO.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/ro_RO.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/ru_RU.unicode ============================================================================== --- user/edwin/locale/share/timedef/ru_RU.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/ru_RU.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,11 +59,11 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # -%A%e%B%Y%X +%A%e%B%Y%X # # am # @@ -75,7 +75,7 @@ # # date_fmt # -%A%e%B%Y%X%Z +%A%e%B%Y%X%Z # # Long month names (without case ending) # Modified: user/edwin/locale/share/timedef/sk_SK.unicode ============================================================================== --- user/edwin/locale/share/timedef/sk_SK.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/sk_SK.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -62,7 +62,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # @@ -78,7 +78,7 @@ # # date_fmt # -%a%e%B%Y%X%Z +%a%e%B%Y%X%Z # # Long month names (without case ending) # Modified: user/edwin/locale/share/timedef/sl_SI.unicode ============================================================================== --- user/edwin/locale/share/timedef/sl_SI.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/sl_SI.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode ============================================================================== --- user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/sr_Latn_YU.unicode ============================================================================== --- user/edwin/locale/share/timedef/sr_Latn_YU.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/sr_Latn_YU.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -63,7 +63,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # Modified: user/edwin/locale/share/timedef/uk_UA.unicode ============================================================================== --- user/edwin/locale/share/timedef/uk_UA.unicode Thu Sep 3 22:19:09 2009 (r196799) +++ user/edwin/locale/share/timedef/uk_UA.unicode Thu Sep 3 22:23:59 2009 (r196800) @@ -59,7 +59,7 @@ # # x_fmt # -%d%m%Y +%d%m%Y # # c_fmt # From owner-svn-src-user@FreeBSD.ORG Thu Sep 3 22:32:33 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A1CC106566C; Thu, 3 Sep 2009 22:32:33 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 092D98FC19; Thu, 3 Sep 2009 22:32:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n83MWWG9046519; Thu, 3 Sep 2009 22:32:32 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n83MWWKW046515; Thu, 3 Sep 2009 22:32:32 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909032232.n83MWWKW046515@svn.freebsd.org> From: Edwin Groothuis Date: Thu, 3 Sep 2009 22:32:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196801 - user/edwin/locale/share/timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2009 22:32:33 -0000 Author: edwin Date: Thu Sep 3 22:32:32 2009 New Revision: 196801 URL: http://svn.freebsd.org/changeset/base/196801 Log: Official country for sr_xxxx is RS, not YU. Add hi_IN back to the build. Added: user/edwin/locale/share/timedef/sr_Cyrl_RS.unicode - copied unchanged from r196800, user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode user/edwin/locale/share/timedef/sr_Latn_RS.unicode - copied unchanged from r196800, user/edwin/locale/share/timedef/sr_Latn_YU.unicode Deleted: user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode user/edwin/locale/share/timedef/sr_Latn_YU.unicode Modified: user/edwin/locale/share/timedef/Makefile Modified: user/edwin/locale/share/timedef/Makefile ============================================================================== --- user/edwin/locale/share/timedef/Makefile Thu Sep 3 22:23:59 2009 (r196800) +++ user/edwin/locale/share/timedef/Makefile Thu Sep 3 22:32:32 2009 (r196801) @@ -3,12 +3,11 @@ # All locales to be created. CCLN= am_ET be_BY bg_BG ca_ES cs_CZ da_DK de_AT de_DE \ el_GR en_GB en_US es_ES et_EE eu_ES fi_FI fr_FR \ - he_IL hr_HR hu_HU hy_AM is_IS \ + he_IL hi_IN hr_HR hu_HU hy_AM is_IS \ it_IT ja_JP kk_KZ ko_KR la_LN lt_LT mn_MN nb_NO \ nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK \ - sl_SI sr_Cyrl_YU sr_Latn_YU sv_SE tr_TR uk_UA \ + sl_SI sr_Cyrl_RS sr_Latn_RS sv_SE tr_TR uk_UA \ zh_Hans_CN zh_Hant_TW -# hi_IN # For these locales, beside creating the UTF-8 map also create these # charactermaps. @@ -78,7 +77,7 @@ CMSLINK_nl_NL= ISO8859-1 ISO8859-15 CMSLINK_nn_NO.ISO8859-1= nn_NO.ISO8859-15 CMSLINK_pt_PT.ISO8859-1= pt_PT.ISO8859-15 CMSLINK_sv_SE.ISO8859-1= sv_SE.ISO8859-15 -CMSLINK_zh_Hans_CN.GB2312= CMSLINK_zh_Hans_CN.GBK +CMSLINK_zh_Hans_CN.GB2312= zh_Hans_CN.GBK # For these locales, also create symlinks to the main locale. CCLNLINK_en_US.UTF-8= af_ZA.UTF-8 Copied: user/edwin/locale/share/timedef/sr_Cyrl_RS.unicode (from r196800, user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/timedef/sr_Cyrl_RS.unicode Thu Sep 3 22:32:32 2009 (r196801, copy of r196800, user/edwin/locale/share/timedef/sr_Cyrl_YU.unicode) @@ -0,0 +1,102 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# Short month names +# + + + + + + + + + + + + +# +# Long month names (as in a date) +# + + + + + + + + + + + + +# +# Short weekday names +# + + + + + + + +# +# Long weekday names +# + + + + + + + +# +# X_fmt +# +%H%M%S +# +# x_fmt +# +%d%m%Y +# +# c_fmt +# +%a%e%b%X%Y +# +# am +# + +# +# pm +# + +# +# date_fmt +# +%a%e%b%Y%X%Z +# +# Long month names (without case ending) +# + + + + + + + + + + + + +# +# md_order +# +dm +# +# ampm_fmt +# + +# EOF Copied: user/edwin/locale/share/timedef/sr_Latn_RS.unicode (from r196800, user/edwin/locale/share/timedef/sr_Latn_YU.unicode) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/timedef/sr_Latn_RS.unicode Thu Sep 3 22:32:32 2009 (r196801, copy of r196800, user/edwin/locale/share/timedef/sr_Latn_YU.unicode) @@ -0,0 +1,106 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# Short month names +# + + + + + + + + + + + + +# +# Long month names (as in a date) +# + + + + + + + + + + + + +# +# Short weekday names +# + + + + + +--E86574-- + + + +# +# Long weekday names +# + + + + + +--E86574-- + + + +# +# X_fmt +# +%H%M%S +# +# x_fmt +# +%d%m%Y +# +# c_fmt +# +%a%e%b%X%Y +# +# am +# + +# +# pm +# + +# +# date_fmt +# +%a%e%b%Y%X%Z +# +# Long month names (without case ending) +# + + + + + + + + + + + + +# +# md_order +# +dm +# +# ampm_fmt +# +%I%M%S%p +# EOF From owner-svn-src-user@FreeBSD.ORG Fri Sep 4 07:33:17 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6315106566B; Fri, 4 Sep 2009 07:33:17 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D2F8E8FC0C; Fri, 4 Sep 2009 07:33:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n847XHWq058089; Fri, 4 Sep 2009 07:33:17 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n847XHoj058045; Fri, 4 Sep 2009 07:33:17 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909040733.n847XHoj058045@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 4 Sep 2009 07:33:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196817 - user/edwin/locale/share/numericdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2009 07:33:18 -0000 Author: edwin Date: Fri Sep 4 07:33:17 2009 New Revision: 196817 URL: http://svn.freebsd.org/changeset/base/196817 Log: To unicode conversion of numericdef Added: user/edwin/locale/share/numericdef/af_ZA.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/af_ZA.ISO8859-1.src user/edwin/locale/share/numericdef/am_ET.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/am_ET.UTF-8.src user/edwin/locale/share/numericdef/be_BY.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/be_BY.CP1251.src user/edwin/locale/share/numericdef/bg_BG.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/bg_BG.CP1251.src user/edwin/locale/share/numericdef/ca_ES.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/ca_ES.ISO8859-1.src user/edwin/locale/share/numericdef/cs_CZ.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/cs_CZ.ISO8859-2.src user/edwin/locale/share/numericdef/da_DK.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/da_DK.ISO8859-1.src user/edwin/locale/share/numericdef/de_CH.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/de_CH.ISO8859-1.src user/edwin/locale/share/numericdef/de_DE.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/de_DE.ISO8859-1.src user/edwin/locale/share/numericdef/el_GR.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/el_GR.ISO8859-7.src user/edwin/locale/share/numericdef/en_US.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/en_US.ISO8859-1.src user/edwin/locale/share/numericdef/es_ES.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/es_ES.ISO8859-1.src user/edwin/locale/share/numericdef/et_EE.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/et_EE.ISO8859-15.src user/edwin/locale/share/numericdef/eu_ES.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/eu_ES.ISO8859-1.src user/edwin/locale/share/numericdef/fi_FI.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/fi_FI.ISO8859-1.src user/edwin/locale/share/numericdef/fr_BE.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/fr_BE.ISO8859-1.src user/edwin/locale/share/numericdef/fr_FR.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/fr_FR.ISO8859-1.src user/edwin/locale/share/numericdef/hi_IN.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/hi_IN.ISCII-DEV.src user/edwin/locale/share/numericdef/hr_HR.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/hr_HR.ISO8859-2.src user/edwin/locale/share/numericdef/hu_HU.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/hu_HU.ISO8859-2.src user/edwin/locale/share/numericdef/hy_AM.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/hy_AM.ARMSCII-8.src user/edwin/locale/share/numericdef/is_IS.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/is_IS.ISO8859-1.src user/edwin/locale/share/numericdef/it_IT.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/it_IT.ISO8859-1.src user/edwin/locale/share/numericdef/ja_JP.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/ja_JP.eucJP.src user/edwin/locale/share/numericdef/kk_KZ.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/kk_KZ.PT154.src user/edwin/locale/share/numericdef/ko_KR.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/ko_KR.eucKR.src user/edwin/locale/share/numericdef/lt_LT.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/lt_LT.ISO8859-13.src user/edwin/locale/share/numericdef/mn_MN.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/mn_MN.UTF-8.src user/edwin/locale/share/numericdef/nl_NL.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/nl_NL.ISO8859-1.src user/edwin/locale/share/numericdef/no_NO.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/no_NO.ISO8859-1.src user/edwin/locale/share/numericdef/pl_PL.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/pl_PL.ISO8859-2.src user/edwin/locale/share/numericdef/pt_BR.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/pt_BR.ISO8859-1.src user/edwin/locale/share/numericdef/pt_PT.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/pt_PT.ISO8859-1.src user/edwin/locale/share/numericdef/ro_RO.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/ro_RO.ISO8859-2.src user/edwin/locale/share/numericdef/ru_RU.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/ru_RU.KOI8-R.src user/edwin/locale/share/numericdef/sk_SK.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/sk_SK.ISO8859-2.src user/edwin/locale/share/numericdef/sl_SI.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/sl_SI.ISO8859-2.src user/edwin/locale/share/numericdef/sr_Cyrl_YU.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/sr_YU.ISO8859-5.src user/edwin/locale/share/numericdef/sr_Latn_RS.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/sr_YU.ISO8859-2.src user/edwin/locale/share/numericdef/sv_SE.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/sv_SE.ISO8859-1.src user/edwin/locale/share/numericdef/tr_TR.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/tr_TR.ISO8859-9.src user/edwin/locale/share/numericdef/uk_UA.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/uk_UA.KOI8-U.src user/edwin/locale/share/numericdef/zh_CN.unicode - copied, changed from r196349, user/edwin/locale/share/numericdef/zh_CN.eucCN.src Deleted: user/edwin/locale/share/numericdef/af_ZA.ISO8859-1.src user/edwin/locale/share/numericdef/am_ET.UTF-8.src user/edwin/locale/share/numericdef/be_BY.CP1251.src user/edwin/locale/share/numericdef/bg_BG.CP1251.src user/edwin/locale/share/numericdef/ca_ES.ISO8859-1.src user/edwin/locale/share/numericdef/cs_CZ.ISO8859-2.src user/edwin/locale/share/numericdef/da_DK.ISO8859-1.src user/edwin/locale/share/numericdef/de_CH.ISO8859-1.src user/edwin/locale/share/numericdef/de_DE.ISO8859-1.src user/edwin/locale/share/numericdef/el_GR.ISO8859-7.src user/edwin/locale/share/numericdef/en_US.ISO8859-1.src user/edwin/locale/share/numericdef/es_ES.ISO8859-1.src user/edwin/locale/share/numericdef/et_EE.ISO8859-15.src user/edwin/locale/share/numericdef/eu_ES.ISO8859-1.src user/edwin/locale/share/numericdef/fi_FI.ISO8859-1.src user/edwin/locale/share/numericdef/fr_BE.ISO8859-1.src user/edwin/locale/share/numericdef/fr_FR.ISO8859-1.src user/edwin/locale/share/numericdef/hi_IN.ISCII-DEV.src user/edwin/locale/share/numericdef/hr_HR.ISO8859-2.src user/edwin/locale/share/numericdef/hu_HU.ISO8859-2.src user/edwin/locale/share/numericdef/hy_AM.ARMSCII-8.src user/edwin/locale/share/numericdef/is_IS.ISO8859-1.src user/edwin/locale/share/numericdef/it_IT.ISO8859-1.src user/edwin/locale/share/numericdef/ja_JP.eucJP.src user/edwin/locale/share/numericdef/kk_KZ.PT154.src user/edwin/locale/share/numericdef/ko_KR.eucKR.src user/edwin/locale/share/numericdef/lt_LT.ISO8859-13.src user/edwin/locale/share/numericdef/mn_MN.UTF-8.src user/edwin/locale/share/numericdef/nl_NL.ISO8859-1.src user/edwin/locale/share/numericdef/no_NO.ISO8859-1.src user/edwin/locale/share/numericdef/pl_PL.ISO8859-2.src user/edwin/locale/share/numericdef/pt_BR.ISO8859-1.src user/edwin/locale/share/numericdef/pt_PT.ISO8859-1.src user/edwin/locale/share/numericdef/ro_RO.ISO8859-2.src user/edwin/locale/share/numericdef/ru_RU.KOI8-R.src user/edwin/locale/share/numericdef/sk_SK.ISO8859-2.src user/edwin/locale/share/numericdef/sl_SI.ISO8859-2.src user/edwin/locale/share/numericdef/sr_YU.ISO8859-2.src user/edwin/locale/share/numericdef/sr_YU.ISO8859-5.src user/edwin/locale/share/numericdef/sv_SE.ISO8859-1.src user/edwin/locale/share/numericdef/tr_TR.ISO8859-9.src user/edwin/locale/share/numericdef/uk_UA.KOI8-U.src user/edwin/locale/share/numericdef/zh_CN.eucCN.src Copied and modified: user/edwin/locale/share/numericdef/af_ZA.unicode (from r196349, user/edwin/locale/share/numericdef/af_ZA.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/af_ZA.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/af_ZA.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/am_ET.unicode (from r196349, user/edwin/locale/share/numericdef/am_ET.UTF-8.src) ============================================================================== --- user/edwin/locale/share/numericdef/am_ET.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/am_ET.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -. + # thousands_sep -, + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/be_BY.unicode (from r196349, user/edwin/locale/share/numericdef/be_BY.CP1251.src) ============================================================================== --- user/edwin/locale/share/numericdef/be_BY.CP1251.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/be_BY.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -3,9 +3,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/bg_BG.unicode (from r196349, user/edwin/locale/share/numericdef/bg_BG.CP1251.src) ============================================================================== --- user/edwin/locale/share/numericdef/bg_BG.CP1251.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/bg_BG.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/ca_ES.unicode (from r196349, user/edwin/locale/share/numericdef/ca_ES.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/ca_ES.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/ca_ES.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; -1 # EOF Copied and modified: user/edwin/locale/share/numericdef/cs_CZ.unicode (from r196349, user/edwin/locale/share/numericdef/cs_CZ.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/numericdef/cs_CZ.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/cs_CZ.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/da_DK.unicode (from r196349, user/edwin/locale/share/numericdef/da_DK.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/da_DK.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/da_DK.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/de_CH.unicode (from r196349, user/edwin/locale/share/numericdef/de_CH.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/de_CH.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/de_CH.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -. + # thousands_sep -' + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/de_DE.unicode (from r196349, user/edwin/locale/share/numericdef/de_DE.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/de_DE.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/de_DE.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; -1 # EOF Copied and modified: user/edwin/locale/share/numericdef/el_GR.unicode (from r196349, user/edwin/locale/share/numericdef/el_GR.ISO8859-7.src) ============================================================================== --- user/edwin/locale/share/numericdef/el_GR.ISO8859-7.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/el_GR.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/en_US.unicode (from r196349, user/edwin/locale/share/numericdef/en_US.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/en_US.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/en_US.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -. + # thousands_sep -, + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/es_ES.unicode (from r196349, user/edwin/locale/share/numericdef/es_ES.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/es_ES.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/es_ES.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; -1 # EOF Copied and modified: user/edwin/locale/share/numericdef/et_EE.unicode (from r196349, user/edwin/locale/share/numericdef/et_EE.ISO8859-15.src) ============================================================================== --- user/edwin/locale/share/numericdef/et_EE.ISO8859-15.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/et_EE.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/eu_ES.unicode (from r196349, user/edwin/locale/share/numericdef/eu_ES.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/eu_ES.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/eu_ES.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping, separated by ; -1 # EOF Copied and modified: user/edwin/locale/share/numericdef/fi_FI.unicode (from r196349, user/edwin/locale/share/numericdef/fi_FI.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/fi_FI.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/fi_FI.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/fr_BE.unicode (from r196349, user/edwin/locale/share/numericdef/fr_BE.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/fr_BE.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/fr_BE.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping, separated by ; -1 # EOF Copied and modified: user/edwin/locale/share/numericdef/fr_FR.unicode (from r196349, user/edwin/locale/share/numericdef/fr_FR.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/fr_FR.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/fr_FR.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; -1 # EOF Copied and modified: user/edwin/locale/share/numericdef/hi_IN.unicode (from r196349, user/edwin/locale/share/numericdef/hi_IN.ISCII-DEV.src) ============================================================================== --- user/edwin/locale/share/numericdef/hi_IN.ISCII-DEV.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/hi_IN.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -. + # thousands_sep -, + # grouping, separated by ; 2;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/hr_HR.unicode (from r196349, user/edwin/locale/share/numericdef/hr_HR.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/numericdef/hr_HR.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/hr_HR.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 0;0 # EOF Copied and modified: user/edwin/locale/share/numericdef/hu_HU.unicode (from r196349, user/edwin/locale/share/numericdef/hu_HU.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/numericdef/hu_HU.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/hu_HU.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/hy_AM.unicode (from r196349, user/edwin/locale/share/numericdef/hy_AM.ARMSCII-8.src) ============================================================================== --- user/edwin/locale/share/numericdef/hy_AM.ARMSCII-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/hy_AM.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -7,9 +7,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/is_IS.unicode (from r196349, user/edwin/locale/share/numericdef/is_IS.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/is_IS.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/is_IS.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/it_IT.unicode (from r196349, user/edwin/locale/share/numericdef/it_IT.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/it_IT.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/it_IT.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping, separated by ; 0;0 # EOF Copied and modified: user/edwin/locale/share/numericdef/ja_JP.unicode (from r196349, user/edwin/locale/share/numericdef/ja_JP.eucJP.src) ============================================================================== --- user/edwin/locale/share/numericdef/ja_JP.eucJP.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/ja_JP.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -. + # thousands_sep -, + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/kk_KZ.unicode (from r196349, user/edwin/locale/share/numericdef/kk_KZ.PT154.src) ============================================================================== --- user/edwin/locale/share/numericdef/kk_KZ.PT154.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/kk_KZ.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/ko_KR.unicode (from r196349, user/edwin/locale/share/numericdef/ko_KR.eucKR.src) ============================================================================== --- user/edwin/locale/share/numericdef/ko_KR.eucKR.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/ko_KR.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -. + # thousands_sep -, + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/lt_LT.unicode (from r196349, user/edwin/locale/share/numericdef/lt_LT.ISO8859-13.src) ============================================================================== --- user/edwin/locale/share/numericdef/lt_LT.ISO8859-13.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/lt_LT.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/mn_MN.unicode (from r196349, user/edwin/locale/share/numericdef/mn_MN.UTF-8.src) ============================================================================== --- user/edwin/locale/share/numericdef/mn_MN.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/mn_MN.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -. + # thousands_sep -, + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/nl_NL.unicode (from r196349, user/edwin/locale/share/numericdef/nl_NL.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/nl_NL.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/nl_NL.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; -1 # EOF Copied and modified: user/edwin/locale/share/numericdef/no_NO.unicode (from r196349, user/edwin/locale/share/numericdef/no_NO.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/no_NO.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/no_NO.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/pl_PL.unicode (from r196349, user/edwin/locale/share/numericdef/pl_PL.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/numericdef/pl_PL.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/pl_PL.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/pt_BR.unicode (from r196349, user/edwin/locale/share/numericdef/pt_BR.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/pt_BR.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/pt_BR.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep -. + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/pt_PT.unicode (from r196349, user/edwin/locale/share/numericdef/pt_PT.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/pt_PT.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/pt_PT.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 0;0 # EOF Copied and modified: user/edwin/locale/share/numericdef/ro_RO.unicode (from r196349, user/edwin/locale/share/numericdef/ro_RO.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/numericdef/ro_RO.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/ro_RO.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/ru_RU.unicode (from r196349, user/edwin/locale/share/numericdef/ru_RU.KOI8-R.src) ============================================================================== --- user/edwin/locale/share/numericdef/ru_RU.KOI8-R.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/ru_RU.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/sk_SK.unicode (from r196349, user/edwin/locale/share/numericdef/sk_SK.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/numericdef/sk_SK.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/sk_SK.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -6,9 +6,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/sl_SI.unicode (from r196349, user/edwin/locale/share/numericdef/sl_SI.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/numericdef/sl_SI.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/sl_SI.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 0;0 # EOF Copied and modified: user/edwin/locale/share/numericdef/sr_Cyrl_YU.unicode (from r196349, user/edwin/locale/share/numericdef/sr_YU.ISO8859-5.src) ============================================================================== --- user/edwin/locale/share/numericdef/sr_YU.ISO8859-5.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/sr_Cyrl_YU.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/sr_Latn_RS.unicode (from r196349, user/edwin/locale/share/numericdef/sr_YU.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/numericdef/sr_YU.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/sr_Latn_RS.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 0;0 # EOF Copied and modified: user/edwin/locale/share/numericdef/sv_SE.unicode (from r196349, user/edwin/locale/share/numericdef/sv_SE.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/numericdef/sv_SE.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/sv_SE.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/tr_TR.unicode (from r196349, user/edwin/locale/share/numericdef/tr_TR.ISO8859-9.src) ============================================================================== --- user/edwin/locale/share/numericdef/tr_TR.ISO8859-9.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/tr_TR.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 0;0 # EOF Copied and modified: user/edwin/locale/share/numericdef/uk_UA.unicode (from r196349, user/edwin/locale/share/numericdef/uk_UA.KOI8-U.src) ============================================================================== --- user/edwin/locale/share/numericdef/uk_UA.KOI8-U.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/uk_UA.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -, + # thousands_sep - + # grouping, separated by ; 3;3 # EOF Copied and modified: user/edwin/locale/share/numericdef/zh_CN.unicode (from r196349, user/edwin/locale/share/numericdef/zh_CN.eucCN.src) ============================================================================== --- user/edwin/locale/share/numericdef/zh_CN.eucCN.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/numericdef/zh_CN.unicode Fri Sep 4 07:33:17 2009 (r196817) @@ -4,9 +4,9 @@ # WARNING: empty lines are essential too # # decimal_point -. + # thousands_sep -, + # grouping, separated by ; 3;3 # EOF From owner-svn-src-user@FreeBSD.ORG Fri Sep 4 08:21:50 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 207C3106566C; Fri, 4 Sep 2009 08:21:50 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0F8298FC1B; Fri, 4 Sep 2009 08:21:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n848LniC059152; Fri, 4 Sep 2009 08:21:49 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n848Lngb059150; Fri, 4 Sep 2009 08:21:49 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909040821.n848Lngb059150@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 4 Sep 2009 08:21:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196821 - user/edwin/locale/share/numericdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2009 08:21:50 -0000 Author: edwin Date: Fri Sep 4 08:21:49 2009 New Revision: 196821 URL: http://svn.freebsd.org/changeset/base/196821 Log: new makefile for numericdef Modified: user/edwin/locale/share/numericdef/Makefile Modified: user/edwin/locale/share/numericdef/Makefile ============================================================================== --- user/edwin/locale/share/numericdef/Makefile Fri Sep 4 07:44:58 2009 (r196820) +++ user/edwin/locale/share/numericdef/Makefile Fri Sep 4 08:21:49 2009 (r196821) @@ -1,131 +1,97 @@ # $FreeBSD$ -LOCALES= af_ZA.ISO8859-1 \ - am_ET.UTF-8 \ - be_BY.CP1251 \ - bg_BG.CP1251 \ - ca_ES.ISO8859-1 \ - cs_CZ.ISO8859-2 \ - da_DK.ISO8859-1 \ - de_CH.ISO8859-1 \ - de_DE.ISO8859-1 \ - el_GR.ISO8859-7 \ - en_US.ISO8859-1 \ - es_ES.ISO8859-1 \ - et_EE.ISO8859-15 \ - eu_ES.ISO8859-1 \ - fi_FI.ISO8859-1 \ - fr_BE.ISO8859-1 \ - fr_FR.ISO8859-1 \ - hi_IN.ISCII-DEV \ - hr_HR.ISO8859-2 \ - hu_HU.ISO8859-2 \ - hy_AM.ARMSCII-8 \ - is_IS.ISO8859-1 \ - it_IT.ISO8859-1 \ - ja_JP.eucJP \ - kk_KZ.PT154 \ - ko_KR.eucKR \ - lt_LT.ISO8859-13 \ - mn_MN.UTF-8 \ - nl_NL.ISO8859-1 \ - no_NO.ISO8859-1 \ - pl_PL.ISO8859-2 \ - pt_BR.ISO8859-1 \ - pt_PT.ISO8859-1 \ - ro_RO.ISO8859-2 \ - ru_RU.KOI8-R \ - sk_SK.ISO8859-2 \ - sl_SI.ISO8859-2 \ - sr_YU.ISO8859-2 \ - sr_YU.ISO8859-5 \ - sv_SE.ISO8859-1 \ - tr_TR.ISO8859-9 \ - uk_UA.KOI8-U \ - zh_CN.eucCN +# All locales to be created. +CCLN= af_ZA am_ET be_BY bg_BG ca_ES cs_CZ da_DK de_CH \ + de_DE el_GR en_US es_ES et_EE eu_ES fi_FI fr_BE \ + fr_FR hi_IN hr_HR hu_HU hy_AM is_IS it_IT ja_JP \ + kk_KZ ko_KR lt_LT mn_MN nl_NL no_NO pl_PL pt_BR \ + pt_PT ro_RO ru_RU sk_SK sl_SI sr_Cyrl_YU sr_Latn_RS \ + sv_SE tr_TR uk_UA zh_CN + +# For these locales, beside creating the UTF-8 map also create these +# charactermaps. +CMS_ca_ES= ca_AD ca_FR ca_IT +CMS_de_DE= de_AT +CMS_en_US= en_AU en_CA en_GB en_NZ +CMS_fr_BE= nl_BE +CMS_fr_FR= fr_CA fr_CH +CMS_hi_IN= ISCII-DEV +CMS_it_IT= it_CH +CMS_no_NO= nb_NO nn_NO + +# For these locales, link the following charactermaps to the UTF-8 map. +# (unless the origin charactermap is defined) +CMSLINK_af_ZA= ISO8859-1 ISO8859-15 +CMSLINK_be_BY= CP1131 CP1251 ISO8859-5 +CMSLINK_bg_BG= CP1251 +CMSLINK_ca_ES= ISO8859-1 ISO8859-15 +CMSLINK_cs_CZ= ISO8859-2 +CMSLINK_da_DK= ISO8859-1 ISO8859-15 +CMSLINK_de_CH= ISO8859-1 ISO8859-15 +CMSLINK_de_DE= ISO8859-1 ISO8859-15 +CMSLINK_el_GR= ISO8859-7 +CMSLINK_en_US= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_es_ES= ISO8859-1 ISO8859-15 +CMSLINK_et_EE= ISO8859-15 +CMSLINK_eu_ES= ISO8859-1 ISO8859-15 +CMSLINK_fi_FI= ISO8859-1 ISO8859-15 +CMSLINK_fr_FR= ISO8859-1 ISO8859-15 +CMSLINK_fr_BE= ISO8859-1 ISO8859-15 +CMSLINK_hr_HR= ISO8859-2 +CMSLINK_hu_HU= ISO8859-2 +CMSLINK_hy_AM= ARMSCII-8 +CMSLINK_is_IS= ISO8859-1 ISO8859-15 +CMSLINK_it_IT= ISO8859-1 ISO8859-15 +CMSLINK_ja_JP= SJIS eucJP +CMSLINK_kk_KZ= PT154 +CMSLINK_ko_KR= CP949 eucKR +CMSLINK_lt_LT= ISO8859-4 ISO8859-13 +CMSLINK_nl_NL= ISO8859-1 ISO8859-15 +CMSLINK_no_NO= ISO8859-1 ISO8859-15 +CMSLINK_pl_PL= ISO8859-2 +CMSLINK_pt_BR= ISO8859-1 +CMSLINK_pt_PT= ISO8859-1 ISO8859-15 +CMSLINK_ro_RO= ISO8859-2 +CMSLINK_ru_RU= CP1251 CP886 ISO8859-5 KOI8-R +CMSLINK_sk_SK= ISO8859-2 +CMSLINK_si_SI= ISO8859-2 +CMSLINK_sr_Latn_RS= ISO8859-2 +CMSLINK_sr_Cyrl_RS= ISO8859-5 +CMSLINK_sv_SE= ISO8859-1 ISO8859-15 +CMSLINK_tr_TR= ISO8859-9 +CMSLINK_uk_UA= CP1251 ISO8859-5 KOI8-U +CMSLINK_zh_Hans_CN= GB18030 GB2312 GBK eucCN + +# For these locales, also create symlinks to the main locale. +CCLNLINK_en_GB.UTF-8= en_IE.UTF-8 +CCLNLINK_en_US.UTF-8= he_IL.UTF-8 +CCLNLINK_zh_Hans_CN.UTF-8= zh_Hant_HK.Big5HKSCS zh_Hant_HK.UTF-8 zh_Hant_TW.Big5 zh_Hant_TW.UTF-8 + +# For these locales, create symlinks to the main locale for historical reasons. +LEGLINK_ja_JP= jp_JP +LEGLINK_zh_Hans_CN= zh_CN +LEGLINK_zh_Hant_TW= zh_TW zh_HK +LEGLINK_sr_Cyrl_RS= sr_YU +LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 +LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK + +# +# In theory there are no parts after here which should be touched when adding +# or removing locales and charactermaps. +# +# Required variables +LCTYPE= LC_NUMERIC LOCALEDIR= /usr/share/locale -.SUFFIXES: .src .out - -.src.out: - grep -v '^#' < ${.IMPSRC} > ${.TARGET} - -FILES= ${LOCALES:S/$/.out/} -FILESNAME= LC_NUMERIC - -.for locale in ${LOCALES} -FILESDIR_${locale}.out= ${LOCALEDIR}/${locale} -.endfor - -CLEANFILES= ${FILES} - -ENCODINGS= ARMSCII-8 Big5 Big5HKSCS \ - CP1131 CP1251 CP866 CP949 \ - eucCN eucJP eucKR GB18030 GB2312 GBK \ - ISO8859-1 ISO8859-2 ISO8859-4 ISO8859-5 ISO8859-7 ISO8859-9 \ - ISO8859-13 ISO8859-15 \ - KOI8-R KOI8-U PT154 SJIS US-ASCII UTF-8 - -BE_LINKS= fr_BE:nl_BE -CA_LINKS= ca_ES:ca_AD ca_ES:ca_FR ca_ES:ca_IT -DE_LINKS= de_DE:de_AT -FR_LINKS= fr_FR:fr_CA fr_FR:fr_CH -GB_LINKS= en_GB:en_AU en_GB:en_NZ -IT_LINKS= it_IT:it_CH -NO_LINKS= no_NO:nb_NO no_NO:nn_NO -US_LINKS= en_US:en_CA en_US:en_GB - -ARMSCII-8_UTF-8= hy_AM -Big5_UTF-8= zh_TW:zh_HK zh_TW -CP1251_CP1131= be_BY -CP1251_ISO8859-5= be_BY -CP1251_UTF-8= be_BY bg_BG -CP866_UTF-8= ru_RU -eucCN_Big5= zh_CN:zh_TW -eucCN_Big5HKSCS= zh_CN:zh_HK -eucCN_GB18030= zh_CN -eucCN_GB2312= zh_CN -eucCN_GBK= zh_CN -eucCN_UTF-8= zh_CN -eucJP_SJIS= ja_JP -eucJP_UTF-8= ja_JP -eucKR_CP949= ko_KR -eucKR_UTF-8= ko_KR -ISO8859-1_ISO8859-15= af_ZA ca_ES da_DK de_CH de_DE en_US es_ES eu_ES \ - fi_FI fr_BE fr_FR is_IS it_CH it_IT nl_NL no_NO pt_PT sv_SE \ - ${BE_LINKS} ${CA_LINKS} ${DE_LINKS} ${FR_LINKS} ${GB_LINKS} \ - ${IT_LINKS} ${NO_LINKS} ${US_LINKS} -ISO8859-1_ISO8859-1= ${BE_LINKS} ${CA_LINKS} ${DE_LINKS} ${FR_LINKS} \ - ${GB_LINKS} ${IT_LINKS} ${NO_LINKS} ${US_LINKS} -ISO8859-1_US-ASCII= en_US ${GB_LINKS} ${US_LINKS} -ISO8859-1_UTF-8= af_ZA ca_ES da_DK de_CH de_DE en_US es_ES eu_ES fi_FI \ - fr_BE fr_FR is_IS it_IT nl_NL no_NO pt_BR pt_PT sv_SE -ISO8859-2_UTF-8= cs_CZ hr_HR hu_HU pl_PL ro_RO sk_SK sl_SI -ISO8859-5_UTF-8= sr_YU uk_UA -ISO8859-5_CP1251= uk_UA -ISO8859-7_UTF-8= el_GR -ISO8859-9_UTF-8= tr_TR -ISO8859-13_ISO8859-4= lt_LT -ISO8859-13_UTF-8= lt_LT -ISO8859-15_UTF-8= et_EE -KOI8-R_CP1251= ru_RU -KOI8-R_CP866= ru_RU -KOI8-R_ISO8859-5= ru_RU -KOI8-U_ISO8859-5= uk_UA -PT154_UTF-8= kk_KZ -US-ASCII_UTF-8= en_US:he_IL -UTF-8_UTF-8= ${BE_LINKS} ${CA_LINKS} ${DE_LINKS} ${FR_LINKS} ${GB_LINKS} \ - en_GB:en_IE ${IT_LINKS} ${NO_LINKS} ${US_LINKS} - -SYMLINKS= -.for enc1 in ${ENCODINGS} -.for enc2 in ${ENCODINGS} -.for lang_terr in ${${enc1}_${enc2}} -SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} -.endfor -.endfor -.endfor +# For testing only +DESTDIR= /home/edwin/locale/new/ +SHAREOWN= edwin +SHAREGRP= edwin + +# +# All variables +# +.include "../Makefile.def.inc" .include From owner-svn-src-user@FreeBSD.ORG Fri Sep 4 18:40:04 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71342106566B; Fri, 4 Sep 2009 18:40:04 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5F8A38FC15; Fri, 4 Sep 2009 18:40:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n84Ie4Gm095803; Fri, 4 Sep 2009 18:40:04 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n84Ie3vh095800; Fri, 4 Sep 2009 18:40:03 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909041840.n84Ie3vh095800@svn.freebsd.org> From: Kip Macy Date: Fri, 4 Sep 2009 18:40:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196832 - in user/kmacy/head_zfs_merge/sys: conf opencrypto X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2009 18:40:04 -0000 Author: kmacy Date: Fri Sep 4 18:40:03 2009 New Revision: 196832 URL: http://svn.freebsd.org/changeset/base/196832 Log: resolve naming conflict with zlib Added: user/kmacy/head_zfs_merge/sys/opencrypto/opencrypto_deflate.c - copied unchanged from r196685, user/kmacy/head_zfs_merge/sys/opencrypto/deflate.c Deleted: user/kmacy/head_zfs_merge/sys/opencrypto/deflate.c Modified: user/kmacy/head_zfs_merge/sys/conf/files Modified: user/kmacy/head_zfs_merge/sys/conf/files ============================================================================== --- user/kmacy/head_zfs_merge/sys/conf/files Fri Sep 4 18:21:40 2009 (r196831) +++ user/kmacy/head_zfs_merge/sys/conf/files Fri Sep 4 18:40:03 2009 (r196832) @@ -2560,7 +2560,7 @@ opencrypto/crypto.c optional crypto opencrypto/cryptodev.c optional cryptodev opencrypto/cryptodev_if.m optional crypto opencrypto/cryptosoft.c optional crypto -opencrypto/deflate.c optional crypto +opencrypto/opencrypto_deflate.c optional crypto opencrypto/rmd160.c optional crypto | ipsec opencrypto/skipjack.c optional crypto opencrypto/xform.c optional crypto Copied: user/kmacy/head_zfs_merge/sys/opencrypto/opencrypto_deflate.c (from r196685, user/kmacy/head_zfs_merge/sys/opencrypto/deflate.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/kmacy/head_zfs_merge/sys/opencrypto/opencrypto_deflate.c Fri Sep 4 18:40:03 2009 (r196832, copy of r196685, user/kmacy/head_zfs_merge/sys/opencrypto/deflate.c) @@ -0,0 +1,192 @@ +/* $OpenBSD: deflate.c,v 1.3 2001/08/20 02:45:22 hugh Exp $ */ + +/*- + * Copyright (c) 2001 Jean-Jacques Bernard-Gundol (jj@wabbitt.org) + * + * 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. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + */ + +/* + * This file contains a wrapper around the deflate algo compression + * functions using the zlib library (see net/zlib.{c,h}) + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include +#include + +int window_inflate = -1 * MAX_WBITS; +int window_deflate = -12; + +/* + * This function takes a block of data and (de)compress it using the deflate + * algorithm + */ + +u_int32_t +deflate_global(data, size, decomp, out) + u_int8_t *data; + u_int32_t size; + int decomp; + u_int8_t **out; +{ + /* decomp indicates whether we compress (0) or decompress (1) */ + + z_stream zbuf; + u_int8_t *output; + u_int32_t count, result; + int error, i = 0, j; + struct deflate_buf buf[ZBUF]; + + bzero(&zbuf, sizeof(z_stream)); + for (j = 0; j < ZBUF; j++) + buf[j].flag = 0; + + zbuf.next_in = data; /* data that is going to be processed */ + zbuf.zalloc = z_alloc; + zbuf.zfree = z_free; + zbuf.opaque = Z_NULL; + zbuf.avail_in = size; /* Total length of data to be processed */ + + if (!decomp) { + buf[i].out = malloc((u_long) size, M_CRYPTO_DATA, + M_NOWAIT); + if (buf[i].out == NULL) + goto bad; + buf[i].size = size; + buf[i].flag = 1; + i++; + } else { + /* + * Choose a buffer with 4x the size of the input buffer + * for the size of the output buffer in the case of + * decompression. If it's not sufficient, it will need to be + * updated while the decompression is going on + */ + + buf[i].out = malloc((u_long) (size * 4), + M_CRYPTO_DATA, M_NOWAIT); + if (buf[i].out == NULL) + goto bad; + buf[i].size = size * 4; + buf[i].flag = 1; + i++; + } + + zbuf.next_out = buf[0].out; + zbuf.avail_out = buf[0].size; + + error = decomp ? inflateInit2(&zbuf, window_inflate) : + deflateInit2(&zbuf, Z_DEFAULT_COMPRESSION, Z_METHOD, + window_deflate, Z_MEMLEVEL, Z_DEFAULT_STRATEGY); + + if (error != Z_OK) + goto bad; + for (;;) { + error = decomp ? inflate(&zbuf, Z_PARTIAL_FLUSH) : + deflate(&zbuf, Z_PARTIAL_FLUSH); + if (error != Z_OK && error != Z_STREAM_END) + goto bad; + else if (zbuf.avail_in == 0 && zbuf.avail_out != 0) + goto end; + else if (zbuf.avail_out == 0 && i < (ZBUF - 1)) { + /* we need more output space, allocate size */ + buf[i].out = malloc((u_long) size, + M_CRYPTO_DATA, M_NOWAIT); + if (buf[i].out == NULL) + goto bad; + zbuf.next_out = buf[i].out; + buf[i].size = size; + buf[i].flag = 1; + zbuf.avail_out = buf[i].size; + i++; + } else + goto bad; + } + +end: + result = count = zbuf.total_out; + + *out = malloc((u_long) result, M_CRYPTO_DATA, M_NOWAIT); + if (*out == NULL) + goto bad; + if (decomp) + inflateEnd(&zbuf); + else + deflateEnd(&zbuf); + output = *out; + for (j = 0; buf[j].flag != 0; j++) { + if (count > buf[j].size) { + bcopy(buf[j].out, *out, buf[j].size); + *out += buf[j].size; + free(buf[j].out, M_CRYPTO_DATA); + count -= buf[j].size; + } else { + /* it should be the last buffer */ + bcopy(buf[j].out, *out, count); + *out += count; + free(buf[j].out, M_CRYPTO_DATA); + count = 0; + } + } + *out = output; + return result; + +bad: + *out = NULL; + for (j = 0; buf[j].flag != 0; j++) + free(buf[j].out, M_CRYPTO_DATA); + if (decomp) + inflateEnd(&zbuf); + else + deflateEnd(&zbuf); + return 0; +} + +void * +z_alloc(nil, type, size) + void *nil; + u_int type, size; +{ + void *ptr; + + ptr = malloc(type *size, M_CRYPTO_DATA, M_NOWAIT); + return ptr; +} + +void +z_free(nil, ptr) + void *nil, *ptr; +{ + free(ptr, M_CRYPTO_DATA); +} From owner-svn-src-user@FreeBSD.ORG Fri Sep 4 18:57:40 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFD9010657EE; Fri, 4 Sep 2009 18:57:40 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BF7D68FC19; Fri, 4 Sep 2009 18:57:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n84Ive4c099315; Fri, 4 Sep 2009 18:57:40 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n84Ivedq099313; Fri, 4 Sep 2009 18:57:40 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909041857.n84Ivedq099313@svn.freebsd.org> From: Kip Macy Date: Fri, 4 Sep 2009 18:57:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196834 - user/kmacy/head_zfs_merge/sys/modules/crypto X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2009 18:57:40 -0000 Author: kmacy Date: Fri Sep 4 18:57:40 2009 New Revision: 196834 URL: http://svn.freebsd.org/changeset/base/196834 Log: update to reflect deflate rename Modified: user/kmacy/head_zfs_merge/sys/modules/crypto/Makefile Modified: user/kmacy/head_zfs_merge/sys/modules/crypto/Makefile ============================================================================== --- user/kmacy/head_zfs_merge/sys/modules/crypto/Makefile Fri Sep 4 18:52:26 2009 (r196833) +++ user/kmacy/head_zfs_merge/sys/modules/crypto/Makefile Fri Sep 4 18:57:40 2009 (r196834) @@ -11,7 +11,7 @@ KMOD = crypto SRCS = crypto.c cryptodev_if.c SRCS += criov.c cryptosoft.c xform.c -SRCS += cast.c deflate.c rmd160.c rijndael-alg-fst.c rijndael-api.c +SRCS += cast.c opencrypto_deflate.c rmd160.c rijndael-alg-fst.c rijndael-api.c SRCS += skipjack.c bf_enc.c bf_skey.c SRCS += des_ecb.c des_enc.c des_setkey.c SRCS += sha1.c sha2.c From owner-svn-src-user@FreeBSD.ORG Fri Sep 4 22:49:38 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFDF6106566C; Fri, 4 Sep 2009 22:49:38 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9F77E8FC18; Fri, 4 Sep 2009 22:49:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n84Mncfb023341; Fri, 4 Sep 2009 22:49:38 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n84Mncgq023338; Fri, 4 Sep 2009 22:49:38 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909042249.n84Mncgq023338@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 4 Sep 2009 22:49:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196845 - user/edwin/locale/share/numericdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2009 22:49:38 -0000 Author: edwin Date: Fri Sep 4 22:49:38 2009 New Revision: 196845 URL: http://svn.freebsd.org/changeset/base/196845 Log: - Give sr_Cyrl_YU the right name (sr_Cyrl_RS) - Update Makefile for the new format. Added: user/edwin/locale/share/numericdef/sr_Cyrl_RS.unicode - copied unchanged from r196817, user/edwin/locale/share/numericdef/sr_Cyrl_YU.unicode Deleted: user/edwin/locale/share/numericdef/sr_Cyrl_YU.unicode Modified: user/edwin/locale/share/numericdef/Makefile Modified: user/edwin/locale/share/numericdef/Makefile ============================================================================== --- user/edwin/locale/share/numericdef/Makefile Fri Sep 4 22:45:07 2009 (r196844) +++ user/edwin/locale/share/numericdef/Makefile Fri Sep 4 22:49:38 2009 (r196845) @@ -5,22 +5,18 @@ CCLN= af_ZA am_ET be_BY bg_BG de_DE el_GR en_US es_ES et_EE eu_ES fi_FI fr_BE \ fr_FR hi_IN hr_HR hu_HU hy_AM is_IS it_IT ja_JP \ kk_KZ ko_KR lt_LT mn_MN nl_NL no_NO pl_PL pt_BR \ - pt_PT ro_RO ru_RU sk_SK sl_SI sr_Cyrl_YU sr_Latn_RS \ + pt_PT ro_RO ru_RU sk_SK sl_SI sr_Cyrl_RS sr_Latn_RS \ sv_SE tr_TR uk_UA zh_CN # For these locales, beside creating the UTF-8 map also create these # charactermaps. -CMS_ca_ES= ca_AD ca_FR ca_IT -CMS_de_DE= de_AT -CMS_en_US= en_AU en_CA en_GB en_NZ -CMS_fr_BE= nl_BE -CMS_fr_FR= fr_CA fr_CH -CMS_hi_IN= ISCII-DEV -CMS_it_IT= it_CH -CMS_no_NO= nb_NO nn_NO +#MS_ca_ES= ISO8859-1 +#MS_de_DE= P123 # For these locales, link the following charactermaps to the UTF-8 map. # (unless the origin charactermap is defined) +#MSLINK_af_ZA= ISO8859-1 ISO8859-15 +#MSLINK_be_BY= CP1131 CP1251 ISO8859-5 CMSLINK_af_ZA= ISO8859-1 ISO8859-15 CMSLINK_be_BY= CP1131 CP1251 ISO8859-5 CMSLINK_bg_BG= CP1251 @@ -36,7 +32,7 @@ CMSLINK_et_EE= ISO8859-15 CMSLINK_eu_ES= ISO8859-1 ISO8859-15 CMSLINK_fi_FI= ISO8859-1 ISO8859-15 CMSLINK_fr_FR= ISO8859-1 ISO8859-15 -CMSLINK_fr_BE= ISO8859-1 ISO8859-15 +CMSLINK_hi_IN= ISCII-DEV CMSLINK_hr_HR= ISO8859-2 CMSLINK_hu_HU= ISO8859-2 CMSLINK_hy_AM= ARMSCII-8 @@ -52,9 +48,9 @@ CMSLINK_pl_PL= ISO8859-2 CMSLINK_pt_BR= ISO8859-1 CMSLINK_pt_PT= ISO8859-1 ISO8859-15 CMSLINK_ro_RO= ISO8859-2 -CMSLINK_ru_RU= CP1251 CP886 ISO8859-5 KOI8-R +CMSLINK_ru_RU= CP1251 CP866 ISO8859-5 KOI8-R CMSLINK_sk_SK= ISO8859-2 -CMSLINK_si_SI= ISO8859-2 +CMSLINK_sl_SI= ISO8859-2 CMSLINK_sr_Latn_RS= ISO8859-2 CMSLINK_sr_Cyrl_RS= ISO8859-5 CMSLINK_sv_SE= ISO8859-1 ISO8859-15 @@ -63,9 +59,16 @@ CMSLINK_uk_UA= CP1251 ISO8859-5 KOI8-U CMSLINK_zh_Hans_CN= GB18030 GB2312 GBK eucCN # For these locales, also create symlinks to the main locale. +#CLNLINK_af_ZA= en_GB +CCLNLINK_ca_ES= ca_AD ca_FR ca_IT +CCLNLINK_de_DE= de_AT CCLNLINK_en_GB.UTF-8= en_IE.UTF-8 +CCLNLINK_en_US= en_AU en_CA en_GB en_NZ CCLNLINK_en_US.UTF-8= he_IL.UTF-8 -CCLNLINK_zh_Hans_CN.UTF-8= zh_Hant_HK.Big5HKSCS zh_Hant_HK.UTF-8 zh_Hant_TW.Big5 zh_Hant_TW.UTF-8 +CCLNLINK_fr_FR= fr_CA fr_CH nl_BE +CCLNLINK_it_IT= it_CH +CCLNLINK_no_NO= nb_NO nn_NO +CCLNLINK_zh_HK.UTF-8= zh_Hant_HK.Big5HKSCS zh_Hant_HK.UTF-8 zh_Hant_TW.Big5 zh_Hant_TW.UTF-8 # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP Copied: user/edwin/locale/share/numericdef/sr_Cyrl_RS.unicode (from r196817, user/edwin/locale/share/numericdef/sr_Cyrl_YU.unicode) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/numericdef/sr_Cyrl_RS.unicode Fri Sep 4 22:49:38 2009 (r196845, copy of r196817, user/edwin/locale/share/numericdef/sr_Cyrl_YU.unicode) @@ -0,0 +1,12 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# decimal_point + +# thousands_sep + +# grouping, separated by ; +3;3 +# EOF From owner-svn-src-user@FreeBSD.ORG Fri Sep 4 23:12:00 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C630C1065694; Fri, 4 Sep 2009 23:12:00 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B29998FC1F; Fri, 4 Sep 2009 23:12:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n84NC0EH025178; Fri, 4 Sep 2009 23:12:00 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n84NBxb7025139; Fri, 4 Sep 2009 23:11:59 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909042311.n84NBxb7025139@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 4 Sep 2009 23:11:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196846 - user/edwin/locale/share/monetdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2009 23:12:00 -0000 Author: edwin Date: Fri Sep 4 23:11:59 2009 New Revision: 196846 URL: http://svn.freebsd.org/changeset/base/196846 Log: Initial move to unicode encoded characters for monetdef. Added: user/edwin/locale/share/monetdef/af_ZA.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/af_ZA.ISO8859-1.src user/edwin/locale/share/monetdef/am_ET.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/am_ET.UTF-8.src user/edwin/locale/share/monetdef/be_BY.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/be_BY.UTF-8.src user/edwin/locale/share/monetdef/bg_BG.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/bg_BG.UTF-8.src user/edwin/locale/share/monetdef/ca_ES.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/ca_ES.ISO8859-1.src user/edwin/locale/share/monetdef/cs_CZ.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/cs_CZ.UTF-8.src user/edwin/locale/share/monetdef/da_DK.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/da_DK.ISO8859-1.src user/edwin/locale/share/monetdef/de_AT.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/de_AT.ISO8859-1.src user/edwin/locale/share/monetdef/de_CH.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/de_CH.ISO8859-1.src user/edwin/locale/share/monetdef/de_DE.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/de_DE.ISO8859-1.src user/edwin/locale/share/monetdef/el_GR.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/el_GR.ISO8859-7.src user/edwin/locale/share/monetdef/en_AU.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/en_AU.ISO8859-1.src user/edwin/locale/share/monetdef/en_CA.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/en_CA.ISO8859-1.src user/edwin/locale/share/monetdef/en_GB.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/en_GB.UTF-8.src user/edwin/locale/share/monetdef/en_IE.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/en_IE.UTF-8.src user/edwin/locale/share/monetdef/en_NZ.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/en_NZ.ISO8859-1.src user/edwin/locale/share/monetdef/en_US.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/en_US.ISO8859-1.src user/edwin/locale/share/monetdef/es_ES.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/es_ES.ISO8859-1.src user/edwin/locale/share/monetdef/et_EE.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/et_EE.ISO8859-15.src user/edwin/locale/share/monetdef/fi_FI.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/fi_FI.ISO8859-1.src user/edwin/locale/share/monetdef/fr_BE.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/fr_BE.ISO8859-1.src user/edwin/locale/share/monetdef/fr_CA.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/fr_CA.ISO8859-1.src user/edwin/locale/share/monetdef/fr_FR.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/fr_FR.ISO8859-1.src user/edwin/locale/share/monetdef/he_IL.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/he_IL.UTF-8.src user/edwin/locale/share/monetdef/hi_IN.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/hi_IN.ISCII-DEV.src user/edwin/locale/share/monetdef/hr_HR.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/hr_HR.ISO8859-2.src user/edwin/locale/share/monetdef/hu_HU.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/hu_HU.ISO8859-2.src user/edwin/locale/share/monetdef/hy_AM.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/hy_AM.UTF-8.src user/edwin/locale/share/monetdef/is_IS.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/is_IS.ISO8859-1.src user/edwin/locale/share/monetdef/it_IT.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/it_IT.ISO8859-1.src user/edwin/locale/share/monetdef/ja_JP.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/ja_JP.UTF-8.src user/edwin/locale/share/monetdef/kk_KZ.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/kk_KZ.UTF-8.src user/edwin/locale/share/monetdef/ko_KR.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/ko_KR.UTF-8.src user/edwin/locale/share/monetdef/lt_LT.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/lt_LT.ISO8859-13.src user/edwin/locale/share/monetdef/mn_MN.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/mn_MN.UTF-8.src user/edwin/locale/share/monetdef/nl_BE.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/nl_BE.ISO8859-1.src user/edwin/locale/share/monetdef/nl_NL.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/nl_NL.ISO8859-1.src user/edwin/locale/share/monetdef/no_NO.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/no_NO.ISO8859-1.src user/edwin/locale/share/monetdef/pl_PL.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/pl_PL.UTF-8.src user/edwin/locale/share/monetdef/pt_BR.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/pt_BR.ISO8859-1.src user/edwin/locale/share/monetdef/pt_PT.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/pt_PT.UTF-8.src user/edwin/locale/share/monetdef/ro_RO.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/ro_RO.ISO8859-2.src user/edwin/locale/share/monetdef/ru_RU.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/ru_RU.UTF-8.src user/edwin/locale/share/monetdef/sk_SK.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/sk_SK.ISO8859-2.src user/edwin/locale/share/monetdef/sl_SI.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/sl_SI.ISO8859-2.src user/edwin/locale/share/monetdef/sr_Cyrl_RS.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/sr_YU.UTF-8.src user/edwin/locale/share/monetdef/sr_Latn_RS.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/sr_YU.ISO8859-2.src user/edwin/locale/share/monetdef/sv_SE.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/sv_SE.ISO8859-1.src user/edwin/locale/share/monetdef/tr_TR.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/tr_TR.ISO8859-9.src user/edwin/locale/share/monetdef/uk_UA.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/uk_UA.UTF-8.src user/edwin/locale/share/monetdef/zh_CN.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/zh_CN.UTF-8.src user/edwin/locale/share/monetdef/zh_HK.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/zh_HK.UTF-8.src user/edwin/locale/share/monetdef/zh_TW.unicode - copied, changed from r196349, user/edwin/locale/share/monetdef/zh_TW.Big5.src Deleted: user/edwin/locale/share/monetdef/af_ZA.ISO8859-1.src user/edwin/locale/share/monetdef/am_ET.UTF-8.src user/edwin/locale/share/monetdef/be_BY.CP1131.src user/edwin/locale/share/monetdef/be_BY.CP1251.src user/edwin/locale/share/monetdef/be_BY.ISO8859-5.src user/edwin/locale/share/monetdef/be_BY.UTF-8.src user/edwin/locale/share/monetdef/bg_BG.CP1251.src user/edwin/locale/share/monetdef/bg_BG.UTF-8.src user/edwin/locale/share/monetdef/ca_ES.ISO8859-1.src user/edwin/locale/share/monetdef/cs_CZ.ISO8859-2.src user/edwin/locale/share/monetdef/cs_CZ.UTF-8.src user/edwin/locale/share/monetdef/da_DK.ISO8859-1.src user/edwin/locale/share/monetdef/de_AT.ISO8859-1.src user/edwin/locale/share/monetdef/de_CH.ISO8859-1.src user/edwin/locale/share/monetdef/de_DE.ISO8859-1.src user/edwin/locale/share/monetdef/el_GR.ISO8859-7.src user/edwin/locale/share/monetdef/en_AU.ISO8859-1.src user/edwin/locale/share/monetdef/en_CA.ISO8859-1.src user/edwin/locale/share/monetdef/en_GB.ISO8859-1.src user/edwin/locale/share/monetdef/en_GB.UTF-8.src user/edwin/locale/share/monetdef/en_IE.UTF-8.src user/edwin/locale/share/monetdef/en_NZ.ISO8859-1.src user/edwin/locale/share/monetdef/en_US.ISO8859-1.src user/edwin/locale/share/monetdef/es_ES.ISO8859-1.src user/edwin/locale/share/monetdef/et_EE.ISO8859-15.src user/edwin/locale/share/monetdef/fi_FI.ISO8859-1.src user/edwin/locale/share/monetdef/fr_BE.ISO8859-1.src user/edwin/locale/share/monetdef/fr_CA.ISO8859-1.src user/edwin/locale/share/monetdef/fr_FR.ISO8859-1.src user/edwin/locale/share/monetdef/he_IL.UTF-8.src user/edwin/locale/share/monetdef/hi_IN.ISCII-DEV.src user/edwin/locale/share/monetdef/hr_HR.ISO8859-2.src user/edwin/locale/share/monetdef/hu_HU.ISO8859-2.src user/edwin/locale/share/monetdef/hy_AM.ARMSCII-8.src user/edwin/locale/share/monetdef/hy_AM.UTF-8.src user/edwin/locale/share/monetdef/is_IS.ISO8859-1.src user/edwin/locale/share/monetdef/it_IT.ISO8859-1.src user/edwin/locale/share/monetdef/ja_JP.UTF-8.src user/edwin/locale/share/monetdef/ja_JP.eucJP.src user/edwin/locale/share/monetdef/kk_KZ.PT154.src user/edwin/locale/share/monetdef/kk_KZ.UTF-8.src user/edwin/locale/share/monetdef/ko_KR.UTF-8.src user/edwin/locale/share/monetdef/ko_KR.eucKR.src user/edwin/locale/share/monetdef/lt_LT.ISO8859-13.src user/edwin/locale/share/monetdef/mn_MN.UTF-8.src user/edwin/locale/share/monetdef/nl_BE.ISO8859-1.src user/edwin/locale/share/monetdef/nl_NL.ISO8859-1.src user/edwin/locale/share/monetdef/no_NO.ISO8859-1.src user/edwin/locale/share/monetdef/pl_PL.ISO8859-2.src user/edwin/locale/share/monetdef/pl_PL.UTF-8.src user/edwin/locale/share/monetdef/pt_BR.ISO8859-1.src user/edwin/locale/share/monetdef/pt_PT.ISO8859-1.src user/edwin/locale/share/monetdef/pt_PT.ISO8859-15.src user/edwin/locale/share/monetdef/pt_PT.UTF-8.src user/edwin/locale/share/monetdef/ro_RO.ISO8859-2.src user/edwin/locale/share/monetdef/ru_RU.CP1251.src user/edwin/locale/share/monetdef/ru_RU.CP866.src user/edwin/locale/share/monetdef/ru_RU.ISO8859-5.src user/edwin/locale/share/monetdef/ru_RU.KOI8-R.src user/edwin/locale/share/monetdef/ru_RU.UTF-8.src user/edwin/locale/share/monetdef/sk_SK.ISO8859-2.src user/edwin/locale/share/monetdef/sl_SI.ISO8859-2.src user/edwin/locale/share/monetdef/sr_YU.ISO8859-2.src user/edwin/locale/share/monetdef/sr_YU.ISO8859-5.src user/edwin/locale/share/monetdef/sr_YU.UTF-8.src user/edwin/locale/share/monetdef/sv_SE.ISO8859-1.src user/edwin/locale/share/monetdef/tr_TR.ISO8859-9.src user/edwin/locale/share/monetdef/uk_UA.CP1251.src user/edwin/locale/share/monetdef/uk_UA.ISO8859-5.src user/edwin/locale/share/monetdef/uk_UA.KOI8-U.src user/edwin/locale/share/monetdef/uk_UA.UTF-8.src user/edwin/locale/share/monetdef/zh_CN.GB18030.src user/edwin/locale/share/monetdef/zh_CN.GB2312.src user/edwin/locale/share/monetdef/zh_CN.UTF-8.src user/edwin/locale/share/monetdef/zh_CN.eucCN.src user/edwin/locale/share/monetdef/zh_HK.UTF-8.src user/edwin/locale/share/monetdef/zh_TW.Big5.src Copied and modified: user/edwin/locale/share/monetdef/af_ZA.unicode (from r196349, user/edwin/locale/share/monetdef/af_ZA.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/af_ZA.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/af_ZA.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -ZAR + # currency_symbol -R + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/am_ET.unicode (from r196349, user/edwin/locale/share/monetdef/am_ET.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/am_ET.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/am_ET.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -ETB + # currency_symbol -$ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/be_BY.unicode (from r196349, user/edwin/locale/share/monetdef/be_BY.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/be_BY.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/be_BY.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -3,19 +3,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -BYR + # currency_symbol -руб. + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/bg_BG.unicode (from r196349, user/edwin/locale/share/monetdef/bg_BG.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/bg_BG.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/bg_BG.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -BGN + # currency_symbol -лв. + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/ca_ES.unicode (from r196349, user/edwin/locale/share/monetdef/ca_ES.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/ca_ES.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/ca_ES.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 0 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/cs_CZ.unicode (from r196349, user/edwin/locale/share/monetdef/cs_CZ.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/cs_CZ.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/cs_CZ.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -CZK + # currency_symbol -Kč + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/da_DK.unicode (from r196349, user/edwin/locale/share/monetdef/da_DK.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/da_DK.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/da_DK.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -DKK + # currency_symbol -kr + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/de_AT.unicode (from r196349, user/edwin/locale/share/monetdef/de_AT.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/de_AT.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/de_AT.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/de_CH.unicode (from r196349, user/edwin/locale/share/monetdef/de_CH.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/de_CH.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/de_CH.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -CHF + # currency_symbol -Fr. + # mon_decimal_point -. + # mon_thousands_sep -' + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/de_DE.unicode (from r196349, user/edwin/locale/share/monetdef/de_DE.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/de_DE.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/de_DE.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/el_GR.unicode (from r196349, user/edwin/locale/share/monetdef/el_GR.ISO8859-7.src) ============================================================================== --- user/edwin/locale/share/monetdef/el_GR.ISO8859-7.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/el_GR.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/en_AU.unicode (from r196349, user/edwin/locale/share/monetdef/en_AU.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/en_AU.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/en_AU.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -AUD + # currency_symbol -$ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/en_CA.unicode (from r196349, user/edwin/locale/share/monetdef/en_CA.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/en_CA.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/en_CA.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -CAD + # currency_symbol -$ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/en_GB.unicode (from r196349, user/edwin/locale/share/monetdef/en_GB.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/en_GB.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/en_GB.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -GBP + # currency_symbol -£ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/en_IE.unicode (from r196349, user/edwin/locale/share/monetdef/en_IE.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/en_IE.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/en_IE.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -€ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/en_NZ.unicode (from r196349, user/edwin/locale/share/monetdef/en_NZ.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/en_NZ.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/en_NZ.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -NZD + # currency_symbol -$ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/en_US.unicode (from r196349, user/edwin/locale/share/monetdef/en_US.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/en_US.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/en_US.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -USD + # currency_symbol -$ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/es_ES.unicode (from r196349, user/edwin/locale/share/monetdef/es_ES.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/es_ES.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/es_ES.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/et_EE.unicode (from r196349, user/edwin/locale/share/monetdef/et_EE.ISO8859-15.src) ============================================================================== --- user/edwin/locale/share/monetdef/et_EE.ISO8859-15.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/et_EE.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EEK + # currency_symbol -kr + # mon_decimal_point -. + # mon_thousands_sep - + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/fi_FI.unicode (from r196349, user/edwin/locale/share/monetdef/fi_FI.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/fi_FI.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/fi_FI.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/fr_BE.unicode (from r196349, user/edwin/locale/share/monetdef/fr_BE.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/fr_BE.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/fr_BE.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/fr_CA.unicode (from r196349, user/edwin/locale/share/monetdef/fr_CA.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/fr_CA.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/fr_CA.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -CAD + # currency_symbol -$ + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/fr_FR.unicode (from r196349, user/edwin/locale/share/monetdef/fr_FR.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/fr_FR.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/fr_FR.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/he_IL.unicode (from r196349, user/edwin/locale/share/monetdef/he_IL.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/he_IL.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/he_IL.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -ILS + # currency_symbol -₪ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/hi_IN.unicode (from r196349, user/edwin/locale/share/monetdef/hi_IN.ISCII-DEV.src) ============================================================================== --- user/edwin/locale/share/monetdef/hi_IN.ISCII-DEV.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/hi_IN.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,23 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -INR + # currency_symbol -Ȭ + +--CFDEC8-- + +--DEC8AC-- + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;2;0 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/hr_HR.unicode (from r196349, user/edwin/locale/share/monetdef/hr_HR.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/monetdef/hr_HR.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/hr_HR.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -HRK + # currency_symbol -Kn + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 0 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/hu_HU.unicode (from r196349, user/edwin/locale/share/monetdef/hu_HU.ISO8859-2.src) ============================================================================== --- user/edwin/locale/share/monetdef/hu_HU.ISO8859-2.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/hu_HU.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -HUF + # currency_symbol -Ft + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/hy_AM.unicode (from r196349, user/edwin/locale/share/monetdef/hy_AM.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/hy_AM.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/hy_AM.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -7,19 +7,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -AMD + # currency_symbol -ԴՐ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/is_IS.unicode (from r196349, user/edwin/locale/share/monetdef/is_IS.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/is_IS.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/is_IS.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -ISK + # currency_symbol -kr + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/it_IT.unicode (from r196349, user/edwin/locale/share/monetdef/it_IT.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/it_IT.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/it_IT.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 0 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/ja_JP.unicode (from r196349, user/edwin/locale/share/monetdef/ja_JP.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/ja_JP.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/ja_JP.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -JPY + # currency_symbol -¥ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 0 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/kk_KZ.unicode (from r196349, user/edwin/locale/share/monetdef/kk_KZ.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/kk_KZ.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/kk_KZ.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -KZT + # currency_symbol -тг. + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/ko_KR.unicode (from r196349, user/edwin/locale/share/monetdef/ko_KR.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/ko_KR.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/ko_KR.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -KRW + # currency_symbol -₩ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 0 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/lt_LT.unicode (from r196349, user/edwin/locale/share/monetdef/lt_LT.ISO8859-13.src) ============================================================================== --- user/edwin/locale/share/monetdef/lt_LT.ISO8859-13.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/lt_LT.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -LTL + # currency_symbol -Lt + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/mn_MN.unicode (from r196349, user/edwin/locale/share/monetdef/mn_MN.UTF-8.src) ============================================================================== --- user/edwin/locale/share/monetdef/mn_MN.UTF-8.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/mn_MN.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -MNT + # currency_symbol -₮ + # mon_decimal_point -. + # mon_thousands_sep -, + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/nl_BE.unicode (from r196349, user/edwin/locale/share/monetdef/nl_BE.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/nl_BE.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/nl_BE.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep -. + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + # int_frac_digits 2 # frac_digits Copied and modified: user/edwin/locale/share/monetdef/nl_NL.unicode (from r196349, user/edwin/locale/share/monetdef/nl_NL.ISO8859-1.src) ============================================================================== --- user/edwin/locale/share/monetdef/nl_NL.ISO8859-1.src Mon Aug 17 21:23:53 2009 (r196349, copy source) +++ user/edwin/locale/share/monetdef/nl_NL.unicode Fri Sep 4 23:11:59 2009 (r196846) @@ -4,19 +4,19 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) -EUR + # currency_symbol -Eu + # mon_decimal_point -, + # mon_thousands_sep - + # mon_grouping, separated by ; 3;3 # positive_sign # negative_sign -- + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri Sep 4 23:14:19 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 183AC106566C; Fri, 4 Sep 2009 23:14:19 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 084EF8FC08; Fri, 4 Sep 2009 23:14:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n84NEIK7025392; Fri, 4 Sep 2009 23:14:18 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n84NEIAd025390; Fri, 4 Sep 2009 23:14:18 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909042314.n84NEIAd025390@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 4 Sep 2009 23:14:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196847 - user/edwin/locale/share/numericdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2009 23:14:19 -0000 Author: edwin Date: Fri Sep 4 23:14:18 2009 New Revision: 196847 URL: http://svn.freebsd.org/changeset/base/196847 Log: Remove temporary lines. Modified: user/edwin/locale/share/numericdef/Makefile Modified: user/edwin/locale/share/numericdef/Makefile ============================================================================== --- user/edwin/locale/share/numericdef/Makefile Fri Sep 4 23:11:59 2009 (r196846) +++ user/edwin/locale/share/numericdef/Makefile Fri Sep 4 23:14:18 2009 (r196847) @@ -10,13 +10,10 @@ CCLN= af_ZA am_ET be_BY bg_BG # For these locales, beside creating the UTF-8 map also create these # charactermaps. -#MS_ca_ES= ISO8859-1 -#MS_de_DE= P123 +# (none!) # For these locales, link the following charactermaps to the UTF-8 map. # (unless the origin charactermap is defined) -#MSLINK_af_ZA= ISO8859-1 ISO8859-15 -#MSLINK_be_BY= CP1131 CP1251 ISO8859-5 CMSLINK_af_ZA= ISO8859-1 ISO8859-15 CMSLINK_be_BY= CP1131 CP1251 ISO8859-5 CMSLINK_bg_BG= CP1251 @@ -59,7 +56,6 @@ CMSLINK_uk_UA= CP1251 ISO8859-5 KOI8-U CMSLINK_zh_Hans_CN= GB18030 GB2312 GBK eucCN # For these locales, also create symlinks to the main locale. -#CLNLINK_af_ZA= en_GB CCLNLINK_ca_ES= ca_AD ca_FR ca_IT CCLNLINK_de_DE= de_AT CCLNLINK_en_GB.UTF-8= en_IE.UTF-8 From owner-svn-src-user@FreeBSD.ORG Sat Sep 5 01:55:47 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 223B9106566B; Sat, 5 Sep 2009 01:55:47 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 114B18FC13; Sat, 5 Sep 2009 01:55:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n851tkRZ029492; Sat, 5 Sep 2009 01:55:46 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n851tkl7029490; Sat, 5 Sep 2009 01:55:46 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909050155.n851tkl7029490@svn.freebsd.org> From: Edwin Groothuis Date: Sat, 5 Sep 2009 01:55:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196849 - user/edwin/locale/share/monetdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Sep 2009 01:55:47 -0000 Author: edwin Date: Sat Sep 5 01:55:46 2009 New Revision: 196849 URL: http://svn.freebsd.org/changeset/base/196849 Log: Update Makefile with the new features. Modified: user/edwin/locale/share/monetdef/Makefile Modified: user/edwin/locale/share/monetdef/Makefile ============================================================================== --- user/edwin/locale/share/monetdef/Makefile Sat Sep 5 00:50:08 2009 (r196848) +++ user/edwin/locale/share/monetdef/Makefile Sat Sep 5 01:55:46 2009 (r196849) @@ -1,137 +1,107 @@ # $FreeBSD$ -LOCALES= af_ZA.ISO8859-1 \ - am_ET.UTF-8 \ - be_BY.CP1131 \ - be_BY.CP1251 \ - be_BY.ISO8859-5 \ - be_BY.UTF-8 \ - bg_BG.CP1251 \ - bg_BG.UTF-8 \ - ca_ES.ISO8859-1 \ - cs_CZ.ISO8859-2 \ - cs_CZ.UTF-8 \ - da_DK.ISO8859-1 \ - de_AT.ISO8859-1 \ - de_CH.ISO8859-1 \ - de_DE.ISO8859-1 \ - el_GR.ISO8859-7 \ - en_AU.ISO8859-1 \ - en_CA.ISO8859-1 \ - en_GB.ISO8859-1 \ - en_GB.UTF-8 \ - en_IE.UTF-8 \ - en_NZ.ISO8859-1 \ - en_US.ISO8859-1 \ - es_ES.ISO8859-1 \ - et_EE.ISO8859-15 \ - fi_FI.ISO8859-1 \ - fr_BE.ISO8859-1 \ - fr_CA.ISO8859-1 \ - fr_FR.ISO8859-1 \ - he_IL.UTF-8 \ - hi_IN.ISCII-DEV \ - hr_HR.ISO8859-2 \ - hu_HU.ISO8859-2 \ - hy_AM.ARMSCII-8 \ - hy_AM.UTF-8 \ - is_IS.ISO8859-1 \ - it_IT.ISO8859-1 \ - ja_JP.eucJP \ - ja_JP.UTF-8 \ - kk_KZ.PT154 \ - kk_KZ.UTF-8 \ - ko_KR.eucKR \ - ko_KR.UTF-8 \ - lt_LT.ISO8859-13 \ - mn_MN.UTF-8 \ - nl_BE.ISO8859-1 \ - nl_NL.ISO8859-1 \ - no_NO.ISO8859-1 \ - pl_PL.ISO8859-2 \ - pl_PL.UTF-8 \ - pt_BR.ISO8859-1 \ - pt_PT.ISO8859-1 \ - pt_PT.ISO8859-15 \ - pt_PT.UTF-8 \ - ro_RO.ISO8859-2 \ - ru_RU.CP1251 \ - ru_RU.CP866 \ - ru_RU.ISO8859-5 \ - ru_RU.KOI8-R \ - ru_RU.UTF-8 \ - sk_SK.ISO8859-2 \ - sl_SI.ISO8859-2 \ - sr_YU.ISO8859-2 \ - sr_YU.ISO8859-5 \ - sr_YU.UTF-8 \ - sv_SE.ISO8859-1 \ - tr_TR.ISO8859-9 \ - uk_UA.CP1251 \ - uk_UA.ISO8859-5 \ - uk_UA.KOI8-U \ - uk_UA.UTF-8 \ - zh_CN.eucCN \ - zh_CN.GB18030 \ - zh_CN.GB2312 \ - zh_CN.UTF-8 \ - zh_HK.UTF-8 \ - zh_TW.Big5 +# All locales to be created. +CCLN= af_ZA am_ET be_BY bg_BG ca_ES cs_CZ da_DK de_AT \ + de_CH de_DE el_GR en_AU en_CA en_GB en_IE en_NZ \ + en_US es_ES et_EE fi_FI fr_BE fr_CA fr_FR he_IL \ + hi_IN hr_HR hu_HU hy_AM is_IS it_IT ja_JP kk_KZ \ + ko_KR lt_LT mn_MN nl_BE nl_NL no_NO pl_PL pt_BR \ + pt_PT ro_RO ru_RU sk_SK sl_SI sr_Cyrl_RS sr_Latn_RS \ + sv_SE tr_TR uk_UA zh_CN zh_HK zh_TW + +# For these locales, beside creating the UTF-8 map also create these +# charactermaps. +CMS_be_BY= CP1131 CP1251 ISO8859-5 +CMS_bg_BG= CP1251 +CMS_cs_CZ= ISO8859-2 +CMS_bg_BG= CP1251 +CMS_en_GB= ISO8859-1 +CMS_hi_IN= ISCII-DEV +CMS_hy_AM= ARMSCII-8 +CMS_ja_JP= eucJP +CMS_kk_KZ= PT154 +CMS_ko_KR= eucKR +CMS_pl_PL= ISO8859-2 +CMS_pt_PT= ISO8859-1 ISO8859-15 +CMS_ru_RU= CP1251 CP855 ISO8859-5 KOI8-R +CMS_uk_UA= CP1251 ISO8859-5 KOI8-U +CMS_zh_Hans_CN= GB18030 GB2312 eucCN + +# For these locales, link the following charactermaps to the UTF-8 map. +# (unless the origin charactermap is defined) +CMSLINK_af_ZA= ISO8859-1 ISO8859-15 +CMSLINK_ca_ES= ISO8859-1 ISO8859-15 +CMSLINK_da_DK= ISO8859-1 ISO8859-15 +CMSLINK_de_AT= ISO8859-1 ISO8859-15 +CMSLINK_de_CH= ISO8859-1 ISO8859-15 +CMSLINK_de_DE= ISO8859-1 ISO8859-15 +CMSLINK_el_GR= ISO8859-7 +CMSLINK_en_AU= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_en_CA= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_en_GB.ISO8859-1= en_GB.ISO8859-15 en_GB.US-ASCII +CMSLINK_en_NZ= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_en_US= ISO8859-1 ISO8859-15 US-ASCII +CMSLINK_es_ES= ISO8859-1 ISO8859-15 +CMSLINK_et_EE= ISO8859-15 +CMSLINK_fi_FI= ISO8859-1 ISO8859-15 +CMSLINK_fr_BE= ISO8859-1 ISO8859-15 +CMSLINK_fr_CA= ISO8859-1 ISO8859-15 +CMSLINK_fr_FR= ISO8859-1 ISO8859-15 +CMSLINK_hr_HR= ISO8859-2 +CMSLINK_hu_HU= ISO8859-2 +CMSLINK_is_IS= ISO8859-1 ISO8859-15 +CMSLINK_it_IT= ISO8859-1 ISO8859-15 +CMSLINK_ja_JP.eucJP= ja_JP.SJIS +CMSLINK_ko_KR.eucKR= ko_KR.CP949 +CMSLINK_lt_LT= ISO8859-4 ISO8859-13 +CMSLINK_nl_BE= ISO8859-1 ISO8859-15 +CMSLINK_nl_NL= ISO8859-1 ISO8859-15 +CMSLINK_no_NO= ISO8859-1 ISO8859-15 +CMSLINK_pt_BR= ISO8859-1 +CMSLINK_ro_RO= ISO8859-2 +CMSLINK_sk_SK= ISO8859-2 +CMSLINK_sl_SI= ISO8859-2 +CMSLINK_sr_Latn_RS= ISO8859-2 +CMSLINK_sr_Cyrl_RS= ISO8859-5 +CMSLINK_sv_SE= ISO8859-1 ISO8859-15 +CMSLINK_tr_TR= ISO8859-9 +CMSLINK_zh_Hans_CN.GB2312= zh_Hans_CN.GBK +CMSLINK_zh_Hant_HK= Big5HKSCS +CMSLINK_zh_Hant_TW= Big5 + +# For these locales, also create symlinks to the main locale. +CCLNLINK_ca_ES= ca_AD ca_FR ca_IT +CCLNLINK_es_ES= eu_ES +CCLNLINK_de_CH= fr_CH it_CH +CCLNLINK_no_NO= nb_NO nn_NO + +# For these locales, create symlinks to the main locale for historical reasons. +LEGLINK_ja_JP= jp_JP +LEGLINK_zh_Hans_CN= zh_CN +LEGLINK_zh_Hant_TW= zh_TW zh_HK +LEGLINK_sr_Cyrl_RS= sr_YU +LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 +LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK + +# +# In theory there are no parts after here which should be touched when adding +# or removing locales and charactermaps. +# +# Required variables +LCTYPE= LC_NUMERIC LOCALEDIR= /usr/share/locale +ICONV_pt_PT.ISO8859-1= /usr/bin/iconv +ICONV_ko_KR.eucKR= /usr/bin/iconv -.SUFFIXES: .src .out - -.src.out: - grep -v '^#' < ${.IMPSRC} > ${.TARGET} - -FILES= ${LOCALES:S/$/.out/} -FILESNAME= LC_MONETARY - -.for lang in ${LOCALES} -FILESDIR_${lang}.out= ${LOCALEDIR}/${lang} -.endfor - -CLEANFILES= ${FILES} - -ENCODINGS= Big5 Big5HKSCS CP949 eucJP eucKR GB2312 GBK \ - ISO8859-1 ISO8859-2 ISO8859-4 ISO8859-7 ISO8859-9 \ - ISO8859-13 ISO8859-15 SJIS US-ASCII UTF-8 - -Big5_UTF-8= zh_TW -eucJP_SJIS= ja_JP -eucKR_CP949= ko_KR -GB2312_GBK= zh_CN -ISO8859-1_ISO8859-1= ca_ES:ca_AD ca_ES:ca_FR ca_ES:ca_IT es_ES:eu_ES \ - de_CH:fr_CH de_CH:it_CH no_NO:nb_NO no_NO:nn_NO -ISO8859-1_ISO8859-15= af_ZA ca_AD ca_ES ca_FR ca_IT da_DK de_AT de_CH de_DE \ - en_AU en_CA en_GB en_NZ en_US es_ES \ - fi_FI fr_BE fr_CA fr_CH fr_FR \ - is_IS it_IT it_CH nl_BE nl_NL nb_NO nn_NO no_NO sv_SE -ISO8859-1_US-ASCII= en_AU en_CA en_GB en_NZ en_US -ISO8859-1_UTF-8= af_ZA ca_AD ca_ES ca_FR ca_IT da_DK de_AT de_CH de_DE \ - en_AU en_CA en_NZ en_US es_ES \ - fi_FI fr_BE fr_CA fr_FR is_IS it_IT nl_BE \ - nl_NL nb_NO nn_NO no_NO pt_BR sv_SE -ISO8859-2_UTF-8= hr_HR hu_HU ro_RO sk_SK sl_SI sr_YU -ISO8859-7_UTF-8= el_GR -ISO8859-9_UTF-8= tr_TR -ISO8859-13_ISO8859-4= lt_LT -ISO8859-13_UTF-8= lt_LT -ISO8859-15_ISO8859-15= es_ES:eu_ES -ISO8859-15_UTF-8= et_EE -UTF-8_Big5HKSCS= zh_HK -UTF-8_UTF-8= ca_ES:ca_AD ca_ES:ca_FR ca_ES:ca_IT \ - es_ES:eu_ES de_CH:fr_CH de_CH:it_CH - -SYMLINKS= -.for enc1 in ${ENCODINGS} -.for enc2 in ${ENCODINGS} -.for lang_terr in ${${enc1}_${enc2}} -SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} -.endfor -.endfor -.endfor +# For testing only +DESTDIR= /home/edwin/locale/new/ +SHAREOWN= edwin +SHAREGRP= edwin + +# +# All variables +# +.include "../Makefile.def.inc" .include From owner-svn-src-user@FreeBSD.ORG Sat Sep 5 22:27:45 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D01E1065672; Sat, 5 Sep 2009 22:27:45 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 60F3A8FC0A; Sat, 5 Sep 2009 22:27:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n85MRj09065593; Sat, 5 Sep 2009 22:27:45 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n85MRjsA065592; Sat, 5 Sep 2009 22:27:45 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909052227.n85MRjsA065592@svn.freebsd.org> From: Kip Macy Date: Sat, 5 Sep 2009 22:27:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196873 - in user/kmacy/releng_7_2_fcs_1/sys: cddl/contrib/opensolaris/uts/common/fs/zfs kern sys X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Sep 2009 22:27:45 -0000 Author: kmacy Date: Sat Sep 5 22:27:44 2009 New Revision: 196873 URL: http://svn.freebsd.org/changeset/base/196873 Log: Don't give witness warnings when called from zio_wait Modified: user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/kmacy/releng_7_2_fcs_1/sys/kern/kern_condvar.c user/kmacy/releng_7_2_fcs_1/sys/sys/condvar.h Modified: user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Sat Sep 5 20:35:18 2009 (r196872) +++ user/kmacy/releng_7_2_fcs_1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Sat Sep 5 22:27:44 2009 (r196873) @@ -1016,7 +1016,7 @@ zio_wait(zio_t *zio) mutex_enter(&zio->io_lock); while (zio->io_executor != NULL) - cv_wait(&zio->io_cv, &zio->io_lock); + opensolaris_cv_wait(&zio->io_cv, &zio->io_lock); mutex_exit(&zio->io_lock); error = zio->io_error; Modified: user/kmacy/releng_7_2_fcs_1/sys/kern/kern_condvar.c ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/kern/kern_condvar.c Sat Sep 5 20:35:18 2009 (r196872) +++ user/kmacy/releng_7_2_fcs_1/sys/kern/kern_condvar.c Sat Sep 5 22:27:44 2009 (r196873) @@ -93,7 +93,7 @@ cv_destroy(struct cv *cvp) * held when cv_signal or cv_broadcast are called. */ void -_cv_wait(struct cv *cvp, struct lock_object *lock) +_cv_wait(struct cv *cvp, struct lock_object *lock, int flags) { WITNESS_SAVE_DECL(lock_witness); struct lock_class *class; @@ -107,10 +107,9 @@ _cv_wait(struct cv *cvp, struct lock_obj ktrcsw(1, 0); #endif CV_ASSERT(cvp, lock, td); -#ifndef WITNESS_SKIPCV - WITNESS_WARN(WARN_GIANTOK, lock, - "Waiting on \"%s\"", cvp->cv_description); -#endif + if ((flags & CV_SLEEP_OK) == 0) + WITNESS_WARN(WARN_GIANTOK, lock, + "Waiting on \"%s\"", cvp->cv_description); WITNESS_SAVE(lock, lock_witness); class = LOCK_CLASS(lock); Modified: user/kmacy/releng_7_2_fcs_1/sys/sys/condvar.h ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/sys/condvar.h Sat Sep 5 20:35:18 2009 (r196872) +++ user/kmacy/releng_7_2_fcs_1/sys/sys/condvar.h Sat Sep 5 22:27:44 2009 (r196873) @@ -52,7 +52,7 @@ struct cv { void cv_init(struct cv *cvp, const char *desc); void cv_destroy(struct cv *cvp); -void _cv_wait(struct cv *cvp, struct lock_object *lock); +void _cv_wait(struct cv *cvp, struct lock_object *lock, int flags); void _cv_wait_unlock(struct cv *cvp, struct lock_object *lock); int _cv_wait_sig(struct cv *cvp, struct lock_object *lock); int _cv_timedwait(struct cv *cvp, struct lock_object *lock, int timo); @@ -61,8 +61,12 @@ int _cv_timedwait_sig(struct cv *cvp, st void cv_signal(struct cv *cvp); void cv_broadcastpri(struct cv *cvp, int pri); +#define CV_SLEEP_OK 0x1 + #define cv_wait(cvp, lock) \ - _cv_wait((cvp), &(lock)->lock_object) + _cv_wait((cvp), &(lock)->lock_object, 0) +#define opensolaris_cv_wait(cvp, lock) \ + _cv_wait((cvp), &(lock)->lock_object, CV_SLEEP_OK) #define cv_wait_unlock(cvp, lock) \ _cv_wait_unlock((cvp), &(lock)->lock_object) #define cv_wait_sig(cvp, lock) \ From owner-svn-src-user@FreeBSD.ORG Sat Sep 5 23:23:49 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9572D106566B; Sat, 5 Sep 2009 23:23:49 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 842948FC12; Sat, 5 Sep 2009 23:23:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n85NNnTm066743; Sat, 5 Sep 2009 23:23:49 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n85NNnX9066740; Sat, 5 Sep 2009 23:23:49 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909052323.n85NNnX9066740@svn.freebsd.org> From: Kip Macy Date: Sat, 5 Sep 2009 23:23:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196874 - user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Sep 2009 23:23:49 -0000 Author: kmacy Date: Sat Sep 5 23:23:49 2009 New Revision: 196874 URL: http://svn.freebsd.org/changeset/base/196874 Log: don't disable WITNESS Modified: user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys/mutex.h user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys/rwlock.h Modified: user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys/mutex.h ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys/mutex.h Sat Sep 5 22:27:44 2009 (r196873) +++ user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys/mutex.h Sat Sep 5 23:23:49 2009 (r196874) @@ -46,11 +46,8 @@ typedef enum { typedef struct sx kmutex_t; -#ifndef DEBUG -#define MUTEX_FLAGS (SX_DUPOK | SX_NOWITNESS | SX_ADAPTIVESPIN) -#else + #define MUTEX_FLAGS (SX_DUPOK | SX_ADAPTIVESPIN) -#endif #define mutex_init(lock, desc, type, arg) do { \ const char *_name; \ Modified: user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys/rwlock.h ============================================================================== --- user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys/rwlock.h Sat Sep 5 22:27:44 2009 (r196873) +++ user/kmacy/releng_7_2_fcs_1/sys/cddl/compat/opensolaris/sys/rwlock.h Sat Sep 5 23:23:49 2009 (r196874) @@ -48,11 +48,7 @@ typedef enum { typedef struct sx krwlock_t; -#ifndef DEBUG -#define RW_FLAGS (SX_DUPOK | SX_NOWITNESS | SX_ADAPTIVESPIN) -#else #define RW_FLAGS (SX_DUPOK | SX_ADAPTIVESPIN) -#endif #define RW_READ_HELD(x) (rw_read_held((x))) #define RW_WRITE_HELD(x) (rw_write_held((x)))