From bnaujok@sgi.com Mon Dec 1 00:33:05 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_73, LOCAL_GNU_PATCH autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB16X4et027360 for ; Mon, 1 Dec 2008 00:33:05 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay1.corp.sgi.com (Postfix) with SMTP id 0D7A38F8173 for ; Sun, 30 Nov 2008 22:32:59 -0800 (PST) Received: from pc-bnaujok.melbourne.sgi.com (pc-bnaujok.melbourne.sgi.com [134.14.55.58]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id RAA02969 for ; Mon, 1 Dec 2008 17:32:57 +1100 Date: Mon, 01 Dec 2008 17:34:39 +1100 To: "xfs@oss.sgi.com" Subject: [REVIEW] Fix unaligned accesses in IA64 in xfsprogs From: "Barry Naujok" Organization: SGI Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Message-ID: User-Agent: Opera Mail/9.52 (Win32) xfs_repair is the main culprit when getting disk extents which aren't properly aligned in memory. This patch does not call xfs_bmbt_disk_get_all directly anymore but does an unaligned get on the disk extent record and calls xfs_bmbt_get_all which is host-based like the rest of the kernel routines do. =========================================================================== xfsprogs/db/bmap.c =========================================================================== --- a/xfsprogs/db/bmap.c 2008-12-01 17:10:37.000000000 +1100 +++ b/xfsprogs/db/bmap.c 2008-12-01 17:03:17.956547706 +1100 @@ -277,21 +277,17 @@ convert_extent( xfs_dfilblks_t *cp, int *fp) { - xfs_bmbt_irec_t irec, *s = &irec; - xfs_bmbt_rec_t rpcopy, *p = &rpcopy; + xfs_bmbt_irec_t irec; + xfs_bmbt_rec_host_t rec; - memmove(&rpcopy, rp, sizeof(rpcopy)); - libxfs_bmbt_disk_get_all(p, s); - - if (s->br_state == XFS_EXT_UNWRITTEN) { - *fp = 1; - } else { - *fp = 0; - } - - *op = s->br_startoff; - *sp = s->br_startblock; - *cp = s->br_blockcount; + rec.l0 = get_unaligned_be64(&rp->l0); + rec.l1 = get_unaligned_be64(&rp->l1); + libxfs_bmbt_get_all(&rec, &irec); + + *fp = irec.br_state == XFS_EXT_UNWRITTEN; + *op = irec.br_startoff; + *sp = irec.br_startblock; + *cp = irec.br_blockcount; } void =========================================================================== xfsprogs/include/libxfs.h =========================================================================== --- a/xfsprogs/include/libxfs.h 2008-12-01 17:10:37.000000000 +1100 +++ b/xfsprogs/include/libxfs.h 2008-12-01 16:45:05.941577400 +1100 @@ -502,7 +502,7 @@ xfs_bmbt_rec_host_t *xfs_bmap_search_ext #define libxfs_bunmapi xfs_bunmapi /* xfs_bmap_btree.h */ -#define libxfs_bmbt_disk_get_all xfs_bmbt_disk_get_all +#define libxfs_bmbt_get_all xfs_bmbt_get_all /* xfs_da_btree.h */ #define libxfs_da_brelse xfs_da_brelse =========================================================================== xfsprogs/include/xfs_arch.h =========================================================================== --- a/xfsprogs/include/xfs_arch.h 2008-12-01 17:10:37.000000000 +1100 +++ b/xfsprogs/include/xfs_arch.h 2008-12-01 17:06:38.819726283 +1100 @@ -71,6 +71,13 @@ static inline void be64_add_cpu(__be64 * *a = cpu_to_be64(be64_to_cpu(*a) + b); } +static inline __u64 get_unaligned_be64(void *ptr) +{ + __be64 __tmp; + memmove(&__tmp, ptr, 8); + return be64_to_cpu(__tmp); +} + #endif /* __KERNEL__ */ /* do we need conversion? */ =========================================================================== xfsprogs/libxfs/xfs.h =========================================================================== --- a/xfsprogs/libxfs/xfs.h 2008-12-01 17:10:37.000000000 +1100 +++ b/xfsprogs/libxfs/xfs.h 2008-12-01 17:05:22.041221304 +1100 @@ -127,14 +127,6 @@ static inline int __do_div(unsigned long #define max_t(type,x,y) \ ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; }) -/* only 64 bit accesses used in xfs kernel code */ -static inline __u64 get_unaligned_be64(void *ptr) -{ - __be64 __tmp; - memmove(&__tmp, ptr, 8); - return be64_to_cpu(__tmp); -} - static inline void put_unaligned(__be64 val, void *ptr) { memmove(ptr, &val, 8); =========================================================================== xfsprogs/repair/dino_chunks.c =========================================================================== --- a/xfsprogs/repair/dino_chunks.c 2008-12-01 17:10:37.000000000 +1100 +++ b/xfsprogs/repair/dino_chunks.c 2008-12-01 16:11:11.549834281 +1100 @@ -609,7 +609,8 @@ process_inode_chunk( if (blks_per_cluster == 0) blks_per_cluster = 1; cluster_count = XFS_INODES_PER_CHUNK / inodes_per_cluster; - ASSERT(cluster_count > 0); + if (cluster_count == 0) + cluster_count = 1; /* * get all blocks required to read in this chunk (may wind up =========================================================================== xfsprogs/repair/dinode.c =========================================================================== --- a/xfsprogs/repair/dinode.c 2008-12-01 17:10:37.000000000 +1100 +++ b/xfsprogs/repair/dinode.c 2008-12-01 17:03:40.217799833 +1100 @@ -460,10 +460,13 @@ get_bmbt_reclist( xfs_dfiloff_t fblock) { int i; + xfs_bmbt_rec_host_t rec; xfs_bmbt_irec_t irec; - for (i = 0; i < numrecs; i++) { - libxfs_bmbt_disk_get_all(rp + i, &irec); + for (i = 0; i < numrecs; i++, rp++) { + rec.l0 = get_unaligned_be64(&rp->l0); + rec.l1 = get_unaligned_be64(&rp->l1); + xfs_bmbt_get_all(&rec, &irec); if (irec.br_startoff >= fblock && irec.br_startoff + irec.br_blockcount < fblock) return (irec.br_startblock + fblock - irec.br_startoff); @@ -612,6 +615,7 @@ process_bmbt_reclist_int( int whichfork) { xfs_bmbt_irec_t irec; + xfs_bmbt_rec_host_t rec; xfs_dfilblks_t cp = 0; /* prev count */ xfs_dfsbno_t sp = 0; /* prev start */ xfs_dfiloff_t op = 0; /* prev offset */ @@ -636,8 +640,10 @@ process_bmbt_reclist_int( else ftype = _("regular"); - for (i = 0; i < numrecs; i++) { - libxfs_bmbt_disk_get_all(rp + i, &irec); + for (i = 0; i < numrecs; i++, rp++) { + rec.l0 = get_unaligned_be64(&rp->l0); + rec.l1 = get_unaligned_be64(&rp->l1); + libxfs_bmbt_get_all(&rec, &irec); if (i == 0) *last_key = *first_key = irec.br_startoff; else @@ -913,14 +919,17 @@ getfunc_extlist(xfs_mount_t *mp, int whichfork) { xfs_bmbt_irec_t irec; + xfs_bmbt_rec_host_t rec; xfs_dfsbno_t final_fsbno = NULLDFSBNO; - xfs_bmbt_rec_t *rootblock = (xfs_bmbt_rec_t *) + xfs_bmbt_rec_t *rp = (xfs_bmbt_rec_t *) XFS_DFORK_PTR(dip, whichfork); xfs_extnum_t nextents = XFS_DFORK_NEXTENTS(dip, whichfork); int i; - for (i = 0; i < nextents; i++) { - libxfs_bmbt_disk_get_all(rootblock + i, &irec); + for (i = 0; i < nextents; i++, rp++) { + rec.l0 = get_unaligned_be64(&rp->l0); + rec.l1 = get_unaligned_be64(&rp->l1); + libxfs_bmbt_get_all(&rec, &irec); if (irec.br_startoff <= bno && bno < irec.br_startoff + irec.br_blockcount) { final_fsbno = bno - irec.br_startoff + irec.br_startblock; @@ -948,6 +957,7 @@ getfunc_btree(xfs_mount_t *mp, int found; int numrecs; xfs_bmbt_rec_t *rec; + xfs_bmbt_rec_host_t hrec; xfs_bmbt_irec_t irec; xfs_bmbt_ptr_t *pp; xfs_bmbt_key_t *key; @@ -1072,8 +1082,10 @@ getfunc_btree(xfs_mount_t *mp, ino, numrecs, mp->m_bmap_dmnr[0]); rec = XFS_BMBT_REC_ADDR(mp, block, 1); - for (i = 0; i < numrecs; i++) { - libxfs_bmbt_disk_get_all(rec + i, &irec); + for (i = 0; i < numrecs; i++, rec++) { + hrec.l0 = get_unaligned_be64(&rec->l0); + hrec.l1 = get_unaligned_be64(&rec->l1); + libxfs_bmbt_get_all(&hrec, &irec); if (irec.br_startoff <= bno && bno < irec.br_startoff + irec.br_blockcount) { final_fsbno = bno - irec.br_startoff + @@ -1387,6 +1399,7 @@ process_symlink_extlist(xfs_mount_t *mp, { xfs_dfiloff_t expected_offset; xfs_bmbt_rec_t *rp; + xfs_bmbt_rec_host_t rec; xfs_bmbt_irec_t irec; int numrecs; int i; @@ -1424,8 +1437,10 @@ process_symlink_extlist(xfs_mount_t *mp, max_blocks = max_symlink_blocks; expected_offset = 0; - for (i = 0; i < numrecs; i++) { - libxfs_bmbt_disk_get_all(rp + i, &irec); + for (i = 0; i < numrecs; i++, rp++) { + rec.l0 = get_unaligned_be64(&rp->l0); + rec.l1 = get_unaligned_be64(&rp->l1); + libxfs_bmbt_get_all(&rec, &irec); if (irec.br_startoff != expected_offset) { do_warn( =========================================================================== xfsprogs/repair/prefetch.c =========================================================================== --- a/xfsprogs/repair/prefetch.c 2008-12-01 17:10:37.000000000 +1100 +++ b/xfsprogs/repair/prefetch.c 2008-12-01 17:03:46.972965840 +1100 @@ -170,12 +170,15 @@ pf_read_bmbt_reclist( int numrecs) { int i; + xfs_bmbt_rec_host_t rec; xfs_bmbt_irec_t irec; xfs_dfilblks_t cp = 0; /* prev count */ xfs_dfiloff_t op = 0; /* prev offset */ - for (i = 0; i < numrecs; i++) { - libxfs_bmbt_disk_get_all(rp + i, &irec); + for (i = 0; i < numrecs; i++, rp++) { + rec.l0 = get_unaligned_be64(&rp->l0); + rec.l1 = get_unaligned_be64(&rp->l1); + libxfs_bmbt_get_all(&rec, &irec); if (((i > 0) && (op + cp > irec.br_startoff)) || (irec.br_blockcount == 0) || From david@fromorbit.com Mon Dec 1 01:56:45 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB17uiOL032031 for ; Mon, 1 Dec 2008 01:56:45 -0600 X-ASG-Debug-ID: 1228118202-791c03de0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F2BC0162F826 for ; Sun, 30 Nov 2008 23:56:42 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id EVmuGVicS9vGK5HU for ; Sun, 30 Nov 2008 23:56:42 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAAcWM0l5LJfT/2dsb2JhbADNU4J9 X-IronPort-AV: E=Sophos;i="4.33,693,1220193000"; d="scan'208";a="266931882" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 01 Dec 2008 17:19:51 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L72bN-0002TG-Ot; Mon, 01 Dec 2008 17:49:49 +1100 Date: Mon, 1 Dec 2008 17:49:49 +1100 From: Dave Chinner To: Niv Sardi Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [XFS updates] XFS public tree - master for latest XFS changes for mainline, xfs-dev like master with kdb/dmapi branch, master, updated. v2.6.28-rc3-1049-g0924b58 Subject: Re: [XFS updates] XFS public tree - master for latest XFS changes for mainline, xfs-dev like master with kdb/dmapi branch, master, updated. v2.6.28-rc3-1049-g0924b58 Message-ID: <20081201064949.GL6291@disturbed> Mail-Followup-To: Niv Sardi , xfs@oss.sgi.com References: <200812010015.mB10F1Ab031727@oss.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200812010015.mB10F1Ab031727@oss.sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228118203 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11634 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sun, Nov 30, 2008 at 06:15:01PM -0600, Niv Sardi wrote: > - Log ----------------------------------------------------------------- > commit 0924b585fc49bf371bc700c23e516a538bf589af > Author: Dave Chinner > Date: Fri Nov 28 14:23:34 2008 +1100 > > [XFS] fix uninitialised variable bug in dquot release. > > gcc is warning about an uninitialised variable in xfs_growfs_rt(). > This is a false positive. Fix it by changing the scope of the > transaction pointer to wholly within the internal loop inside > the function. The title of that doesn't match the description. I think it was supposed to be: [PATCH 4/5] XFS: fix spurious uninitialised variable warning in xfs_growfs_rt BTW, can we get a one-line summary of the commits being referenced in the message? The commit hash is less than useful, and having to read through several hundred lines of commit logs to determine what was checked in is not fun..... Cheers, Dave. -- Dave Chinner david@fromorbit.com From SRS0+8d2496b74f78b2b3d345+1926+infradead.org+hch@bombadil.srs.infradead.org Mon Dec 1 03:09:56 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB199tf0004097 for ; Mon, 1 Dec 2008 03:09:56 -0600 X-ASG-Debug-ID: 1228122594-3a9e018d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2E111163042A; Mon, 1 Dec 2008 01:09:55 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 62zLP6iRN2TOGfVk; Mon, 01 Dec 2008 01:09:55 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L74mv-00071v-Os; Mon, 01 Dec 2008 09:09:53 +0000 Date: Mon, 1 Dec 2008 04:09:53 -0500 From: Christoph Hellwig To: Niv Sardi , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [XFS updates] XFS public tree - master for latest XFS changes for mainline, xfs-dev like master with kdb/dmapi branch, master, updated. v2.6.28-rc3-1049-g0924b58 Subject: Re: [XFS updates] XFS public tree - master for latest XFS changes for mainline, xfs-dev like master with kdb/dmapi branch, master, updated. v2.6.28-rc3-1049-g0924b58 Message-ID: <20081201090953.GA31696@infradead.org> References: <200812010015.mB10F1Ab031727@oss.sgi.com> <20081201064949.GL6291@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081201064949.GL6291@disturbed> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228122595 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Mon, Dec 01, 2008 at 05:49:49PM +1100, Dave Chinner wrote: > On Sun, Nov 30, 2008 at 06:15:01PM -0600, Niv Sardi wrote: > > - Log ----------------------------------------------------------------- > > commit 0924b585fc49bf371bc700c23e516a538bf589af > > Author: Dave Chinner > > Date: Fri Nov 28 14:23:34 2008 +1100 > > > > [XFS] fix uninitialised variable bug in dquot release. > > > > gcc is warning about an uninitialised variable in xfs_growfs_rt(). > > This is a false positive. Fix it by changing the scope of the > > transaction pointer to wholly within the internal loop inside > > the function. > > The title of that doesn't match the description. I think it > was supposed to be: > > [PATCH 4/5] XFS: fix spurious uninitialised variable warning in xfs_growfs_rt Looks like xaiki just sucked in my staging tree where I mistpasted the subject line. > BTW, can we get a one-line summary of the commits being referenced > in the message? The commit hash is less than useful, and having to > read through several hundred lines of commit logs to determine > what was checked in is not fun..... Yeah, the new sort of commit messags aren't too useful. I would in fact prefer to get the old style one mail per commit, maybe even including the patch that was commited. I'm sure this is doable with git as there are a lot of projects that do it. From SRS0+8d2496b74f78b2b3d345+1926+infradead.org+hch@bombadil.srs.infradead.org Mon Dec 1 06:05:01 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=unavailable version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1C51cG021427 for ; Mon, 1 Dec 2008 06:05:01 -0600 X-ASG-Debug-ID: 1228133100-766500480000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B75831BE76C7 for ; Mon, 1 Dec 2008 04:05:00 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 3BHGyqUrkP3xc26K for ; Mon, 01 Dec 2008 04:05:00 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L77WO-0008GM-Eb for xfs@oss.sgi.com; Mon, 01 Dec 2008 12:05:00 +0000 Date: Mon, 1 Dec 2008 07:05:00 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 00/10] various cleanups Subject: Re: [PATCH 00/10] various cleanups Message-ID: <20081201120500.GB19856@infradead.org> References: <20081027134707.GA5730@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081027134707.GA5730@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228133100 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Mon, Oct 27, 2008 at 09:47:07AM -0400, Christoph Hellwig wrote: > Various random cleanups Can I get a review for these? From SRS0+8d2496b74f78b2b3d345+1926+infradead.org+hch@bombadil.srs.infradead.org Mon Dec 1 06:05:01 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1C4vOt021423 for ; Mon, 1 Dec 2008 06:05:01 -0600 X-ASG-Debug-ID: 1228133096-7e3a01de0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C7DC71BE76C3 for ; Mon, 1 Dec 2008 04:04:56 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id K3654jZDyogzNAqT for ; Mon, 01 Dec 2008 04:04:56 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L77Vq-0006X6-1S for xfs@oss.sgi.com; Mon, 01 Dec 2008 12:04:26 +0000 Date: Mon, 1 Dec 2008 07:04:26 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfsidbg: fix uninitialized variable warning Subject: Re: [PATCH] xfsidbg: fix uninitialized variable warning Message-ID: <20081201120426.GA19856@infradead.org> References: <20081112114609.GB15216@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081112114609.GB15216@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228133096 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Nov 12, 2008 at 06:46:09AM -0500, Christoph Hellwig wrote: > We don't initializ s.br_state in xfsidbg_btree_trace_record so gcc > rightly complains about accessing it in xfsidbg_xbirec. Given that we > don't get the state value from the tracing code just opencode printing > the other which actually reduces code size and makes the XFS_BTNUM_BMAP > case in xfsidbg_btree_trace_record more similar to the others. Ping? > > > Signed-off-by: Christoph Hellwig > > Index: linux-2.6-xfs/fs/xfs/xfsidbg.c > =================================================================== > --- linux-2.6-xfs.orig/fs/xfs/xfsidbg.c 2008-11-12 11:14:39.000000000 +0100 > +++ linux-2.6-xfs/fs/xfs/xfsidbg.c 2008-11-12 11:17:14.000000000 +0100 > @@ -2759,16 +2759,11 @@ xfsidbg_btree_trace_record( > { > switch (btnum) { > case XFS_BTNUM_BMAP: > - { > - struct xfs_bmbt_irec s; > - > - s.br_startoff = ((xfs_dfiloff_t)l0 << 32) | (xfs_dfiloff_t)l1; > - s.br_startblock = ((xfs_dfsbno_t)l2 << 32) | (xfs_dfsbno_t)l3; > - s.br_blockcount = ((xfs_dfilblks_t)l4 << 32) | (xfs_dfilblks_t)l5; > - > - xfsidbg_xbirec(&s); > + kdb_printf("startoff %Ld startblock %Lx blockcount %Ld\n", > + ((xfs_dfiloff_t)l0 << 32) | (xfs_dfiloff_t)l1, > + ((xfs_dfsbno_t)l2 << 32) | (xfs_dfsbno_t)l3, > + ((xfs_dfilblks_t)l4 << 32) | (xfs_dfilblks_t)l5); > break; > - } > case XFS_BTNUM_BNO: > case XFS_BTNUM_CNT: > qprintf(" startblock = %d, blockcount = %d\n", > > ---end quoted text--- From SRS0+8d2496b74f78b2b3d345+1926+infradead.org+hch@bombadil.srs.infradead.org Mon Dec 1 07:42:47 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1DgbVY026854 for ; Mon, 1 Dec 2008 07:42:47 -0600 X-ASG-Debug-ID: 1228138957-7e0903590000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 412731BE8578 for ; Mon, 1 Dec 2008 05:42:37 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id WMiGDIov0HGjEia4 for ; Mon, 01 Dec 2008 05:42:37 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L792L-0002fb-Fd; Mon, 01 Dec 2008 13:42:05 +0000 Date: Mon, 1 Dec 2008 08:42:05 -0500 From: Christoph Hellwig To: Barry Naujok Cc: "xfs@oss.sgi.com" X-ASG-Orig-Subj: Re: [REVIEW] Fix unaligned accesses in IA64 in xfsprogs Subject: Re: [REVIEW] Fix unaligned accesses in IA64 in xfsprogs Message-ID: <20081201134205.GA7528@infradead.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228138957 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Mon, Dec 01, 2008 at 05:34:39PM +1100, Barry Naujok wrote: > xfs_repair is the main culprit when getting disk extents which aren't > properly aligned in memory. This patch does not call > xfs_bmbt_disk_get_all directly anymore but does an unaligned get on > the disk extent record and calls xfs_bmbt_get_all which is host-based > like the rest of the kernel routines do. What about just doin the get_unaligned in xfs_bmbt_disk_get_all? That way we could just use it everywhere. The only users that don't need the get_unaligned are in the tracing code, and I don't think we should be worried about that little bit of overhead. > @@ -277,21 +277,17 @@ convert_extent( > xfs_dfilblks_t *cp, > int *fp) > { And then we could replace this helper with a direct call to xfs_bmbt_disk_get_all as the caller would be much cleaner with a xfs_bmbt_irec_t on the stack anyway.. > --- a/xfsprogs/repair/dino_chunks.c 2008-12-01 17:10:37.000000000 +1100 > +++ b/xfsprogs/repair/dino_chunks.c 2008-12-01 16:11:11.549834281 +1100 > @@ -609,7 +609,8 @@ process_inode_chunk( > if (blks_per_cluster == 0) > blks_per_cluster = 1; > cluster_count = XFS_INODES_PER_CHUNK / inodes_per_cluster; > - ASSERT(cluster_count > 0); > + if (cluster_count == 0) > + cluster_count = 1; I can't see how this is related. From SRS0+8d2496b74f78b2b3d345+1926+infradead.org+hch@bombadil.srs.infradead.org Mon Dec 1 08:04:00 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1E40dW028186 for ; Mon, 1 Dec 2008 08:04:00 -0600 X-ASG-Debug-ID: 1228140239-766e01cb0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 32B2F1BE87CF for ; Mon, 1 Dec 2008 06:04:00 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id RLMIIItqKsNGAx7u for ; Mon, 01 Dec 2008 06:04:00 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L79N3-0005n9-Ai; Mon, 01 Dec 2008 14:03:29 +0000 Date: Mon, 1 Dec 2008 09:03:29 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: linux-kernel@vger.kernel.org X-ASG-Orig-Subj: XFS status update for November 2008 Subject: XFS status update for November 2008 Message-ID: <20081201140329.GA5257@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228140240 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com The mainline kernel is now at 2.6.28-rc6 and includes a small number of XFS fixes. There have been no updates to the XFS development tree during December. Without new regressions that large number of changes that missed 2.6.28 has thus stabilized to be ready for 2.6.29. In the meantime kernel-side development has been slow, with the only major patch set being a wide number of fixes to the compatibility for 32 bit ioctls on a 64 bit kernel. In the meantime there has been a large number of commits to the user space tree, which mostly consist of smaller fixes. xfsprogs is getting close to have the 3.0.0 release which will be the first full resync with the kernel sources since the year 2005. From SRS0+8d2496b74f78b2b3d345+1926+infradead.org+hch@bombadil.srs.infradead.org Mon Dec 1 16:20:33 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1MKW9g024832 for ; Mon, 1 Dec 2008 16:20:33 -0600 X-ASG-Debug-ID: 1228170009-3cee02b60000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5AEB41639762 for ; Mon, 1 Dec 2008 14:20:09 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id w5H9E3XNlaZkjnVk for ; Mon, 01 Dec 2008 14:20:09 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7H7f-0007po-Rv for xfs@oss.sgi.com; Mon, 01 Dec 2008 22:20:07 +0000 Date: Mon, 1 Dec 2008 17:20:07 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH][mainline-only] remove useless mnt_want_write call in xfs_write Subject: Re: [PATCH][mainline-only] remove useless mnt_want_write call in xfs_write Message-ID: <20081201222007.GA28519@infradead.org> References: <20080814212551.GA20980@lst.de> <20080929074450.GB23785@lst.de> <20081110133150.GA27234@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081110133150.GA27234@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228170010 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com ping^2? Note that with the new git tree it's also not just mainline only anymore. On Mon, Nov 10, 2008 at 08:31:50AM -0500, Christoph Hellwig wrote: > ping? > > On Mon, Sep 29, 2008 at 09:44:50AM +0200, Christoph Hellwig wrote: > > Any chance to get this into the git tree for the first 2.6.28 pull? > > > > On Thu, Aug 14, 2008 at 11:25:51PM +0200, Christoph Hellwig wrote: > > > When mnt_want_write was introduced a call to it was added around > > > xfs_ichgtime, but there is no need for this because a file can't be open > > > read/write on a r/o mount, and a mount can't degrade r/o while we still > > > have files open for writing. As the mnt_want_write changes were never > > > merged into the CVS tree this patch is for mainline only. > > > > > > > > > Signed-off-by: Christoph Hellwig > > > > > > --- linux-2.6/fs/xfs/linux-2.6/xfs_lrw.c 2008-08-14 14:52:15.000000000 -0300 > > > +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_lrw.c 2008-08-14 14:54:53.000000000 -0300 > > > @@ -51,7 +51,6 @@ > > > #include "xfs_vnodeops.h" > > > > > > #include > > > -#include > > > #include > > > > > > > > > @@ -668,15 +667,8 @@ start: > > > if (new_size > xip->i_size) > > > xip->i_new_size = new_size; > > > > > > - /* > > > - * We're not supposed to change timestamps in readonly-mounted > > > - * filesystems. Throw it away if anyone asks us. > > > - */ > > > - if (likely(!(ioflags & IO_INVIS) && > > > - !mnt_want_write(file->f_path.mnt))) { > > > + if (likely(!(ioflags & IO_INVIS))) > > > xfs_ichgtime(xip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); > > > - mnt_drop_write(file->f_path.mnt); > > > - } > > > > > > /* > > > * If the offset is beyond the size of the file, we have a couple > > ---end quoted text--- > > > > > ---end quoted text--- > > ---end quoted text--- From billodo@sgi.com Mon Dec 1 17:04:40 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1N4dIv027538 for ; Mon, 1 Dec 2008 17:04:40 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 99A8C3041D8 for ; Mon, 1 Dec 2008 15:04:36 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 8BEA1700016A; Mon, 1 Dec 2008 17:04:36 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id ECDAE17E01F; Mon, 1 Dec 2008 17:10:05 -0600 (CST) Date: Mon, 1 Dec 2008 17:10:05 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 0/9] CRC support for superblock, ag headers, log and btree blocks Message-ID: <20081201231005.GA17631@sgi.com> References: <20080925225613.GA9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225613.GA9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:13AM +0200, Christoph Hellwig wrote: | Here's an updated crc series for various metadata structures. We're still | looking at the magic number in the log recovery case because getting down | a buffer type for the other structures wasn't quite as easy as for the | btree block. I'll probably look into that again once we're done with all | data structures. Just to be clear, crc only applies to the metadata structures listed in the subject line, correct? It wasn't clear to me where you were with the "other structures". Maybe it would be more clear if you could provide a simple table listing the structures and whether or not crc applies (yet). Bill From billodo@sgi.com Mon Dec 1 17:17:25 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1NHP8B028489 for ; Mon, 1 Dec 2008 17:17:25 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 390283041D9 for ; Mon, 1 Dec 2008 15:17:25 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 195E3700016A; Mon, 1 Dec 2008 17:17:25 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id 7E7DE17E01F; Mon, 1 Dec 2008 17:22:54 -0600 (CST) Date: Mon, 1 Dec 2008 17:22:54 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 0/9] CRC support for superblock, ag headers, log and btree blocks Message-ID: <20081201232254.GA25288@sgi.com> References: <20080925225613.GA9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225613.GA9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:13AM +0200, Christoph Hellwig wrote: | Here's an updated crc series for various metadata structures. We're still | looking at the magic number in the log recovery case because getting down | a buffer type for the other structures wasn't quite as easy as for the | btree block. I'll probably look into that again once we're done with all | data structures. IIUC, this is the latest crc series, right? (I had once thought, perhaps mistakenly, that there would be a refreshed patchset subsequent to this one). Thanks, Bill From bnaujok@sgi.com Mon Dec 1 17:31:11 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1NVB7Q029149 for ; Mon, 1 Dec 2008 17:31:11 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 664A230408D; Mon, 1 Dec 2008 15:31:10 -0800 (PST) Received: from pc-bnaujok.melbourne.sgi.com (pc-bnaujok.melbourne.sgi.com [134.14.55.58]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id KAA21731; Tue, 2 Dec 2008 10:31:07 +1100 Date: Tue, 02 Dec 2008 10:31:16 +1100 To: "Christoph Hellwig" Subject: Re: [REVIEW] Fix unaligned accesses in IA64 in xfsprogs From: "Barry Naujok" Organization: SGI Cc: "xfs@oss.sgi.com" Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8 MIME-Version: 1.0 References: <20081201134205.GA7528@infradead.org> Content-Transfer-Encoding: 7bit Message-ID: In-Reply-To: <20081201134205.GA7528@infradead.org> User-Agent: Opera Mail/9.52 (Win32) On Tue, 02 Dec 2008 00:42:05 +1100, Christoph Hellwig wrote: > On Mon, Dec 01, 2008 at 05:34:39PM +1100, Barry Naujok wrote: >> xfs_repair is the main culprit when getting disk extents which aren't >> properly aligned in memory. This patch does not call >> xfs_bmbt_disk_get_all directly anymore but does an unaligned get on >> the disk extent record and calls xfs_bmbt_get_all which is host-based >> like the rest of the kernel routines do. > > What about just doin the get_unaligned in xfs_bmbt_disk_get_all? That > way we could just use it everywhere. The only users that don't need > the get_unaligned are in the tracing code, and I don't think we should > be worried about that little bit of overhead. > >> @@ -277,21 +277,17 @@ convert_extent( >> xfs_dfilblks_t *cp, >> int *fp) >> { > > And then we could replace this helper with a direct call to > xfs_bmbt_disk_get_all as the caller would be much cleaner with a > xfs_bmbt_irec_t on the stack anyway.. It's a libxfs/kernel function, so ideally, it should be also ported into the kernel space and possible kernel cleanups along with it. >> --- a/xfsprogs/repair/dino_chunks.c 2008-12-01 17:10:37.000000000 +1100 >> +++ b/xfsprogs/repair/dino_chunks.c 2008-12-01 16:11:11.549834281 +1100 >> @@ -609,7 +609,8 @@ process_inode_chunk( >> if (blks_per_cluster == 0) >> blks_per_cluster = 1; >> cluster_count = XFS_INODES_PER_CHUNK / inodes_per_cluster; >> - ASSERT(cluster_count > 0); >> + if (cluster_count == 0) >> + cluster_count = 1; > > I can't see how this is related. Another IA64 fix. From billodo@sgi.com Mon Dec 1 17:34:20 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1NYIKf029479 for ; Mon, 1 Dec 2008 17:34:20 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 867298F81A5 for ; Mon, 1 Dec 2008 15:34:15 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 461E270001D6; Mon, 1 Dec 2008 17:34:15 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id B046217E01F; Mon, 1 Dec 2008 17:39:44 -0600 (CST) Date: Mon, 1 Dec 2008 17:39:44 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 0/9] CRC support for superblock, ag headers, log and btree blocks Message-ID: <20081201233944.GA32605@sgi.com> References: <20080925225613.GA9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225613.GA9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:13AM +0200, Christoph Hellwig wrote: | Here's an updated crc series for various metadata structures. We're still | looking at the magic number in the log recovery case because getting down | a buffer type for the other structures wasn't quite as easy as for the | btree block. I'll probably look into that again once we're done with all | data structures. Christoph- Yet another question as I revisit this ;) ... What is to be done with the other tarball on your site ( xfs-cmds-crcs.tgz )? Is there a separate posting on this list that I may have missed earlier? Bill From billodo@sgi.com Mon Dec 1 17:36:12 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1NaCbd029644 for ; Mon, 1 Dec 2008 17:36:12 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9DB70AC09B for ; Mon, 1 Dec 2008 15:36:08 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 56410700016A; Mon, 1 Dec 2008 17:36:08 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id C0E9517E01F; Mon, 1 Dec 2008 17:41:37 -0600 (CST) Date: Mon, 1 Dec 2008 17:41:37 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 1/9] factor out xfs_read_agi helper Message-ID: <20081201234137.GA5094@sgi.com> References: <20080925225618.GB9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225618.GB9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) looks good. From billodo@sgi.com Mon Dec 1 17:40:48 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1Nel1J029929 for ; Mon, 1 Dec 2008 17:40:48 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 913D23041DC for ; Mon, 1 Dec 2008 15:40:47 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 7AC00700016A; Mon, 1 Dec 2008 17:40:47 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id E6FF217E01F; Mon, 1 Dec 2008 17:46:16 -0600 (CST) Date: Mon, 1 Dec 2008 17:46:16 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 2/9] factor out xfs_read_agf helper Message-ID: <20081201234616.GB5094@sgi.com> References: <20080925225622.GC9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225622.GC9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:22AM +0200, Christoph Hellwig wrote: | Add a helper to read the AGF header and perform basic verification. | Based on hunks from a larger patch from Dave Chinner. looks good. From billodo@sgi.com Mon Dec 1 17:47:49 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB1NlnqW030400 for ; Mon, 1 Dec 2008 17:47:49 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id DA9778F8047 for ; Mon, 1 Dec 2008 15:47:48 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id BD38F700016A; Mon, 1 Dec 2008 17:47:48 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id 3734017E01F; Mon, 1 Dec 2008 17:53:18 -0600 (CST) Date: Mon, 1 Dec 2008 17:53:18 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 0/9] CRC support for superblock, ag headers, log and btree blocks Message-ID: <20081201235318.GC5094@sgi.com> References: <20080925225613.GA9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225613.GA9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:13AM +0200, Christoph Hellwig wrote: | Here's an updated crc series for various metadata structures. We're still | looking at the magic number in the log recovery case because getting down | a buffer type for the other structures wasn't quite as easy as for the | btree block. I'll probably look into that again once we're done with all | data structures. I've carried out cursory build and test of this series. I'm concerned that my testing (and anyone else's testing) has not addressed performance hits being introduced with crc on metadata. What level of testing have you done, and can you recommend some testing that goes beyond the QA suite that we have in place. I did run the btree test harness on that earlier series, but it appeared to me that that was a go/no-go test and unless I'm missing something, I've not seen tests that might help quantify performance hits. Thanks, Bill From bnaujok@sgi.com Mon Dec 1 18:37:20 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB20bKYf000715 for ; Mon, 1 Dec 2008 18:37:20 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id F35E9AC009; Mon, 1 Dec 2008 16:37:15 -0800 (PST) Received: from pc-bnaujok.melbourne.sgi.com (pc-bnaujok.melbourne.sgi.com [134.14.55.58]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id LAA22978; Tue, 2 Dec 2008 11:37:07 +1100 Date: Tue, 02 Dec 2008 11:37:31 +1100 To: "Christoph Hellwig" Subject: Re: [REVIEW] Fix unaligned accesses in IA64 in xfsprogs From: "Barry Naujok" Organization: SGI Cc: "xfs@oss.sgi.com" Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8 MIME-Version: 1.0 References: <20081201134205.GA7528@infradead.org> Content-Transfer-Encoding: 7bit Message-ID: In-Reply-To: <20081201134205.GA7528@infradead.org> User-Agent: Opera Mail/9.52 (Win32) On Tue, 02 Dec 2008 00:42:05 +1100, Christoph Hellwig wrote: > On Mon, Dec 01, 2008 at 05:34:39PM +1100, Barry Naujok wrote: >> xfs_repair is the main culprit when getting disk extents which aren't >> properly aligned in memory. This patch does not call >> xfs_bmbt_disk_get_all directly anymore but does an unaligned get on >> the disk extent record and calls xfs_bmbt_get_all which is host-based >> like the rest of the kernel routines do. > > What about just doin the get_unaligned in xfs_bmbt_disk_get_all? That > way we could just use it everywhere. The only users that don't need > the get_unaligned are in the tracing code, and I don't think we should > be worried about that little bit of overhead. > >> @@ -277,21 +277,17 @@ convert_extent( >> xfs_dfilblks_t *cp, >> int *fp) >> { > > And then we could replace this helper with a direct call to > xfs_bmbt_disk_get_all as the caller would be much cleaner with a > xfs_bmbt_irec_t on the stack anyway.. Obviously modifying xfs_bmbt_disk_get_all yields a much smaller patch: =========================================================================== xfsprogs/db/bmap.c =========================================================================== --- a/xfsprogs/db/bmap.c 2008-12-02 11:21:00.000000000 +1100 +++ b/xfsprogs/db/bmap.c 2008-12-02 11:20:41.324928232 +1100 @@ -277,21 +277,14 @@ convert_extent( xfs_dfilblks_t *cp, int *fp) { - xfs_bmbt_irec_t irec, *s = &irec; - xfs_bmbt_rec_t rpcopy, *p = &rpcopy; + xfs_bmbt_irec_t irec; - memmove(&rpcopy, rp, sizeof(rpcopy)); - libxfs_bmbt_disk_get_all(p, s); + libxfs_bmbt_disk_get_all(rp, &irec); - if (s->br_state == XFS_EXT_UNWRITTEN) { - *fp = 1; - } else { - *fp = 0; - } - - *op = s->br_startoff; - *sp = s->br_startblock; - *cp = s->br_blockcount; + *fp = irec.br_state == XFS_EXT_UNWRITTEN; + *op = irec.br_startoff; + *sp = irec.br_startblock; + *cp = irec.br_blockcount; } void =========================================================================== xfsprogs/libxfs/xfs_bmap_btree.c =========================================================================== --- a/xfsprogs/libxfs/xfs_bmap_btree.c 2008-12-02 11:21:00.000000000 +1100 +++ b/xfsprogs/libxfs/xfs_bmap_btree.c 2008-12-02 11:20:09.553355392 +1100 @@ -181,7 +181,8 @@ xfs_bmbt_disk_get_all( xfs_bmbt_rec_t *r, xfs_bmbt_irec_t *s) { - __xfs_bmbt_get_all(be64_to_cpu(r->l0), be64_to_cpu(r->l1), s); + __xfs_bmbt_get_all(get_unaligned_be64(&r->l0), + get_unaligned_be64(&r->l1), s); } /* From bnaujok@sgi.com Mon Dec 1 18:41:59 2008 Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB20fx1q000906 for ; Mon, 1 Dec 2008 18:41:59 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id EBEF8AC009; Mon, 1 Dec 2008 16:41:54 -0800 (PST) Received: from chook.melbourne.sgi.com (chook.melbourne.sgi.com [134.14.54.237]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id LAA23007; Tue, 2 Dec 2008 11:41:52 +1100 Received: by chook.melbourne.sgi.com (Postfix, from userid 1161) id B9A1158ADBF6; Tue, 2 Dec 2008 11:41:52 +1100 (EST) To: sgi.bugs.xfs@engr.sgi.com Cc: xfs@oss.sgi.com Subject: TAKE 990359 - xfs_repair: dino_chunks.c:612: process_inode_chunk: Assertion `cluster_count > 0 Message-Id: <20081202004152.B9A1158ADBF6@chook.melbourne.sgi.com> Date: Tue, 2 Dec 2008 11:41:52 +1100 (EST) From: bnaujok@sgi.com (Barry Naujok) Fix 64k blocksize handling in xfs_repair Date: Tue Dec 2 11:41:26 EST 2008 Workarea: chook.melbourne.sgi.com:/home/bnaujok/isms/xcmds-clean Inspected by: brads@sgi.com The following file(s) were checked into: longdrop.melbourne.sgi.com:/isms/xfs-cmds/master-melb Modid: master-melb:xfs-cmds:32616a xfsprogs/repair/dino_chunks.c - 1.18 - changed http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-cmds/xfsprogs/repair/dino_chunks.c.diff?r1=text&tr1=1.18&r2=text&tr2=1.17&f=h - Fix 64k blocksize handling in xfs_repair From bnaujok@sgi.com Mon Dec 1 19:09:46 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB219kEf002353 for ; Mon, 1 Dec 2008 19:09:46 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 985B7304083 for ; Mon, 1 Dec 2008 17:09:42 -0800 (PST) Received: from chook.melbourne.sgi.com (chook.melbourne.sgi.com [134.14.54.237]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id MAA23438 for ; Tue, 2 Dec 2008 12:09:41 +1100 Received: by chook.melbourne.sgi.com (Postfix, from userid 1161) id 05A1258ADBF6; Tue, 2 Dec 2008 12:09:40 +1100 (EST) To: xfs@oss.sgi.com Subject: TAKE - xfsprogs: kill unused files db/dbread.[ch] Message-Id: <20081202010941.05A1258ADBF6@chook.melbourne.sgi.com> Date: Tue, 2 Dec 2008 12:09:40 +1100 (EST) From: bnaujok@sgi.com (Barry Naujok) kill unused files db/dbread.[ch] Date: Tue Dec 2 12:09:02 EST 2008 Workarea: chook.melbourne.sgi.com:/home/bnaujok/isms/xcmds-clean Inspected by: Christoph Hellwig The following file(s) were checked into: longdrop.melbourne.sgi.com:/isms/xfs-cmds/master-melb Modid: master-melb:xfs-cmds:32617a xfsprogs/db/dbread.c - 1.10 - deleted http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-cmds/xfsprogs/db/dbread.c.diff?r1=text&tr1=1.10&r2=text&tr2=1.9&f=h xfsprogs/db/dbread.h - 1.7 - deleted http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-cmds/xfsprogs/db/dbread.h.diff?r1=text&tr1=1.7&r2=text&tr2=1.6&f=h xfsprogs/db/Makefile - 1.20 - changed http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-cmds/xfsprogs/db/Makefile.diff?r1=text&tr1=1.20&r2=text&tr2=1.19&f=h - kill unused files db/dbread.[ch] From bnaujok@sgi.com Mon Dec 1 19:20:16 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB21KFGM003055 for ; Mon, 1 Dec 2008 19:20:16 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id A8552AC09B for ; Mon, 1 Dec 2008 17:20:11 -0800 (PST) Received: from chook.melbourne.sgi.com (chook.melbourne.sgi.com [134.14.54.237]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id MAA23639 for ; Tue, 2 Dec 2008 12:20:10 +1100 Received: by chook.melbourne.sgi.com (Postfix, from userid 1161) id 217DA58ADBF6; Tue, 2 Dec 2008 12:20:09 +1100 (EST) To: xfs@oss.sgi.com Subject: TAKE - xfsprogs: pad ustat struct for mount check to avoid corruption Message-Id: <20081202012010.217DA58ADBF6@chook.melbourne.sgi.com> Date: Tue, 2 Dec 2008 12:20:09 +1100 (EST) From: bnaujok@sgi.com (Barry Naujok) Linux kernels (at least up until 2.6.27) are lacking compat sys_ustat handlers on some platforms (notably PPC) so that if called from 32 bits on a 64-bit kernel, the kernel will copy out too much (32 bytes onto a 20-byte structure): [root@xero xfstests]# xfs_logprint /dev/loop0 xfs_logprint: *** stack smashing detected ***: xfs_logprint terminated Aborted This will be fixed upstream, but for the benefit of older kernels we may want to guard against this by padding the structure we pass into the syscall. We don't care about the values anyway, just the return value. Signed-off-by: Eric Sandeen Date: Tue Dec 2 12:17:58 EST 2008 Workarea: chook.melbourne.sgi.com:/home/bnaujok/isms/xcmds-clean Inspected by: Eric Sandeen The following file(s) were checked into: longdrop.melbourne.sgi.com:/isms/xfs-cmds/master-melb Modid: master-melb:xfs-cmds:32618a xfsprogs/libxfs/linux.c - 1.19 - changed http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-cmds/xfsprogs/libxfs/linux.c.diff?r1=text&tr1=1.19&r2=text&tr2=1.18&f=h - Pad ustat struct to avoid stack corruption From lachlan@sgi.com Mon Dec 1 21:25:19 2008 Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB23PJJm010216 for ; Mon, 1 Dec 2008 21:25:19 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id 48009AC00B; Mon, 1 Dec 2008 19:25:15 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id OAA25533; Tue, 2 Dec 2008 14:25:13 +1100 Message-ID: <4934AAA9.5090405@sgi.com> Date: Tue, 02 Dec 2008 14:25:29 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: Donald Douwsma CC: xfs@oss.sgi.com Subject: Re: Assertion failed: atomic_read(&mp->m_active_trans) References: <492BB095.1000104@sgi.com> In-Reply-To: <492BB095.1000104@sgi.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit That looks fine to me. Just make sure the PV doesn't get closed when you check in the changes since the real problem is still unresolved. Donald Douwsma wrote: > We still occasionally see transactions in flight after remounting > read-only. This has come up a few times in the past, but we never > seem to have gotten to the bottom of it. > > http://www.gossamer-threads.com/lists/linux/kernel/868139 > > Most recently we've seen this on 2.6.27, when unmounting the root > filesystem during shutdown/reboot. > > Stack traceback for pid 13170 > 0xffff81024dcd9080 13170 12901 1 1 R 0xffff81024dcd93c0 *mount > rsp rip Function (args) > 0xffff8101fb977d18 0xffffffff803b8acd assfail+0x1a (invalid, invalid, invalid) > 0xffff8101fb977d50 0xffffffff803a57e4 xfs_attr_quiesce+0x4a (0xffff8102211e4b20) > 0xffff8101fb977d70 0xffffffff803a589b xfs_mntupdate+0x7c (0xffff8102211e4b20, invalid, invalid) > 0xffff8101fb977d90 0xffffffff803b7cf6 xfs_fs_remount+0x49 (invalid, 0xffff8101fb977dd4, invalid) > 0xffff8101fb977dc0 0xffffffff802830fe do_remount_sb+0xe9 (0xffff81025c804670, invalid, 0xffff8101ee490000, invalid) > 0xffff8101fb977e00 0xffffffff8029698d do_remount+0x7d (0xffff8101fb977e58, invalid, invalid, 0xffff8101ee490000) > 0xffff8101fb977e40 0xffffffff802974fd do_mount+0x13b (0xffff8102079c2000, 0xffff8102004ea000, 0xffff810219cb0000, invalid, 0xffff8101ee490000) > 0xffff8101fb977f20 0xffffffff8029761a sys_mount+0x89 (0x523d90, invalid, invalid, 0xffffffffc0ed0021, 0x523e30) > 0xffff8101fb977f80 0xffffffff8020b18b system_call_after_swapgs+0x7b (invalid, invalid, invalid, invalid, invalid, invalid) > > Previously we've discussed changing the ASSERT_ALWAYS to a normal > ASSERT to lessen the impact for users. Any objections to doing this > until we fix the underlying problem? > > Don > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From tes@sgi.com Mon Dec 1 21:54:45 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB23sieh011965 for ; Mon, 1 Dec 2008 21:54:45 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id 070A5AC00C; Mon, 1 Dec 2008 19:54:42 -0800 (PST) Received: from boing.melbourne.sgi.com (boing.melbourne.sgi.com [134.14.55.141]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id OAA25973; Tue, 2 Dec 2008 14:54:40 +1100 Message-ID: <4934B180.9000507@sgi.com> Date: Tue, 02 Dec 2008 14:54:40 +1100 From: Timothy Shimmin User-Agent: Thunderbird 2.0.0.17 (Macintosh/20080914) MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: [XFS updates] XFS public tree - master for latest XFS changes... References: <200812010015.mB10F1Ab031727@oss.sgi.com> <20081201064949.GL6291@disturbed> In-Reply-To: <20081201064949.GL6291@disturbed> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Dave Chinner wrote: > On Sun, Nov 30, 2008 at 06:15:01PM -0600, Niv Sardi wrote: >> - Log ----------------------------------------------------------------- >> commit 0924b585fc49bf371bc700c23e516a538bf589af >> Author: Dave Chinner >> Date: Fri Nov 28 14:23:34 2008 +1100 >> >> [XFS] fix uninitialised variable bug in dquot release. >> >> gcc is warning about an uninitialised variable in xfs_growfs_rt(). >> This is a false positive. Fix it by changing the scope of the >> transaction pointer to wholly within the internal loop inside >> the function. > > The title of that doesn't match the description. I think it > was supposed to be: > > [PATCH 4/5] XFS: fix spurious uninitialised variable warning in xfs_growfs_rt > > BTW, can we get a one-line summary of the commits being referenced > in the message? Yes. The list of commits at the start now has the 1st line of each commit description. --Tim From tes@sgi.com Mon Dec 1 22:01:17 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB241HGC012413 for ; Mon, 1 Dec 2008 22:01:17 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay1.corp.sgi.com (Postfix) with SMTP id D7C658F8047; Mon, 1 Dec 2008 20:01:12 -0800 (PST) Received: from boing.melbourne.sgi.com (boing.melbourne.sgi.com [134.14.55.141]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id PAA26115; Tue, 2 Dec 2008 15:01:10 +1100 Message-ID: <4934B305.3010205@sgi.com> Date: Tue, 02 Dec 2008 15:01:09 +1100 From: Timothy Shimmin User-Agent: Thunderbird 2.0.0.17 (Macintosh/20080914) MIME-Version: 1.0 To: Christoph Hellwig CC: Niv Sardi , xfs@oss.sgi.com Subject: Re: [XFS updates] XFS public tree - master for latest XFS changes... References: <200812010015.mB10F1Ab031727@oss.sgi.com> <20081201064949.GL6291@disturbed> <20081201090953.GA31696@infradead.org> In-Reply-To: <20081201090953.GA31696@infradead.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Christoph Hellwig wrote: > On Mon, Dec 01, 2008 at 05:49:49PM +1100, Dave Chinner wrote: >> On Sun, Nov 30, 2008 at 06:15:01PM -0600, Niv Sardi wrote: >>> - Log ----------------------------------------------------------------- >>> commit 0924b585fc49bf371bc700c23e516a538bf589af >>> Author: Dave Chinner >>> Date: Fri Nov 28 14:23:34 2008 +1100 >>> >>> [XFS] fix uninitialised variable bug in dquot release. >>> >>> gcc is warning about an uninitialised variable in xfs_growfs_rt(). >>> This is a false positive. Fix it by changing the scope of the >>> transaction pointer to wholly within the internal loop inside >>> the function. >> The title of that doesn't match the description. I think it >> was supposed to be: >> >> [PATCH 4/5] XFS: fix spurious uninitialised variable warning in xfs_growfs_rt > > Looks like xaiki just sucked in my staging tree where I mistpasted the > subject line. > >> BTW, can we get a one-line summary of the commits being referenced >> in the message? The commit hash is less than useful, and having to >> read through several hundred lines of commit logs to determine >> what was checked in is not fun..... > > Yeah, the new sort of commit messags aren't too useful. I would in fact > prefer to get the old style one mail per commit, maybe even including > the patch that was commited. I'm sure this is doable with git as there > are a lot of projects that do it. > I've changed the script to list the commits with the 1 line description as Dave suggested (hopefully what he was intending). However, I thought the msg per push was just fine. If you and others disagree, then I'll look at a per commit email hook I guess. --Tim From markgw@sgi.com Mon Dec 1 23:47:15 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB25lFAG019636 for ; Mon, 1 Dec 2008 23:47:15 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 4C6923041B7 for ; Mon, 1 Dec 2008 21:47:11 -0800 (PST) Received: from [134.15.251.1] (melb-sw-corp-251-1.corp.sgi.com [134.15.251.1]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id QAA27693 for ; Tue, 2 Dec 2008 16:47:07 +1100 Message-ID: <4934CBD6.4040907@sgi.com> Date: Tue, 02 Dec 2008 16:47:02 +1100 From: Mark Goodwin Reply-To: markgw@sgi.com Organization: SGI Engineering User-Agent: Thunderbird 2.0.0.18 (Windows/20081105) MIME-Version: 1.0 To: xfs-oss Subject: XFS patch queue & plan for 2.6.29 open season Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Looks like 2.6.28 will have another two RC's before 2.6.29 opens. I'm unsure if that means before or after Christmas, but in any case we need to be ready before Christmas - we will have a massive pull request (largely but certainly not all due to the commit list held over from 2.6.28). Current status: # The XFS master branch on oss has taken everything in Christoph's staging tree http://www.kernel.org/pub/linux/kernel/people/hch/xfs/xfs-staging/series # We're about to take Eric's compat series (12 patches) # Christoph recently sent out a couple of review pings ;-) These need some review please (Niv? or anyone?). In the IRC listing below, there are another 15 to 20 or so on the list that need review. # After that, here's a quote from a public IRC chat late last week: that's only 30 patches - there are ~70 more still on the mail list there's still a few more -staging is the fully reviewd set I have another about 15 to 20 that need review that I've recently posted Eric has about 20 compat patches Dave has some patches that he still needs to repost and I also have some older stuff that needs reposting and then there's the whole dmapi stuff that needs the xfs-dev tree and once we have that cleared I have another at least 10 that I haven't bothered (re)posting and then there's the crc series which isn't for short-term commit I'll have a new version of that too once the dependencies are in ok so we'll just start with the fully reviewed set, then take some more and then stop and start testing for .29 candidate push OK, so the remaining patches are mostly from Christoph, though looks like Dave may have a few too. These are going to need a refresh against current master branch (or xfs-dev for DMAPI & kdb). Christoph, would a new staging tree be the best way to proceed, or should we start picking off the mail list? On-going, *ideally* after a patch series has received final rv and ack, the developer would post a git URL as the last post to the thread and we'd just pull from that. I guess that'd be a sort of "xfs-next" collaborative arrangement - we're all set up for this now (with git/ptools hooks in place internally, etc). Thanks -- Mark Goodwin markgw@sgi.com Engineering Manager for XFS and PCP Phone: +61-3-99631937 SGI Australian Software Group Cell: +61-4-18969583 ------------------------------------------------------------- From xaiki@oss.sgi.com Mon Dec 1 23:58:25 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_40, J_CHICKENPOX_13,J_CHICKENPOX_15,J_CHICKENPOX_21,J_CHICKENPOX_32, J_CHICKENPOX_51,J_CHICKENPOX_52,J_CHICKENPOX_91 autolearn=no version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB25wPgi021633 for ; Mon, 1 Dec 2008 23:58:25 -0600 Received: (from xaiki@localhost) by oss.sgi.com (8.12.11.20060308/8.12.11/Submit) id mB25wAjW020253; Mon, 1 Dec 2008 23:58:10 -0600 Date: Mon, 1 Dec 2008 23:58:10 -0600 Message-Id: <200812020558.mB25wAjW020253@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, mainline, updated. v2.6.28-rc3-1204-g061e41f X-Git-Refname: refs/heads/mainline X-Git-Reftype: branch X-Git-Oldrev: ed313489badef16d700f5a3be50e8fd8f8294bc8 X-Git-Newrev: 061e41fdb5047b1fb161e89664057835935ca1d2 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, mainline has been updated 061e41f Linux 2.6.28-rc7 0d81514 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 9c84ba4 drivers/gpu/drm/i915/i915_irq.c: fix warning 09a8126 i82875p_edac: fix module remove 307d114 i82875p_edac: fix overflow device resource setup bca404a fbdev: fix FB console blanking 0380155 ntfs: don't fool kernel-doc ced6909 kernel-doc: handle varargs cleanly 6ff2d39 lib/idr.c: fix rcu related race with idr_find 1d678f3 DMA-API.txt: fix description of pci_map_sg/dma_map_sg scatterlists handling 4280e31 frv: fix mmap2 error handling a800599 taint: add missing comment c4c6fa9 radeonfb: fix problem with color expansion & alignment b93c35f spi: fix spi_s3c24xx_gpio num_chipselect e39ea8a spi: fix spi_s3c24xx_gpio device handle lookup 4e253d2 spi: au1550_spi full duplex dma fix 6a010b5 spi: fix spi_imx probe oopsing 7ef9964 epoll: introduce resource usage limits b7d271d spi: mpc52xx_psc_spi chipselect bugfix aaacf4b spi: avoid spidev crash when device is removed dc8c214 spi documentation: use __initdata on struct dc924ef hwmon: applesmc: make applesmc load automatically on startup 36be47d parport_serial: fix array overflow dc19f9d memcg: memory hotplug fix for notifier callback b29acbd mm: vmalloc fix lazy unmapping cache aliasing 8650e51 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 d6b58f8 ocfs2: fix regression in ocfs2_read_blocks_sync() 07d9a39 ocfs2: fix return value set in init_dlmfs_fs() a2eee69 ocfs2: Small documentation update 07f9eeb ocfs2: fix wake_up in unlock_ast 66f502a ocfs2: initialize stack_user lvbptr 3b5da01 ocfs2: comments typo fix a693b0c em28xx: remove backward compat macro added on a previous fix 7ac0110 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 484ab62 V4L/DVB (9748): em28xx: fix compile warning faa3bd2 V4L/DVB (9743): em28xx: fix oops audio 4bc2a9b Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband ac70a96 libata: blacklist Seagate drives which time out FLUSH_CACHE when used with NCQ 03f6084 [libata] pata_rb532_cf: fix signature of the xfer function 9f14786 [libata] pata_rb532_cf: fix and rename register definitions 1eedb4a ata_piix: add borked Tecra M4 to broken suspend list b0f43dc Merge branches 'ehca' and 'mlx4' into for-linus 42ab01c IB/mlx4: Fix MTT leakage in resize CQ 7ec4f46 IB/ehca: Fix problem with generated flush work completions 6b1f9d6 IB/ehca: Change misleading error message on memory hotplug 6a12141 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 c07f62e Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid e540458 Add kref to fake tty used by USB console 296fa7f drivers/char/tty_io.c: Avoid panic when no console is configured. b4dcfbe Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 ecf318c Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2a1dc50 vmscan: protect zone rotation stats by lru lock 33b07db Revert "of_platform_driver noise on sparce" 5bb4bd9 USB: serial: add more Onda device ids to option driver 621b239 USB: usb-storage: unusual_devs entry for Nikon D2H a6b7b03 USB: storage: unusual_devs entry for Mio C520-GPS 1f15a50 USB: fsl_usb2_udc: Report disconnect before unbinding 9ac36da USB: fsl_qe_udc: Report disconnect before unbinding 0a99e8a USB: fix SB600 USB subsystem hang bug 269f053 Revert "USB: improve ehci_watchdog's side effect in CPU power management" a1e0eb1 powerpc: Fix build for 32-bit SMP configs d9d060a Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 03cfdb8 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 4ec8f07 Merge master.kernel.org:/home/rmk/linux-2.6-arm 151903d drm/i915: Fix copy'n'pasteo that broke VT switch if flushing was non-empty. ab598b6 powerpc: Fix system calls on Cell entered with XER.SO=1 960cedb powerpc/cell: Fix GDB watchpoints, again cc353c3 powerpc/mpic: Don't reset affinity for secondary MPIC on boot d015fe9 powerpc/cell/axon-msi: Retry on missing interrupt 4a61866 powerpc: Fix boot freeze on machine with empty memory node 4b824de powerpc: Fix IRQ assignment for some PCIe devices a6e470f Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 8e36a5d Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 9bd062d Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 72244c0 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 93b1005 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 7bbc67f Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 66a45cc Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 8639dad Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 9297524 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 8c7b905 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 1838e39 Trivial Documentation/filesystems/ramfs-rootfs-initramfs.txt fix 42182c78 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 e2a2444 Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 8decec7 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 499c59c MN10300: Tighten up the code using case ranges f1ba3bc Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 95c5e1f Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 b31a0fe Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 96b8936 remove __ARCH_WANT_COMPAT_SYS_PTRACE 16799c6 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 211f05a input: replace spin_lock_bh with spin_lock_irqsave in ml_ff_playback 02d0e67 hotplug_memory_notifier section annotation d3a307f sn_pci_controller_fixup() should be __init ffb78a2 get xenbus_driver ->probe() "recognized" by modpost df6b079 xen_play_dead() is __cpuinit 37af46e xen_setup_vcpu_info_placement() is not init on x86 23a14b9 kvm_setup_secondary_clock() is cpuinit 2236d25 enable_IR_x2apic() needs to be __init ad04d31 pci_setup() is init, not devinit 4bcc17d alpha: pcibios_resource_to_bus() is callable from normal code 56d74dd tricky one: hisax sections 8419641 cpuinit fixes in kernel/* b038514 uninorth-agp section mess 37d33d1 rapidio section noise f57628d section errors in smc911x/smc91x 5bac287 fix the section noise in sparc head.S 1c4567a m32r: section noise in head.S 8814b50 section misannotation in ibmtr_cs 43ced65 ixgbe section fixes 31421a6 rackmeter section fixes ced7172 gdth section fixes e669dae of_platform_driver noise on sparce 3003781 advansys fix on ISA-less configs 2fceab0 W1_MASTER_DS1WM should depend on HAVE_CLK d16d766 icside section warnings 596f103 fix talitos 6005e3e istallion section warnings 8c29890 sparc64 trivial section misannotations 409832f sparc32 cpuinit flase positives 4ea8fb9 powerpc set_huge_psize() false positive 7d6a8a1 false __cpuinit positives on alpha 3116848 meminit section warnings af6d596 sched: prevent divide by zero error in cpu_avg_load_per_task, update 1583715 sched, cpusets: fix warning in kernel/cpuset.c 2642b11 ieee1394: sbp2: fix race condition in state change e47c1fe ieee1394: fix list corruption (reported at module removal) 9a5aa62 mlx4_core: Save/restore default port IB capability mask 23d0a65 toshiba_acpi: close race in toshiba_acpi driver 7b964f7 i2c-parport: Fix misplaced parport_release call 79b93e1 i2c: Remove i2c clients in reverse order d1846b0 i2c/isp1301_omap: Build fixes ee8a1a0 HID: Apple ALU wireless keyboards are bluetooth devices af38d90 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 487ff32 Allow architectures to override copy_user_highpage() 52b19ac udf: Fix BUG_ON() in destroy_inode() a730b32 [ARM] pxa/palmtx: misc fixes to use generic GPIO API b627c8b x86: always define DECLARE_PCI_UNMAP* macros 6417a91 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 abd9421 [S390] Update default configuration. 0778dc3 [S390] Fix alignment of initial kernel stack. 2944a5c [S390] pgtable.h: Fix oops in unmap_vmas for KVM processes 8107d82 [S390] fix/cleanup sched_clock 59da213 [S390] fix system call parameter functions. 4cd4262 sched: prevent divide by zero error in cpu_avg_load_per_task 4f5a7f4 ftrace: prevent recursion e899b64 ACPICA: disable _BIF warning a6e0887 ACPI: delete OSI(Linux) DMI dmesg spam 95a28ed ACPICA: Allow _WAK method to return an Integer 0081b16 ACPI: thinkpad-acpi: fix fan sleep/resume path 3fedd90 sony-laptop: printk tweak 38cfc14 sony-laptop: brightness regression fix 3bdca1b Revert "ACPI: don't enable control method power button as wakeup device when Fixed Power button is used" 65df784 ACPI suspend: Blacklist boxes that require us to set SCI_EN directly on resume 4059907 ACPI: scheduling in atomic via acpi_evaluate_integer () 723fdb7 ARM: OMAP: Fixes for suspend / resume GPIO wake-up handling 558073d ACPI: battery: Convert discharge energy rate to current properly 90f6713 parisc: struct device - replace bus_id with dev_name(), dev_set_name() 7a3f513 parisc: fix kernel crash when unwinding a userspace process 9860d1b parisc: __kernel_time_t is always long 7b4d469 ACPI: EC: count interrupts only if called from interrupt handler. a98ee8c [CIFS] fix regression in cifs_write_begin/cifs_write_end 545f4e9 Input: wacom - add support for new USB Tablet PCs 461cba2 drm/i915: Save/restore HWS_PGA on suspend/resume 2fd36a5 [ARM] pxa/corgi: update default config to exclude tosa from being built 72e9622 [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera data ffd565a x86: fixup config space size of CPU functions for AMD family 11h 147dcf5 ARM: OMAP: Typo fix for clock_allow_idle 031bb27 firewire: fw-sbp2: another iPod mini quirk entry 9e0de91 ieee1394: sbp2: another iPod mini quirk entry a266d9f [CPUFREQ] powernow-k8: ignore out-of-range PstateStatus value 121fe86 [CPUFREQ] Documentation: Add Blackfin to list of supported processors de90add x86, bts: fix wrmsr and spinlock over kmalloc c4858ff x86, pebs: fix PEBS record size configuration e5e8ca6 x86, bts: turn macro into static inline function 292c669 x86, bts: exclude ds.c from build when disabled b628353 Merge branch 'topic/fix/hda' into for-linus eff79ae arch/x86/kernel/pci-calgary_64.c: change simple_strtol to simple_strtoul 5cf02b7 x86: use limited register constraint for setnz 661cd8f ALSA: hda - Check model for Dell 92HD73xx laptops c65574a ALSA: hda - mark Dell studio 1535 quirk 9502662 ALSA: hda - No 'Headphone as Line-out' swich without line-outs f73d358 ALSA: hda - Fix AFG power management on IDT 92HD* codecs 9e97697 ALSA: hda - Fix caching of SPDIF status bits 7953031 ARM: OMAP: Remove broken LCD driver for SX1 5244021 drm: move drm vblank initialization/cleanup to driver load/unload 6133047 drm/i915: execbuffer pins objects, no need to ensure they're still in the GTT 05eff84 drm/i915: Always read pipestat in irq_handler 2678d9d drm/i915: Subtract total pinned bytes from available aperture size 28dfe52 drm/i915: Avoid BUG_ONs on VT switch with a wedged chipset. cdfbc41 drm/i915: Remove IMR masking during interrupt handler, and restart it if needed. 7c46358 drm/i915: Manage PIPESTAT to control vblank interrupts instead of IMR. 8442c87 Input: replace spin_lock_bh with spin_lock_irqsave in ml_ff_playback 8ec2e24 MIPS: Make BUG() __noreturn. 50f3beb V4L/DVB (9742): em28xx-alsa: implement another locking schema 7a8f4cc V4L/DVB (9732): sms1xxx: use new firmware for Hauppauge WinTV MiniStick e07a1d8 V4L/DVB (9691): gspca: Move the video device to a separate area. 5c4fa00 V4L/DVB (9690): gspca: Lock the subdrivers via module_get/put. 98522a7 V4L/DVB (9689): gspca: Memory leak when disconnect while streaming. 3f9b5d4 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge be542fa Merge branch 'merge' of ssh://master.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge 11bac8a Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into merge fb91ee6 tracing, doc: update mmiotrace documentation 7ee1768 x86, mmiotrace: fix buffer overrun detection 47fd6f7 [ARM] 5335/1: pxa25x_udc: Fix is_vbus_present to return 1 or 0 86bbc2c xen: pin correct PGD on suspend 3d994e1 Merge branch 'oprofile-for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into x86/urgent fde5be3 HID: remove setup mutex, fix possible deadlock a1967d6 x86: revert irq number limitation 2ed1cdc irq.h: fix missing/extra kernel-doc 9f14416 Merge commit 'v2.6.28-rc6' into irq/urgent 844c6f6 [ARM] pxa/MioA701: bluetooth resume fix 999f633 [ARM] pxa/MioA701: fix memory corruption. 57550b2 Merge commit 'v2.6.28-rc6' into x86/urgent b0788ca lockdep: consistent alignement for lockdep info 522a110 function tracing: fix wrong position computing of stack_trace c879c63 Merge branches 'topic/fix/hda' and 'topic/fix/sound-core' into for-linus b0fc5e0 ALSA: hda - Add a quirk for Dell Studio 15 3a7abfd ALSA: hda: Add STAC_DELL_M4_3 quirk a39c4ad sound/sound_core: Fix sparse warnings 6065726 powerpc/spufs: Fix spinning in spufs_ps_fault on signal 818a557 V4L/DVB (9668): em28xx: fix a race condition with hald cce2571 V4L/DVB (9664): af9015: don't reconnect device in USB-bus f2a2e49 V4L/DVB (9647): em28xx: void having two concurrent control URB's c4a9879 V4L/DVB (9646): em28xx: avoid allocating/dealocating memory on every control urb 625ff16 V4L/DVB (9645): em28xx: Avoid memory leaks if registration fails 0253fdc ALSA: hda: STAC_DELL_M6 EAPD bfe085f x86: fixing __cpuinit/__init tangle, xsave_cntxt_init() 9bc646f x86: fix __cpuinit/__init tangle in init_thread_xstate() 578f3a3 HID: add USB ID for another dual gameron adapter 06d2148 HID: unignore mouse on unibody macbooks 5f4ba04 Input: i8042 - add Compal Hel80 laptop to nomux blacklist e871809 powerpc/mpc832x_rdb: fix swapped ethernet ids 06597aa powerpc: Use generic PHY driver for Marvell 88E1111 PHY on GE Fanuc SBC610 f464ff5 powerpc/85xx: L2 cache size wrong in 8572DS dts a4a16be oprofile: fix an overflow in ppro code 99afb98 V4L/DVB (9639): Make dib0700 remote control support work with firmware v1.20 deaf53e V4L/DVB (9635): v4l: s2255drv fix firmware test on big-endian 41286d9 V4L/DVB (9634): Make sure the i2c gate is open before powering down tuner 3f9b46c V4L/DVB (9632): make em28xx aux audio input work 3fa37de V4L/DVB (9631): Make s2api work for ATSC support c41109f V4L/DVB (9627): em28xx: Avoid i2c register error for boards without eeprom df4533a V4L/DVB (9608): Fix section mismatch warning for dm1105 during make 4faf100 V4L/DVB (9605): usb-urb: fix memory leak 7935eea V4L/DVB (9604): ttusb_dec: fix memory leak b7ed785 V4L/DVB (9603): dvb-ttusb-budget: Add validation for ttusb_alloc_iso_urbs 11eb260 V4L/DVB (9602): dvb-ttusb-budget: Add NULL pointer validation d7c31a1 V4L/DVB (9601): ttusb_dec: Add NULL pointer validation 5181e59 HID: fix blacklist entries for greenasia/pantherlord c8d6988 powerpc/virtex: Update defconfigs c7c2ffb powerpc/52xx: update defconfigs c14464b xsysace: Fix driver to use resource_size_t instead of unsigned long a108096 powerpc/virtex: fix various format/casting printk mismatches 847cdf4 powerpc/mpc5200: fix bestcomm Kconfig dependencies 6612d9b powerpc/44x: Fix 460EX/460GT machine check handling 5907630 powerpc/40x: Limit allocable DRAM during early mapping 3ff68a6 genirq: __irq_set_trigger: change pr_warning to pr_debug 734f0ba Input: cm109 - add keymap for ATCom AU-100 phone 4f48544 Input: fix the example of an input device driver 5fb17fd Input: psmouse - fix incorrect validate_byte check in OLPC protocol d6d79a7 Input: atkbd - cancel delayed work before freeing its structure a8215b8 Input: atkbd - add keymap quirk for Inventec Symphony systems 786b11c Input: i8042 - add Dell XPS M1530 to nomux list f131e24 irq: fix typo 6c2e940 x86: apic honour irq affinity which was set in early boot 612e368 genirq: fix the affinity setting in setup_irq f6d87f4 genirq: keep affinities set from userspace across free/request_irq() 2ad4988 UBI: Don't exit from ubi_thread until kthread_should_stop() is true b77bcb0 UBI: fix EBADMSG handling 9a5415f Input: elo - fix format string in elo driver from ed313489badef16d700f5a3be50e8fd8f8294bc8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 061e41fdb5047b1fb161e89664057835935ca1d2 Author: Linus Torvalds Date: Mon Dec 1 19:59:23 2008 -0800 Linux 2.6.28-rc7 commit 0d815142d1988899c97514a25ce5a9f4880e7fc8 Merge: 9c84ba4e502184d95ab75128d3166f595ea2dea0 a693b0cdba94f60f7ed43754d2c34151cdd11da5 Author: Linus Torvalds Date: Mon Dec 1 19:56:34 2008 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (25 commits) em28xx: remove backward compat macro added on a previous fix V4L/DVB (9748): em28xx: fix compile warning V4L/DVB (9743): em28xx: fix oops audio V4L/DVB (9742): em28xx-alsa: implement another locking schema V4L/DVB (9732): sms1xxx: use new firmware for Hauppauge WinTV MiniStick V4L/DVB (9691): gspca: Move the video device to a separate area. V4L/DVB (9690): gspca: Lock the subdrivers via module_get/put. V4L/DVB (9689): gspca: Memory leak when disconnect while streaming. V4L/DVB (9668): em28xx: fix a race condition with hald V4L/DVB (9664): af9015: don't reconnect device in USB-bus V4L/DVB (9647): em28xx: void having two concurrent control URB's V4L/DVB (9646): em28xx: avoid allocating/dealocating memory on every control urb V4L/DVB (9645): em28xx: Avoid memory leaks if registration fails V4L/DVB (9639): Make dib0700 remote control support work with firmware v1.20 V4L/DVB (9635): v4l: s2255drv fix firmware test on big-endian V4L/DVB (9634): Make sure the i2c gate is open before powering down tuner V4L/DVB (9632): make em28xx aux audio input work V4L/DVB (9631): Make s2api work for ATSC support V4L/DVB (9627): em28xx: Avoid i2c register error for boards without eeprom V4L/DVB (9608): Fix section mismatch warning for dm1105 during make ... commit 9c84ba4e502184d95ab75128d3166f595ea2dea0 Author: Andrew Morton Date: Mon Dec 1 13:14:08 2008 -0800 drivers/gpu/drm/i915/i915_irq.c: fix warning drivers/gpu/drm/i915/i915_irq.c: In function 'i915_disable_pipestat': drivers/gpu/drm/i915/i915_irq.c:101: warning: control may reach end of non-void function 'i915_pipestat' being inlined Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a81269c7aadaec3375a7ebd9647acbb72f5a67 Author: Jarkko Lavinen Date: Mon Dec 1 13:14:08 2008 -0800 i82875p_edac: fix module remove Fix module removal bugs of i82875p_edac. Also i82975x_edac code seems to have the same module removal bugs as in i82875p_edac. The problems were: 1. In module removal i82875p_remove_one() is never called. Variable i82875p_registered is newer changed from 1, which guarantees i82875p_remove_one() is not called (and even if it were called, it would be called in wrong order). As a result, the edac_mc workque is not stopped and keeps probing. If kernel debugging options are not enabled, user may not notice anything going wrong. if debugging options are enabled and I do "rmmod i82875p_edac", I get: edac debug: edac_pci_workq_function() checking BUG: unable to handle kernel paging request at f882d16f ... call trace: [] ? edac_mc_workq_function+0x55/0x7e [edac_core] [] ? run_workqueue+0xd7/0x1a5 [] ? run_workqueue+0x92/0x1a5 [] ? edac_mc_workq_function+0x0/0x7e [edac_core] [] ? worker_thread+0xb7/0xc3 [] ? autoremove_wake_function+0x0/0x33 [] ? worker_thread+0x0/0xc3 [] ? kthread+0x3b/0x61 [] ? kthread+0x0/0x61 [] ? kernel_thread_helper+0x7/0x10 Fix for this is to get rid of needles variable i82875p_registered altogether and run i82875p_remove_one() *before* pci_unregister_driver(). 2. edac_mc_del_mc() uses mci after freeing mci edac_mc_del_mc() calls calls edac_remove_sysfs_mci_device(). The kobject refcount of mci drops to 0 and mci is freed. After this mci is accessed via debug print and i82875p_remove_one() still uses mci->pvt and tries to free mci again with edac_mc_free(). The fix for this is add kobject_get(&mci->edac_mci_kobj) after edac_mc_alloc(). Then the mci is still available after returning from edac_mc_del_mc() with refcount 1, and mci->pvt is still available. When i82875p_remove_one() finally calls edac_mc_free(), this will cause kobject_put() and mci is released properly. Signed-off-by: Jarkko Lavinen Cc: Doug Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 307d114441f905e4576871ff28d06408a1af1a7e Author: Jarkko Lavinen Date: Mon Dec 1 13:14:06 2008 -0800 i82875p_edac: fix overflow device resource setup When I do "modprobe i82875p_edac" on my Asus P4C800 MB on kernels 2.6.26 or later, the module load fails due to BAR 0 collision. On 2.6.25 the module loads just fine. The overflow device on the MB seems to be hidden and its resources are not allocated at normal PCI bus init. Log shows the missing resource problem: EDAC DEBUG: i82875p_probe1() PCI: 0000:00:06.0 reg 10 32bit mmio: [fecf0000, fecf0fff] pci 0000:00:06.0: device not available because of BAR 0 [0xfecf0000-0xfecf0fff] collisions EDAC i82875p: i82875p_setup_overfl_dev(): Failed to enable overflow device The patch below fixes this by calling pci_bus_assign_resources() after the overflow device is revealed and added to the bus. With this patch I am again able to load and use the module. Signed-off-by: Jarkko Lavinen Cc: Doug Thompson Cc: Jesse Barnes Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bca404afdc5206c3bb30168315ee8a98a579ec65 Author: Dmitry Baryshkov Date: Mon Dec 1 13:14:05 2008 -0800 fbdev: fix FB console blanking The commit aef7db4bd5a3b6068dfa05919a3d685199eed116 fixed the problem with recursive locking in fb blanking code if blank is caused by user setting the /sys/class/graphics/fb*/blank. However this broke the fbcon timeout blanking. If you use a driver that defines ->fb_blank operation and at the same time that driver relies on other driver (e.g. backlight or lcd class) to blank the screen, when the fbcon times out and tries to blank the fb, it will call only fb driver blanker and won't notify the other driver. Thus FB output is disabled, but the screen isn't blanked. Restore fbcon blanking and at the same time apply the proper fix for the above problem: if fbcon_blank is called with FBINFO_FLAG_USEREVENT, we are already called through notification from fb_blank, thus we don't have to blank the fb again. Signed-off-by: Dmitry Baryshkov Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03801553630c4bec6682108800c9b2de64bdbd37 Author: Randy Dunlap Date: Mon Dec 1 13:14:04 2008 -0800 ntfs: don't fool kernel-doc kernel-doc handles macros now (it has for quite some time), so change the ntfs_debug() macro's kernel-doc to be just before the macro instead of before a phony function prototype. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Randy Dunlap Cc: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ced69090c573f1db253fb6b84ec537f4f3d7e2f4 Author: Randy Dunlap Date: Mon Dec 1 13:14:03 2008 -0800 kernel-doc: handle varargs cleanly The method for listing varargs in kernel-doc notation is: * @...: these arguments are printed by the @fmt argument but scripts/kernel-doc is confused: it always lists varargs as: ... variable arguments and ignores the @...: line's description, but then prints that line after the list of function parameters as though it's not part of the function parameters. This patch makes kernel-doc print the supplied @... description if it is present; otherwise a boilerplate "variable arguments" is printed. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ff2d39b91aec3dcae951afa982059e3dd9b49dc Author: Manfred Spraul Date: Mon Dec 1 13:14:02 2008 -0800 lib/idr.c: fix rcu related race with idr_find 2nd part of the fixes needed for http://bugzilla.kernel.org/show_bug.cgi?id=11796. When the idr tree is either grown or shrunk, then the update to the number of layers and the top pointer were not atomic. This race caused crashes. The attached patch fixes that by replicating the layers counter in each layer, thus idr_find doesn't need idp->layers anymore. Signed-off-by: Manfred Spraul Cc: Clement Calmels Cc: Nadia Derbey Cc: Pierre Peiffer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d678f365dae28420fa7329a2a35390b3582678d Author: FUJITA Tomonori Date: Mon Dec 1 13:14:01 2008 -0800 DMA-API.txt: fix description of pci_map_sg/dma_map_sg scatterlists handling - pci_map_sg/dma_map_sg are used with a scatter gather list that doesn't come from the block layer (e.g. some network drivers do). - how IOMMUs merge adjacent elements of the scatter/gather list is independent of how the block layer determines sees elements. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Tejun Heo Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4280e3126f641898f0ed1a931645373d3489e2a6 Author: David Howells Date: Mon Dec 1 13:14:00 2008 -0800 frv: fix mmap2 error handling Fix the error handling in sys_mmap2(). Currently, if the pgoff check fails, fput() might have to be called (which it isn't), so do the pgoff check first, before fget() is called. Signed-off-by: David Howells Reported-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8005992836434cab6182c6147993d21442184c1 Author: Arjan van de Ven Date: Mon Dec 1 13:14:00 2008 -0800 taint: add missing comment The description for 'D' was missing in the comment... (causing me a minute of WTF followed by looking at more of the code) Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4c6fa9891f3d1bcaae4f39fb751d5302965b566 Author: Benjamin Herrenschmidt Date: Mon Dec 1 13:13:58 2008 -0800 radeonfb: fix problem with color expansion & alignment The engine on some radeon variants locks up if color expansion is called for non aligned source data. This patch enables a feature of the core fbdev to request aligned input pixmaps and uses the HW clipping engine to clip the output to the requested size Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11875 Signed-off-by: Benjamin Herrenschmidt Tested-by: James Cloos Cc: "Rafael J. Wysocki" Cc: "David S. Miller" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b93c35ff39d19f20c47c06c206986afefecc777a Author: Ben Dooks Date: Mon Dec 1 13:13:57 2008 -0800 spi: fix spi_s3c24xx_gpio num_chipselect The spi master driver must have num_chipselect set to allow the bus to initialise. Pass this through the platform data. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e39ea8a2def1fcb203ed0183317124348962e351 Author: Ben Dooks Date: Mon Dec 1 13:13:56 2008 -0800 spi: fix spi_s3c24xx_gpio device handle lookup The spidev_to_sg() call in spi_s3c24xx_gpio.c was using the wrong method to convert the spi device into the private data for the driver. Fix this by using spi_master_get_devdata. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e253d23003b54c88d0919d6088be74f00eec3c7 Author: Jan Nikitenko Date: Mon Dec 1 13:13:56 2008 -0800 spi: au1550_spi full duplex dma fix Fix unsafe order in dma mapping operation: always flush data from the cache *BEFORE* invalidating it, to allow full duplex transfers where the same buffer may be used for both writes and reads. Tested with mmc-spi. Signed-off-by: Jan Nikitenko Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a010b56e9bd2fdb32efd153e1a08305949b6b53 Author: Julien Boibessot Date: Mon Dec 1 13:13:55 2008 -0800 spi: fix spi_imx probe oopsing Corrects spi_imx driver oops during initialization/probing: can't use drv_data before it's allocated. Signed-off-by: Julien Boibessot Acked-by: Sascha Hauer Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ef9964e6d1b911b78709f144000aacadd0ebc21 Author: Davide Libenzi Date: Mon Dec 1 13:13:55 2008 -0800 epoll: introduce resource usage limits It has been thought that the per-user file descriptors limit would also limit the resources that a normal user can request via the epoll interface. Vegard Nossum reported a very simple program (a modified version attached) that can make a normal user to request a pretty large amount of kernel memory, well within the its maximum number of fds. To solve such problem, default limits are now imposed, and /proc based configuration has been introduced. A new directory has been created, named /proc/sys/fs/epoll/ and inside there, there are two configuration points: max_user_instances = Maximum number of devices - per user max_user_watches = Maximum number of "watched" fds - per user The current default for "max_user_watches" limits the memory used by epoll to store "watches", to 1/32 of the amount of the low RAM. As example, a 256MB 32bit machine, will have "max_user_watches" set to roughly 90000. That should be enough to not break existing heavy epoll users. The default value for "max_user_instances" is set to 128, that should be enough too. This also changes the userspace, because a new error code can now come out from EPOLL_CTL_ADD (-ENOSPC). The EMFILE from epoll_create() was already listed, so that should be ok. [akpm@linux-foundation.org: use get_current_user()] Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Cc: Cyrill Gorcunov Reported-by: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7d271df873c5121a4ca1c70dea126b5920ec2f1 Author: Stefano Babic Date: Mon Dec 1 13:13:53 2008 -0800 spi: mpc52xx_psc_spi chipselect bugfix According to the manual the "tdfOnExit" flag must be set on the last byte we want to send. The PSC controller holds SS low until the flag is set. However, the flag was set always on the last byte of the FIFO, independently if it is the last byte of the transfer. This generates spurious toggling of the SS signals that breaks the protocol of some peripherals. Fix. Signed-off-by: Stefano Babic Acked-by: Grant Likely Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aaacf4bb51b243875b203e6ff73b5047636b4efa Author: Wolfgang Ocker Date: Mon Dec 1 13:13:52 2008 -0800 spi: avoid spidev crash when device is removed I saw a kernel oops in spidev_remove() when a spidev device was registered and I unloaded the SPI master driver: Unable to handle kernel paging request for data at address 0x00000004 Faulting instruction address: 0xc01c0c50 Oops: Kernel access of bad area, sig: 11 [#1] CDSPR Modules linked in: spi_ppc4xx(-) NIP: c01c0c50 LR: c01bf9e4 CTR: c01c0c34 REGS: cec89c30 TRAP: 0300 Not tainted (2.6.27.3izt) MSR: 00021000 CR: 24000228 XER: 20000007 DEAR: 00000004, ESR: 00800000 TASK = cf889040[2070] 'rmmod' THREAD: cec88000 GPR00: 00000000 cec89ce0 cf889040 cec8e000 00000004 cec8e000 ffffffff 00000000 GPR08: 0000001c c0336380 00000000 c01c0c34 00000001 1001a338 100e0000 100df49c GPR16: 100b54c0 100df49c 100ddd20 100f05a8 100b5340 100efd68 00000000 00000000 GPR24: 100ec008 100f0428 c0327788 c0327794 cec8e0ac cec8e000 c0336380 00000000 NIP [c01c0c50] spidev_remove+0x1c/0xe4 LR [c01bf9e4] spi_drv_remove+0x2c/0x3c Call Trace: [cec89d00] [c01bf9e4] spi_drv_remove+0x2c/0x3c [cec89d10] [c01859a0] __device_release_driver+0x78/0xb4 [cec89d20] [c0185ab0] device_release_driver+0x28/0x44 [cec89d40] [c0184be8] bus_remove_device+0xac/0xd8 [cec89d60] [c0183094] device_del+0x100/0x194 [cec89d80] [c0183140] device_unregister+0x18/0x30 [cec89da0] [c01bf30c] __unregister+0x20/0x34 [cec89db0] [c0182778] device_for_each_child+0x38/0x74 [cec89de0] [c01bf2d0] spi_unregister_master+0x28/0x44 [cec89e00] [c01bfeac] spi_bitbang_stop+0x1c/0x58 [cec89e20] [d908a5e0] spi_ppc4xx_of_remove+0x24/0x7c [spi_ppc4xx] [...] IMHO a call to spi_set_drvdata() is missing in spidev_probe(). The patch below helped. Signed-off-by: Wolfgang Ocker Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc8c214a9c37eb288b1c4782632649e55d251c68 Author: roel kluin Date: Mon Dec 1 13:13:51 2008 -0800 spi documentation: use __initdata on struct Use __initdata for data, not __init. Signed-off-by: Roel Kluin Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc924efb52ba9e4dffec5b15ae2242b894198139 Author: Henrik Rydberg Date: Mon Dec 1 13:13:49 2008 -0800 hwmon: applesmc: make applesmc load automatically on startup make use of the new dmi device loading support to automatically load the applesmc driver based on the dmi_match table. Signed-off-by: Henrik Rydberg Cc: Nicolas Boichat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36be47d6d8d98f54b6c4f891e9f54fb2bf554584 Author: Takashi Iwai Date: Mon Dec 1 13:13:49 2008 -0800 parport_serial: fix array overflow The netmos_9xx5_combo type assumes that PCI SSID provides always the correct value for the number of parallel and serial ports, but there are indeed broken devices with wrong numbers, which may result in Oops. This patch simply adds the check of the array range. Reference: Novell bnc#447067 https://bugzilla.novell.com/show_bug.cgi?id=447067 Signed-off-by: Takashi Iwai Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc19f9db38295f811d9041bd89b113beccbd763a Author: KAMEZAWA Hiroyuki Date: Mon Dec 1 13:13:48 2008 -0800 memcg: memory hotplug fix for notifier callback Fixes for memcg/memory hotplug. While memory hotplug allocate/free memmap, page_cgroup doesn't free page_cgroup at OFFLINE when page_cgroup is allocated via bootomem. (Because freeing bootmem requires special care.) Then, if page_cgroup is allocated by bootmem and memmap is freed/allocated by memory hotplug, page_cgroup->page == page is no longer true. But current MEM_ONLINE handler doesn't check it and update page_cgroup->page if it's not necessary to allocate page_cgroup. (This was not found because memmap is not freed if SPARSEMEM_VMEMMAP is y.) And I noticed that MEM_ONLINE can be called against "part of section". So, freeing page_cgroup at CANCEL_ONLINE will cause trouble. (freeing used page_cgroup) Don't rollback at CANCEL. One more, current memory hotplug notifier is stopped by slub because it sets NOTIFY_STOP_MASK to return vaule. So, page_cgroup's callback never be called. (low priority than slub now.) I think this slub's behavior is not intentional(BUG). and fixes it. Another way to be considered about page_cgroup allocation: - free page_cgroup at OFFLINE even if it's from bootmem and remove specieal handler. But it requires more changes. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12041 Signed-off-by: KAMEZAWA Hiruyoki Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Tested-by: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b29acbdcf877009af3f1fc0750bcac314c51e055 Author: Nick Piggin Date: Mon Dec 1 13:13:47 2008 -0800 mm: vmalloc fix lazy unmapping cache aliasing Jim Radford has reported that the vmap subsystem rewrite was sometimes causing his VIVT ARM system to behave strangely (seemed like going into infinite loops trying to fault in pages to userspace). We determined that the problem was most likely due to a cache aliasing issue. flush_cache_vunmap was only being called at the moment the page tables were to be taken down, however with lazy unmapping, this can happen after the page has subsequently been freed and allocated for something else. The dangling alias may still have dirty data attached to it. The fix for this problem is to do the cache flushing when the caller has called vunmap -- it would be a bug for them to write anything else to the mapping at that point. That appeared to solve Jim's problems. Reported-by: Jim Radford Signed-off-by: Nick Piggin Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8650e51ac94b5fe93c02e3c8fef02e416f14501c Merge: 7ac01108e71ca8ccc2ded4ee98035d0e5db9c981 d6b58f89f7257c8099c2260e2bea042a917d6cdf Author: Linus Torvalds Date: Mon Dec 1 18:56:55 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: fix regression in ocfs2_read_blocks_sync() ocfs2: fix return value set in init_dlmfs_fs() ocfs2: Small documentation update ocfs2: fix wake_up in unlock_ast ocfs2: initialize stack_user lvbptr ocfs2: comments typo fix commit d6b58f89f7257c8099c2260e2bea042a917d6cdf Author: Mark Fasheh Date: Fri Nov 21 14:06:55 2008 -0800 ocfs2: fix regression in ocfs2_read_blocks_sync() We're panicing in ocfs2_read_blocks_sync() if a jbd-managed buffer is seen. At first glance, this seems ok but in reality it can happen. My test case was to just run 'exorcist'. A struct inode is being pushed out of memory but is then re-read at a later time, before the buffer has been checkpointed by jbd. This causes a BUG to be hit in ocfs2_read_blocks_sync(). Reviewed-by: Joel Becker Signed-off-by: Mark Fasheh commit 07d9a3954a68764aefe16855bcd0f86deeb5c825 Author: Coly Li Date: Mon Nov 17 12:38:22 2008 +0800 ocfs2: fix return value set in init_dlmfs_fs() In init_dlmfs_fs(), if calling kmem_cache_create() failed, the code will use return value from calling bdi_init(). The correct behavior should be set status as -ENOMEM before going to "bail:". Signed-off-by: Coly Li Acked-by: Sunil Mushran Signed-off-by: Mark Fasheh commit a2eee69b814854095ed835a6eb64b8efc220cd6a Author: Mark Fasheh Date: Tue Nov 18 15:08:42 2008 -0800 ocfs2: Small documentation update Remove some features from the "not-supported" list that are actually supported now. Signed-off-by: Mark Fasheh commit 07f9eebcdfaeefc8f807fa1bcce1d7c3ae6661b1 Author: David Teigland Date: Mon Nov 17 12:28:48 2008 -0600 ocfs2: fix wake_up in unlock_ast In ocfs2_unlock_ast(), call wake_up() on lockres before releasing the spin lock on it. As soon as the spin lock is released, the lockres can be freed. Signed-off-by: David Teigland Signed-off-by: Mark Fasheh commit 66f502a416f18cd36179290746aa53736c6b2828 Author: David Teigland Date: Mon Nov 10 16:24:57 2008 -0600 ocfs2: initialize stack_user lvbptr The locking_state dump, ocfs2_dlm_seq_show, reads the lvb on locks where it has not yet been initialized by a lock call. Signed-off-by: David Teigland Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 3b5da0189c93160e44b878d2c72e9552d642497c Author: Coly Li Date: Wed Nov 5 15:16:24 2008 +0800 ocfs2: comments typo fix This patch fixes two typos in comments of ocfs2. Signed-off-by: Coly Li Signed-off-by: Mark Fasheh commit a693b0cdba94f60f7ed43754d2c34151cdd11da5 Author: Mauro Carvalho Chehab Date: Mon Dec 1 18:04:14 2008 -0200 em28xx: remove backward compat macro added on a previous fix commit 50f3beb50abe0cc0228363af804e50e710b3e5b0 fixed em28xx-alsa locking schema. However, a backport macro was kept. This patch removes the macro, since it is not needed for the module compilation against upstream. Signed-off-by: Mauro Carvalho Chehab commit 7ac01108e71ca8ccc2ded4ee98035d0e5db9c981 Merge: 4bc2a9bf8cbb63f3bb9797b2bf30b2316bd27a2b ac70a964b0e22a95af3628c344815857a01461b7 Author: Linus Torvalds Date: Mon Dec 1 11:23:33 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: blacklist Seagate drives which time out FLUSH_CACHE when used with NCQ [libata] pata_rb532_cf: fix signature of the xfer function [libata] pata_rb532_cf: fix and rename register definitions ata_piix: add borked Tecra M4 to broken suspend list commit 484ab62c5ee805c2bdc405a85a4e64da2722690f Author: Hans Verkuil Date: Mon Nov 24 09:53:22 2008 -0300 V4L/DVB (9748): em28xx: fix compile warning Label fail_unreg is no longer used. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit faa3bd2e48e594e9475e92fb84bb6ebe6f62f23b Author: Douglas Schilling Landgraf Date: Mon Nov 24 09:51:20 2008 -0300 V4L/DVB (9743): em28xx: fix oops audio Replaced usb_kill_usb for usb_unlink_usb (wait until urb to fully stop require USB core to put the calling process to sleep). Oops: http://www.kerneloops.org/raw.php?rawid=71799&msgid= Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4bc2a9bf8cbb63f3bb9797b2bf30b2316bd27a2b Merge: 6a1214113090905aca6a492fc8ef10d84c608a69 b0f43dcca8a1f46e17b26d10f3cb1b297ebfb44e Author: Linus Torvalds Date: Mon Dec 1 11:01:54 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mlx4: Fix MTT leakage in resize CQ IB/ehca: Fix problem with generated flush work completions IB/ehca: Change misleading error message on memory hotplug mlx4_core: Save/restore default port IB capability mask commit ac70a964b0e22a95af3628c344815857a01461b7 Author: Tejun Heo Date: Thu Nov 27 13:36:48 2008 +0900 libata: blacklist Seagate drives which time out FLUSH_CACHE when used with NCQ Some recent Seagate harddrives have firmware bug which causes FLUSH CACHE to timeout under certain circumstances if NCQ is being used. This can be worked around by disabling NCQ and fixed by updating the firmware. Implement ATA_HORKAGE_FIRMWARE_UPDATE and blacklist these devices. The wiki page has been updated to contain information on this issue. http://ata.wiki.kernel.org/index.php/Known_issues Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 03f60840fa462e92220b093f778b2426ceab23af Author: Phil Sutter Date: Fri Nov 28 20:48:35 2008 +0100 [libata] pata_rb532_cf: fix signature of the xfer function Per definition, this function should return the number of bytes consumed. As the original parameter "buflen" is being decremented inside the read/write loop, save it in "retlen" at the beginning. Signed-off-by: Phil Sutter Acked-by: Sergei Shtyltov Acked-by: Bartlomiej Zolnierkiewicz Acked-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 9f14786e27908a176f0568cf2132558efef71b31 Author: Phil Sutter Date: Fri Nov 28 20:48:26 2008 +0100 [libata] pata_rb532_cf: fix and rename register definitions The original standalone driver uses a custom address for the error register. Use it in pata_rb532_cf, too. Rename two register definitions: - The address offset 0x0800 in fact is the ATA base, not ATA command address. - The offset 0x0C00 is not a regular ATA data address, but a buffered one allowing 4-byte IO. Signed-off-by: Phil Sutter Signed-off-by: Jeff Garzik commit 1eedb4a90c958d8d59e0e4f19c297b445df21cf9 Author: Tejun Heo Date: Sat Nov 29 22:37:21 2008 +0900 ata_piix: add borked Tecra M4 to broken suspend list Tecra M4 sometimes forget what it is and reports bogus data via DMI which makes the machine evade broken suspend matching and thus fail suspend/resume. This patch updates piix_broken_suspend() such that it can match such case. As the borked DMI data is a bit generic, matching many entries to make the match more specific is necessary. As the usual DMI matching is limited to four entries, this patch uses hard coded manual matching. This is reported by Alexandru Romanescu. Signed-off-by: Tejun Heo Cc: Alexandru Romanescu Signed-off-by: Jeff Garzik commit b0f43dcca8a1f46e17b26d10f3cb1b297ebfb44e Merge: 7ec4f4634a4326c1f8fd172c80c8f59c9b3e90a4 42ab01c31526ac1d06d193f81a498bf3cf2acfe4 Author: Roland Dreier Date: Mon Dec 1 10:11:50 2008 -0800 Merge branches 'ehca' and 'mlx4' into for-linus commit 42ab01c31526ac1d06d193f81a498bf3cf2acfe4 Author: Jack Morgenstein Date: Mon Dec 1 10:09:37 2008 -0800 IB/mlx4: Fix MTT leakage in resize CQ When resizing a CQ, MTTs associated with the old CQE buffer were not freed. As a result, if any app used resize CQ repeatedly, all MTTs were eventually exhausted, which led to all memory registration operations failing until the driver is reloaded. Once the RESIZE_CQ command returns successfully from FW, FW no longer accesses the old CQ buffer, so it is safe to deallocate the MTT entries used by the old CQ buffer. Finally, if the RESIZE_CQ command fails, the MTTs allocated for the new CQEs buffer also need to be de-allocated. This fixes . Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 7ec4f4634a4326c1f8fd172c80c8f59c9b3e90a4 Author: Stefan Roscher Date: Mon Dec 1 10:05:50 2008 -0800 IB/ehca: Fix problem with generated flush work completions This fix enables ehca device driver to generate flush work completions even if the application doesn't request completions for all work requests. The current implementation of ehca will generate flush work completions for the wrong work requests if an application uses non signaled work completions. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit 6b1f9d647e848060d34c3db408413989f1e460ba Author: Joachim Fenkes Date: Mon Dec 1 10:05:44 2008 -0800 IB/ehca: Change misleading error message on memory hotplug The error message printed when the eHCA driver prevents memory hotplug is misleading -- the user might think that hot-removing the lhca, hotplugging memory, then hot-adding the lhca again will work, but it actually doesn't. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 6a1214113090905aca6a492fc8ef10d84c608a69 Merge: c07f62e5f18123103459ff74e86af1518a5b8af5 2642b11295ebcc94843045933061bfbb263fce7f Author: Linus Torvalds Date: Mon Dec 1 09:34:23 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: sbp2: fix race condition in state change ieee1394: fix list corruption (reported at module removal) firewire: fw-sbp2: another iPod mini quirk entry ieee1394: sbp2: another iPod mini quirk entry commit c07f62e5f18123103459ff74e86af1518a5b8af5 Merge: e5404586a499f7dce915456e85ff94b2df7a3b1c ee8a1a0a1a5817accd03ced7e7ffde3a4430f485 Author: Linus Torvalds Date: Mon Dec 1 08:33:59 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: Apple ALU wireless keyboards are bluetooth devices HID: remove setup mutex, fix possible deadlock HID: add USB ID for another dual gameron adapter HID: unignore mouse on unibody macbooks HID: fix blacklist entries for greenasia/pantherlord commit e5404586a499f7dce915456e85ff94b2df7a3b1c Author: Kevin Hao Date: Mon Dec 1 11:36:16 2008 +0000 Add kref to fake tty used by USB console We alloc a fake tty in usb serial console setup function. we should init the tty's kref otherwise we will face WARN_ON after following invoke of tty_port_tty_set --> tty_kref_get. Signed-off-by: Kevin Hao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 296fa7f6a3f3342d40df7713e74246198295654b Author: Will Newton Date: Mon Dec 1 11:36:06 2008 +0000 drivers/char/tty_io.c: Avoid panic when no console is configured. When no console is configured tty_open tries to call kref_get on a NULL pointer, return ENODEV instead. Signed-off-by: Will Newton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b4dcfbee3b536c9125762e8f6681ac6be0e9256b Merge: ecf318cc3daee6f41354cc781e2d4b766f7eec3e 5bb4bd9895df508ed2bd8b3280252d8a8170e4ac Author: Linus Torvalds Date: Mon Dec 1 07:58:49 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: serial: add more Onda device ids to option driver USB: usb-storage: unusual_devs entry for Nikon D2H USB: storage: unusual_devs entry for Mio C520-GPS USB: fsl_usb2_udc: Report disconnect before unbinding USB: fsl_qe_udc: Report disconnect before unbinding USB: fix SB600 USB subsystem hang bug Revert "USB: improve ehci_watchdog's side effect in CPU power management" commit ecf318cc3daee6f41354cc781e2d4b766f7eec3e Merge: 2a1dc509747fdcfdf3a2df818a14908aed86c3d4 a1e0eb104249817e5251bd4aade50921ffcb2159 Author: Linus Torvalds Date: Mon Dec 1 07:58:23 2008 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: powerpc: Fix build for 32-bit SMP configs commit 2a1dc509747fdcfdf3a2df818a14908aed86c3d4 Author: Johannes Weiner Date: Mon Dec 1 03:00:35 2008 +0100 vmscan: protect zone rotation stats by lru lock The zone's rotation statistics must not be accessed without the corresponding LRU lock held. Fix an unprotected write in shrink_active_list(). Acked-by: Rik van Riel Reviewed-by: KOSAKI Motohiro Signed-off-by: Johannes Weiner Signed-off-by: Linus Torvalds commit 33b07db9f38fe73b3895f8d4db8fdee03e3afec3 Author: Linus Torvalds Date: Mon Dec 1 07:55:14 2008 -0800 Revert "of_platform_driver noise on sparce" This reverts commit e669dae6141ff97d3c7566207f5de3b487dcf837, since it is incomplete, and clashes with fuller patches and the sparc 32/64 unification effort. Requested-by: David Miller Acked-by: Al Viro Signed-off-by: Linus Torvalds commit 5bb4bd9895df508ed2bd8b3280252d8a8170e4ac Author: Greg Kroah-Hartman Date: Sat Nov 29 11:46:21 2008 -0800 USB: serial: add more Onda device ids to option driver Thanks to Domenico Riccio for pointing these out. Cc: Domenico Riccio Signed-off-by: Greg Kroah-Hartman commit 621b239d75b790ac66854d46b094874f69e6776e Author: Tobias Kunze Briseño Date: Mon Nov 24 11:28:31 2008 -0500 USB: usb-storage: unusual_devs entry for Nikon D2H This patch adds an unusual_devs entry for the Nikon D2H camera. From: Tobias Kunze Briseño , Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a6b7b034d7f20761c55743be2acb762ce09a0c6b Author: Alan Stern Date: Fri Nov 21 16:15:12 2008 -0500 USB: storage: unusual_devs entry for Mio C520-GPS This patch (as1176) adds an unusual_devs entry for the Mio C520 GPS unit. Other devices also based on the Mitac hardware use the same USB interface firmware, so the Vendor and Product names are generalized. This fixes Bugzilla #11583. Signed-off-by: Alan Stern Tested-by: Tamas Kerecsen Signed-off-by: Greg Kroah-Hartman commit 1f15a506f356aa21c29b6a7b0e9e826695273dfc Author: Anton Vorontsov Date: Thu Nov 13 15:00:46 2008 +0300 USB: fsl_usb2_udc: Report disconnect before unbinding Gadgets disable endpoints in their disconnect callbacks, so we must call disconnect before unbinding. The patch fixes following badness: root@b1:~# insmod fsl_usb2_udc.ko Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007) root@b1:~# insmod g_ether.ko g_ether gadget: using random self ethernet address g_ether gadget: using random host ethernet address usb0: MAC 26:07:ba:c0:44:33 usb0: HOST MAC 96:81:0c:05:4d:e3 g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 g_ether gadget: g_ether ready fsl-usb2-udc: bind to driver g_ether g_ether gadget: high speed config #1: CDC Ethernet (ECM) root@b1:~# rmmod g_ether.ko ------------[ cut here ]------------ Badness at drivers/usb/gadget/composite.c:871 [...] NIP [e10c3454] composite_unbind+0x24/0x15c [g_ether] LR [e10aa454] usb_gadget_unregister_driver+0x13c/0x164 [fsl_usb2_udc] Call Trace: [df145e80] [ffffff94] 0xffffff94 (unreliable) [df145eb0] [e10aa454] usb_gadget_unregister_driver+0x13c/0x164 [fsl_usb2_udc] [df145ed0] [e10c4c40] usb_composite_unregister+0x3c/0x4c [g_ether] [df145ee0] [c006bcc0] sys_delete_module+0x130/0x19c [df145f40] [c00142d8] ret_from_syscall+0x0/0x38 [...] unregistered gadget driver 'g_ether' Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9ac36da3f8bc646a628bd09326e090defc8b7940 Author: Anton Vorontsov Date: Thu Nov 13 14:57:20 2008 +0300 USB: fsl_qe_udc: Report disconnect before unbinding Gadgets disable endpoints in their disconnect callbacks, so we must call disconnect before unbinding. This also fixes muram memory leak, since we free muram in the qe_ep_disable(). But mainly the patch fixes following badness: root@b1:~# insmod fsl_qe_udc.ko fsl_qe_udc: Freescale QE/CPM USB Device Controller driver, 1.0 fsl_qe_udc e01006c0.usb: QE USB controller initialized as device root@b1:~# insmod g_ether.ko g_ether gadget: using random self ethernet address g_ether gadget: using random host ethernet address usb0: MAC be:2d:3c:fa:be:f0 usb0: HOST MAC 62:b8:6a:df:38:66 g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 g_ether gadget: g_ether ready fsl_qe_udc e01006c0.usb: fsl_qe_udc bind to driver g_ether g_ether gadget: high speed config #1: CDC Ethernet (ECM) root@b1:~# rmmod g_ether.ko ------------[ cut here ]------------ Badness at drivers/usb/gadget/composite.c:871 [...] NIP [d10c1374] composite_unbind+0x24/0x15c [g_ether] LR [d10a82f4] usb_gadget_unregister_driver+0x128/0x168 [fsl_qe_udc] Call Trace: [cfb93e80] [cfb1f3a0] 0xcfb1f3a0 (unreliable) [cfb93eb0] [d10a82f4] usb_gadget_unregister_driver+0x128/0x168 [fsl_qe_udc] [cfb93ed0] [d10c2a3c] usb_composite_unregister+0x3c/0x4c [g_ether] [cfb93ee0] [c006bde0] sys_delete_module+0x130/0x19c [cfb93f40] [c00142d8] ret_from_syscall+0x0/0x38 [...] fsl_qe_udc e01006c0.usb: unregistered gadget driver 'g_ether' Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 0a99e8ac430a27825bd055719765fd0d65cd797f Author: Shane Huang Date: Tue Nov 25 15:12:33 2008 +0800 USB: fix SB600 USB subsystem hang bug This patch is required for all AMD SB600 revisions to avoid USB subsystem hang symptom. The USB subsystem hang symptom is observed when the system has multiple USB devices connected to it. In some cases a USB hub may be required to observe this symptom. Reported in bugzilla as #11599, the similar patch for SB700 old revision is: commit b09bc6cbae4dd3a2d35722668ef2c502a7b8b093 Reported-by: raffaele Tested-by: Roman Mamedov Signed-off-by: Shane Huang Cc: stable Signed-off-by: Greg Kroah-Hartman commit 269f0532332410e97e3edeb78e6cd3bb940e52b4 Author: Greg Kroah-Hartman Date: Tue Nov 25 13:34:45 2008 -0800 Revert "USB: improve ehci_watchdog's side effect in CPU power management" This reverts commit f0d781d59cb621e1795d510039df973d0f8b23fc. It was the wrong thing to do, and does not really do what it said it did. Cc: Yi Yang Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a1e0eb104249817e5251bd4aade50921ffcb2159 Author: Milton Miller Date: Sun Nov 16 11:44:42 2008 +0000 powerpc: Fix build for 32-bit SMP configs attr_smt_snooze_delay is only defined for CONFIG_PPC64, so protect the attribute removal with the same condition. This fixes this build error on 32-bit SMP configurations: /data/home/miltonm/next.git/arch/powerpc/kernel/sysfs.c: In function ‘unregister_cpu_online’: /data/home/miltonm/next.git/arch/powerpc/kernel/sysfs.c:722: error: ‘attr_smt_snooze_delay’ undeclared (first use in this function) /data/home/miltonm/next.git/arch/powerpc/kernel/sysfs.c:722: error: (Each undeclared identifier is reported only once /data/home/miltonm/next.git/arch/powerpc/kernel/sysfs.c:722: error: for each function it appears in.) Signed-off-by: Paul Mackerras commit d9d060a98ff89fe0f86e24c9c0c3d2f0c566781c Merge: 03cfdb86ac66677dbe76accae3f22c374a15b814 151903d5466fbcfb56ce792c3d5ea0ecbae15d07 Author: Linus Torvalds Date: Sun Nov 30 16:45:13 2008 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: Fix copy'n'pasteo that broke VT switch if flushing was non-empty. commit 03cfdb86ac66677dbe76accae3f22c374a15b814 Merge: 4ec8f077e4dd51f713984669781e7b568b8c41e2 ab598b6680f1e74c267d1547ee352f3e1e530f89 Author: Linus Torvalds Date: Sun Nov 30 16:44:18 2008 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: powerpc: Fix system calls on Cell entered with XER.SO=1 powerpc/cell: Fix GDB watchpoints, again powerpc/mpic: Don't reset affinity for secondary MPIC on boot powerpc/cell/axon-msi: Retry on missing interrupt powerpc: Fix boot freeze on machine with empty memory node powerpc: Fix IRQ assignment for some PCIe devices powerpc/spufs: Fix spinning in spufs_ps_fault on signal powerpc/mpc832x_rdb: fix swapped ethernet ids powerpc: Use generic PHY driver for Marvell 88E1111 PHY on GE Fanuc SBC610 powerpc/85xx: L2 cache size wrong in 8572DS dts powerpc/virtex: Update defconfigs powerpc/52xx: update defconfigs xsysace: Fix driver to use resource_size_t instead of unsigned long powerpc/virtex: fix various format/casting printk mismatches powerpc/mpc5200: fix bestcomm Kconfig dependencies powerpc/44x: Fix 460EX/460GT machine check handling powerpc/40x: Limit allocable DRAM during early mapping commit 4ec8f077e4dd51f713984669781e7b568b8c41e2 Merge: a6e470fd1bbfea8e51d2b10b0713e802b782f19a af38d90d6a5e135b546a3f86222ba2ad895ba4ae Author: Linus Torvalds Date: Sun Nov 30 16:39:06 2008 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: Allow architectures to override copy_user_highpage() [ARM] pxa/palmtx: misc fixes to use generic GPIO API ARM: OMAP: Fixes for suspend / resume GPIO wake-up handling [ARM] pxa/corgi: update default config to exclude tosa from being built [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera data ARM: OMAP: Typo fix for clock_allow_idle ARM: OMAP: Remove broken LCD driver for SX1 [ARM] 5335/1: pxa25x_udc: Fix is_vbus_present to return 1 or 0 [ARM] pxa/MioA701: bluetooth resume fix [ARM] pxa/MioA701: fix memory corruption. commit 151903d5466fbcfb56ce792c3d5ea0ecbae15d07 Author: Eric Anholt Date: Mon Dec 1 10:23:21 2008 +1000 drm/i915: Fix copy'n'pasteo that broke VT switch if flushing was non-empty. Introduced in the "Avoid BUG_ONs on VT switch" commit. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit ab598b6680f1e74c267d1547ee352f3e1e530f89 Author: Paul Mackerras Date: Sun Nov 30 11:49:45 2008 +0000 powerpc: Fix system calls on Cell entered with XER.SO=1 It turns out that on Cell, on a kernel with CONFIG_VIRT_CPU_ACCOUNTING = y, if a program sets the SO (summary overflow) bit in the XER and then does a system call, the SO bit in CR0 will be set on return regardless of whether the system call detected an error. Since CR0.SO is used as the error indication from the system call, this means that all system calls appear to fail. The reason is that the workaround for the timebase bug on Cell uses a compare instruction. With CONFIG_VIRT_CPU_ACCOUNTING = y, the ACCOUNT_CPU_USER_ENTRY macro reads the timebase, so we end up doing a compare instruction, which copies XER.SO to CR0.SO. Since we were doing this in the system call entry patch after clearing CR0.SO but before saving the CR, this meant that the saved CR image had CR0.SO set if XER.SO was set on entry. This fixes it by moving the clearing of CR0.SO to after the ACCOUNT_CPU_USER_ENTRY call in the system call entry path. Signed-off-by: Paul Mackerras Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt commit 960cedb4e3eedec6394f224fc832c7a23f35a799 Author: Arnd Bergmann Date: Fri Nov 28 09:51:24 2008 +0000 powerpc/cell: Fix GDB watchpoints, again An earlier patch from Jens Osterkamp attempted to fix GDB watchpoints by enabling the DABRX register at boot time. Unfortunately, this did not work on SMP setups, where secondary CPUs were still using the power-on DABRX value. This introduces the same change for secondary CPUs on cell as well. Reported-by: Ulrich Weigand Tested-by: Ulrich Weigand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit cc353c30bbdb84f4317a6c149ebb11cde2232e40 Author: Arnd Bergmann Date: Fri Nov 28 09:51:23 2008 +0000 powerpc/mpic: Don't reset affinity for secondary MPIC on boot Kexec/kdump currently fails on the IBM QS2x blades when the kexec happens on a CPU other than the initial boot CPU. It turns out that this is the result of mpic_init trying to set affinity of each interrupt vector to the current boot CPU. As far as I can tell, the same problem is likely to exist on any secondary MPIC, because they have to deliver interrupts to the first output all the time. There are two potential solutions for this: either not set up affinity at all for secondary MPICs, or assume that a single CPU output is connected to the upstream interrupt controller and hardcode affinity to that per architecture. This patch implements the second approach, defaulting to the first output. Currently, all known secondary MPICs are routed to their upstream port using the first destination, so we hardcode that. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d015fe9951641b2d869a7ae4a690be2a05a9dc7f Author: Arnd Bergmann Date: Fri Nov 28 09:51:22 2008 +0000 powerpc/cell/axon-msi: Retry on missing interrupt The MSI capture logic for the axon bridge can sometimes lose interrupts in case of high DMA and interrupt load, when it signals an MSI interrupt to the MPIC interrupt controller while we are already handling another MSI. Each MSI vector gets written into a FIFO buffer in main memory using DMA, and that DMA access is normally flushed by the actual interrupt packet on the IOIF. An MMIO register in the MSIC holds the position of the last entry in the FIFO buffer that was written. However, reading that position does not flush the DMA, so that we can observe stale data in the buffer. In a stress test, we have observed the DMA to arrive up to 14 microseconds after reading the register. This patch works around this problem by retrying the access to the FIFO buffer. We can reliably detect the conditioning by writing an invalid MSI vector into the FIFO buffer after reading from it, assuming that all MSIs we get are valid. After detecting an invalid MSI vector, we udelay(1) in the interrupt cascade for up to 100 times before giving up. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 4a6186696e7f15b3ea4dafcdb64ee0703e0e4487 Author: Dave Hansen Date: Mon Nov 24 12:02:35 2008 +0000 powerpc: Fix boot freeze on machine with empty memory node I got a bug report about a distro kernel not booting on a particular machine. It would freeze during boot: > ... > Could not find start_pfn for node 1 > [boot]0015 Setup Done > Built 2 zonelists in Node order, mobility grouping on. Total pages: 123783 > Policy zone: DMA > Kernel command line: > [boot]0020 XICS Init > [boot]0021 XICS Done > PID hash table entries: 4096 (order: 12, 32768 bytes) > clocksource: timebase mult[7d0000] shift[22] registered > Console: colour dummy device 80x25 > console handover: boot [udbg0] -> real [hvc0] > Dentry cache hash table entries: 1048576 (order: 7, 8388608 bytes) > Inode-cache hash table entries: 524288 (order: 6, 4194304 bytes) > freeing bootmem node 0 I've reproduced this on 2.6.27.7. It is caused by commit 8f64e1f2d1e09267ac926e15090fd505c1c0cbcb ("powerpc: Reserve in bootmem lmb reserved regions that cross NUMA nodes"). The problem is that Jon took a loop which was (in pseudocode): for_each_node(nid) NODE_DATA(nid) = careful_alloc(nid); setup_bootmem(nid); reserve_node_bootmem(nid); and broke it up into: for_each_node(nid) NODE_DATA(nid) = careful_alloc(nid); setup_bootmem(nid); for_each_node(nid) reserve_node_bootmem(nid); The issue comes in when the 'careful_alloc()' is called on a node with no memory. It falls back to using bootmem from a previously-initialized node. But, bootmem has not yet been reserved when Jon's patch is applied. It gives back bogus memory (0xc000000000000000) and pukes later in boot. The following patch collapses the loop back together. It also breaks the mark_reserved_regions_for_nid() code out into a function and adds some comments. I think a huge part of introducing this bug is because for loop was too long and hard to read. The actual bug fix here is the: + if (end_pfn <= node->node_start_pfn || + start_pfn >= node_end_pfn) + continue; Signed-off-by: Dave Hansen Signed-off-by: Paul Mackerras commit 4b824de9b18b8d1013e9fc9e4b0f855ced8cac2c Author: Adhemerval Zanella Date: Wed Nov 19 03:55:35 2008 +0000 powerpc: Fix IRQ assignment for some PCIe devices Currently, some PCIe devices on POWER6 machines do not get interrupts assigned correctly. The problem is that OF doesn't create an "interrupt" property for them. The fix is for of_irq_map_pci to fall back to using the value in the PCI interrupt-pin register in config space, as we do when there is no OF device-tree node for the device. I have verified that this works fine with a pair of Squib-E SAS adapter on a P6-570. Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a6e470fd1bbfea8e51d2b10b0713e802b782f19a Merge: 8e36a5d6ad587d906f0ff677974e5edb0335db30 90f671301a5e2678cdc99f611cd842161c3bb87f Author: Linus Torvalds Date: Sun Nov 30 14:04:31 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: parisc: struct device - replace bus_id with dev_name(), dev_set_name() parisc: fix kernel crash when unwinding a userspace process parisc: __kernel_time_t is always long commit 8e36a5d6ad587d906f0ff677974e5edb0335db30 Merge: 9bd062d9eaf9e790330f37d9f4518e1b95131f6c a98ee8c1c707fe3210b00ef9f806ba8e2bf35504 Author: Linus Torvalds Date: Sun Nov 30 14:04:02 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] fix regression in cifs_write_begin/cifs_write_end commit 9bd062d9eaf9e790330f37d9f4518e1b95131f6c Merge: 72244c0e68dd664b894adb34a8772a6e4673b4c1 af6d596fd603219b054c1c90fb16672a9fd441bd Author: Linus Torvalds Date: Sun Nov 30 13:06:47 2008 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: prevent divide by zero error in cpu_avg_load_per_task, update sched, cpusets: fix warning in kernel/cpuset.c sched: prevent divide by zero error in cpu_avg_load_per_task commit 72244c0e68dd664b894adb34a8772a6e4673b4c1 Merge: 93b10052f9146eab4e848b474baf10c2ea22acb3 2ed1cdcf9a83205d1343f29b630abff232eaa72c Author: Linus Torvalds Date: Sun Nov 30 13:06:20 2008 -0800 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: irq.h: fix missing/extra kernel-doc genirq: __irq_set_trigger: change pr_warning to pr_debug irq: fix typo x86: apic honour irq affinity which was set in early boot genirq: fix the affinity setting in setup_irq genirq: keep affinities set from userspace across free/request_irq() commit 93b10052f9146eab4e848b474baf10c2ea22acb3 Merge: 7bbc67fbf60b698b43692fc6ea16c526bf1c5e26 b0788caf7af773b6c2374590dabd3a205f0918a8 Author: Linus Torvalds Date: Sun Nov 30 13:05:46 2008 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: consistent alignement for lockdep info commit 7bbc67fbf60b698b43692fc6ea16c526bf1c5e26 Merge: 66a45cc4cc1c1f7d1ccae4d0fee261eab5560682 4f5a7f40ddbae98569acbb99118a98570315579c Author: Linus Torvalds Date: Sun Nov 30 13:05:31 2008 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ftrace: prevent recursion tracing, doc: update mmiotrace documentation x86, mmiotrace: fix buffer overrun detection function tracing: fix wrong position computing of stack_trace commit 66a45cc4cc1c1f7d1ccae4d0fee261eab5560682 Merge: 8639dad84e4fe83577006e8e2bd9da79c6c2c41e b627c8b17ccacba38c975bc0f69a49fc4e5261c9 Author: Linus Torvalds Date: Sun Nov 30 13:01:04 2008 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: always define DECLARE_PCI_UNMAP* macros x86: fixup config space size of CPU functions for AMD family 11h x86, bts: fix wrmsr and spinlock over kmalloc x86, pebs: fix PEBS record size configuration x86, bts: turn macro into static inline function x86, bts: exclude ds.c from build when disabled arch/x86/kernel/pci-calgary_64.c: change simple_strtol to simple_strtoul x86: use limited register constraint for setnz xen: pin correct PGD on suspend x86: revert irq number limitation x86: fixing __cpuinit/__init tangle, xsave_cntxt_init() x86: fix __cpuinit/__init tangle in init_thread_xstate() oprofile: fix an overflow in ppro code commit 8639dad84e4fe83577006e8e2bd9da79c6c2c41e Merge: 9297524f6a2885bfb4e2431d658cd1ffaefbda41 461cba2d294fe83297edf8a6556912812903dce1 Author: Linus Torvalds Date: Sun Nov 30 13:00:21 2008 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: Save/restore HWS_PGA on suspend/resume drm: move drm vblank initialization/cleanup to driver load/unload drm/i915: execbuffer pins objects, no need to ensure they're still in the GTT drm/i915: Always read pipestat in irq_handler drm/i915: Subtract total pinned bytes from available aperture size drm/i915: Avoid BUG_ONs on VT switch with a wedged chipset. drm/i915: Remove IMR masking during interrupt handler, and restart it if needed. drm/i915: Manage PIPESTAT to control vblank interrupts instead of IMR. commit 9297524f6a2885bfb4e2431d658cd1ffaefbda41 Merge: 8c7b905a2d131a8dd0b081b16c64b17db4ce9392 52b19ac993f1aeadbce15b55302be9a35346e235 Author: Linus Torvalds Date: Sun Nov 30 12:34:22 2008 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: Fix BUG_ON() in destroy_inode() commit 8c7b905a2d131a8dd0b081b16c64b17db4ce9392 Merge: 1838e39214ee3e390f9c8150ea7454103b72ef83 a266d9f1253a38ec2d5655ebcd6846298b0554f4 Author: Linus Torvalds Date: Sun Nov 30 11:43:41 2008 -0800 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] powernow-k8: ignore out-of-range PstateStatus value [CPUFREQ] Documentation: Add Blackfin to list of supported processors commit 1838e39214ee3e390f9c8150ea7454103b72ef83 Author: frans Date: Sat Nov 22 15:39:06 2008 +0100 Trivial Documentation/filesystems/ramfs-rootfs-initramfs.txt fix A very minor patch on ramfs-rootfs-initramfs.txt: update the location where CONFIG_INITRAMFS_SOURCE lives in menuconfig Signed-off-by: Frans Meulenbroeks Acked-by: Rob Landley Signed-off-by: Linus Torvalds commit 42182c7850cdfbfdcf5f8763908a7a66b5ce9041 Merge: e2a2444a90ba12f123c9c59362ffe3ab278bccb9 b6283534a3e057f8268ca5448305900f74d12608 Author: Linus Torvalds Date: Sun Nov 30 11:36:57 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Check model for Dell 92HD73xx laptops ALSA: hda - mark Dell studio 1535 quirk ALSA: hda - No 'Headphone as Line-out' swich without line-outs ALSA: hda - Fix AFG power management on IDT 92HD* codecs ALSA: hda - Fix caching of SPDIF status bits ALSA: hda - Add a quirk for Dell Studio 15 ALSA: hda: Add STAC_DELL_M4_3 quirk sound/sound_core: Fix sparse warnings ALSA: hda: STAC_DELL_M6 EAPD commit e2a2444a90ba12f123c9c59362ffe3ab278bccb9 Merge: 8decec78a3d9e240f14553284629ac4851ff3744 2ad49887150894b9ed6a87a76b409adceee6b074 Author: Linus Torvalds Date: Sun Nov 30 11:34:17 2008 -0800 Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 * 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6: UBI: Don't exit from ubi_thread until kthread_should_stop() is true UBI: fix EBADMSG handling commit 8decec78a3d9e240f14553284629ac4851ff3744 Merge: 499c59c42967329d39481314a839d7669f5e1506 7b964f733798960c899dc40911329aee7bee25e4 Author: Linus Torvalds Date: Sun Nov 30 11:21:43 2008 -0800 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c-parport: Fix misplaced parport_release call i2c: Remove i2c clients in reverse order i2c/isp1301_omap: Build fixes commit 499c59c42967329d39481314a839d7669f5e1506 Author: Robert P. J. Day Date: Fri Nov 28 11:48:37 2008 +0000 MN10300: Tighten up the code using case ranges Compress a set of consecutive switch cases into a case-range. Signed-off-by: Robert P. J. Day Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit f1ba3bc7b97ad0cc5886e5dadf4defba68f37819 Merge: 95c5e1f1e6e1788cc8b9acbe9379ae395ef64958 abd942194dcba2fa9d24d547b8acd4ef052eaf73 Author: Linus Torvalds Date: Sun Nov 30 11:07:16 2008 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Update default configuration. [S390] Fix alignment of initial kernel stack. [S390] pgtable.h: Fix oops in unmap_vmas for KVM processes [S390] fix/cleanup sched_clock [S390] fix system call parameter functions. commit 95c5e1f1e6e1788cc8b9acbe9379ae395ef64958 Merge: b31a0fecd1dd01f1db406014a7c8a73983e04cc9 23d0a65cf229acd273b6f5a325c34d758a90d592 Author: Linus Torvalds Date: Sun Nov 30 11:06:40 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: toshiba_acpi: close race in toshiba_acpi driver ACPICA: disable _BIF warning ACPI: delete OSI(Linux) DMI dmesg spam ACPICA: Allow _WAK method to return an Integer ACPI: thinkpad-acpi: fix fan sleep/resume path sony-laptop: printk tweak sony-laptop: brightness regression fix Revert "ACPI: don't enable control method power button as wakeup device when Fixed Power button is used" ACPI suspend: Blacklist boxes that require us to set SCI_EN directly on resume ACPI: scheduling in atomic via acpi_evaluate_integer () ACPI: battery: Convert discharge energy rate to current properly ACPI: EC: count interrupts only if called from interrupt handler. commit b31a0fecd1dd01f1db406014a7c8a73983e04cc9 Merge: 96b8936a9ed08746e47081458a5eb9e43a751e24 545f4e99dee7284ed57c79384c5c1d5ac58dcd59 Author: Linus Torvalds Date: Sun Nov 30 11:05:21 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: wacom - add support for new USB Tablet PCs Input: replace spin_lock_bh with spin_lock_irqsave in ml_ff_playback Input: i8042 - add Compal Hel80 laptop to nomux blacklist Input: cm109 - add keymap for ATCom AU-100 phone Input: fix the example of an input device driver Input: psmouse - fix incorrect validate_byte check in OLPC protocol Input: atkbd - cancel delayed work before freeing its structure Input: atkbd - add keymap quirk for Inventec Symphony systems Input: i8042 - add Dell XPS M1530 to nomux list Input: elo - fix format string in elo driver commit 96b8936a9ed08746e47081458a5eb9e43a751e24 Author: Christoph Hellwig Date: Tue Nov 25 08:10:03 2008 +0100 remove __ARCH_WANT_COMPAT_SYS_PTRACE All architectures now use the generic compat_sys_ptrace, as should every new architecture that needs 32bit compat (if we'll ever get another). Remove the now superflous __ARCH_WANT_COMPAT_SYS_PTRACE define, and also kill a comment about __ARCH_SYS_PTRACE that was added after __ARCH_SYS_PTRACE was already gone. Signed-off-by: Christoph Hellwig Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit 16799c6a4d5156c6ee185b51b7586cca1aae0800 Merge: 211f05a034f49586fdd071abd174853217ec29ee 8ec2e24356e63dc298c6040557faf396410907ac Author: Linus Torvalds Date: Sun Nov 30 10:38:22 2008 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Make BUG() __noreturn. commit 211f05a034f49586fdd071abd174853217ec29ee Author: Arjan van de Ven Date: Sun Nov 23 16:57:36 2008 -0800 input: replace spin_lock_bh with spin_lock_irqsave in ml_ff_playback ml_ff_playback() uses spin_(un)lock_bh. However this function is called with interrupts disabled from erase_effect() in drivers/input/ff-core.c:196. This is not permitted, and will result in a WARN_ON in the bottom half handling code. This patch changes this function to just use spin_lock_irqsave() instead, solving the problem and simplifying the locking logic. This was reported as entry #106559 in kerneloops.org Reported-by: kerneloops.org Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 02d0e6753d8ab0173b63338157929e52eac86d12 Author: Al Viro Date: Sat Nov 22 17:38:34 2008 +0000 hotplug_memory_notifier section annotation Same as for hotplug_cpu - we want static notifier_block in there in meminitdata, to avoid false positives whenever it's used. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d3a307f32ec3554739033762672e533e2d246dae Author: Al Viro Date: Sat Nov 22 17:38:24 2008 +0000 sn_pci_controller_fixup() should be __init called only from __init Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ffb78a26169351f6c22cdae481b057d50d5d759b Author: Al Viro Date: Sat Nov 22 17:38:14 2008 +0000 get xenbus_driver ->probe() "recognized" by modpost ... by giving the instances' names magic suffix recognized by modpost ;-/ Their ->probe() is __devinit Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit df6b07949b6cab9d119363d02ef63379160f6c82 Author: Al Viro Date: Sat Nov 22 17:38:04 2008 +0000 xen_play_dead() is __cpuinit Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 37af46efa5413c6f4c25d9a24b4c43f2cc718eed Author: Al Viro Date: Sat Nov 22 17:37:54 2008 +0000 xen_setup_vcpu_info_placement() is not init on x86 ... so get xen-ops.h in agreement with xen/smp.c Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 23a14b9e9db49ed5f7683857557c26c874d4abb6 Author: Al Viro Date: Sat Nov 22 17:37:44 2008 +0000 kvm_setup_secondary_clock() is cpuinit Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 2236d252e001ea57d53cec1954f680e503f3b8bc Author: Al Viro Date: Sat Nov 22 17:37:34 2008 +0000 enable_IR_x2apic() needs to be __init calls __init, called only from __init Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ad04d31e5fb6b25308e6cdea6baa07d41871a3e0 Author: Al Viro Date: Sat Nov 22 17:37:14 2008 +0000 pci_setup() is init, not devinit for fsck sake, it's used only when parsing kernel command line... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4bcc17dd8e48b612d43a9b0a6faa9eaa358fa4bd Author: Al Viro Date: Sat Nov 22 17:37:04 2008 +0000 alpha: pcibios_resource_to_bus() is callable from normal code pci_enable_rom(), specifically. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 56d74dd5f7ad8b6b0979ce915d51cf03bcc57267 Author: Al Viro Date: Sat Nov 22 17:36:54 2008 +0000 tricky one: hisax sections a) hisax_init_pcmcia() needs to be defined only if we have CONFIG_HOTPLUG (no PCMCIA support otherwise) and can be declared __devinit. b) HiSax_inithardware() can go __init c) hisax_register() is passing to checkcard() full-blown hisax_cs_setup_card(): checkcard(i, id, NULL, hisax_d_if->owner, hisax_cs_setup_card); The problem with it is that * hisax_cs_setup_card() is __devinit * hisax_register() is not * hisax_cs_setup_card() is a switch from hell, calling a lot of setup_some_weirdcard() depending on card->typ. _These_ are also __devinit. However, in hisax_register() we have card->typ equal to ISDN_CTYPE_DYNAMIC, which reduces hisax_cs_setup_card() to "nevermind all that crap, just do nothing and return 2". So we add a trimmed-down callback doing just that and passed to checkcard() by hisax_register(). _This_ is non-init (we can stand the impact on .text size). Voila - no section warnings from drivers/isdn Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8419641450edc838a6ce7cdf0f99d262bf0af2d5 Author: Al Viro Date: Sat Nov 22 17:36:44 2008 +0000 cpuinit fixes in kernel/* Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b0385146bcdd24b0390c2b60fd05a083888835db Author: Al Viro Date: Sat Nov 22 17:36:34 2008 +0000 uninorth-agp section mess 'aperture' is declared devinitdata (the whole word of it) and is used from ->fetch_size() which can, AFAICS, be used on !HOTPLUG after init time. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 37d33d151428a4ee648c855c0b49368de7804e7f Author: Al Viro Date: Sat Nov 22 17:36:24 2008 +0000 rapidio section noise functions calling devinit and called only from devinit Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f57628d76bd201a444ca822f3622522a44acbf60 Author: Al Viro Date: Sat Nov 22 17:36:14 2008 +0000 section errors in smc911x/smc91x a) ->probe() can be __devinit; no need to put it into .text b) calling __init stuff from it, OTOH, is wrong c) ->remove() is __devexit fodder Acked-by: rmk+kernel@arm.linux.org.uk Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5bac287ea51bb8678c3875d87a536071ef0fd590 Author: Al Viro Date: Sat Nov 22 17:36:04 2008 +0000 fix the section noise in sparc head.S usual .text.head trick Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 1c4567aeed84a2746d78d4c1fe092222a559d43f Author: Al Viro Date: Sat Nov 22 17:35:54 2008 +0000 m32r: section noise in head.S usual "introduce .text.head, put it in front of TEXT_TEXT in vmlinux.lds.S, make the stuff up to jump to start_kernel live in it", same as on other targets. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8814b5050d183f00a25a087b550841797c0c2775 Author: Al Viro Date: Sat Nov 22 17:35:44 2008 +0000 section misannotation in ibmtr_cs ibmtr_resume() is calling ibmtr_probe(), which is devinit. Whether that's the right thing to do there is a separate question, but since it's PCMCIA and thus will never compile without HOTPLUG... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 43ced651d1272ced02ed5f1c2abc79e3354187f6 Author: Al Viro Date: Sat Nov 22 17:35:34 2008 +0000 ixgbe section fixes ixgbe_init_interrupt_scheme() is called from ixgbe_resume(). Build that with CONFIG_PM and without CONFIG_HOTPLUG and you've got a problem. Several helpers called by it also are misannotated __devinit. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 31421a6f6ea88236cb17b6a24aa21e66a6138d4c Author: Al Viro Date: Sat Nov 22 17:35:24 2008 +0000 rackmeter section fixes * rackmeter_remove() reference needs devexit_p * rackmeter_setup() is calls devinit and is called only from devinit Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ced7172ad94713f9023a3c279082402ac7750ba8 Author: Al Viro Date: Sat Nov 22 17:35:14 2008 +0000 gdth section fixes PCI side of driver should be devinit, not init Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e669dae6141ff97d3c7566207f5de3b487dcf837 Author: Al Viro Date: Sat Nov 22 17:35:04 2008 +0000 of_platform_driver noise on sparce switch to __init for those; unlike powerpc sparc has no hotplug support for that stuff and their ->probe() tends to call __init functions while being declared __devinit. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 30037818f7c1e11cb3742fbecd614ef3dc7b27bb Author: Al Viro Date: Sat Nov 22 17:34:54 2008 +0000 advansys fix on ISA-less configs The code if (shost->dma_channel != NO_ISA_DMA) free_dma(shost->dma_channel); in there is triggerable only if we have CONFIG_ISA (we only set ->dma_channel to something other than NO_ISA_DMA under #ifdef CONFIG_ISA). OTOH, free_dma() is not guaranteed to be there in absense of CONFIG_ISA. IOW, driver runs into undefined symbols on PCI-but-not-ISA configs (e.g. on frv) and it's a false positive. Fix: put the entire if () under #ifdef CONFIG_ISA; behaviour doesn't change and dependency on free_dma() disappears for !CONFIG_ISA. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 2fceab0bd8d82509519e9b842a5a7234b2397fb4 Author: Al Viro Date: Sat Nov 22 17:34:44 2008 +0000 W1_MASTER_DS1WM should depend on HAVE_CLK Uses clk_...() a lot Acked-by: rmk+kernel@arm.linux.org.uk Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d16d7667f9c211e8d9b7e2365cc3d3a83fc6a8e2 Author: Al Viro Date: Sat Nov 22 17:34:34 2008 +0000 icside section warnings icside_register_v[56] is called from (__devinit) icside_probe Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 596f1034190565529e507e1eb8df6def1c9f5560 Author: Al Viro Date: Sat Nov 22 17:34:24 2008 +0000 fix talitos talitos_remove() can be called from talitos_probe() on failure exit path, so it can't be __devexit. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6005e3eb89db99f3737c8f5fe3d97f3262ed7919 Author: Al Viro Date: Sat Nov 22 17:34:14 2008 +0000 istallion section warnings stli_findeisabrds() and stli_initbrds() are using __init and called only from __init. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8c29890aef80702824e2284909ee301ef2430a3e Author: Al Viro Date: Sat Nov 22 17:34:04 2008 +0000 sparc64 trivial section misannotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 409832f5484cd1e2d8812c3236dffb33d01c359b Author: Al Viro Date: Sat Nov 22 17:33:54 2008 +0000 sparc32 cpuinit flase positives All noise since we don't have CPU hotplug there. However, they did expose something very odd-looking in there - poke_viking() does a bunch of identical btfixup each time it's called (i.e. for each CPU). That one is left alone for now; just the trivial misannotation fixes. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4ea8fb9c1cc67bee980dca589ec8d0d4e62858c7 Author: Al Viro Date: Sat Nov 22 17:33:44 2008 +0000 powerpc set_huge_psize() false positive called only from __init, calls __init. Incidentally, it ought to be static in file. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7d6a8a1c487422b772201927c454930377d8cf7e Author: Al Viro Date: Sat Nov 22 17:33:34 2008 +0000 false __cpuinit positives on alpha pure noise - alpha doesn't have CPU hotplug Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 31168481c32c8a485e1003af9433124dede57f8d Author: Al Viro Date: Sat Nov 22 17:33:24 2008 +0000 meminit section warnings Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit af6d596fd603219b054c1c90fb16672a9fd441bd Author: Ingo Molnar Date: Sat Nov 29 20:45:15 2008 +0100 sched: prevent divide by zero error in cpu_avg_load_per_task, update Regarding the bug addressed in: 4cd4262: sched: prevent divide by zero error in cpu_avg_load_per_task Linus points out that the fix is not complete: > There's nothing that keeps gcc from deciding not to reload > rq->nr_running. > > Of course, in _practice_, I don't think gcc ever will (if it decides > that it will spill, gcc is likely going to decide that it will > literally spill the local variable to the stack rather than decide to > reload off the pointer), but it's a valid compiler optimization, and > it even has a name (rematerialization). > > So I suspect that your patch does fix the bug, but it still leaves the > fairly unlikely _potential_ for it to re-appear at some point. > > We have ACCESS_ONCE() as a macro to guarantee that the compiler > doesn't rematerialize a pointer access. That also would clarify > the fact that we access something unsafe outside a lock. So make sure our nr_running value is immutable and cannot change after we check it for nonzero. Signed-off-by: Ingo Molnar commit 1583715ddb61f822041807a0f18b3b4845e88c76 Author: Ingo Molnar Date: Tue Nov 25 10:27:49 2008 +0100 sched, cpusets: fix warning in kernel/cpuset.c this warning: kernel/cpuset.c: In function ‘generate_sched_domains’: kernel/cpuset.c:588: warning: ‘ndoms’ may be used uninitialized in this function triggers because GCC does not recognize that ndoms stays uninitialized only if doms is NULL - but that flow is covered at the end of generate_sched_domains(). Help out GCC by initializing this variable to 0. (that's prudent anyway) Also, this function needs a splitup and code flow simplification: with 160 lines length it's clearly too long. Signed-off-by: Ingo Molnar commit 2642b11295ebcc94843045933061bfbb263fce7f Author: Stefan Richter Date: Sat Nov 29 14:55:47 2008 +0100 ieee1394: sbp2: fix race condition in state change An intermediate transition from _RUNNING to _IN_SHUTDOWN could have been missed by the former code. Signed-off-by: Stefan Richter commit e47c1feb17e61ef4e2f245c0af0c5a8e2a7798b2 Author: Stefan Richter Date: Wed Nov 26 01:34:25 2008 +0100 ieee1394: fix list corruption (reported at module removal) If there is more than one FireWire controller present, dummy_zero_addr and dummy_max_addr were added multiple times to different lists, thus corrupting the lists. Fix this by allocating them dynamically per host instead of just once globally. (Perhaps a better address space allocation algorithm could rid us of the two dummy address spaces.) Fixes http://bugzilla.kernel.org/show_bug.cgi?id=10129 . Signed-off-by: Stefan Richter commit 9a5aa622dd4cd22b5e0fe83e4a9c0c768d4e2dea Author: Jack Morgenstein Date: Fri Nov 28 21:29:46 2008 -0800 mlx4_core: Save/restore default port IB capability mask Commit 7ff93f8b ("mlx4_core: Multiple port type support") introduced support for different port types. As part of that support, SET_PORT is invoked to set the port type during driver startup. However, as a side-effect, for IB ports the invocation of this command also sets the port's capability mask to zero (losing the default value set by FW). To fix this, get the default ib port capabilities (via a MAD_IFC Port Info query) during driver startup, and save them for use in the mlx4_SET_PORT command when setting the port-type to Infiniband. This patch fixes problems with subnet manager (SM) failover such as , which occurred because the IsTrapSupported bit in the capability mask was zeroed. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 23d0a65cf229acd273b6f5a325c34d758a90d592 Author: Arjan van de Ven Date: Fri Nov 28 08:19:09 2008 -0800 toshiba_acpi: close race in toshiba_acpi driver the toshiba ACPI driver will, in a failure case, free the rfkill state before stopping the polling timer that would use this state. More interesting, in the same failure case handling, it calls the exit function, which also frees the rfkill state, but after stopping the polling. If the race happens, a NULL pointer is passed to rfkill_force_state() which then causes a nice dereference. Fix the race by just not doing the too-early freeing of the rfkill state. This appears to be the cause of a hot issue on kerneloops.org; while I have no solid evidence of that this patch will fix the issue, the race appears rather real. Signed-off-by: Arjan van de Ven Signed-off-by: Len Brown commit 7b964f733798960c899dc40911329aee7bee25e4 Author: Jean Delvare Date: Fri Nov 28 15:24:39 2008 +0100 i2c-parport: Fix misplaced parport_release call We shouldn't release the parallel port until we are actually done with it. Signed-off-by: Jean Delvare commit 79b93e1359b1414b438f239c6e5e0ad91232e4c8 Author: Jean Delvare Date: Fri Nov 28 15:24:38 2008 +0100 i2c: Remove i2c clients in reverse order i2c clients should be removed in reverse order compared to the probe (actually: bind) order. This matters when several clients depend on each other. Signed-off-by: Jean Delvare Tested-by: Guennadi Liakhovetski commit d1846b0e7a1dc26f90fb0d75641aca9abb077ef9 Author: David Brownell Date: Fri Nov 28 15:24:38 2008 +0100 i2c/isp1301_omap: Build fixes Build fixes for isp1301_omap; no behavior changes: - fix incorrect probe() signature (it changed many months ago) - provide missing functions on H3 and H4 boards - "sparse" fixes (static, NULL-vs-0) The H3 build bits subset some of the stuff that was previously in the OMAP tree but never went to mainline. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit ee8a1a0a1a5817accd03ced7e7ffde3a4430f485 Author: Jan Scholz Date: Wed Nov 26 15:33:45 2008 +0100 HID: Apple ALU wireless keyboards are bluetooth devices While parsing 'hid_blacklist' in the apple alu wireless keyboard is not found. This happens because in the blacklist it is declared with HID_USB_DEVICE although the keyboards are really bluetooth devices. The same holds for 'apple_devices' list. This patch fixes it by changing HID_USB_DEVICE to HID_BLUETOOTH_DEVICE in those two lists. Signed-off-by: Jan Scholz Signed-off-by: Jiri Kosina commit af38d90d6a5e135b546a3f86222ba2ad895ba4ae Merge: 487ff32082a9bd7489d8185cf7d7a2fdf18a22fa a730b327ca70f0e4d933202e3979e96613c3585f Author: Russell King Date: Thu Nov 27 23:50:31 2008 +0000 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit 487ff32082a9bd7489d8185cf7d7a2fdf18a22fa Author: Russell King Date: Thu Nov 27 11:13:58 2008 +0000 Allow architectures to override copy_user_highpage() With aliasing VIPT cache support, the ARM implementation of clear_user_page() and copy_user_page() sets up a temporary kernel space mapping such that we have the same cache colour as the userspace page. This avoids having to consider any userspace aliases from this operation. However, when highmem is enabled, kmap_atomic() have to setup mappings. The copy_user_highpage() and clear_user_highpage() call these functions before delegating the copies to copy_user_page() and clear_user_page(). The effect of this is that each of the *_user_highpage() functions setup their own kmap mapping, followed by the *_user_page() functions setting up another mapping. This is rather wasteful. Thankfully, copy_user_highpage() can be overriden by architectures by defining __HAVE_ARCH_COPY_USER_HIGHPAGE. However, replacement of clear_user_highpage() is more difficult because its inline definition is not conditional. It seems that you're expected to define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE and provide a replacement __alloc_zeroed_user_highpage() implementation instead. The allocation itself is fine, so we don't want to override that. What we really want to do is to override clear_user_highpage() with our own version which doesn't kmap_atomic() unnecessarily. Other VIPT architectures (PARISC and SH) would also like to override this function as well. Acked-by: Hugh Dickins Acked-by: James Bottomley Acked-by: Paul Mundt Signed-off-by: Russell King commit 52b19ac993f1aeadbce15b55302be9a35346e235 Author: Jan Kara Date: Tue Sep 23 18:24:08 2008 +0200 udf: Fix BUG_ON() in destroy_inode() udf_clear_inode() can leave behind buffers on mapping's i_private list (when we truncated preallocation). Call invalidate_inode_buffers() so that the list is properly cleaned-up before we return from udf_clear_inode(). This is ugly and suggest that we should cleanup preallocation earlier than in clear_inode() but currently there's no such call available since drop_inode() is called under inode lock and thus is unusable for disk operations. Signed-off-by: Jan Kara commit a730b327ca70f0e4d933202e3979e96613c3585f Author: Marek Vasut Date: Thu Nov 20 17:34:57 2008 +0100 [ARM] pxa/palmtx: misc fixes to use generic GPIO API Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit b627c8b17ccacba38c975bc0f69a49fc4e5261c9 Author: Joerg Roedel Date: Thu Nov 20 20:49:56 2008 +0100 x86: always define DECLARE_PCI_UNMAP* macros Impact: fix boot crash on AMD IOMMU if CONFIG_GART_IOMMU is off Currently these macros evaluate to a no-op except the kernel is compiled with GART or Calgary support. But we also need these macros when we have SWIOTLB, VT-d or AMD IOMMU in the kernel. Since we always compile at least with SWIOTLB we can define these macros always. This patch is also for stable backport for the same reason the SWIOTLB default selection patch is. Signed-off-by: Joerg Roedel Cc: Signed-off-by: Ingo Molnar commit 6417a917b564106dcf2b8f42687f92ad94635ddd Merge: 47fd6f7c94e15eb5f97dd1cbb0427a46b03c8185 723fdb781abfe78d8ba7d911abbb581722348aa7 Author: Russell King Date: Thu Nov 27 11:13:10 2008 +0000 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit abd942194dcba2fa9d24d547b8acd4ef052eaf73 Author: Martin Schwidefsky Date: Thu Nov 27 11:05:59 2008 +0100 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 0778dc3a624b48cf80072b04405cacd1ad4079be Author: Heiko Carstens Date: Thu Nov 27 11:05:58 2008 +0100 [S390] Fix alignment of initial kernel stack. We need an alignment of 16384 bytes for the initial kernel stack if the kernel is configured for 16384 bytes stacks but the linker script currently guarantees only an alignment of 8192 bytes. So fix this and simply use THREAD_SIZE as alignment value which will always do the right thing. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2944a5c971c12766e2438ea407ec3567949c32b7 Author: Christian Borntraeger Date: Thu Nov 27 11:05:57 2008 +0100 [S390] pgtable.h: Fix oops in unmap_vmas for KVM processes When running several kvm processes with lots of memory overcommitment, we have seen an oops during process shutdown: ------------[ cut here ]------------ Kernel BUG at 0000000000193434 [verbose debug info unavailable] addressing exception: 0005 [#1] PREEMPT SMP Modules linked in: kvm sunrpc qeth_l2 dm_mod qeth ccwgroup CPU: 10 Not tainted 2.6.28-rc4-kvm-bigiron-00521-g0ccca08-dirty #8 Process kuli (pid: 14460, task: 0000000149822338, ksp: 0000000024f57650) Krnl PSW : 0704e00180000000 0000000000193434 (unmap_vmas+0x884/0xf10) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 EA:3 Krnl GPRS: 0000000000000002 0000000000000000 000000051008d000 000003e05e6034e0 00000000001933f6 00000000000001e9 0000000407259e0a 00000002be88c400 00000200001c1000 0000000407259608 0000000407259e08 0000000024f577f0 0000000407259e09 0000000000445fa8 00000000001933f6 0000000024f577f0 Krnl Code: 0000000000193426: eb22000c000d sllg %r2,%r2,12 000000000019342c: a7180000 lhi %r1,0 0000000000193430: b2290012 iske %r1,%r2 >0000000000193434: a7110002 tmll %r1,2 0000000000193438: a7840006 brc 8,193444 000000000019343c: 9602c000 oi 0(%r12),2 0000000000193440: 96806000 oi 0(%r6),128 0000000000193444: a7110004 tmll %r1,4 Call Trace: ([<00000000001933f6>] unmap_vmas+0x846/0xf10) [<0000000000199680>] exit_mmap+0x210/0x458 [<000000000012a8f8>] mmput+0x54/0xfc [<000000000012f714>] exit_mm+0x134/0x144 [<000000000013120c>] do_exit+0x240/0x878 [<00000000001318dc>] do_group_exit+0x98/0xc8 [<000000000013e6b0>] get_signal_to_deliver+0x30c/0x358 [<000000000010bee0>] do_signal+0xec/0x860 [<0000000000112e30>] sysc_sigpending+0xe/0x22 [<000002000013198a>] 0x2000013198a INFO: lockdep is turned off. Last Breaking-Event-Address: [<00000000001a68d0>] free_swap_and_cache+0x1a0/0x1a4 <4>---[ end trace bc19f1d51ac9db7c ]--- The faulting instruction is the storage key operation (iske) in ptep_rcp_copy (called by pte_clear, called by unmap_vmas). iske reads dirty and reference bit information for a physical page and requires a valid physical address. Since we are in pte_clear, we cannot rely on the pte containing a valid address. Fortunately we dont need these information in pte_clear - after all there is no mapping. The best fix is to remove the needless call to ptep_rcp_copy that contains the iske. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 8107d8296baff899db89c1716fe8af69a5b19d18 Author: Christian Borntraeger Date: Thu Nov 27 11:05:56 2008 +0100 [S390] fix/cleanup sched_clock CONFIG_PRINTK_TIME reveals that sched_clock has a wrong offset during boot: .. [ 0.000000] Movable zone: 0 pages used for memmap [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 775679 [ 0.000000] Kernel command line: dasd=4b6c root=/dev/dasda1 ro noinitrd [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes) [6920575.975232] console [ttyS0] enabled [6920575.987586] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes) [6920575.991404] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes) .. The s390 implementation of sched_clock uses the store clock instruction and subtracts jiffies_timer_cc. jiffies_timer_cc is a local variable in arch/s390/kernel/time.c and only used for sched_clock and monotonic clock. For historical reasons there is an offset on that value. With todays code this offset is unnecessary. By removing that offset we can get a sched_clock which returns the nanoseconds after time_init. This improves CONFIG_PRINTK_TIME. Since sched_clock is the only user, I have also renamed jiffies_timer_cc to sched_clock_base_cc. In addition, the local variable init_timer_cc is redundant and can be romved as well. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 59da21398e680e8100625d689c8bebee6a139e93 Author: Martin Schwidefsky Date: Thu Nov 27 11:05:55 2008 +0100 [S390] fix system call parameter functions. syscall_get_nr() currently returns a valid result only if the call chain of the traced process includes do_syscall_trace_enter(). But collect_syscall() can be called for any sleeping task, the result of syscall_get_nr() in general is completely bogus. To make syscall_get_nr() work for any sleeping task the traps field in pt_regs is replace with svcnr - the system call number the process is executing. If svcnr == 0 the process is not on a system call path. The syscall_get_arguments and syscall_set_arguments use regs->gprs[2] for the first system call parameter. This is incorrect since gprs[2] may have been overwritten with the system call number if the call chain includes do_syscall_trace_enter. Use regs->orig_gprs2 instead. Signed-off-by: Martin Schwidefsky commit 4cd4262034849da01eb88659af677b69f8169f06 Author: Steven Rostedt Date: Wed Nov 26 21:04:24 2008 -0500 sched: prevent divide by zero error in cpu_avg_load_per_task Impact: fix divide by zero crash in scheduler rebalance irq While testing the branch profiler, I hit this crash: divide error: 0000 [#1] PREEMPT SMP [...] RIP: 0010:[] [] cpu_avg_load_per_task+0x50/0x7f [...] Call Trace: <0> [] find_busiest_group+0x3e5/0xcaa [] rebalance_domains+0x2da/0xa21 [] ? find_next_bit+0x1b2/0x1e6 [] run_rebalance_domains+0x112/0x19f [] __do_softirq+0xa8/0x232 [] call_softirq+0x1c/0x3e [] do_softirq+0x94/0x1cd [] irq_exit+0x6b/0x10e [] smp_apic_timer_interrupt+0xd3/0xff [] apic_timer_interrupt+0x13/0x20 The code for cpu_avg_load_per_task has: if (rq->nr_running) rq->avg_load_per_task = rq->load.weight / rq->nr_running; The runqueue lock is not held here, and there is nothing that prevents the rq->nr_running from going to zero after it passes the if condition. The branch profiler simply made the race window bigger. This patch saves off the rq->nr_running to a local variable and uses that for both the condition and the division. Signed-off-by: Steven Rostedt Peter Zijlstra Signed-off-by: Ingo Molnar commit 4f5a7f40ddbae98569acbb99118a98570315579c Author: Lai Jiangshan Date: Thu Nov 27 10:21:46 2008 +0800 ftrace: prevent recursion Impact: prevent unnecessary stack recursion if the resched flag was set before we entered, then don't reschedule. Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e899b6485c332aa2d7510739507ab5e5d7b28e59 Author: Lin Ming Date: Thu Nov 27 14:42:30 2008 +0800 ACPICA: disable _BIF warning A generic work-around from ACPICA is in the queue, but since Linux has a work-around in its battery driver, we can disable this warning now. Allow _BIF method to return an Package with Buffer elements http://bugzilla.kernel.org/show_bug.cgi?id=11822 Signed-off-by: Lin Ming Signed-off-by: Len Brown commit a6e0887f21bbab337ee32d9c0a84d7c0b6e9141b Author: Len Brown Date: Sat Nov 8 01:21:10 2008 -0500 ACPI: delete OSI(Linux) DMI dmesg spam Linux will continue to ignore OSI(Linux), except for a white-list containing a few systems. So delete the black-list, and stop soliciting user-feedback on the console. Signed-off-by: Len Brown commit 95a28ed08619cc70f31611886ac7b26ab0e462dc Author: Bob Moore Date: Thu Nov 13 11:01:34 2008 +0800 ACPICA: Allow _WAK method to return an Integer This can happen if the _WAK method returns nothing (as per ACPI 1.0) but does return an integer if the implicit return mechanism is enabled. This is the only method that has this problem, since it is also defined to return a package of two integers (ACPI 1.0b+). In all other cases, if a method returns an object when one was not expected, no warning is issued. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 0081b162023690877e0096ef17a82ba1969befa8 Author: Henrique de Moraes Holschuh Date: Sun Nov 9 10:54:02 2008 -0200 ACPI: thinkpad-acpi: fix fan sleep/resume path This fixes a regression from v2.6.27, caused by commit 5814f737e1cd2cfa2893badd62189acae3e1e1fd, "ACPI: thinkpad-acpi: attempt to preserve fan state on resume". It is possible for fan_suspend() to fail to properly initialize fan_control_desired_level as required by fan_resume(), resulting on the fan always being set to level 7 on resume if the user didn't touch the fan controller. In order to get fan sleep/resume handling to work right: 1. Fix the fan_suspend handling of the T43 firmware quirk. If it is still undefined, we didn't touch the fan yet and that means we have no business doing it on resume. 2. Store the fan level on its own variable to avoid any possible issues with hijacking fan_control_desired_level (which isn't supposed to have anything other than 0-7 in it, anyway). 3. Change the fan_resume code to me more straightforward to understand (although we DO optimize the boolean logic there, otherwise it looks disgusting). 4. Add comments to help understand what the code is supposed to be doing. 5. Change fan_set_level to be less strict about how auto and full-speed modes are requested. http://bugzilla.kernel.org/show_bug.cgi?id=11982 Signed-off-by: Henrique de Moraes Holschuh Reported-by: Tino Keitel Signed-off-by: Len Brown commit 3fedd90fdf17643df1da473c5da983137d51bbdb Author: Alessandro Guido Date: Wed Nov 12 23:13:35 2008 +0100 sony-laptop: printk tweak There's no need to print "Sony: " just after "sony-laptop: " (DRV_PFX). Signed-off-by: Alessandro Guido Signed-off-by: Len Brown commit 38cfc148e1bc470175b3ad131db7dd7bdcff37ee Author: Alessandro Guido Date: Wed Nov 12 23:03:28 2008 +0100 sony-laptop: brightness regression fix After commit 540b8bb9c33935183ceb5bed466a42ad72b2af56: sony-laptop: fingers off backlight if video.ko is serving this functionality I can't set brightness on my sony laptop (nothing in /sys/class/backlight). dmesg says "sony-laptop: Sony: Brightness ignored, must be controlled by ACPI video driver". The function acpi_video_backlight_support returns 0 if we should use the vendor-specific backlight support, while non-0 if the ACPI generic should be used. Because of this, the check introduced by the said commit appears reversed. Signed-off-by: Alessandro Guido Signed-off-by: Len Brown commit 3bdca1b863c1ebcb2244fc0cb683876d7330e62b Author: Len Brown Date: Wed Nov 26 17:55:15 2008 -0500 Revert "ACPI: don't enable control method power button as wakeup device when Fixed Power button is used" This reverts commit faee816b1502385dc9bc5abf2960d1cc645844d1. http://bugzilla.kernel.org/show_bug.cgi?id=12091 Signed-off-by: Len Brown commit 65df78473ffbf3bff5e2034df1638acc4f3ddd50 Author: Rafael J. Wysocki Date: Wed Nov 26 17:53:13 2008 -0500 ACPI suspend: Blacklist boxes that require us to set SCI_EN directly on resume Some Apple boxes evidently require us to set SCI_EN on resume directly, because if we don't do that, they hung somewhere in the resume code path. Moreover, on these boxes it is not sufficient to use acpi_enable() to turn ACPI on during resume. All of this is against the ACPI specification which states that (1) the BIOS is supposed to return from the S3 sleep state with ACPI enabled (SCI_EN set) and (2) the SCI_EN bit is owned by the hardware and we are not supposed to change it. For this reason, blacklist the affected systems so that the SCI_EN bit is set during resume on them. [NOTE: Unconditional setting SCI_EN for all system on resume doesn't work, because it makes some other systems crash (that's to be expected). Also, it is not entirely clear right now if all of the Apple boxes require this workaround.] This patch fixes the recent regression tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12038 Signed-off-by: Rafael J. Wysocki Tested-by: Tino Keitel Tested-by: Bob Copeland Signed-off-by: Len Brown commit 40599072dca3ec7d4c9ff8271978be169f974638 Author: Pavel Machek Date: Tue Nov 25 12:05:08 2008 +0100 ACPI: scheduling in atomic via acpi_evaluate_integer () Now I know why I had strange "scheduling in atomic" problems: acpi_evaluate_integer() does malloc(..., irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL)... which is (of course) broken. There's no way to reliably tell if we need GFP_ATOMIC or not from code, this one for example fails to detect spinlocks held. Fortunately, allocation seems small enough to be done on stack. Signed-off-by: Pavel Machek Acked-by: Bob Moore Signed-off-by: Len Brown commit 723fdb781abfe78d8ba7d911abbb581722348aa7 Author: Tero Kristo Date: Wed Nov 26 14:35:16 2008 -0800 ARM: OMAP: Fixes for suspend / resume GPIO wake-up handling Use the correct wake-up enable register, and make it work with 34xx also. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 558073dd56707864f09d563b64e7c37c021e89d2 Author: Alexey Starikovskiy Date: Fri Nov 21 22:41:01 2008 +0800 ACPI: battery: Convert discharge energy rate to current properly ACPI battery interface reports its state either in mW or in mA, and discharge rate in your case is reported in mW. power_supply interface does not have such a parameter, so current_now parameter is used for all cases. But in case of mW, reported discharge should be converted into mA. Signed-off-by: Alexey Starikovskiy Tested-by: Ferenc Wagner Signed-off-by: Len Brown commit 90f671301a5e2678cdc99f611cd842161c3bb87f Author: Kay Sievers Date: Fri Nov 7 01:42:46 2008 +0100 parisc: struct device - replace bus_id with dev_name(), dev_set_name() (I did not compile or test it, please let me know, or help fixing it, if something is wrong with the conversion) This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Thanks, Kay Cc: Matthew Wilcox Cc: linux-parisc@vger.kernel.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Kyle McMartin commit 7a3f5134a8f5bd7fa38b5645eef05e8a4eb62951 Author: Helge Deller Date: Wed Nov 26 12:46:22 2008 -0800 parisc: fix kernel crash when unwinding a userspace process Any user on existing parisc 32- and 64bit-kernels can easily crash the kernel and as such enforce a DSO. A simple testcase is available here: http://gsyprf10.external.hp.com/~deller/crash.tgz The problem is introduced by the fact, that the handle_interruption() crash handler calls the show_regs() function, which in turn tries to unwind the stack by calling parisc_show_stack(). Since the stack contains userspace addresses, a try to unwind the stack is dangerous and useless and leads to the crash. The fix is trivial: For userspace processes a) avoid to unwind the stack, and b) avoid to resolve userspace addresses to kernel symbol names. While touching this code, I converted print_symbol() to %pS printk formats and made parisc_show_stack() static. An initial patch for this was written by Kyle McMartin back in August: http://marc.info/?l=linux-parisc&m=121805168830283&w=2 Compile and run-tested with a 64bit parisc kernel. Signed-off-by: Helge Deller Cc: Grant Grundler Cc: Matthew Wilcox Cc: [2.6.25.x, 2.6.26.x, 2.6.27.x, earlier...] Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit 9860d1b08b082ffb54c4b7827c48c2728e12ba21 Author: Geert Uytterhoeven Date: Sun Nov 16 12:04:13 2008 +0100 parisc: __kernel_time_t is always long __kernel_time_t is always long on PA-RISC, irrespective of CONFIG_64BIT, hence move it out of the #ifdef CONFIG_64BIT / #else / #endif block. Signed-off-by: Geert Uytterhoeven Signed-off-by: Kyle McMartin commit 7b4d469228a92a00e412675817cedd60133de38a Author: Alexey Starikovskiy Date: Thu Nov 13 12:00:03 2008 +0300 ACPI: EC: count interrupts only if called from interrupt handler. fix 2.6.28 EC interrupt storm regression Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a98ee8c1c707fe3210b00ef9f806ba8e2bf35504 Author: Jeff Layton Date: Wed Nov 26 19:32:33 2008 +0000 [CIFS] fix regression in cifs_write_begin/cifs_write_end The conversion to write_begin/write_end interfaces had a bug where we were passing a bad parameter to cifs_readpage_worker. Rather than passing the page offset of the start of the write, we needed to pass the offset of the beginning of the page. This was reliably showing up as data corruption in the fsx-linux test from LTP. It also became evident that this code was occasionally doing unnecessary read calls. Optimize those away by using the PG_checked flag to indicate that the unwritten part of the page has been initialized. CC: Nick Piggin Acked-by: Dave Kleikamp Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 545f4e99dee7284ed57c79384c5c1d5ac58dcd59 Author: Ping Cheng Date: Mon Nov 24 11:44:27 2008 -0500 Input: wacom - add support for new USB Tablet PCs Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 461cba2d294fe83297edf8a6556912812903dce1 Author: Peng Li Date: Tue Nov 18 12:39:02 2008 +0800 drm/i915: Save/restore HWS_PGA on suspend/resume It fixes suspend/resume failure of xf86-video-intel dri2 branch. As dri2 branch doesn't call I830DRIResume() to restore hardware status page anymore, we need to preserve this register across suspend/resume. Signed-off-by: Peng Li Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 2fd36a5d6e830269a37f0f6ccfd34ee0517ebc7d Author: Eric Miao Date: Wed Nov 26 12:51:42 2008 +0800 [ARM] pxa/corgi: update default config to exclude tosa from being built Signed-off-by: Eric Miao commit 72e9622c2a2eb73d82c716504cc93d22cd3cfd8e Author: Guennadi Liakhovetski Date: Tue Nov 25 18:57:08 2008 +0100 [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera data 0 is a valid GPIO number, use a negative number to specify, that this camera doesn't have a GPIO for bus-width switching. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Eric Miao commit ffd565a8b817d1eb4b25184e8418e8d96c3f56f6 Author: Andreas Herrmann Date: Tue Nov 25 17:18:03 2008 +0100 x86: fixup config space size of CPU functions for AMD family 11h Impact: extend allowed configuration space access on 11h CPUs from 256 to 4K Signed-off-by: Andreas Herrmann Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 147dcf5489fb86c4bfe400520186f9f11b304783 Author: Amit Kucheria Date: Tue Nov 25 15:11:12 2008 -0800 ARM: OMAP: Typo fix for clock_allow_idle The second clk_deny_idle instance should be clk_allow_idle instead. Signed-off-by: Amit Kucheria Signed-off-by: Tony Lindgren commit 031bb27c4bf77c2f60b3f3dea8cce63ef0d1fba9 Author: Stefan Richter Date: Sat Nov 22 12:38:58 2008 +0100 firewire: fw-sbp2: another iPod mini quirk entry Add another model ID of a broken firmware to prevent early I/O errors by acesses at the end of the disk. Reported at linux1394-user, http://marc.info/?t=122670842900002 Signed-off-by: Stefan Richter commit 9e0de91011ef6fe6eb3bb63f7ea15f586955660a Author: Stefan Richter Date: Sat Nov 22 12:38:24 2008 +0100 ieee1394: sbp2: another iPod mini quirk entry Add another model ID of a broken firmware to prevent early I/O errors by acesses at the end of the disk. Reported at linux1394-user, http://marc.info/?t=122670842900002 Signed-off-by: Stefan Richter commit a266d9f1253a38ec2d5655ebcd6846298b0554f4 Author: Andreas Herrmann Date: Fri Nov 21 14:49:25 2008 +0100 [CPUFREQ] powernow-k8: ignore out-of-range PstateStatus value A workaround for AMD CPU family 11h erratum 311 might cause that the P-state Status Register shows a "current P-state" which is larger than the "current P-state limit" in P-state Current Limit Register. For the wrong P-state value there is no ACPI _PSS object defined and powernow-k8/cpufreq can't determine the proper CPU frequency for that state. As a consequence this can cause a panic during boot (potentially with all recent kernel versions -- at least I have reproduced it with various 2.6.27 kernels and with the current .28 series), as an example: powernow-k8: Found 1 AMD Turion(tm)X2 Ultra DualCore Mobile ZM-82 processors (2 \ ) powernow-k8: 0 : pstate 0 (2200 MHz) powernow-k8: 1 : pstate 1 (1100 MHz) powernow-k8: 2 : pstate 2 (600 MHz) BUG: unable to handle kernel paging request at ffff88086e7528b8 IP: [] cpufreq_stats_update+0x4a/0x5f PGD 202063 PUD 0 Oops: 0002 [#1] SMP last sysfs file: CPU 1 Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.28-rc3-dirty #16 RIP: 0010:[] [] cpufreq_stats_update+0x4a/0\ f Synaptics claims to have extended capabilities, but I'm not able to read them.<6\ 6 RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff88006e7528c0 RDX: 00000000ffffffff RSI: ffff88006e54af00 RDI: ffffffff808f056c RBP: 00000000fffee697 R08: 0000000000000003 R09: ffff88006e73f080 R10: 0000000000000001 R11: 00000000002191c0 R12: ffff88006fb83c10 R13: 00000000ffffffff R14: 0000000000000001 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88006fb50740(0000) knlGS:0000000000000000 Unable to initialize Synaptics hardware. CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: ffff88086e7528b8 CR3: 0000000000201000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swapper (pid: 1, threadinfo ffff88006fb82000, task ffff88006fb816d0) Stack: ffff88006e74da50 0000000000000000 ffff88006e54af00 ffffffff804863c7 ffff88006e74da50 0000000000000000 00000000ffffffff 0000000000000000 ffff88006fb83c10 ffffffff8024b46c ffffffff808f0560 ffff88006fb83c10 Call Trace: [] ? cpufreq_stat_notifier_trans+0x51/0x83 [] ? notifier_call_chain+0x29/0x4c [] ? __srcu_notifier_call_chain+0x46/0x61 [] ? cpufreq_notify_transition+0x93/0xa9 [] ? powernowk8_target+0x1e8/0x5f3 [] ? cpufreq_governor_performance+0x1b/0x20 [] ? __cpufreq_governor+0x71/0xa8 [] ? __cpufreq_set_policy+0x101/0x13e [] ? cpufreq_add_dev+0x3f0/0x4cd [] ? handle_update+0x0/0x8 [] ? sysdev_driver_register+0xb6/0x10d [] ? powernowk8_init+0x0/0x7e [] ? cpufreq_register_driver+0x8f/0x140 [] ? _stext+0x56/0x14f [] ? proc_register+0x122/0x17d [] ? create_proc_entry+0x73/0x8a [] ? register_irq_proc+0x92/0xaa [] ? init_irq_proc+0x57/0x69 [] ? kernel_init+0x116/0x169 [] ? child_rip+0xa/0x11 [] ? kernel_init+0x0/0x169 [] ? child_rip+0x0/0x11 Code: 05 c5 83 36 00 48 c7 c2 48 5d 86 80 48 8b 04 d8 48 8b 40 08 48 8b 34 02 48\ RIP [] cpufreq_stats_update+0x4a/0x5f RSP CR2: ffff88086e7528b8 ---[ end trace 0678bac75e67a2f7 ]--- Kernel panic - not syncing: Attempted to kill init! In short, aftereffect of the wrong P-state is that cpufreq_stats_update() uses "-1" as index for some array in cpufreq_stats_update (unsigned int cpu) { ... if (stat->time_in_state) stat->time_in_state[stat->last_index] = cputime64_add(stat->time_in_state[stat->last_index], cputime_sub(cur_time, stat->last_time)); ... } Fortunately, the wrong P-state value is returned only if the core is in P-state 0. This fix solves the problem by detecting the out-of-range P-state, ignoring it, and using "0" instead. Cc: Mark Langsdorf Signed-off-by: Andreas Herrmann Signed-off-by: Dave Jones commit 121fe86bdf062af3fed1e998c08c3c272ae6dc99 Author: Robin Getz Date: Fri Oct 17 01:36:43 2008 +0800 [CPUFREQ] Documentation: Add Blackfin to list of supported processors Signed-off-by: Robin Getz Signed-off-by: Bryan Wu Signed-off-by: Dave Jones commit de90add30e79261c3b5be68bb0f22d2ef98e8113 Author: Markus Metzger Date: Tue Nov 25 08:52:56 2008 +0100 x86, bts: fix wrmsr and spinlock over kmalloc Impact: fix sleeping-with-spinlock-held bugs/crashes - Turn a wrmsr to write the DS_AREA MSR into a wrmsrl. - Use irqsave variants of spinlocks. - Do not allocate memory while holding spinlocks. Reported-by: Stephane Eranian Reported-by: Ingo Molnar Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit c4858ffc8f2dc850cb1f609c679b1ac1ad36ef0c Author: Markus Metzger Date: Tue Nov 25 08:49:06 2008 +0100 x86, pebs: fix PEBS record size configuration Impact: fix DS hw enablement on 64-bit x86 Fix the PEBS record size in the DS configuration. Reported-by: Stephane Eranian Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit e5e8ca633bbe972eff6f84e064a63c0c08ed6c3d Author: Markus Metzger Date: Tue Nov 25 08:47:19 2008 +0100 x86, bts: turn macro into static inline function Impact: cleanup Replace a macro with a static inline function. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 292c669cd7087a090d6420e223eb1072f3e3c50b Author: Markus Metzger Date: Tue Nov 25 08:45:13 2008 +0100 x86, bts: exclude ds.c from build when disabled Impact: cleanup Move the CONFIG guard from the .c file into the makefile. Reported-by: Andi Kleen Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit b6283534a3e057f8268ca5448305900f74d12608 Merge: c879c634c928223765cf50103ddaf32f2a55fed0 661cd8fb5210af78f0763071642e0764a10389a6 Author: Takashi Iwai Date: Tue Nov 25 17:21:32 2008 +0100 Merge branch 'topic/fix/hda' into for-linus commit eff79aee91dd07e944df65fa448c8baeee7709d8 Author: Julia Lawall Date: Tue Nov 25 14:13:03 2008 +0100 arch/x86/kernel/pci-calgary_64.c: change simple_strtol to simple_strtoul Impact: fix theoretical option string parsing overflow Since bridge is unsigned, it would seem better to use simple_strtoul that simple_strtol. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r2@ long e; position p; @@ e = simple_strtol@p(...) @@ position p != r2.p; type T; T e; @@ e = - simple_strtol@p + simple_strtoul (...) // Signed-off-by: Julia Lawall Cc: muli@il.ibm.com Cc: jdmason@kudzu.us Cc: discuss@x86-64.org Signed-off-by: Ingo Molnar commit 5cf02b7bafddb6c3c16ddfb23d3ce187f70528ba Author: Steven Rostedt Date: Tue Nov 25 00:42:37 2008 -0500 x86: use limited register constraint for setnz Impact: build fix with certain compilers GCC can decide to use %dil when "r" is used, which is not valid for setnz. This bug was brought out by Stephen Rothwell's merging of the branch tracer into linux-next. [ Thanks to Uros Bizjak for recommending 'q' over 'Q' ] Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 661cd8fb5210af78f0763071642e0764a10389a6 Author: Takashi Iwai Date: Tue Nov 25 15:18:29 2008 +0100 ALSA: hda - Check model for Dell 92HD73xx laptops Check the model type instead of PCI SSID for detection of the mic types on Dell laptops with IDT 92HD73xx codecs. In this way, a new laptop can be tested via model module option. Signed-off-by: Takashi Iwai commit c65574abad288d7123bd49e7906fa53b7e420239 Author: Takashi Iwai Date: Fri Nov 21 18:01:44 2008 +0100 ALSA: hda - mark Dell studio 1535 quirk Fixed the quirk string for Dell studio 1535 (the product name wasn't published at the time the patch was made). Signed-off-by: Takashi Iwai commit 95026623da32848bc93fbfb472dc8737487df450 Author: Takashi Iwai Date: Mon Nov 24 07:51:11 2008 +0100 ALSA: hda - No 'Headphone as Line-out' swich without line-outs STAC/IDT driver creates "Headphone as Line-Out" switch even if there is no line-out pins on the machine. For devices only with headpohnes and speaker-outs, this switch shouldn't be created. Signed-off-by: Takashi Iwai commit f73d35853e9263c7c404f0d6c0fe3d83fc6fd5c0 Author: Takashi Iwai Date: Tue Nov 25 08:21:51 2008 +0100 ALSA: hda - Fix AFG power management on IDT 92HD* codecs The AFG pin power-mapping isn't properly set for the fixed I/O pins on IDT 92HD* codecs. This resulted in the low power mode after the boot until any jack detection is executed, thus no output from the speaker. This patch fixes the power mapping for the fixed pins, and also fixes the GPIO bits and digital I/O pin settings properly in stac92xx_ini(). Reference: Novell bnc#446025 https://bugzilla.novell.com/show_bug.cgi?id=446025 Signed-off-by: Takashi Iwai commit 9e97697666d0e7494946cfb639f6a9faacd5f1b0 Author: Takashi Iwai Date: Tue Nov 25 08:17:20 2008 +0100 ALSA: hda - Fix caching of SPDIF status bits SPDIF status bits controls are written via snd_hda_codec_write() without caching. This causes a regression at resume that the bits are lost. Simply replacing it with the cached version fixes the problem. Reference: http://lkml.org/lkml/2008/11/24/324 Signed-off-by: Takashi Iwai commit 7953031da4200323ab5d85bd514054ca4ba9d225 Author: Tony Lindgren Date: Mon Nov 24 18:11:16 2008 -0800 ARM: OMAP: Remove broken LCD driver for SX1 Recently the omap McBSP code was cleaned up to get rid of direct McBSP register tinkering by the drivers. Looks like lcd_sx1.c never got converted, and now it breaks builds. It seems the lcd_sx1.c driver is attempting SPI mode, but doing it in a different way compared to omap_mcbsp_set_spi_mode(). Remove the broken driver, patches welcome to add it back when done properly by patching both mcbsp.c and lcd_sx1.c. Cc: Vovan888@gmail.com Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Tony Lindgren commit 52440211dcdc52c0b757f8b34d122e11b12cdd50 Author: Keith Packard Date: Tue Nov 18 09:30:25 2008 -0800 drm: move drm vblank initialization/cleanup to driver load/unload drm vblank initialization keeps track of the changes in driver-supplied frame counts across vt switch and mode setting, but only if you let it by not tearing down the drm vblank structure. Signed-off-by: Keith Packard Signed-off-by: Dave Airlie commit 6133047aa64d2fd5b3b79dff74f696ded45615b2 Author: Keith Packard Date: Thu Nov 20 23:14:48 2008 -0800 drm/i915: execbuffer pins objects, no need to ensure they're still in the GTT Before we had the notion of pinning objects, we had a kludge around to make sure all of the objects were still resident in the GTT before we committed to executing a batch buffer. We don't need this any longer, and it sticks an error return in the middle of object domain computations that must be associated with a subsequent flush/invalidate emmission into the ring. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 05eff845a28499762075d3a72e238a31f4d2407c Author: Keith Packard Date: Wed Nov 19 14:03:05 2008 -0800 drm/i915: Always read pipestat in irq_handler Because we write pipestat before iir, it's possible that a pipestat interrupt will occur between the pipestat write and the iir write. This leaves pipestat with an interrupt status not visible in iir. This may cause an interrupt flood as we never clear the pipestat event. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 2678d9d6964b29ecd1975870c7a850242b29bc5c Author: Keith Packard Date: Thu Nov 20 22:54:54 2008 -0800 drm/i915: Subtract total pinned bytes from available aperture size The old code was wandering through the active list looking for pinned buffers; there may be other pinned buffers around. Fortunately, we keep a count of the total amount of pinned memory and can use that instead. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 28dfe52a6e8a1495067c4331358700a170d0ee86 Author: Eric Anholt Date: Thu Nov 13 15:00:55 2008 -0800 drm/i915: Avoid BUG_ONs on VT switch with a wedged chipset. Instead, just warn that bad things are happening and do our best to clean up the mess without the GPU's help. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit cdfbc41f6d602fc0105fb2b4e0645cc1aa274c12 Author: Eric Anholt Date: Tue Nov 4 15:50:30 2008 -0800 drm/i915: Remove IMR masking during interrupt handler, and restart it if needed. The IMR masking was a technique recommended for avoiding getting stuck with no interrupts generated again in MSI mode. It kept new IIR bits from getting set between the IIR read and the IIR write, which would have otherwise prevented an MSI from ever getting generated again. However, this caused a problem for vblank as the IMR mask would keep the pipe event interrupt from getting reflected in IIR, even after the IMR mask was brought back down. Instead, just check the state of IIR after we ack the interrupts we're going to handle, and restart if we didn't get IIR all the way to zero. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 7c463586427bbbad726ba561bae4ba5acada2481 Author: Keith Packard Date: Tue Nov 4 02:03:27 2008 -0800 drm/i915: Manage PIPESTAT to control vblank interrupts instead of IMR. The pipestat fields affect reporting of all vblank-related interrupts, so we have to reset them during the irq_handler, and while enabling vblank interrupts. Otherwise, if a pipe status field had been set to non-zero before enabling reporting, we would never see an interrupt again. This patch adds i915_enable_pipestat and i915_disable_pipestat to abstract out the steps needed to change the reported interrupts. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 8442c87d2f6c73cdc9a391e4dd9390523d242bda Author: Arjan van de Ven Date: Sun Nov 23 22:35:57 2008 -0500 Input: replace spin_lock_bh with spin_lock_irqsave in ml_ff_playback ml_ff_playback() uses spin_(un)lock_bh. However this function is called with interrupts disabled from erase_effect() in drivers/input/ff-core.c:196. This is not permitted, and will result in a WARN_ON in the bottom half handling code. This patch changes this function to just use spin_lock_irqsave() instead, solving the problem and simplifying the locking logic. This was reported as entry #106559 in kerneloops.org Reported-by: kerneloops.org Signed-off-by: Arjan van de Ven Signed-off-by: Dmitry Torokhov commit 8ec2e24356e63dc298c6040557faf396410907ac Author: David Daney Date: Thu Nov 20 17:26:36 2008 -0800 MIPS: Make BUG() __noreturn. Often we do things like put BUG() in the default clause of a case statement. Since it was not declared __noreturn, this could sometimes lead to bogus compiler warnings that variables were used uninitialized. There is a small problem in that we have to put a magic while(1); loop to fool GCC into really thinking it is noreturn. This makes the new BUG() function 3 instructions long instead of just 1, but I think it is worth it as it is now unnecessary to do extra work to silence the 'used uninitialized' warnings. I also re-wrote BUG_ON so that if it is given a constant condition, it just does BUG() instead of loading a constant value in to a register and testing it. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 50f3beb50abe0cc0228363af804e50e710b3e5b0 Author: Mauro Carvalho Chehab Date: Mon Nov 24 08:45:57 2008 -0300 V4L/DVB (9742): em28xx-alsa: implement another locking schema Instead of using a spinlock, it is better to call the proper pcm stream locking schema. Signed-off-by: Mauro Carvalho Chehab commit 7a8f4ccfd572a11f609439dc6a75165b441641bc Author: Michael Krufky Date: Fri Nov 21 17:14:37 2008 -0300 V4L/DVB (9732): sms1xxx: use new firmware for Hauppauge WinTV MiniStick New firmware image brings enhanced tuning performance. Firmware is available for download at the following location: http://www.steventoth.net/linux/sms1xxx Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e07a1d8ab20a059fefbfd1558db43701bca560d7 Author: Jean-Francois Moine Date: Wed Nov 19 06:37:53 2008 -0300 V4L/DVB (9691): gspca: Move the video device to a separate area. The video device was part of the gspca device. On device disconnection while streaming, the device structure is freed at close time. In this case, the remaining close job on the video device run out of allocated memory. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5c4fa002b1c7b40f65fa911ae17a823ec9e26ab2 Author: Jean-Francois Moine Date: Tue Nov 18 15:52:31 2008 -0300 V4L/DVB (9690): gspca: Lock the subdrivers via module_get/put. The previous subdriver protection against rmmod was done via the file operations table in the device descriptor. On device disconnection while streaming, the device structure was freed at close time, and the module_put still used the module name in the freed area. Now, explicit module get/put are done on open and close. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 98522a7be97f2b23451342e36c39f412f0461e24 Author: Jean-Francois Moine Date: Tue Nov 18 06:33:08 2008 -0300 V4L/DVB (9689): gspca: Memory leak when disconnect while streaming. As a side effect, the sd routine stop0 is called on disconnect. This permits the subdriver to free its resources. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3f9b5d4dda6d85aab33fef32e8351ddc34c81fb4 Merge: be542fa56b1b5b269a70b4df219d0cbd871f16d2 606572634c3faa5b32a8fc430266e6e9d78d2179 Author: Paul Mackerras Date: Mon Nov 24 11:54:08 2008 +1100 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge commit be542fa56b1b5b269a70b4df219d0cbd871f16d2 Merge: 11bac8a026dd38380b52a914ec9bf65fb2ad13e2 6612d9b0b8208c2ade3a16b8302a271ec81d45f6 Author: Paul Mackerras Date: Mon Nov 24 11:53:58 2008 +1100 Merge branch 'merge' of ssh://master.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge commit 11bac8a026dd38380b52a914ec9bf65fb2ad13e2 Merge: e871809cccc11aaa072afaf746f8fd946d2d9cac c8d698849e135780738c2cb08f07f06eda982a8c Author: Paul Mackerras Date: Mon Nov 24 11:53:44 2008 +1100 Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into merge commit fb91ee6cf5b8be5360acec577458e29ec7e97e5e Author: Pekka Paalanen Date: Sun Nov 23 21:24:59 2008 +0200 tracing, doc: update mmiotrace documentation Impact: update documentation Update to reflect the current state of the tracing framework: - "none" tracer has been replaced by "nop" tracer - tracing_enabled must be toggled when changing buffer size Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 7ee1768ddb3075ae3a0801cc2d0ea4195530a7db Author: Pekka Paalanen Date: Sun Nov 23 21:24:30 2008 +0200 x86, mmiotrace: fix buffer overrun detection Impact: fix mmiotrace overrun tracing When ftrace framework moved to use the ring buffer facility, the buffer overrun detection was broken after 2.6.27 by commit | commit 3928a8a2d98081d1bc3c0a84a2d70e29b90ecf1c | Author: Steven Rostedt | Date: Mon Sep 29 23:02:41 2008 -0400 | | ftrace: make work with new ring buffer | | This patch ports ftrace over to the new ring buffer. The detection is now fixed by using the ring buffer API. When mmiotrace detects a buffer overrun, it will report the number of lost events. People reading an mmiotrace log must know if something was missed, otherwise the data may not make sense. Signed-off-by: Pekka Paalanen Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 47fd6f7c94e15eb5f97dd1cbb0427a46b03c8185 Author: Jaya Kumar Date: Tue Nov 18 02:32:36 2008 +0100 [ARM] 5335/1: pxa25x_udc: Fix is_vbus_present to return 1 or 0 the use of is_blah() suggests a 1 or 0 return. This assumption is made in pxa25x_udc code such as: dev->vbus = is_vbus_present(); where dev->vbus is a bitfield. This fix allows pxa25x_udc_probe to correctly detect vbus. Other changes were to make its use consistent in the rest of the code. Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit 86bbc2c235e500957b213e7e64ce2e0ccb8bc131 Author: Ian Campbell Date: Fri Nov 21 10:21:33 2008 +0000 xen: pin correct PGD on suspend Impact: fix Xen guest boot failure commit eefb47f6a1e855653d275cb90592a3587ea93a09 ("xen: use spin_lock_nest_lock when pinning a pagetable") changed xen_pgd_walk to walk over mm->pgd rather than taking pgd as an argument. This breaks xen_mm_(un)pin_all() because it makes init_mm.pgd readonly instead of the pgd we are interested in and therefore the pin subsequently fails. (XEN) mm.c:2280:d15 Bad type (saw 00000000e8000001 != exp 0000000060000000) for mfn bc464 (pfn 21ca7) (XEN) mm.c:2665:d15 Error while pinning mfn bc464 [ 14.586913] 1 multicall(s) failed: cpu 0 [ 14.586926] Pid: 14, comm: kstop/0 Not tainted 2.6.28-rc5-x86_32p-xenU-00172-gee2f6cc #200 [ 14.586940] Call Trace: [ 14.586955] [] ? printk+0x18/0x1e [ 14.586972] [] xen_mc_flush+0x163/0x1d0 [ 14.586986] [] __xen_pgd_pin+0xa1/0x110 [ 14.587000] [] ? stop_cpu+0x0/0xf0 [ 14.587015] [] xen_mm_pin_all+0x4b/0x70 [ 14.587029] [] xen_suspend+0x39/0xe0 [ 14.587042] [] ? stop_cpu+0x0/0xf0 [ 14.587054] [] stop_cpu+0x9d/0xf0 [ 14.587067] [] run_workqueue+0x8d/0x150 [ 14.587080] [] ? _spin_unlock_irqrestore+0x23/0x40 [ 14.587094] [] ? prepare_to_wait+0x3a/0x70 [ 14.587107] [] worker_thread+0x88/0xf0 [ 14.587120] [] ? autoremove_wake_function+0x0/0x50 [ 14.587133] [] ? worker_thread+0x0/0xf0 [ 14.587146] [] kthread+0x3c/0x70 [ 14.587157] [] ? kthread+0x0/0x70 [ 14.587170] [] kernel_thread_helper+0x7/0x10 [ 14.587181] call 1/3: op=14 arg=[c0415000] result=0 [ 14.587192] call 2/3: op=14 arg=[e1ca2000] result=0 [ 14.587204] call 3/3: op=26 arg=[c1808860] result=-22 Signed-off-by: Ian Campbell Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3d994e107694381f5b8b2f5cd9fdc4fcf04a5b79 Merge: a1967d64414dab500e86cbbddf8eae6ad2047903 a4a16beadea041ab601e65b264b568e8b6b4f68d Author: Ingo Molnar Date: Sun Nov 23 12:16:57 2008 +0100 Merge branch 'oprofile-for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into x86/urgent commit fde5be353e872fe6088d2b1951e56cdfda2042ff Author: Jiri Slaby Date: Sun Nov 23 12:03:20 2008 +0100 HID: remove setup mutex, fix possible deadlock It causes recursive locking warning and is unneeded after introduction of STARTED flag. * Resume vs. stop is effectively solved by DISCONNECT flag. * No problem in suspend vs. start -- urb is submitted even after open which is possible after connect which is called after start. * Resume vs. start solved by STARTED flag. * Suspend vs. stop -- no problem in killing urb and timer twice. Reported-by: Alan Stern Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit a1967d64414dab500e86cbbddf8eae6ad2047903 Author: Thomas Gleixner Date: Fri Nov 21 11:16:48 2008 -0800 x86: revert irq number limitation Impact: fix MSIx not enough irq numbers available regression The manual revert of the sparse_irq patches missed to bring the number of possible irqs back to the .27 status. This resulted in a regression when two multichannel network cards were placed in a system with only one IO_APIC - causing the networking driver to not have the right IRQ and the device not coming up. Remove the dynamic allocation logic leftovers and simply return NR_IRQS in probe_nr_irqs() for now. Fixes: http://lkml.org/lkml/2008/11/19/354 Reported-by: Jesper Dangaard Brouer Signed-off-by: Thomas Gleixner Tested-by: Jesper Dangaard Brouer Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2ed1cdcf9a83205d1343f29b630abff232eaa72c Author: Randy Dunlap Date: Fri Nov 21 16:59:57 2008 -0800 irq.h: fix missing/extra kernel-doc Impact: fix kernel-doc build Fix missing & excess irq.h kernel-doc: Warning(include/linux/irq.h:182): No description found for parameter 'irq' Warning(include/linux/irq.h:182): Excess struct/union/enum/typedef member 'affinity_entry' description in 'irq_desc' Signed-off-by: Randy Dunlap Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 9f1441644213e5f6faa150206399fe511eba2eb6 Merge: 3ff68a6a106c362a6811d3e51bced58e6fc87de7 13d428afc007fcfcd6deeb215618f54cf9c0cae6 Author: Ingo Molnar Date: Sun Nov 23 10:52:33 2008 +0100 Merge commit 'v2.6.28-rc6' into irq/urgent commit 844c6f6a36984c5fe1bcc2d68a88f2ed212d1eef Author: Robert Jarzmik Date: Mon Nov 17 20:29:04 2008 +0100 [ARM] pxa/MioA701: bluetooth resume fix The G3IPL expects the value at RAM address 0xa020b020 to be exactly 1 to setup the bluetooth GPIOs properly. The actual code got a value from gpio_get_value() which was not 1, but a "not equal to 0" integer. Signed-off-by: Robert Jarzmik Acked-by: Russell King Signed-off-by: Eric Miao commit 999f6338780fa0577b6581941c697c868d1ec2d3 Author: Robert Jarzmik Date: Mon Nov 17 20:29:03 2008 +0100 [ARM] pxa/MioA701: fix memory corruption. In the resume bootstrap, the early disable address is wrong. Fix it to RAM address 0xa020b000 instead of 0xa0200000, and make it consistent with RESUME_ENABLE_ADDR in mioa701.c. Signed-off-by: Robert Jarzmik Acked-by: Russell King Signed-off-by: Eric Miao commit 57550b27ff5a13b00370fbfa34f2471c3456a41d Merge: bfe085f62f98a49e1b864e4950389c7205174e4f 13d428afc007fcfcd6deeb215618f54cf9c0cae6 Author: Ingo Molnar Date: Fri Nov 21 20:55:09 2008 +0100 Merge commit 'v2.6.28-rc6' into x86/urgent commit b0788caf7af773b6c2374590dabd3a205f0918a8 Author: Li Zefan Date: Fri Nov 21 15:57:32 2008 +0800 lockdep: consistent alignement for lockdep info Impact: prettify /proc/lockdep_info Just feel odd that not all lines of lockdep info are aligned. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 522a110b42b306d696cf84e34c677ed0e7080194 Author: Liming Wang Date: Fri Nov 21 11:00:18 2008 +0800 function tracing: fix wrong position computing of stack_trace Impact: make output of stack_trace complete if buffer overruns When read buffer overruns, the output of stack_trace isn't complete. When printing records with seq_printf in t_show, if the read buffer has overruned by the current record, then this record won't be printed to user space through read buffer, it will just be dropped in this printing. When next printing, t_start should return the "*pos"th record, which is the one dropped by previous printing, but it just returns (m->private + *pos)th record. Here we use a more sane method to implement seq_operations which can be found in kernel code. Thus we needn't initialize m->private. About testing, it's not easy to overrun read buffer, but we can use seq_printf to print more padding bytes in t_show, then it's easy to check whether or not records are lost. This commit has been tested on both condition of overrun and non overrun. Signed-off-by: Liming Wang Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c879c634c928223765cf50103ddaf32f2a55fed0 Merge: ef71b1b87521ff93ed77b3e8f3e149afb392761c b0fc5e043401df4cd243352f1030c4d23e767347 a39c4ad1089be34d8dc66e926e93a52c44993a0a Author: Takashi Iwai Date: Fri Nov 21 08:39:36 2008 +0100 Merge branches 'topic/fix/hda' and 'topic/fix/sound-core' into for-linus commit b0fc5e043401df4cd243352f1030c4d23e767347 Author: Takashi Iwai Date: Fri Nov 21 08:37:03 2008 +0100 ALSA: hda - Add a quirk for Dell Studio 15 Added the matching model=dell-m6 for Dell Studio 15 laptop. Signed-off-by: Takashi Iwai commit 3a7abfd2ba26479615b81ac5e90d0122ef7f9fe0 Author: Matthew Ranostay Date: Thu Nov 20 21:21:43 2008 -0500 ALSA: hda: Add STAC_DELL_M4_3 quirk Added STAC_DELL_M4_3 quirk for Dell systems, also reorganized the board config switch to assign number of digital muxes, microphones, and SPDIF muxes via the PCI quirk defined. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit a39c4ad1089be34d8dc66e926e93a52c44993a0a Author: Hannes Eder Date: Thu Nov 20 21:25:25 2008 +0100 sound/sound_core: Fix sparse warnings Fix the following sparse warnings: sound/sound_core.c:460:2: warning: returning void-valued expression sound/sound_core.c:477:2: warning: returning void-valued expression sound/sound_core.c:510:5: warning: symbol 'soundcore_open' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 606572634c3faa5b32a8fc430266e6e9d78d2179 Author: Jeremy Kerr Date: Tue Nov 11 10:22:22 2008 +1100 powerpc/spufs: Fix spinning in spufs_ps_fault on signal Currently, we can end up in an infinite loop if we get a signal while the kernel has faulted in spufs_ps_fault. Eg: alarm(1); write(fd, some_spu_psmap_register_address, 4); - the write's copy_from_user will fault on the ps mapping, and signal_pending will be non-zero. Because returning from the fault handler will never clear TIF_SIGPENDING, so we'll just keep faulting, resulting in an unkillable process using 100% of CPU. This change returns VM_FAULT_SIGBUS if there's a fatal signal pending, letting us escape the loop. Signed-off-by: Jeremy Kerr commit 818a557eeb9c16a9a2dc93df348b0ff68fbc487f Author: Mauro Carvalho Chehab Date: Thu Nov 20 10:30:26 2008 -0300 V4L/DVB (9668): em28xx: fix a race condition with hald Newer versions of hald tries to open it to call QUERYCAP. Due to the lack of a proper locking, it is possible to open the device before it finishes initialization. This patch adds a lock to avoid this risk, and to protect the list of em28xx devices. While here, remove the uneeded BKL lock. Signed-off-by: Mauro Carvalho Chehab commit cce257109f534b4954a5d04aa4ba6905f4682f93 Author: Jose Alberto Reguero Date: Thu Nov 13 14:14:18 2008 -0300 V4L/DVB (9664): af9015: don't reconnect device in USB-bus Don't reconnect device in the USB-bus. Reconnect command was not executed every time by device firmware and that causes harm. Reconnection is not needed so remove it. Signed-off-by: Jose Alberto Reguero Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit f2a2e4910502e866833732f31ee697d15b3e56fd Author: Mauro Carvalho Chehab Date: Wed Nov 19 06:17:44 2008 -0300 V4L/DVB (9647): em28xx: void having two concurrent control URB's Now that we have a polling task for IR, there's a race condition, since IR can be polling while other operations are being doing. Also, we are now sharing the same urb_buf for both read and write control urb operations. So, we need a mutex. Thanks to Davin Heitmueller for warning me. Signed-off-by: Mauro Carvalho Chehab commit c4a98793a63c423c9e1af51822325969e23c16d4 Author: Mauro Carvalho Chehab Date: Tue Nov 18 14:51:08 2008 -0300 V4L/DVB (9646): em28xx: avoid allocating/dealocating memory on every control urb Before this patch, every register setup on em28xx were dynamically allocating a temporary buffer for control URB's to be handled. To avoid this ping-pong, use, instead a pre-allocated buffer. Also, be sure that read control URB's also use the buffer, instead of relying on a stack buffer. Signed-off-by: Mauro Carvalho Chehab commit 625ff1679456d8adb9af0c980394ea3954e727a8 Author: Mauro Carvalho Chehab Date: Tue Nov 18 10:23:19 2008 -0300 V4L/DVB (9645): em28xx: Avoid memory leaks if registration fails em28xx_init_dev() has some error conditions that are not properly de-allocating dev var, nor freeing the device number for a future usage. Signed-off-by: Mauro Carvalho Chehab commit 0253fdcd8aec2f954c2950a7454c0a2f3207e9a1 Author: Matthew Ranostay Date: Sun Nov 16 11:42:34 2008 -0500 ALSA: hda: STAC_DELL_M6 EAPD Add support for EAPD on system suspend and disabling EAPD on headphone jack detection for STAC_DELL_M6 laptops. This patch fixes the regressions, the silent output on HP of some Dell laptops (see Novell bnc#446025): https://bugzilla.novell.com/show_bug.cgi?id=446025 Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit bfe085f62f98a49e1b864e4950389c7205174e4f Author: Rakib Mullick Date: Thu Nov 20 19:12:50 2008 +0600 x86: fixing __cpuinit/__init tangle, xsave_cntxt_init() Annotate xsave_cntxt_init() as "can be called outside of __init". Signed-off-by: Rakib Mullick Signed-off-by: Ingo Molnar commit 9bc646f163b136684390081262fab0fd8f5343ca Author: Rakib Mullick Date: Thu Nov 20 19:08:45 2008 +0600 x86: fix __cpuinit/__init tangle in init_thread_xstate() Impact: fix incorrect __init annotation This patch removes the following section mismatch warning. A patch set was send previously (http://lkml.org/lkml/2008/11/10/407). But introduce some other problem, reported by Rufus (http://lkml.org/lkml/2008/11/11/46). Then Ingo Molnar suggest that, it's best to remove __init from xsave_cntxt_init(void). Which is the second patch in this series. Now, this one removes the following warning. WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x2237): Section mismatch in reference from the function cpu_init() to the function .init.text:init_thread_xstate() The function __cpuinit cpu_init() references a function __init init_thread_xstate(). If init_thread_xstate is only used by cpu_init then annotate init_thread_xstate with a matching annotation. Signed-off-by: Rakib Mullick Signed-off-by: Ingo Molnar commit 578f3a35fecabff49bad808c5301313f785b5462 Author: Jiri Kosina Date: Thu Nov 20 15:55:38 2008 +0100 HID: add USB ID for another dual gameron adapter 0x0810/0x0002 needs the very same handling as 0x0001. Reported-by: Steve Conklin Signed-off-by: Jiri Kosina commit 06d2148ed3b3fa997fa5a848f6405709c464b3ba Author: Jiri Kosina Date: Thu Nov 20 11:22:17 2008 +0100 HID: unignore mouse on unibody macbooks In commit a96d6ef34, the mouse interfaces on the unibody macbooks were put into hid mouse ignore list. This was a little bit too premature though, as the corresponding bcm5974 changes are scheduled for 2.6.29. Remove these devices from the ignore list for now, in order to provide at least basic functionality with the HID driver. Will be reintroduced in 2.6.29 Reported-by: Henrik Rydberg Signed-off-by: Jiri Kosina commit 5f4ba04ffd8fc9f6b15b92270ef0517ae52dcf3a Author: Dmitry Torokhov Date: Fri Nov 14 13:32:42 2008 -0500 Input: i8042 - add Compal Hel80 laptop to nomux blacklist Reported-by: Jaime Cura Signed-off-by: Dmitry Torokhov commit e871809cccc11aaa072afaf746f8fd946d2d9cac Author: Michael Barkowski Date: Thu Nov 13 10:18:28 2008 -0500 powerpc/mpc832x_rdb: fix swapped ethernet ids ethernet0 (called FSL UEC0 in U-Boot) should be enet1 (UCC3/eth1), and ethernet1 should be enet0 (UCC2/eth0), to be consistent with U-Boot so that the interfaces do not swap addresses when control passes from U-Boot to the kernel. Signed-off-by: Michael Barkowski Acked-by: Kim Phillips Signed-off-by: Kumar Gala commit 06597aa90a75621639dcaaf5fc07bcb01f752d45 Author: Martyn Welch Date: Tue Nov 18 10:55:45 2008 +0000 powerpc: Use generic PHY driver for Marvell 88E1111 PHY on GE Fanuc SBC610 The Marvell PHY driver is currently being used for the 88E1111 on the SBC610. This driver is causing the link to run in 10/Half mode, the generic PHY driver is correctly configuring the PHY as 1000/Full. Edit default config to use generic PHY driver. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit f464ff581c247d82fcc0e7ef40c1ca6df9739068 Author: Trent Piepho Date: Wed Nov 19 10:40:55 2008 -0800 powerpc/85xx: L2 cache size wrong in 8572DS dts It's 1MB, not 512KB. Newer U-Boots will fix this entry, but that's no reason to have the wrong value in the dts. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit a4a16beadea041ab601e65b264b568e8b6b4f68d Author: Eric Dumazet Date: Mon Nov 10 09:05:37 2008 +0100 oprofile: fix an overflow in ppro code reset_value was changed from long to u64 in commit b99170288421c79f0c2efa8b33e26e65f4bb7fb8 (oprofile: Implement Intel architectural perfmon support) But dynamic allocation of this array use a wrong type (long instead of u64) Cc: Andi Kleen Signed-off-by: Eric Dumazet Signed-off-by: Robert Richter commit 99afb989b05b9fb1c7b3831ce4b7a000b214acdb Author: Devin Heitmueller Date: Sat Nov 15 07:13:07 2008 -0300 V4L/DVB (9639): Make dib0700 remote control support work with firmware v1.20 The format for reading the IR controller changed in firmware 1.20. It now provides the events on bulk endpoint 1 instead of using a control request. Support the new format, providing backward compatibility for users who might be using older firmware. Thanks to Patrick Boettcher for providing the required information on how the version 1.20 firmware works. Signed-off-by: Devin Heitmueller Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit deaf53e3c8e717169669ee6c2594b5c33d1af93b Author: Harvey Harrison Date: Sat Nov 15 01:10:14 2008 -0300 V4L/DVB (9635): v4l: s2255drv fix firmware test on big-endian Noticed by sparse: drivers/media/video/s2255drv.c:2531:6: warning: restricted __le32 degrades to integer Cc: Dean Anderson Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 41286d972530b7a47acb48376d714b6b121a6c22 Author: Devin Heitmueller Date: Sun Nov 16 00:44:52 2008 -0300 V4L/DVB (9634): Make sure the i2c gate is open before powering down tuner It is not safe to assume that the i2c gate will be open before issuing the command to power down the tuner. In fact, many demods only open the gate long enough to issue the tuning command. This fix allows power management to work properly for those tuners behind an i2c gate (in my case the problem was with the HVR-950Q) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3f9b46c154da5ec4facca88f82d1820eb329fd3e Author: Devin Heitmueller Date: Sat Nov 15 17:16:11 2008 -0300 V4L/DVB (9632): make em28xx aux audio input work The attached patch makes the em28xx auxillary audio input work. Tested with the HVR-950. em28xx: make auxillary audio input work The tuner audio input was working but the aux input wasn't. Tested with the HVR-950. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3fa37deb1a287e100c7db5b4f964784fd664bee9 Author: Devin Heitmueller Date: Sun Nov 16 00:33:32 2008 -0300 V4L/DVB (9631): Make s2api work for ATSC support ATSC should be considered a legacy delivery system, or else fields such as p->u.vsb.modulation do not get populated (resulting in set_frontend failures) Cc: Steven Toth Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit c41109fc9a13c6af0e4069dd92fdb4c5c8046649 Author: Mauro Carvalho Chehab Date: Sat Nov 15 23:44:14 2008 -0300 V4L/DVB (9627): em28xx: Avoid i2c register error for boards without eeprom Signed-off-by: Mauro Carvalho Chehab commit df4533af7f45e87a4be470502fa3cea2f6c96da9 Author: Igor M. Liplianin Date: Tue Nov 11 18:09:28 2008 -0300 V4L/DVB (9608): Fix section mismatch warning for dm1105 during make -- Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 4faf1004c32819035c5325879a466f27e189feb5 Author: Douglas Schilling Landgraf Date: Tue Nov 11 23:56:56 2008 -0300 V4L/DVB (9605): usb-urb: fix memory leak Free allocated memory Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7935eeae793ff24e2d6053a9df63be71323ad634 Author: Douglas Schilling Landgraf Date: Tue Nov 11 23:47:57 2008 -0300 V4L/DVB (9604): ttusb_dec: fix memory leak Free allocated memory Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit b7ed785b5f6a8dbdbd0cf8688a51c42e35205a4e Author: Douglas Schilling Landgraf Date: Tue Nov 11 23:37:39 2008 -0300 V4L/DVB (9603): dvb-ttusb-budget: Add validation for ttusb_alloc_iso_urbs Added validation for ttusb_alloc_iso_urbs Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 11eb260a70b992b83fa2d15bb777cda3ee326c05 Author: Douglas Schilling Landgraf Date: Tue Nov 11 23:30:49 2008 -0300 V4L/DVB (9602): dvb-ttusb-budget: Add NULL pointer validation Added validation for NULL pointer Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d7c31a1e754b5140eefeeb10c3c3be17f3702452 Author: Douglas Schilling Landgraf Date: Tue Nov 11 23:27:59 2008 -0300 V4L/DVB (9601): ttusb_dec: Add NULL pointer validation Added validation for NULL pointer Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5181e594512faeac7d7fd9620ce91105f45bf643 Author: Jiri Kosina Date: Mon Nov 17 01:44:38 2008 +0100 HID: fix blacklist entries for greenasia/pantherlord Fix misplaced quirk entries for devices driven by hid-pl driver. The devices shouls be only blacklisted by generic HID driver, not completely ignored. Signed-off-by: Jiri Kosina commit c8d698849e135780738c2cb08f07f06eda982a8c Author: Grant Likely Date: Fri Nov 14 11:10:55 2008 -0700 powerpc/virtex: Update defconfigs Update defconfigs for running on Xilinx Virtex platforms Signed-off-by: Grant Likely commit c7c2ffb4fb92ad79e842226aa547adb5bd045b86 Author: Grant Likely Date: Fri Nov 14 10:22:02 2008 -0700 powerpc/52xx: update defconfigs Signed-off-by: Grant Likely commit c14464bf796d5ead1e735225ead78c566d3344ae Author: Yuri Tikhonov Date: Fri Nov 14 10:21:57 2008 -0700 xsysace: Fix driver to use resource_size_t instead of unsigned long This patch is a bug fix to the SystemACE driver to use resource_size_t for physical address instead of unsigned long. This makes the driver work correctly on 32 bit systems with 64-bit resources (e.g. PowerPC 440). Signed-off-by: Yuri Tikhonov Signed-off-by: Ilya Yanok Signed-off-by: Grant Likely commit a108096878aa6cb744b5280ca59395b6c0152d14 Author: Grant Likely Date: Fri Nov 14 09:59:48 2008 -0700 powerpc/virtex: fix various format/casting printk mismatches Various printk format string in code used by the Xilinx Virtex platform are not 32-bit/64-bit safe. Add correct casting to fix the bugs. Reported-by: Josh Boyer Signed-off-by: Grant Likely Acked-by: Josh Boyer commit 847cdf42d589882aca683b6fb65b2c7832e92231 Author: Grant Likely Date: Fri Nov 14 05:19:00 2008 -0700 powerpc/mpc5200: fix bestcomm Kconfig dependencies Without this patch it is possible to select drivers which require bestcomm support without bestcomm support being selected. This patch reworks the bestcomm dependencies to ensure the correct bestcomm tasks are always enabled. Reported-by: Hans Lehmann Signed-off-by: Grant Likely commit 6612d9b0b8208c2ade3a16b8302a271ec81d45f6 Author: Benjamin Herrenschmidt Date: Tue Nov 11 16:02:43 2008 +0000 powerpc/44x: Fix 460EX/460GT machine check handling Those cores use the 440A type machine check (ie, they have MCSRR0/MCSRR1). They thus need to call the appropriate fixup function to hook the right variant of the exception. Without this, all machine checks become fatal due to loss of context when entering the exception handler. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 5907630ffc2b2d133de2db18963ee5a6c5af7878 Author: Grant Erickson Date: Wed Oct 29 11:41:14 2008 +0000 powerpc/40x: Limit allocable DRAM during early mapping If the size of DRAM is not an exact power of two, we may not have covered DRAM in its entirety with large 16 and 4 MiB pages. If that is the case, we can get non-recoverable page faults when doing the final PTE mappings for the non-large page PTEs. Consequently, we restrict the top end of DRAM currently allocable by updating '__initial_memory_limit_addr' so that calls to the LMB to allocate PTEs for "tail" coverage with normal-sized pages (or other reasons) do not attempt to allocate outside the allowed range. Signed-off-by: Grant Erickson Signed-off-by: Josh Boyer commit 3ff68a6a106c362a6811d3e51bced58e6fc87de7 Author: Mark Nelson Date: Thu Nov 13 21:37:41 2008 +1100 genirq: __irq_set_trigger: change pr_warning to pr_debug Commit 0c5d1eb77a8be917b638344a22afe1398236482b (genirq: record trigger type) caused powerpc platforms that had no set_type() function in their struct irq_chip to spew out warnings about "No set_type function for IRQ...". This warning isn't necessarily justified though because the generic powerpc platform code calls set_irq_type() (which in turn calls __irq_set_trigger) with information from the device tree to establish the interrupt mappings, regardless of whether the PIC can actually set a type. A platform's irq_chip might not have a set_type function for a variety of reasons, for example: the platform may have the type essentially hard-coded, or as in the case for Cell interrupts are just messages past around that have no real concept of type, or the platform could even have a virtual PIC as on the PS3. Signed-off-by: Mark Nelson Signed-off-by: Ingo Molnar commit 734f0bae9504216bd760493ed4744a34cfe0e7ce Author: Daniel Gimpelevich Date: Tue Nov 11 13:57:30 2008 -0500 Input: cm109 - add keymap for ATCom AU-100 phone Signed-off-by: Daniel Gimpelevich Signed-off-by: Dmitry Torokhov commit 4f485447973284f73e4e7cac3ab1d1e5fcd8aece Author: Dmitri Vorobiev Date: Tue Nov 11 11:40:23 2008 -0500 Input: fix the example of an input device driver This patch fixes a wrong interrupt handler example given in the "Hello, world!"-like input driver in Documentation/input/input-programming.txt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Randy Dunlap Signed-off-by: Dmitry Torokhov commit 5fb17fd9a2d05be77be91369aa2f7b0db42fc8b4 Author: Andres Salomon Date: Tue Nov 11 09:52:21 2008 -0500 Input: psmouse - fix incorrect validate_byte check in OLPC protocol The validate_byte check logic was backwards; it should return true for an *invalid* packet. Thanks to Jeremy Katz for spotting this one. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit d6d79a785d430c0e17f7e2d662f10de022cbca93 Author: Jiri Pirko Date: Tue Nov 11 09:43:21 2008 -0500 Input: atkbd - cancel delayed work before freeing its structure Pointed out by Oleg Nesterov. Since delayed work is used here, use of flush_scheduled_work() is not sufficient in atkbd_disconnect(). It does not wait for scheduled delayed work to finish. This patch prevents delayed work to be processed after freeing atkbd structure (used struct delayed_work is part of atkbd) by cancelling this delayed work. Signed-off-by: Jiri Pirko Signed-off-by: Dmitry Torokhov commit a8215b81cc31cf267506bc6a4a4bfe93f4ca1652 Author: Matthew Garrett Date: Tue Nov 11 09:40:42 2008 -0500 Input: atkbd - add keymap quirk for Inventec Symphony systems The Zepto 6615WD laptop (rebranded Inventec Symphony system) needs a key release quirk for its volume keys to work. The attached patch adds the quirk to the atkbd driver. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=460237 Signed-off-by: Matthew Garrett Signed-off-by: Adel Gadllah Signed-off-by: Dmitry Torokhov commit 786b11cc0f505e44c29f778fd329dafafafed76c Author: Herton Ronaldo Krzesinski Date: Tue Nov 11 09:37:14 2008 -0500 Input: i8042 - add Dell XPS M1530 to nomux list Dell XPS M1530 needs i8042.nomux=1 for ALPS touchpad to work as reported on https://qa.mandriva.com/show_bug.cgi?id=43532 It is said that before A08 bios version this isn't needed (I don't have the hardware so can't check), and suppose this will not break with bios versions before A08. Signed-off-by: Herton Ronaldo Krzesinski Tested-by: Andreas Ericsson Signed-off-by: Dmitry Torokhov commit f131e2436ddbac2527bb2d6297a823aae4b024f8 Author: Ingo Molnar Date: Sat Nov 8 09:57:40 2008 +0100 irq: fix typo Impact: build fix fix build failure on UP. Signed-off-by: Ingo Molnar commit 6c2e94033df5ca11149e52dd179b8dde3172e9bf Author: Thomas Gleixner Date: Fri Nov 7 12:33:49 2008 +0100 x86: apic honour irq affinity which was set in early boot setup_ioapic_dest() is called after the non boot cpus have been brought up. It sets the irq affinity of all already configured interrupts to all cpus and ignores affinity settings which were done by the early bootup code. If the IRQ_NO_BALANCING or IRQ_AFFINITY_SET flags are set then use the affinity mask from the irq descriptor and not TARGET_CPUS. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 612e3684c1b7752d2890510e4f90115fd1eb2afb Author: Thomas Gleixner Date: Fri Nov 7 13:58:46 2008 +0100 genirq: fix the affinity setting in setup_irq The affinity setting in setup irq is called before the NO_BALANCING flag is checked and might therefore override affinity settings from the calling code with the default setting. Move the NO_BALANCING flag check before the call to the affinity setting. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f6d87f4bd259cf33e092cd1a8fde05f291c47af1 Author: Thomas Gleixner Date: Fri Nov 7 13:18:30 2008 +0100 genirq: keep affinities set from userspace across free/request_irq() Impact: preserve user-modified affinities on interrupts Kumar Galak noticed that commit 18404756765c713a0be4eb1082920c04822ce588 (genirq: Expose default irq affinity mask (take 3)) overrides an already set affinity setting across a free / request_irq(). Happens e.g. with ifdown/ifup of a network device. Change the logic to mark the affinities as set and keep them intact. This also fixes the unlocked access to irq_desc in irq_select_affinity() when called from irq_affinity_proc_write() Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2ad49887150894b9ed6a87a76b409adceee6b074 Author: Vitaliy Gusev Date: Wed Nov 5 18:27:18 2008 +0300 UBI: Don't exit from ubi_thread until kthread_should_stop() is true If ubi_thread() exits but kthread_should_stop() is not true then kthread_stop() will never return and cleanup thread will forever stay in "D" state. Signed-off-by: Vitaliy Gusev Signed-off-by: Artem Bityutskiy commit b77bcb07897f1a9cd9d1d78691896dcdb0fd1a22 Author: Zoltan Sogor Date: Wed Oct 29 09:50:02 2008 +0100 UBI: fix EBADMSG handling 'ubi_io_read_data()' may return EBADMSG in case of an ECC error, and we should not panic because of this. We have CRC32 checksum and may check the data. So just ignore the EBADMSG error. This patch also fixes a minor spelling error at the same time. Signed-off-by: Zoltan Sogor Signed-off-by: Artem Bityutskiy commit 9a5415fbe87ad7b99ecf9b7ef6bf091c7479f2a4 Author: Vojtech Pavlik Date: Thu Oct 30 09:11:40 2008 -0400 Input: elo - fix format string in elo driver Fix typo in format string. Signed-off-by: Vojtech Pavlik Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov ----------------------------------------------------------------------- Summary of changes: Documentation/DMA-API.txt | 8 +- Documentation/cpu-freq/user-guide.txt | 12 + Documentation/filesystems/ocfs2.txt | 3 - Documentation/filesystems/proc.txt | 27 + .../filesystems/ramfs-rootfs-initramfs.txt | 12 +- Documentation/input/input-programming.txt | 3 +- Documentation/sound/alsa/ALSA-Configuration.txt | 5 +- Documentation/spi/spi-summary | 2 +- Documentation/tracers/mmiotrace.txt | 6 +- Makefile | 4 +- arch/Kconfig | 2 - arch/alpha/kernel/pci.c | 2 +- arch/alpha/kernel/smp.c | 6 +- arch/alpha/kernel/traps.c | 4 +- arch/arm/configs/corgi_defconfig | 2 +- arch/arm/mach-pxa/mioa701.c | 2 +- arch/arm/mach-pxa/mioa701_bootresume.S | 1 + arch/arm/mach-pxa/palmtx.c | 150 ++++-- arch/arm/mach-pxa/pcm990-baseboard.c | 1 + arch/arm/mach-s3c2410/include/mach/spi-gpio.h | 1 + arch/arm/plat-omap/gpio.c | 5 +- arch/arm/plat-omap/include/mach/pm.h | 2 +- arch/frv/kernel/sys_frv.c | 17 +- arch/ia64/include/asm/ptrace.h | 2 - arch/ia64/sn/kernel/io_init.c | 2 +- arch/m32r/kernel/head.S | 4 +- arch/m32r/kernel/vmlinux.lds.S | 1 + arch/mips/include/asm/bug.h | 29 +- arch/mips/include/asm/ptrace.h | 4 - arch/mn10300/kernel/gdb-stub.c | 24 +- arch/parisc/include/asm/parisc-device.h | 4 +- arch/parisc/include/asm/posix_types.h | 3 +- arch/parisc/include/asm/ptrace.h | 2 - arch/parisc/kernel/drivers.c | 6 +- arch/parisc/kernel/traps.c | 43 +- arch/powerpc/boot/dts/mpc832x_rdb.dts | 4 +- arch/powerpc/boot/dts/mpc8572ds.dts | 2 +- .../virtex5_defconfig => 40x/virtex_defconfig} | 263 +++++---- arch/powerpc/configs/44x/virtex5_defconfig | 234 +++++---- arch/powerpc/configs/52xx/cm5200_defconfig | 169 +++++-- arch/powerpc/configs/52xx/lite5200b_defconfig | 206 ++++++-- arch/powerpc/configs/52xx/motionpro_defconfig | 168 +++++-- arch/powerpc/configs/52xx/pcm030_defconfig | 182 +++++-- arch/powerpc/configs/52xx/tqm5200_defconfig | 180 +++++-- arch/powerpc/configs/86xx/gef_sbc610_defconfig | 2 +- arch/powerpc/configs/mpc5200_defconfig | 573 +++++++++++++++----- arch/powerpc/configs/ppc40x_defconfig | 92 +++- arch/powerpc/configs/ppc44x_defconfig | 92 +++- arch/powerpc/include/asm/mmu-hash64.h | 1 - arch/powerpc/include/asm/ptrace.h | 2 - arch/powerpc/kernel/cpu_setup_44x.S | 7 +- arch/powerpc/kernel/entry_64.S | 8 +- arch/powerpc/kernel/prom_parse.c | 7 +- arch/powerpc/kernel/sysfs.c | 2 + arch/powerpc/mm/40x_mmu.c | 16 +- arch/powerpc/mm/hugetlbpage.c | 2 +- arch/powerpc/mm/numa.c | 122 +++-- arch/powerpc/platforms/cell/axon_msi.c | 36 +- arch/powerpc/platforms/cell/smp.c | 9 +- arch/powerpc/platforms/cell/spufs/file.c | 3 + arch/powerpc/sysdev/bestcomm/Kconfig | 9 +- arch/powerpc/sysdev/mpic.c | 9 +- arch/powerpc/sysdev/xilinx_intc.c | 4 +- arch/s390/defconfig | 74 ++- arch/s390/include/asm/pgtable.h | 2 - arch/s390/include/asm/ptrace.h | 4 +- arch/s390/include/asm/syscall.h | 28 +- arch/s390/kernel/asm-offsets.c | 2 +- arch/s390/kernel/compat_signal.c | 2 +- arch/s390/kernel/entry.S | 21 +- arch/s390/kernel/entry64.S | 23 +- arch/s390/kernel/init_task.c | 2 +- arch/s390/kernel/ptrace.c | 2 +- arch/s390/kernel/signal.c | 6 +- arch/s390/kernel/time.c | 13 +- arch/s390/kernel/vmlinux.lds.S | 3 +- arch/sparc/include/asm/ptrace_64.h | 2 - arch/sparc/kernel/cpu.c | 2 +- arch/sparc/kernel/head.S | 2 +- arch/sparc/kernel/smp.c | 4 +- arch/sparc/kernel/sun4d_smp.c | 4 +- arch/sparc/kernel/sun4m_smp.c | 2 +- arch/sparc/kernel/trampoline.S | 4 +- arch/sparc/kernel/vmlinux.lds.S | 1 + arch/sparc/mm/srmmu.c | 14 +- arch/sparc64/kernel/smp.c | 4 +- arch/sparc64/mm/init.c | 2 +- arch/x86/boot/tty.c | 2 +- arch/x86/include/asm/ds.h | 6 +- arch/x86/include/asm/pci_64.h | 14 - arch/x86/include/asm/ptrace.h | 2 - arch/x86/kernel/Makefile | 2 +- arch/x86/kernel/apic.c | 2 +- arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 18 +- arch/x86/kernel/cpu/cpufreq/powernow-k8.h | 17 +- arch/x86/kernel/ds.c | 88 ++-- arch/x86/kernel/i387.c | 2 +- arch/x86/kernel/io_apic.c | 48 +- arch/x86/kernel/kvmclock.c | 2 +- arch/x86/kernel/pci-calgary_64.c | 2 +- arch/x86/kernel/xsave.c | 2 +- arch/x86/oprofile/op_model_ppro.c | 2 +- arch/x86/pci/fixup.c | 25 +- arch/x86/xen/mmu.c | 21 +- arch/x86/xen/smp.c | 2 +- arch/x86/xen/xen-ops.h | 2 +- drivers/acpi/battery.c | 9 + drivers/acpi/blacklist.c | 401 +-------------- drivers/acpi/ec.c | 3 +- drivers/acpi/osl.c | 104 +--- drivers/acpi/scan.c | 10 - drivers/acpi/sleep/main.c | 40 ++- drivers/acpi/toshiba_acpi.c | 2 - drivers/acpi/utils.c | 16 +- drivers/ata/ata_piix.c | 15 + drivers/ata/libata-core.c | 21 + drivers/ata/pata_rb532_cf.c | 15 +- drivers/block/xsysace.c | 23 +- drivers/char/agp/uninorth-agp.c | 2 +- drivers/char/istallion.c | 4 +- drivers/char/tty_io.c | 15 +- drivers/char/xilinx_hwicap/xilinx_hwicap.c | 9 +- drivers/crypto/talitos.c | 4 +- drivers/edac/i82875p_edac.c | 14 +- drivers/firewire/fw-sbp2.c | 5 + drivers/gpu/drm/drm_drv.c | 2 + drivers/gpu/drm/drm_irq.c | 4 +- drivers/gpu/drm/i915/i915_dma.c | 7 + drivers/gpu/drm/i915/i915_drv.h | 11 + drivers/gpu/drm/i915/i915_gem.c | 74 ++-- drivers/gpu/drm/i915/i915_irq.c | 293 ++++++----- drivers/gpu/drm/i915/i915_opregion.c | 18 +- drivers/gpu/drm/i915/i915_suspend.c | 6 + drivers/gpu/drm/mga/mga_dma.c | 8 + drivers/gpu/drm/mga/mga_irq.c | 5 - drivers/gpu/drm/r128/r128_drv.c | 6 + drivers/gpu/drm/r128/r128_drv.h | 1 + drivers/gpu/drm/r128/r128_irq.c | 2 +- drivers/gpu/drm/radeon/radeon_cp.c | 6 + drivers/gpu/drm/radeon/radeon_irq.c | 5 - drivers/gpu/drm/via/via_irq.c | 1 - drivers/gpu/drm/via/via_map.c | 11 +- drivers/hid/hid-apple.c | 6 +- drivers/hid/hid-core.c | 14 +- drivers/hid/hid-ids.h | 1 + drivers/hid/hid-pl.c | 2 + drivers/hid/usbhid/hid-core.c | 18 +- drivers/hid/usbhid/usbhid.h | 1 - drivers/hwmon/applesmc.c | 1 + drivers/i2c/busses/i2c-parport.c | 4 +- drivers/i2c/chips/isp1301_omap.c | 65 ++- drivers/i2c/i2c-core.c | 2 +- drivers/ide/icside.c | 4 +- drivers/ieee1394/highlevel.c | 25 +- drivers/ieee1394/hosts.h | 4 + drivers/ieee1394/sbp2.c | 14 +- drivers/infiniband/hw/ehca/ehca_classes.h | 4 +- drivers/infiniband/hw/ehca/ehca_main.c | 3 +- drivers/infiniband/hw/ehca/ehca_qp.c | 26 +- drivers/infiniband/hw/ehca/ehca_reqs.c | 51 +- drivers/infiniband/hw/mlx4/cq.c | 5 + drivers/input/ff-memless.c | 5 +- drivers/input/keyboard/atkbd.c | 27 +- drivers/input/misc/cm109.c | 37 ++- drivers/input/mouse/hgpk.c | 2 +- drivers/input/serio/i8042-x86ia64io.h | 14 + drivers/input/tablet/wacom.h | 13 +- drivers/input/tablet/wacom_sys.c | 228 +++++++- drivers/input/tablet/wacom_wac.c | 160 +++++- drivers/input/tablet/wacom_wac.h | 4 + drivers/input/touchscreen/elo.c | 2 +- drivers/input/xen-kbdfront.c | 6 +- drivers/isdn/hisax/config.c | 16 +- drivers/macintosh/rack-meter.c | 10 +- drivers/media/dvb/dm1105/dm1105.c | 2 +- drivers/media/dvb/dvb-core/dvb_frontend.c | 5 +- drivers/media/dvb/dvb-usb/af9015.c | 8 +- drivers/media/dvb/dvb-usb/dib0700.h | 5 +- drivers/media/dvb/dvb-usb/dib0700_core.c | 16 + drivers/media/dvb/dvb-usb/dib0700_devices.c | 139 +++++- drivers/media/dvb/dvb-usb/usb-urb.c | 19 +- drivers/media/dvb/siano/sms-cards.c | 2 +- drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c | 15 +- drivers/media/dvb/ttusb-dec/ttusb_dec.c | 7 + drivers/media/video/em28xx/em28xx-audio.c | 33 +- drivers/media/video/em28xx/em28xx-core.c | 58 ++- drivers/media/video/em28xx/em28xx-i2c.c | 10 +- drivers/media/video/em28xx/em28xx-video.c | 140 +++-- drivers/media/video/em28xx/em28xx.h | 6 + drivers/media/video/gspca/conex.c | 3 + drivers/media/video/gspca/finepix.c | 8 + drivers/media/video/gspca/gspca.c | 56 +- drivers/media/video/gspca/gspca.h | 6 +- drivers/media/video/gspca/pac7311.c | 3 + drivers/media/video/gspca/spca501.c | 3 + drivers/media/video/gspca/spca505.c | 4 + drivers/media/video/gspca/spca561.c | 3 + drivers/media/video/gspca/vc032x.c | 3 + drivers/media/video/gspca/zc3xx.c | 3 + drivers/media/video/s2255drv.c | 2 +- drivers/misc/sony-laptop.c | 4 +- drivers/misc/thinkpad_acpi.c | 57 ++- drivers/mtd/ubi/eba.c | 2 +- drivers/mtd/ubi/scan.c | 2 +- drivers/mtd/ubi/wl.c | 3 +- drivers/net/Kconfig | 3 +- drivers/net/ixgbe/ixgbe_main.c | 9 +- drivers/net/mlx4/main.c | 8 + drivers/net/mlx4/mlx4.h | 1 + drivers/net/mlx4/port.c | 39 ++- drivers/net/pcmcia/ibmtr_cs.c | 2 +- drivers/net/smc911x.c | 10 +- drivers/net/smc91x.c | 10 +- drivers/net/xen-netfront.c | 6 +- drivers/parport/parport_serial.c | 2 + drivers/pci/pci.c | 2 +- drivers/rapidio/rio-scan.c | 4 +- drivers/rapidio/rio.c | 2 +- drivers/scsi/advansys.c | 4 + drivers/scsi/gdth.c | 12 +- drivers/serial/uartlite.c | 4 +- drivers/spi/au1550_spi.c | 26 +- drivers/spi/mpc52xx_psc_spi.c | 5 +- drivers/spi/spi_imx.c | 25 +- drivers/spi/spi_s3c24xx_gpio.c | 3 +- drivers/spi/spidev.c | 4 +- drivers/usb/gadget/fsl_qe_udc.c | 3 + drivers/usb/gadget/fsl_usb2_udc.c | 3 + drivers/usb/gadget/pxa25x_udc.c | 14 +- drivers/usb/host/ehci-pci.c | 9 +- drivers/usb/host/ehci.h | 12 +- drivers/usb/serial/console.c | 1 + drivers/usb/serial/option.c | 35 ++ drivers/usb/storage/unusual_devs.h | 19 + drivers/video/aty/radeon_accel.c | 21 +- drivers/video/aty/radeon_base.c | 18 + drivers/video/console/fbcon.c | 9 +- drivers/video/omap/Makefile | 1 - drivers/video/omap/lcd_sx1.c | 327 ----------- drivers/video/xen-fbfront.c | 6 +- drivers/video/xilinxfb.c | 5 +- drivers/w1/masters/Kconfig | 2 +- fs/buffer.c | 1 + fs/cifs/file.c | 77 ++- fs/eventpoll.c | 85 +++- fs/ntfs/debug.h | 8 +- fs/ocfs2/buffer_head_io.c | 15 +- fs/ocfs2/dlm/dlmfs.c | 4 +- fs/ocfs2/dlm/userdlm.h | 2 +- fs/ocfs2/dlmglue.c | 3 +- fs/ocfs2/ocfs2.h | 2 +- fs/ocfs2/stack_user.c | 3 + fs/udf/inode.c | 1 + include/acpi/acpredef.h | 4 +- include/drm/drmP.h | 1 + include/linux/compat.h | 2 - include/linux/highmem.h | 2 + include/linux/idr.h | 3 +- include/linux/irq.h | 11 +- include/linux/libata.h | 1 + include/linux/memory.h | 2 +- include/linux/mlx4/device.h | 1 + include/linux/page_cgroup.h | 4 +- include/linux/sched.h | 4 + kernel/cpu.c | 2 +- kernel/cpuset.c | 2 +- kernel/irq/internals.h | 2 + kernel/irq/manage.c | 68 ++- kernel/irq/migration.c | 11 - kernel/irq/proc.c | 2 +- kernel/lockdep.c | 4 +- kernel/panic.c | 1 + kernel/profile.c | 4 +- kernel/ptrace.c | 4 +- kernel/sched.c | 5 +- kernel/sysctl.c | 10 + kernel/trace/ring_buffer.c | 2 +- kernel/trace/trace_mmiotrace.c | 16 +- kernel/trace/trace_stack.c | 24 +- lib/idr.c | 14 +- mm/memory_hotplug.c | 9 +- mm/page_cgroup.c | 56 ++- mm/slub.c | 6 +- mm/sparse.c | 2 +- mm/vmalloc.c | 20 +- mm/vmscan.c | 2 +- scripts/kernel-doc | 10 +- sound/pci/hda/hda_codec.c | 4 +- sound/pci/hda/patch_sigmatel.c | 170 ++++-- sound/soc/fsl/Kconfig | 3 +- sound/sound_core.c | 6 +- 291 files changed, 4466 insertions(+), 2755 deletions(-) copy arch/powerpc/configs/{44x/virtex5_defconfig => 40x/virtex_defconfig} (86%) delete mode 100644 drivers/video/omap/lcd_sx1.c hooks/post-receive -- XFS development tree From xfs-bounces@oss.sgi.com Mon Dec 1 23:58:53 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB25wrhe021673 for ; Mon, 1 Dec 2008 23:58:53 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Subject: Your message to xfs awaits moderator approval From: xfs-bounces@oss.sgi.com To: xfs@oss.sgi.com Message-ID: Date: Mon, 01 Dec 2008 23:58:51 -0600 Precedence: bulk X-BeenThere: xfs@oss.sgi.com X-Mailman-Version: 2.1.9 List-Id: XFS Filesystem from SGI X-List-Administrivia: yes Sender: xfs-bounces@oss.sgi.com Errors-To: xfs-bounces@oss.sgi.com Your mail to 'xfs' with the subject [XFS updates] XFS development tree branch, mainline, updated. v2.6.28-rc3-1204-g061e41f Is being held until the list moderator can review it for approval. The reason it is being held: Message body is too big: 224117 bytes with a limit of 150 KB Either the message will get posted to the list, or you will receive notification of the moderator's decision. If you would like to cancel this posting, please visit the following URL: http://oss.sgi.com/mailman/confirm/xfs/9abcfcf4be4750f221a0062b89c20aefd1511cb0 From xaiki@oss.sgi.com Tue Dec 2 00:33:30 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB26XUWI026671 for ; Tue, 2 Dec 2008 00:33:30 -0600 Received: (from xaiki@localhost) by oss.sgi.com (8.12.11.20060308/8.12.11/Submit) id mB26XLXp026578; Tue, 2 Dec 2008 00:33:21 -0600 Date: Tue, 2 Dec 2008 00:33:21 -0600 Message-Id: <200812020633.mB26XLXp026578@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.28-rc3-1082-ge5d412f X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 0e446673a15a4e9c336b67c1a638eb12c21d0993 X-Git-Newrev: e5d412f17846b0aea9e5250926f994ab2e4e1006 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated e5d412f [XFS] Reorder xfs_ioctl32.c for some tidiness 710d62a [XFS] Hook up compat XFS_IOC_FSSETDM_BY_HANDLE ioctl handler 2875097 [XFS] Hook up compat XFS_IOC_ATTRMULTI_BY_HANDLE ioctl handler ebeecd2 [XFS] Hook up compat XFS_IOC_ATTRLIST_BY_HANDLE ioctl handler af819d2 [XFS] Fix compat XFS_IOC_FSBULKSTAT_SINGLE ioctl 65fbaf2 [XFS] Fix xfs_bulkstat_one size checks & error handling 2ee4fa5 [XFS] Make the bulkstat_one compat ioctl handling more sane 471d591 [XFS] Add compat handlers for data & rt growfs ioctls e94fc4a [XFS] Add compat handlers for swapext ioctl d5547f9 [XFS] Clean up some existing compat ioctl calls ffae263 [XFS] Move compat ioctl structs & numbers into xfs_ioctl32.h 743bb46 [XFS] Move copy_from_user calls out of ioctl helpers into ioctl switch. from 0e446673a15a4e9c336b67c1a638eb12c21d0993 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e5d412f17846b0aea9e5250926f994ab2e4e1006 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:17 2008 -0600 [XFS] Reorder xfs_ioctl32.c for some tidiness Put things in IMHO a more readable order, now that it's all done; add some comments. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 710d62aaaf17c841b8bdbc7a775f8910a7160248 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:16 2008 -0600 [XFS] Hook up compat XFS_IOC_FSSETDM_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_FSSETDM_BY_HANDLE. I haven't tested this, lacking dmapi tools to do so (unless xfsqa magically gets this somehow?) Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 28750975ace79c547407a84d3969cbed516be8f8 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:15 2008 -0600 [XFS] Hook up compat XFS_IOC_ATTRMULTI_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_ATTRMULTI_BY_HANDLE Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ebeecd2b04645a4b79e1bc00d69cf4f98e03a684 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:14 2008 -0600 [XFS] Hook up compat XFS_IOC_ATTRLIST_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_ATTRLIST_BY_HANDLE Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit af819d27637119105213433881f158931e29620b Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:13 2008 -0600 [XFS] Fix compat XFS_IOC_FSBULKSTAT_SINGLE ioctl The XFS_IOC_FSBULKSTAT_SINGLE ioctl passes in the desired inode number, while XFS_IOC_FSBULKSTAT passes in the previous/last-stat'd inode number. The compat handler wasn't differentiating these, so when a XFS_IOC_FSBULKSTAT_SINGLE request for inode 128 was sent in, stat information for 131 was sent out. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 65fbaf2489c667bf79ae1f20403f30c66568d445 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:12 2008 -0600 [XFS] Fix xfs_bulkstat_one size checks & error handling The 32-bit xfs_blkstat_one handler was failing because a size check checked whether the remaining (32-bit) user buffer was less than the (64-bit) bulkstat buffer, and failed with ENOMEM if so. Move this check into the respective handlers so that they check the correct sizes. Also, the formatters were returning negative errors or positive bytes copied; this was odd in the positive error value world of xfs, and handled wrong by at least some of the callers, which treated the bytes returned as an error value. Move the bytes-used assignment into the formatters. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2ee4fa5cb716eba104a4ef8efe159e1007a2aef6 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:11 2008 -0600 [XFS] Make the bulkstat_one compat ioctl handling more sane Currently the compat formatter was handled by passing in "private_data" for the xfs_bulkstat_one formatter, which was really just another formatter... IMHO this got confusing. Instead, just make a new xfs_bulkstat_one_compat formatter for xfs_bulkstat, and call it via a wrapper. Also, don't translate the ioctl nrs into their native counterparts, that just clouds the issue; we're in a compat handler anyway, just switch on the 32-bit cmds. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 471d59103167c84f17b9bcfee22ed10b44ff206e Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:10 2008 -0600 [XFS] Add compat handlers for data & rt growfs ioctls The args for XFS_IOC_FSGROWFSDATA and XFS_IOC_FSGROWFSRTA have padding on the end on intel, so add arg copyin functions, and then just call the growfs ioctl helpers. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e94fc4a43e5c39f689e83caf6d2f0939081f5e6b Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:09 2008 -0600 [XFS] Add compat handlers for swapext ioctl The big hitter here was the bstat field, which contains different sized time_t on 32 vs. 64 bit. Add a copyin function to translate the 32-bit arg to 64-bit, and call the swapext ioctl helper. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d5547f9feea459dfc9e7313bd1d561394e2c129f Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:08 2008 -0600 [XFS] Clean up some existing compat ioctl calls Create a new xfs_ioctl.h file which has prototypes for ioctl helpers that may be called in compat mode. Change several compat ioctl cases which are IOW to simply copy in the userspace argument, then call the common ioctl helper. This also fixes xfs_compat_ioc_fsgeometry_v1(), which had it backwards before; it copied in an (empty) arg, then copied out the native result, which probably corrupted userspace. It should be translating on the copyout. Also, a bit of formatting cleanup for consistency, and conversion of all error returns to use XFS_ERROR(). Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ffae263a640b736a7206a0d7bd14ab44eb58cd28 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:07 2008 -0600 [XFS] Move compat ioctl structs & numbers into xfs_ioctl32.h This makes the c file less cluttered and a bit more readable. Consistently name the ioctl number macros with "_32" and the compatibility stuctures with "_compat." Rename the helpers which simply copy in the arg with "_copyin" for easy identification. Finally, for a few of the existing helpers, modify them so that they directly call the native ioctl helper after userspace argument fixup. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 743bb4650da9e2595d6cedd01c680b5b9398c74a Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:06 2008 -0600 [XFS] Move copy_from_user calls out of ioctl helpers into ioctl switch. Moving the copy_from_user out of some of the ioctl helpers will make it easier for the compat ioctl switch to copy in the right struct, then just pass to the underlying helper. Also, move common access checks into the helpers themselves, and out of the native ioctl switch code, to reduce code duplication between native & compat ioctl callers. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/xfs_ioctl.c | 123 +++--- fs/xfs/linux-2.6/xfs_ioctl.h | 70 ++++ fs/xfs/linux-2.6/xfs_ioctl32.c | 838 ++++++++++++++++++++++++++-------------- fs/xfs/linux-2.6/xfs_ioctl32.h | 213 ++++++++++ fs/xfs/xfs_dfrag.c | 8 +- fs/xfs/xfs_dfrag.h | 2 +- fs/xfs/xfs_fs.h | 4 - fs/xfs/xfs_fsops.c | 6 + fs/xfs/xfs_itable.c | 45 ++- fs/xfs/xfs_itable.h | 14 + fs/xfs/xfs_rtalloc.c | 2 + 11 files changed, 955 insertions(+), 370 deletions(-) create mode 100644 fs/xfs/linux-2.6/xfs_ioctl.h hooks/post-receive -- XFS development tree From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 00:52:17 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB26qFC4027696 for ; Tue, 2 Dec 2008 00:52:17 -0600 X-ASG-Debug-ID: 1228200734-4a7d00d50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3ABED1641B11 for ; Mon, 1 Dec 2008 22:52:14 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 0jNFG00rCF8T6fuD for ; Mon, 01 Dec 2008 22:52:14 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7P1n-00037B-Jc; Tue, 02 Dec 2008 06:46:35 +0000 Date: Tue, 2 Dec 2008 01:46:35 -0500 From: Christoph Hellwig To: Barry Naujok Cc: Christoph Hellwig , "xfs@oss.sgi.com" X-ASG-Orig-Subj: Re: [REVIEW] Fix unaligned accesses in IA64 in xfsprogs Subject: Re: [REVIEW] Fix unaligned accesses in IA64 in xfsprogs Message-ID: <20081202064634.GA10115@infradead.org> References: <20081201134205.GA7528@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228200735 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com This patch looks good to go to me. On Tue, Dec 02, 2008 at 11:37:31AM +1100, Barry Naujok wrote: > Obviously modifying xfs_bmbt_disk_get_all yields a much smaller patch: > > =========================================================================== > xfsprogs/db/bmap.c > =========================================================================== > > --- a/xfsprogs/db/bmap.c 2008-12-02 11:21:00.000000000 +1100 > +++ b/xfsprogs/db/bmap.c 2008-12-02 11:20:41.324928232 +1100 > @@ -277,21 +277,14 @@ convert_extent( > xfs_dfilblks_t *cp, > int *fp) > { > - xfs_bmbt_irec_t irec, *s = &irec; > - xfs_bmbt_rec_t rpcopy, *p = &rpcopy; > + xfs_bmbt_irec_t irec; > > - memmove(&rpcopy, rp, sizeof(rpcopy)); > - libxfs_bmbt_disk_get_all(p, s); > + libxfs_bmbt_disk_get_all(rp, &irec); > > - if (s->br_state == XFS_EXT_UNWRITTEN) { > - *fp = 1; > - } else { > - *fp = 0; > - } > - > - *op = s->br_startoff; > - *sp = s->br_startblock; > - *cp = s->br_blockcount; > + *fp = irec.br_state == XFS_EXT_UNWRITTEN; > + *op = irec.br_startoff; > + *sp = irec.br_startblock; > + *cp = irec.br_blockcount; > } > > void > > =========================================================================== > xfsprogs/libxfs/xfs_bmap_btree.c > =========================================================================== > > --- a/xfsprogs/libxfs/xfs_bmap_btree.c 2008-12-02 11:21:00.000000000 +1100 > +++ b/xfsprogs/libxfs/xfs_bmap_btree.c 2008-12-02 11:20:09.553355392 +1100 > @@ -181,7 +181,8 @@ xfs_bmbt_disk_get_all( > xfs_bmbt_rec_t *r, > xfs_bmbt_irec_t *s) > { > - __xfs_bmbt_get_all(be64_to_cpu(r->l0), be64_to_cpu(r->l1), s); > + __xfs_bmbt_get_all(get_unaligned_be64(&r->l0), > + get_unaligned_be64(&r->l1), s); > } > > /* > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs ---end quoted text--- From anibal@v7w.com Tue Dec 2 03:35:11 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,MIME_8BIT_HEADER autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB29Z9DN005951 for ; Tue, 2 Dec 2008 03:35:11 -0600 X-ASG-Debug-ID: 1228210507-63a5005a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from aura.v7w.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id DFFEF9D20A4 for ; Tue, 2 Dec 2008 01:35:07 -0800 (PST) Received: from aura.v7w.com (vs832.rosehosting.com [209.135.157.232]) by cuda.sgi.com with ESMTP id ZFy9C9Kzb8EQWMtr for ; Tue, 02 Dec 2008 01:35:07 -0800 (PST) Received: from elida.v7w.com (60-241-92-80.static.tpgi.com.au [60.241.92.80]) by aura.v7w.com (Postfix) with ESMTP id EB0CF188008; Tue, 2 Dec 2008 09:34:10 +0000 (UTC) Received: by elida.v7w.com (Postfix, from userid 1000) id 3E74A511DA; Tue, 2 Dec 2008 20:33:50 +1100 (EST) Date: Tue, 2 Dec 2008 20:33:50 +1100 From: =?iso-8859-1?Q?An=EDbal?= Monsalve Salazar To: Ron Johnson Cc: debian-amd64@lists.debian.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: ia32 userland and XFS Subject: Re: ia32 userland and XFS Message-ID: <20081202093350.GC20730@debianrules.debiancolombia.org> References: <4934914C.7050707@cox.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="kigERAySUJmIn/9g" Content-Disposition: inline In-Reply-To: <4934914C.7050707@cox.net> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: vs832.rosehosting.com[209.135.157.232] X-Barracuda-Start-Time: 1228210507 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --kigERAySUJmIn/9g Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Adding xfs@oss.sgi.com to the cc list so all the XFS folk see this. On Mon, Dec 01, 2008 at 07:37:16PM -0600, Ron Johnson wrote: >https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html#id292806 > >According to this (seemingly 2+ year old) web page, the XFS file system >chokes on the combination of 32 bit userland and 64 bit kernel. > >Is this still true, and why should a low-level driver hidden under a >virtual fs care what user apps access it via the vfs? --kigERAySUJmIn/9g Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkk1APsACgkQgY5NIXPNpFX3TwCeIavSHdthu581b+pWK00X+oeZ w40AnRzAr9UqI0glKpr2FZsdMlb7sSuC =7zTP -----END PGP SIGNATURE----- --kigERAySUJmIn/9g-- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 03:52:49 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_23 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB29qmfp006811 for ; Tue, 2 Dec 2008 03:52:49 -0600 X-ASG-Debug-ID: 1228211567-63aa00ba0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 71D1B164310C for ; Tue, 2 Dec 2008 01:52:47 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id FezW8uuyOF1JiHrS for ; Tue, 02 Dec 2008 01:52:47 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Rvw-0003R1-B8; Tue, 02 Dec 2008 09:52:44 +0000 Date: Tue, 2 Dec 2008 04:52:44 -0500 From: Christoph Hellwig To: An?bal Monsalve Salazar Cc: Ron Johnson , debian-amd64@lists.debian.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: ia32 userland and XFS Subject: Re: ia32 userland and XFS Message-ID: <20081202095244.GA18292@infradead.org> References: <4934914C.7050707@cox.net> <20081202093350.GC20730@debianrules.debiancolombia.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202093350.GC20730@debianrules.debiancolombia.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228211567 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Tue, Dec 02, 2008 at 08:33:50PM +1100, An?bal Monsalve Salazar wrote: > On Mon, Dec 01, 2008 at 07:37:16PM -0600, Ron Johnson wrote: > >According to this (seemingly 2+ year old) web page, the XFS file system > >chokes on the combination of 32 bit userland and 64 bit kernel. > > > >Is this still true, and why should a low-level driver hidden under a > >virtual fs care what user apps access it via the vfs? XFS as in the plain posix filesystem works perfectly fine with a 64 bit kernel and 32 bit userspace. But various advance capabilities or administration interfaces which are used by tools from xfsprogs are implemented as ioctls, and unfortunately most of them have been designed very badly and aren't wordsize clean. There have been handlers for a few of them for a while, but only as of today a full set of compat handlers has been commited. That code will be release with 2.6.29, but could also be backported. From billodo@sgi.com Tue Dec 2 06:53:56 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2Crt1m017984 for ; Tue, 2 Dec 2008 06:53:56 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id 35F23AC0AF for ; Tue, 2 Dec 2008 04:53:52 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id CD3A27000103; Tue, 2 Dec 2008 06:53:51 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id 3F10617E01F; Tue, 2 Dec 2008 06:59:22 -0600 (CST) Date: Tue, 2 Dec 2008 06:59:22 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 3/9] sanitize xlog_in_core_t definition Message-ID: <20081202125922.GB27836@sgi.com> References: <20080925225626.GD9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225626.GD9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:26AM +0200, Christoph Hellwig wrote: | Move all fields from xlog_iclog_fields_t into xlog_in_core_t instead of having | them in a substructure and the using #defines to make it look like they were | directly in xlog_in_core_t. Also document that xlog_in_core_2_t is grossly | misnamed, and make all references to it typesafe. Umm, instead of pointing out the misnaming of xlog_in_core_2_t, why not properly name it, or does that proliferate too much? | | | Signed-off-by: Christoph Hellwig | | Index: linux-2.6-xfs/fs/xfs/xfs_log.c | =================================================================== | --- linux-2.6-xfs.orig/fs/xfs/xfs_log.c 2008-09-25 13:58:24.000000000 +0200 | +++ linux-2.6-xfs/fs/xfs/xfs_log.c 2008-09-25 20:02:34.000000000 +0200 | @@ -1024,12 +1024,6 @@ xlog_iodone(xfs_buf_t *bp) | ASSERT(XFS_BUF_FSPRIVATE2(bp, unsigned long) == (unsigned long) 2); | XFS_BUF_SET_FSPRIVATE2(bp, (unsigned long)1); | aborted = 0; | - | - /* | - * Some versions of cpp barf on the recursive definition of | - * ic_log -> hic_fields.ic_log and expand ic_log twice when | - * it is passed through two macros. Workaround broken cpp. | - */ | l = iclog->ic_log; | | /* | @@ -1287,7 +1281,7 @@ xlog_alloc_log(xfs_mount_t *mp, | XFS_BUF_SET_BDSTRAT_FUNC(bp, xlog_bdstrat_cb); | XFS_BUF_SET_FSPRIVATE2(bp, (unsigned long)1); | iclog->ic_bp = bp; | - iclog->hic_data = bp->b_addr; | + iclog->ic_data = bp->b_addr; | #ifdef DEBUG | log->l_iclog_bak[i] = (xfs_caddr_t)&(iclog->ic_header); | #endif | @@ -1307,7 +1301,7 @@ xlog_alloc_log(xfs_mount_t *mp, | atomic_set(&iclog->ic_refcnt, 0); | spin_lock_init(&iclog->ic_callback_lock); | iclog->ic_callback_tail = &(iclog->ic_callback); | - iclog->ic_datap = (char *)iclog->hic_data + log->l_iclog_hsize; | + iclog->ic_datap = (char *)iclog->ic_data + log->l_iclog_hsize; | | ASSERT(XFS_BUF_ISBUSY(iclog->ic_bp)); | ASSERT(XFS_BUF_VALUSEMA(iclog->ic_bp) <= 0); | @@ -3418,7 +3412,7 @@ xlog_verify_iclog(xlog_t *log, | ptr = iclog->ic_datap; | base_ptr = ptr; | ophead = (xlog_op_header_t *)ptr; | - xhdr = (xlog_in_core_2_t *)&iclog->ic_header; | + xhdr = iclog->ic_data; | for (i = 0; i < len; i++) { | ophead = (xlog_op_header_t *)ptr; | | Index: linux-2.6-xfs/fs/xfs/xfs_log_priv.h | =================================================================== | --- linux-2.6-xfs.orig/fs/xfs/xfs_log_priv.h 2008-09-25 13:58:24.000000000 +0200 | +++ linux-2.6-xfs/fs/xfs/xfs_log_priv.h 2008-09-25 20:02:35.000000000 +0200 | @@ -309,6 +309,16 @@ typedef struct xlog_rec_ext_header { | } xlog_rec_ext_header_t; | | #ifdef __KERNEL__ | + | +/* | + * Quite misnamed, because this union lays out the actual on-disk log buffer. | + */ | +typedef union xlog_in_core2 { | + xlog_rec_header_t hic_header; | + xlog_rec_ext_header_t hic_xheader; | + char hic_sector[XLOG_HEADER_SIZE]; | +} xlog_in_core_2_t; | + See my above comment. | /* | * - A log record header is 512 bytes. There is plenty of room to grow the | * xlog_rec_header_t into the reserved space. | @@ -338,7 +348,7 @@ typedef struct xlog_rec_ext_header { | * We'll put all the read-only and l_icloglock fields in the first cacheline, | * and move everything else out to subsequent cachelines. | */ | -typedef struct xlog_iclog_fields { | +typedef struct xlog_in_core { | sv_t ic_force_wait; | sv_t ic_write_wait; | struct xlog_in_core *ic_next; | @@ -361,41 +371,11 @@ typedef struct xlog_iclog_fields { | | /* reference counts need their own cacheline */ | atomic_t ic_refcnt ____cacheline_aligned_in_smp; | -} xlog_iclog_fields_t; | - | -typedef union xlog_in_core2 { | - xlog_rec_header_t hic_header; | - xlog_rec_ext_header_t hic_xheader; | - char hic_sector[XLOG_HEADER_SIZE]; | -} xlog_in_core_2_t; | - | -typedef struct xlog_in_core { | - xlog_iclog_fields_t hic_fields; | - xlog_in_core_2_t *hic_data; | + xlog_in_core_2_t *ic_data; | +#define ic_header ic_data->hic_header | } xlog_in_core_t; | | /* | - * Defines to save our code from this glop. | - */ | -#define ic_force_wait hic_fields.ic_force_wait | -#define ic_write_wait hic_fields.ic_write_wait | -#define ic_next hic_fields.ic_next | -#define ic_prev hic_fields.ic_prev | -#define ic_bp hic_fields.ic_bp | -#define ic_log hic_fields.ic_log | -#define ic_callback hic_fields.ic_callback | -#define ic_callback_lock hic_fields.ic_callback_lock | -#define ic_callback_tail hic_fields.ic_callback_tail | -#define ic_trace hic_fields.ic_trace | -#define ic_size hic_fields.ic_size | -#define ic_offset hic_fields.ic_offset | -#define ic_refcnt hic_fields.ic_refcnt | -#define ic_bwritecnt hic_fields.ic_bwritecnt | -#define ic_state hic_fields.ic_state | -#define ic_datap hic_fields.ic_datap | -#define ic_header hic_data->hic_header | - | -/* | * The reservation head lsn is not made up of a cycle number and block number. | * Instead, it uses a cycle number and byte number. Logs don't expect to | * overflow 31 bits worth of byte offset, so using a byte number will mean | Index: linux-2.6-xfs/fs/xfs/xfs_log_recover.c | =================================================================== | --- linux-2.6-xfs.orig/fs/xfs/xfs_log_recover.c 2008-09-25 13:58:24.000000000 +0200 | +++ linux-2.6-xfs/fs/xfs/xfs_log_recover.c 2008-09-25 20:02:39.000000000 +0200 | @@ -3359,7 +3359,6 @@ xlog_pack_data( | int size = iclog->ic_offset + roundoff; | __be32 cycle_lsn; | xfs_caddr_t dp; | - xlog_in_core_2_t *xhdr; | | xlog_pack_data_checksum(log, iclog, size); | | @@ -3374,7 +3373,8 @@ xlog_pack_data( | } | | if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) { | - xhdr = (xlog_in_core_2_t *)&iclog->ic_header; | + xlog_in_core_2_t *xhdr = iclog->ic_data; | + | for ( ; i < BTOBB(size); i++) { | j = i / (XLOG_HEADER_CYCLE_SIZE / BBSIZE); | k = i % (XLOG_HEADER_CYCLE_SIZE / BBSIZE); | @@ -3432,7 +3432,6 @@ xlog_unpack_data( | xlog_t *log) | { | int i, j, k; | - xlog_in_core_2_t *xhdr; | | for (i = 0; i < BTOBB(be32_to_cpu(rhead->h_len)) && | i < (XLOG_HEADER_CYCLE_SIZE / BBSIZE); i++) { | @@ -3441,7 +3440,7 @@ xlog_unpack_data( | } | | if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) { | - xhdr = (xlog_in_core_2_t *)rhead; | + xlog_in_core_2_t *xhdr = (xlog_in_core_2_t *)rhead; | for ( ; i < BTOBB(be32_to_cpu(rhead->h_len)); i++) { | j = i / (XLOG_HEADER_CYCLE_SIZE / BBSIZE); | k = i % (XLOG_HEADER_CYCLE_SIZE / BBSIZE); | Index: linux-2.6-xfs/fs/xfs/xfsidbg.c | =================================================================== | --- linux-2.6-xfs.orig/fs/xfs/xfsidbg.c 2008-09-25 13:58:24.000000000 +0200 | +++ linux-2.6-xfs/fs/xfs/xfsidbg.c 2008-09-25 20:02:39.000000000 +0200 | @@ -5763,7 +5763,7 @@ xfsidbg_xiclog(xlog_in_core_t *iclog) | }; | | kdb_printf("xlog_in_core/header at 0x%p/0x%p\n", | - iclog, iclog->hic_data); | + iclog, iclog->ic_data); | kdb_printf("magicno: %x cycle: %d version: %d lsn: 0x%Lx\n", | be32_to_cpu(iclog->ic_header.h_magicno), | be32_to_cpu(iclog->ic_header.h_cycle), | | -- | | From billodo@sgi.com Tue Dec 2 07:00:04 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2D04is018503 for ; Tue, 2 Dec 2008 07:00:04 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4266D3041AE for ; Tue, 2 Dec 2008 05:00:01 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 1C4647000103; Tue, 2 Dec 2008 07:00:01 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id 845B217E01F; Tue, 2 Dec 2008 07:05:31 -0600 (CST) Date: Tue, 2 Dec 2008 07:05:31 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 4/9] add infrastructure for crc in metadata Message-ID: <20081202130531.GC27836@sgi.com> References: <20080925225629.GE9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225629.GE9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:29AM +0200, Christoph Hellwig wrote: | | - add a mount feature bit for CRC enabled filesystems | - add some helpers for generating and verifying the CRCs | - add a copy_uuid helper | - add a pre-io callback to xfs_buf for calculating the CRCs | | The checksumming helpers are losely based on similar ones in sctp, | all other bits come from Dave Chinner. | | | Signed-off-by: Christoph Hellwig looks good. From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 08:20:40 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_33, J_CHICKENPOX_44 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2EKeYd023589 for ; Tue, 2 Dec 2008 08:20:40 -0600 X-ASG-Debug-ID: 1228227639-350502880000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D6EAA1644F71; Tue, 2 Dec 2008 06:20:39 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Ig15S51Cn179JOAc; Tue, 02 Dec 2008 06:20:39 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7W7D-0006wi-8U; Tue, 02 Dec 2008 14:20:39 +0000 Date: Tue, 2 Dec 2008 09:20:39 -0500 From: Christoph Hellwig To: Timothy Shimmin , xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH] xfsqa: add testcase for ->setattr permission checking Subject: [PATCH] xfsqa: add testcase for ->setattr permission checking Message-ID: <20081202142039.GA25155@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228227639 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Index: xfs-cmds-git/xfstests/192 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ xfs-cmds-git/xfstests/192 2008-12-02 14:16:12.000000000 +0000 @@ -0,0 +1,177 @@ +#! /bin/sh +# FS QA Test No. 192 +# +# Test permission checks in ->setattr +# +#----------------------------------------------------------------------- +# Copyright (c) 2008 Christoph Hellwig. +#----------------------------------------------------------------------- +# +# creator +owner=hch@lst.de + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_cleanup_files; exit \$status" 0 1 2 3 15 +tag="added by qa $seq" + +# +# For some tests we need a secondary group for the qa_user. Currently +# that's not available in the framework, so the tests using it are +# commented out. +# +#group2=foo + +# +# Create two files, one owned by root, one by the qa_user +# +_create_files() +{ + touch test.root + touch test.${qa_user} + chown ${qa_user}:${qa_user} test.${qa_user} +} + +# +# Remove our files again +# +_cleanup_files() +{ + rm -f test.${qa_user} + rm -f test.root +} + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter + +# real QA test starts here +_supported_fs xfs nfs udf +_supported_os Linux + +_require_user +_need_to_be_root + + +# +# make sure we have a normal umask set +# +umask 022 + + +# +# Test the ATTR_UID case +# +echo +echo "testing ATTR_UID" +echo + +_create_files + +echo "user: chown root owned file to qa_user (should fail)" +su ${qa_user} -c "chown root test.${qa_user}" + +echo "user: chown root owned file to root (should fail)" +su ${qa_user} -c "chown root test.root" + +echo "user: chown qa_user owned file to qa_user (should succeed)" +su ${qa_user} -c "chown ${qa_user} test.${qa_user}" + +# this would work without _POSIX_CHOWN_RESTRICTED +echo "user: chown qa_user owned file to root (should fail)" +su ${qa_user} -c "chown ${qa_user} test.root" + +_cleanup_files + +# +# Test the ATTR_GID case +# +echo +echo "testing ATTR_GID" +echo + +_create_files + +echo "user: chgrp root owned file to root (should fail)" +su ${qa_user} -c "chgrp root test.root" + +echo "user: chgrp qa_user owned file to root (should fail)" +su ${qa_user} -c "chgrp root test.${qa_user}" + +echo "user: chgrp root owned file to qa_user (should fail)" +su ${qa_user} -c "chgrp ${qa_user} test.root" + +echo "user: chgrp qa_user owned file to qa_user (should suceed)" +su ${qa_user} -c "chgrp ${qa_user} test.${qa_user}" + +#echo "user: chgrp qa_user owned file to secondary group (should suceed)" +#su ${qa_user} -c "chgrp ${group2} test.${qa_user}" + +_cleanup_files + + +# +# Test the ATTR_MODE case +# +echo +echo "testing ATTR_MODE" +echo + +_create_files + +echo "user: chmod a+r on qa_user owned file (should succeed)" +su ${qa_user} -c "chmod a+r test.${qa_user}" + +echo "user: chmod a+r on root owned file (should fail)" +su ${qa_user} -c "chmod a+r test.root" + +# +# Setup a file owned by the qa_user, but with a group ID that +# is not present in the qa_users group list (use root to make it easier for it) +# and mark it with set sgid bit +# +echo "check that the sgid bit is cleared" +chown ${qa_user}:root test.${qa_user} +chmod g+s test.${qa_user} + +# and let the qa_user change permission bits +su ${qa_user} -c "chmod a+w test.${qa_user}" +stat -c '%A' test.${qa_user} + +# +# Setup a file owned by the qa_user and with the suid bit set. +# A chown by root should not clean the suid bit. +# +echo "check that suid bit is not cleared" +chmod u+s test.${qa_user} +chmod a+w test.${qa_user} +stat -c '%A' test.${qa_user} + +_cleanup_files + + +# +# Test ATTR_*TIMES_SET +# +echo +echo "testing ATTR_*TIMES_SET" +echo + +_create_files + +echo "user: touch qa_user file (should succeed)" +su ${qa_user} -c "touch test.${qa_user}" + +echo "user: touch root file (should fail)" +su ${qa_user} -c "touch test.root" + +_cleanup_files + +# success, all done +echo "*** done" +rm -f $seq.full +status=0 Index: xfs-cmds-git/xfstests/group =================================================================== --- xfs-cmds-git.orig/xfstests/group 2008-12-02 14:00:49.000000000 +0000 +++ xfs-cmds-git/xfstests/group 2008-12-02 14:01:01.000000000 +0000 @@ -291,3 +291,4 @@ 189 mount auto 190 rw auto 191 nfs4acl auto +192 auto metadata Index: xfs-cmds-git/xfstests/192.out =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ xfs-cmds-git/xfstests/192.out 2008-12-02 14:14:49.000000000 +0000 @@ -0,0 +1,38 @@ +QA output created by 192 + +testing ATTR_UID + +user: chown root owned file to qa_user (should fail) +chown: changing ownership of `test.fsgqa': Operation not permitted +user: chown root owned file to root (should fail) +chown: changing ownership of `test.root': Operation not permitted +user: chown qa_user owned file to qa_user (should succeed) +user: chown qa_user owned file to root (should fail) +chown: changing ownership of `test.root': Operation not permitted + +testing ATTR_GID + +user: chgrp root owned file to root (should fail) +chgrp: changing group of `test.root': Operation not permitted +user: chgrp qa_user owned file to root (should fail) +chgrp: changing group of `test.fsgqa': Operation not permitted +user: chgrp root owned file to qa_user (should fail) +chgrp: changing group of `test.root': Operation not permitted +user: chgrp qa_user owned file to qa_user (should suceed) + +testing ATTR_MODE + +user: chmod a+r on qa_user owned file (should succeed) +user: chmod a+r on root owned file (should fail) +chmod: changing permissions of `test.root': Operation not permitted +check that the sgid bit is cleared +-rw-rw-rw- +check that suid bit is not cleared +-rwSrw-rw- + +testing ATTR_*TIMES_SET + +user: touch qa_user file (should succeed) +user: touch root file (should fail) +touch: cannot touch `test.root': Permission denied +*** done From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6oa0031608 for ; Tue, 2 Dec 2008 10:06:52 -0600 X-ASG-Debug-ID: 1228234009-60db025e0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E0631164F1B5 for ; Tue, 2 Dec 2008 08:06:49 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id UjXQi2OaLS7yUCng for ; Tue, 02 Dec 2008 08:06:49 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlx-0007FU-Ja for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:49 +0000 Message-Id: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:30 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 00/22] 2.6.29 queue Subject: [patch 00/22] 2.6.29 queue X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234009 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com This is my current 2.6.29 queue. All but a few trivial patches have already been posted to the list. I have another two patches for 2.6.29 in progress that aren't included but should go to the list in a few days. Note that this is a series against the master tree, patches against dmapi or xfsidbg aren't included (and not relevant for 2.6.29). -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:53 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-4.1 required=5.0 tests=AWL,BAYES_00,LOCAL_GNU_PATCH autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6r8V031650 for ; Tue, 2 Dec 2008 10:06:53 -0600 X-ASG-Debug-ID: 1228234012-60d302390000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 774E9164F1C2 for ; Tue, 2 Dec 2008 08:06:52 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id zwOlQSMZZqVIroYd for ; Tue, 02 Dec 2008 08:06:52 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xm0-0007Wb-2l for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:52 +0000 Message-Id: <20081202160651.992698000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:47 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 17/22] no explicit xfs_iflush for special inodes during unmount Subject: [patch 17/22] no explicit xfs_iflush for special inodes during unmount Content-Disposition: inline; filename=xfs-stop-flushing-special-inodes X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234012 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Currently we explicitly call xfs_iflush on the quota, real-time and root inodes from xfs_unmount_flush. But we just called xfs_sync_inodes with SYNC_ATTR and do an XFS_bflush aka xfs_flush_buftarg to make sure all inodes are on disk already, so there is no need for these special cases. Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/quota/xfs_qm.c =================================================================== --- xfs-master.orig/fs/xfs/quota/xfs_qm.c 2008-12-01 21:33:53.000000000 +0100 +++ xfs-master/fs/xfs/quota/xfs_qm.c 2008-12-02 11:26:22.000000000 +0100 @@ -395,13 +395,10 @@ xfs_qm_mount_quotas( /* * Called from the vfsops layer. */ -int +void xfs_qm_unmount_quotas( xfs_mount_t *mp) { - xfs_inode_t *uqp, *gqp; - int error = 0; - /* * Release the dquots that root inode, et al might be holding, * before we flush quotas and blow away the quotainfo structure. @@ -414,43 +411,18 @@ xfs_qm_unmount_quotas( xfs_qm_dqdetach(mp->m_rsumip); /* - * Flush out the quota inodes. + * Release the quota inodes. */ - uqp = gqp = NULL; if (mp->m_quotainfo) { - if ((uqp = mp->m_quotainfo->qi_uquotaip) != NULL) { - xfs_ilock(uqp, XFS_ILOCK_EXCL); - xfs_iflock(uqp); - error = xfs_iflush(uqp, XFS_IFLUSH_SYNC); - xfs_iunlock(uqp, XFS_ILOCK_EXCL); - if (unlikely(error == EFSCORRUPTED)) { - XFS_ERROR_REPORT("xfs_qm_unmount_quotas(1)", - XFS_ERRLEVEL_LOW, mp); - goto out; - } - } - if ((gqp = mp->m_quotainfo->qi_gquotaip) != NULL) { - xfs_ilock(gqp, XFS_ILOCK_EXCL); - xfs_iflock(gqp); - error = xfs_iflush(gqp, XFS_IFLUSH_SYNC); - xfs_iunlock(gqp, XFS_ILOCK_EXCL); - if (unlikely(error == EFSCORRUPTED)) { - XFS_ERROR_REPORT("xfs_qm_unmount_quotas(2)", - XFS_ERRLEVEL_LOW, mp); - goto out; - } + if (mp->m_quotainfo->qi_uquotaip) { + IRELE(mp->m_quotainfo->qi_uquotaip); + mp->m_quotainfo->qi_uquotaip = NULL; + } + if (mp->m_quotainfo->qi_gquotaip) { + IRELE(mp->m_quotainfo->qi_gquotaip); + mp->m_quotainfo->qi_gquotaip = NULL; } } - if (uqp) { - IRELE(uqp); - mp->m_quotainfo->qi_uquotaip = NULL; - } - if (gqp) { - IRELE(gqp); - mp->m_quotainfo->qi_gquotaip = NULL; - } -out: - return XFS_ERROR(error); } /* Index: xfs-master/fs/xfs/xfs_vfsops.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_vfsops.c 2008-12-01 21:33:53.000000000 +0100 +++ xfs-master/fs/xfs/xfs_vfsops.c 2008-12-02 11:24:59.000000000 +0100 @@ -68,74 +68,16 @@ xfs_unmount_flush( rid of. */ int relocation) /* Called from vfs relocation. */ { - xfs_inode_t *rip = mp->m_rootip; - xfs_inode_t *rbmip; - xfs_inode_t *rsumip = NULL; - int error; - - xfs_ilock(rip, XFS_ILOCK_EXCL | XFS_ILOCK_PARENT); - xfs_iflock(rip); - - /* - * Flush out the real time inodes. - */ - if ((rbmip = mp->m_rbmip) != NULL) { - xfs_ilock(rbmip, XFS_ILOCK_EXCL); - xfs_iflock(rbmip); - error = xfs_iflush(rbmip, XFS_IFLUSH_SYNC); - xfs_iunlock(rbmip, XFS_ILOCK_EXCL); - - if (error == EFSCORRUPTED) - goto fscorrupt_out; - - ASSERT(vn_count(VFS_I(rbmip)) == 1); - - rsumip = mp->m_rsumip; - xfs_ilock(rsumip, XFS_ILOCK_EXCL); - xfs_iflock(rsumip); - error = xfs_iflush(rsumip, XFS_IFLUSH_SYNC); - xfs_iunlock(rsumip, XFS_ILOCK_EXCL); - - if (error == EFSCORRUPTED) - goto fscorrupt_out; - - ASSERT(vn_count(VFS_I(rsumip)) == 1); - } - - /* - * Synchronously flush root inode to disk - */ - error = xfs_iflush(rip, XFS_IFLUSH_SYNC); - if (error == EFSCORRUPTED) - goto fscorrupt_out2; - - if (vn_count(VFS_I(rip)) != 1 && !relocation) { - xfs_iunlock(rip, XFS_ILOCK_EXCL); - return XFS_ERROR(EBUSY); - } - /* * Release dquot that rootinode, rbmino and rsumino might be holding, * flush and purge the quota inodes. */ - error = XFS_QM_UNMOUNT(mp); - if (error == EFSCORRUPTED) - goto fscorrupt_out2; + XFS_QM_UNMOUNT(mp); - if (rbmip) { - IRELE(rbmip); - IRELE(rsumip); - } + if (mp->m_rbmip) + IRELE(mp->m_rbmip); + if (mp->m_rsumip) + IRELE(mp->m_rsumip); - xfs_iunlock(rip, XFS_ILOCK_EXCL); return 0; - -fscorrupt_out: - xfs_ifunlock(rip); - -fscorrupt_out2: - xfs_iunlock(rip, XFS_ILOCK_EXCL); - - return XFS_ERROR(EFSCORRUPTED); } - Index: xfs-master/fs/xfs/quota/xfs_qm.h =================================================================== --- xfs-master.orig/fs/xfs/quota/xfs_qm.h 2008-12-01 21:33:53.000000000 +0100 +++ xfs-master/fs/xfs/quota/xfs_qm.h 2008-12-02 11:24:59.000000000 +0100 @@ -167,7 +167,7 @@ extern void xfs_qm_destroy_quotainfo(xf extern void xfs_qm_mount_quotas(xfs_mount_t *); extern int xfs_qm_quotacheck(xfs_mount_t *); extern void xfs_qm_unmount_quotadestroy(xfs_mount_t *); -extern int xfs_qm_unmount_quotas(xfs_mount_t *); +extern void xfs_qm_unmount_quotas(xfs_mount_t *); extern int xfs_qm_write_sb_changes(xfs_mount_t *, __int64_t); extern int xfs_qm_sync(xfs_mount_t *, int); Index: xfs-master/fs/xfs/xfs_mount.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_mount.h 2008-12-02 11:22:46.000000000 +0100 +++ xfs-master/fs/xfs/xfs_mount.h 2008-12-02 11:24:59.000000000 +0100 @@ -117,7 +117,7 @@ struct xfs_quotainfo; typedef int (*xfs_qminit_t)(struct xfs_mount *, uint *, uint *); typedef int (*xfs_qmmount_t)(struct xfs_mount *, uint, uint); -typedef int (*xfs_qmunmount_t)(struct xfs_mount *); +typedef void (*xfs_qmunmount_t)(struct xfs_mount *); typedef void (*xfs_qmdone_t)(struct xfs_mount *); typedef void (*xfs_dqrele_t)(struct xfs_dquot *); typedef int (*xfs_dqattach_t)(struct xfs_inode *, uint); Index: xfs-master/fs/xfs/linux-2.6/xfs_vnode.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_vnode.h 2008-12-02 11:24:34.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_vnode.h 2008-12-02 11:24:59.000000000 +0100 @@ -65,11 +65,6 @@ extern void vn_iowait(struct xfs_inode * extern void vn_iowake(struct xfs_inode *ip); extern void vn_ioerror(struct xfs_inode *ip, int error, char *f, int l); -static inline int vn_count(struct inode *vp) -{ - return atomic_read(&vp->i_count); -} - #define IHOLD(ip) \ do { \ ASSERT(atomic_read(&VFS_I(ip)->i_count) > 0) ; \ -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:53 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6rq2031664 for ; Tue, 2 Dec 2008 10:06:53 -0600 X-ASG-Debug-ID: 1228234012-606102750000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C8631164F1C6 for ; Tue, 2 Dec 2008 08:06:52 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id oVSIyiBCEb6ju7Sh for ; Tue, 02 Dec 2008 08:06:52 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xm0-0007cE-Ep for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:52 +0000 Message-Id: <20081202160652.335328000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:49 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 19/22] kill vn_ioerror Subject: [patch 19/22] kill vn_ioerror Content-Disposition: inline; filename=xfs-kill-vn_ioerror X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234012 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com There's just one caller of this helper, and it's much cleaner to just merge the xfs_do_force_shutdown call into it. Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/linux-2.6/xfs_aops.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_aops.c 2008-12-02 11:24:34.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_aops.c 2008-12-02 11:26:38.000000000 +0100 @@ -146,16 +146,25 @@ xfs_destroy_ioend( xfs_ioend_t *ioend) { struct buffer_head *bh, *next; + struct xfs_inode *ip = XFS_I(ioend->io_inode); for (bh = ioend->io_buffer_head; bh; bh = next) { next = bh->b_private; bh->b_end_io(bh, !ioend->io_error); } - if (unlikely(ioend->io_error)) { - vn_ioerror(XFS_I(ioend->io_inode), ioend->io_error, - __FILE__,__LINE__); + + /* + * Volume managers supporting multiple paths can send back ENODEV + * when the final path disappears. In this case continuing to fill + * the page cache with dirty data which cannot be written out is + * evil, so prevent that. + */ + if (unlikely(ioend->io_error == -ENODEV)) { + xfs_do_force_shutdown(ip->i_mount, SHUTDOWN_DEVICE_REQ, + __FILE__, __LINE__); } - vn_iowake(XFS_I(ioend->io_inode)); + + vn_iowake(ip); mempool_free(ioend, xfs_ioend_pool); } Index: xfs-master/fs/xfs/linux-2.6/xfs_vnode.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_vnode.c 2008-12-02 11:24:34.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_vnode.c 2008-12-02 11:26:38.000000000 +0100 @@ -66,22 +66,6 @@ vn_iowake( wake_up(vptosync(ip)); } -/* - * Volume managers supporting multiple paths can send back ENODEV when the - * final path disappears. In this case continuing to fill the page cache - * with dirty data which cannot be written out is evil, so prevent that. - */ -void -vn_ioerror( - xfs_inode_t *ip, - int error, - char *f, - int l) -{ - if (unlikely(error == -ENODEV)) - xfs_do_force_shutdown(ip->i_mount, SHUTDOWN_DEVICE_REQ, f, l); -} - #ifdef XFS_INODE_TRACE #define KTRACE_ENTER(ip, vk, s, line, ra) \ Index: xfs-master/fs/xfs/linux-2.6/xfs_vnode.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_vnode.h 2008-12-02 11:24:59.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_vnode.h 2008-12-02 11:26:38.000000000 +0100 @@ -63,7 +63,6 @@ extern void vn_init(void); */ extern void vn_iowait(struct xfs_inode *ip); extern void vn_iowake(struct xfs_inode *ip); -extern void vn_ioerror(struct xfs_inode *ip, int error, char *f, int l); #define IHOLD(ip) \ do { \ -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6qOf031611 for ; Tue, 2 Dec 2008 10:06:52 -0600 X-ASG-Debug-ID: 1228234011-60da025b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 941D7164F1B5 for ; Tue, 2 Dec 2008 08:06:51 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 0JEKjdWvdyXdi89s for ; Tue, 02 Dec 2008 08:06:51 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlz-0007SW-6V for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:51 +0000 Message-Id: <20081202160651.115809000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:41 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 11/22] cleanup xfs_sb.h feature flag helpers Subject: [patch 11/22] cleanup xfs_sb.h feature flag helpers Content-Disposition: inline; filename=xfs-cleanup-sb.h-helpers X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234011 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com The various inlines in xfs_sb.h that deal with the superblock version and fature flags were converted from macros a while ago, and this show by the odd coding style full of useless braces and backslashes and the avoidance of conditionals. Clean these up to look like normal C code. (First sent on August 2nd) Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/xfs_sb.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_sb.h 2008-12-02 11:07:00.000000000 +0100 +++ xfs-master/fs/xfs/xfs_sb.h 2008-12-02 11:15:20.000000000 +0100 @@ -296,30 +296,34 @@ typedef enum { #define XFS_SB_VERSION_NUM(sbp) ((sbp)->sb_versionnum & XFS_SB_VERSION_NUMBITS) -#ifdef __KERNEL__ static inline int xfs_sb_good_version(xfs_sb_t *sbp) { - return (((sbp->sb_versionnum >= XFS_SB_VERSION_1) && \ - (sbp->sb_versionnum <= XFS_SB_VERSION_3)) || \ - ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - !((sbp->sb_versionnum & ~XFS_SB_VERSION_OKREALBITS) || \ - ((sbp->sb_versionnum & XFS_SB_VERSION_MOREBITSBIT) && \ - (sbp->sb_features2 & ~XFS_SB_VERSION2_OKREALBITS))) && \ - (sbp->sb_shared_vn <= XFS_SB_MAX_SHARED_VN))); -} + /* We always support version 1-3 */ + if (sbp->sb_versionnum >= XFS_SB_VERSION_1 && + sbp->sb_versionnum <= XFS_SB_VERSION_3) + return 1; + + /* We support version 4 if all feature bits are supported */ + if (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) { + if ((sbp->sb_versionnum & ~XFS_SB_VERSION_OKREALBITS) || + ((sbp->sb_versionnum & XFS_SB_VERSION_MOREBITSBIT) && + (sbp->sb_features2 & ~XFS_SB_VERSION2_OKREALBITS))) + return 0; + +#ifdef __KERNEL__ + if (sbp->sb_shared_vn > XFS_SB_MAX_SHARED_VN) + return 0; #else -static inline int xfs_sb_good_version(xfs_sb_t *sbp) -{ - return (((sbp->sb_versionnum >= XFS_SB_VERSION_1) && \ - (sbp->sb_versionnum <= XFS_SB_VERSION_3)) || \ - ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - !((sbp->sb_versionnum & ~XFS_SB_VERSION_OKREALBITS) || \ - ((sbp->sb_versionnum & XFS_SB_VERSION_MOREBITSBIT) && \ - (sbp->sb_features2 & ~XFS_SB_VERSION2_OKREALBITS))) && \ - (!(sbp->sb_versionnum & XFS_SB_VERSION_SHAREDBIT) || \ - (sbp->sb_shared_vn <= XFS_SB_MAX_SHARED_VN)))); + if ((sbp->sb_versionnum & XFS_SB_VERSION_SHAREDBIT) && + sbp->sb_shared_vn > XFS_SB_MAX_SHARED_VN) + return 0; +#endif + + return 1; + } + + return 0; } -#endif /* __KERNEL__ */ /* * Detect a mismatched features2 field. Older kernels read/wrote @@ -332,123 +336,127 @@ static inline int xfs_sb_has_mismatched_ static inline unsigned xfs_sb_version_tonew(unsigned v) { - return ((((v) == XFS_SB_VERSION_1) ? \ - 0 : \ - (((v) == XFS_SB_VERSION_2) ? \ - XFS_SB_VERSION_ATTRBIT : \ - (XFS_SB_VERSION_ATTRBIT | XFS_SB_VERSION_NLINKBIT))) | \ - XFS_SB_VERSION_4); + if (v == XFS_SB_VERSION_1) + return XFS_SB_VERSION_4; + + if (v == XFS_SB_VERSION_2) + return XFS_SB_VERSION_4 | XFS_SB_VERSION_ATTRBIT; + + return XFS_SB_VERSION_4 | XFS_SB_VERSION_ATTRBIT | + XFS_SB_VERSION_NLINKBIT; } static inline unsigned xfs_sb_version_toold(unsigned v) { - return (((v) & (XFS_SB_VERSION_QUOTABIT | XFS_SB_VERSION_ALIGNBIT)) ? \ - 0 : \ - (((v) & XFS_SB_VERSION_NLINKBIT) ? \ - XFS_SB_VERSION_3 : \ - (((v) & XFS_SB_VERSION_ATTRBIT) ? \ - XFS_SB_VERSION_2 : \ - XFS_SB_VERSION_1))); + if (v & (XFS_SB_VERSION_QUOTABIT | XFS_SB_VERSION_ALIGNBIT)) + return 0; + if (v & XFS_SB_VERSION_NLINKBIT) + return XFS_SB_VERSION_3; + if (v & XFS_SB_VERSION_ATTRBIT) + return XFS_SB_VERSION_2; + return XFS_SB_VERSION_1; } static inline int xfs_sb_version_hasattr(xfs_sb_t *sbp) { - return ((sbp)->sb_versionnum == XFS_SB_VERSION_2) || \ - ((sbp)->sb_versionnum == XFS_SB_VERSION_3) || \ - ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_ATTRBIT)); + return sbp->sb_versionnum == XFS_SB_VERSION_2 || + sbp->sb_versionnum == XFS_SB_VERSION_3 || + (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_ATTRBIT)); } static inline void xfs_sb_version_addattr(xfs_sb_t *sbp) { - (sbp)->sb_versionnum = (((sbp)->sb_versionnum == XFS_SB_VERSION_1) ? \ - XFS_SB_VERSION_2 : \ - ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) ? \ - ((sbp)->sb_versionnum | XFS_SB_VERSION_ATTRBIT) : \ - (XFS_SB_VERSION_4 | XFS_SB_VERSION_ATTRBIT))); + if (sbp->sb_versionnum == XFS_SB_VERSION_1) + sbp->sb_versionnum = XFS_SB_VERSION_2; + else if (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) + sbp->sb_versionnum |= XFS_SB_VERSION_ATTRBIT; + else + sbp->sb_versionnum = XFS_SB_VERSION_4 | XFS_SB_VERSION_ATTRBIT; } static inline int xfs_sb_version_hasnlink(xfs_sb_t *sbp) { - return ((sbp)->sb_versionnum == XFS_SB_VERSION_3) || \ - ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_NLINKBIT)); + return sbp->sb_versionnum == XFS_SB_VERSION_3 || + (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_NLINKBIT)); } static inline void xfs_sb_version_addnlink(xfs_sb_t *sbp) { - (sbp)->sb_versionnum = ((sbp)->sb_versionnum <= XFS_SB_VERSION_2 ? \ - XFS_SB_VERSION_3 : \ - ((sbp)->sb_versionnum | XFS_SB_VERSION_NLINKBIT)); + if (sbp->sb_versionnum <= XFS_SB_VERSION_2) + sbp->sb_versionnum = XFS_SB_VERSION_3; + else + sbp->sb_versionnum |= XFS_SB_VERSION_NLINKBIT; } static inline int xfs_sb_version_hasquota(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_QUOTABIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_QUOTABIT); } static inline void xfs_sb_version_addquota(xfs_sb_t *sbp) { - (sbp)->sb_versionnum = \ - (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 ? \ - ((sbp)->sb_versionnum | XFS_SB_VERSION_QUOTABIT) : \ - (xfs_sb_version_tonew((sbp)->sb_versionnum) | \ - XFS_SB_VERSION_QUOTABIT)); + if (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) + sbp->sb_versionnum |= XFS_SB_VERSION_QUOTABIT; + else + sbp->sb_versionnum = xfs_sb_version_tonew(sbp->sb_versionnum) | + XFS_SB_VERSION_QUOTABIT; } static inline int xfs_sb_version_hasalign(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_ALIGNBIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_ALIGNBIT); } static inline int xfs_sb_version_hasdalign(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_DALIGNBIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_DALIGNBIT); } static inline int xfs_sb_version_hasshared(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_SHAREDBIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_SHAREDBIT); } static inline int xfs_sb_version_hasdirv2(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_DIRV2BIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_DIRV2BIT); } static inline int xfs_sb_version_haslogv2(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_LOGV2BIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_LOGV2BIT); } static inline int xfs_sb_version_hasextflgbit(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_EXTFLGBIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_EXTFLGBIT); } static inline int xfs_sb_version_hassector(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_SECTORBIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_SECTORBIT); } static inline int xfs_sb_version_hasasciici(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && (sbp->sb_versionnum & XFS_SB_VERSION_BORGBIT); } static inline int xfs_sb_version_hasmorebits(xfs_sb_t *sbp) { - return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ - ((sbp)->sb_versionnum & XFS_SB_VERSION_MOREBITSBIT); + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 && + (sbp->sb_versionnum & XFS_SB_VERSION_MOREBITSBIT); } /* @@ -463,22 +471,20 @@ static inline int xfs_sb_version_hasmore static inline int xfs_sb_version_haslazysbcount(xfs_sb_t *sbp) { - return (xfs_sb_version_hasmorebits(sbp) && \ - ((sbp)->sb_features2 & XFS_SB_VERSION2_LAZYSBCOUNTBIT)); + return xfs_sb_version_hasmorebits(sbp) && + (sbp->sb_features2 & XFS_SB_VERSION2_LAZYSBCOUNTBIT); } static inline int xfs_sb_version_hasattr2(xfs_sb_t *sbp) { - return (xfs_sb_version_hasmorebits(sbp)) && \ - ((sbp)->sb_features2 & XFS_SB_VERSION2_ATTR2BIT); + return xfs_sb_version_hasmorebits(sbp) && + (sbp->sb_features2 & XFS_SB_VERSION2_ATTR2BIT); } static inline void xfs_sb_version_addattr2(xfs_sb_t *sbp) { - ((sbp)->sb_versionnum = \ - ((sbp)->sb_versionnum | XFS_SB_VERSION_MOREBITSBIT), \ - ((sbp)->sb_features2 = \ - ((sbp)->sb_features2 | XFS_SB_VERSION2_ATTR2BIT))); + sbp->sb_versionnum |= XFS_SB_VERSION_MOREBITSBIT; + sbp->sb_features2 |= XFS_SB_VERSION2_ATTR2BIT; } static inline void xfs_sb_version_removeattr2(xfs_sb_t *sbp) -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_63 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6qLc031621 for ; Tue, 2 Dec 2008 10:06:52 -0600 X-ASG-Debug-ID: 1228234011-6da201700000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 41E84164F1BF for ; Tue, 2 Dec 2008 08:06:52 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id dHWBv2Q59089jHMG for ; Tue, 02 Dec 2008 08:06:52 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlz-0007Vh-QO for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:51 +0000 Message-Id: <20081202160651.749289000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:45 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 15/22] replace b_fspriv with b_mount Subject: [patch 15/22] replace b_fspriv with b_mount Content-Disposition: inline; filename=xfs-add-bp_mount-field X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234012 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Replace the b_fspriv pointer and it's ugly accessors with a properly types xfs_mount pointer. Also switch log reocvery over to it instead of using b_fspriv for the mount pointer. Signed-off-by: Christoph Hellwig Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c =================================================================== --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_buf.c 2008-11-15 15:27:32.000000000 +0100 +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c 2008-11-15 15:28:01.000000000 +0100 @@ -1085,7 +1085,7 @@ xfs_bawrite( bp->b_flags &= ~(XBF_READ | XBF_DELWRI | XBF_READ_AHEAD); bp->b_flags |= (XBF_WRITE | XBF_ASYNC | _XBF_RUN_QUEUES); - bp->b_fspriv3 = mp; + bp->b_mount = mp; bp->b_strat = xfs_bdstrat_cb; return xfs_bdstrat_cb(bp); } @@ -1098,7 +1098,7 @@ xfs_bdwrite( XB_TRACE(bp, "bdwrite", 0); bp->b_strat = xfs_bdstrat_cb; - bp->b_fspriv3 = mp; + bp->b_mount = mp; bp->b_flags &= ~XBF_READ; bp->b_flags |= (XBF_DELWRI | XBF_ASYNC); Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.h =================================================================== --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_buf.h 2008-11-15 15:28:08.000000000 +0100 +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.h 2008-11-15 15:29:12.000000000 +0100 @@ -168,7 +168,7 @@ typedef struct xfs_buf { struct completion b_iowait; /* queue for I/O waiters */ void *b_fspriv; void *b_fspriv2; - void *b_fspriv3; + struct xfs_mount *b_mount; unsigned short b_error; /* error code on I/O */ unsigned int b_page_count; /* size of page array */ unsigned int b_offset; /* page offset in first page */ @@ -335,8 +335,6 @@ extern void xfs_buf_trace(xfs_buf_t *, c #define XFS_BUF_SET_FSPRIVATE(bp, val) ((bp)->b_fspriv = (void*)(val)) #define XFS_BUF_FSPRIVATE2(bp, type) ((type)(bp)->b_fspriv2) #define XFS_BUF_SET_FSPRIVATE2(bp, val) ((bp)->b_fspriv2 = (void*)(val)) -#define XFS_BUF_FSPRIVATE3(bp, type) ((type)(bp)->b_fspriv3) -#define XFS_BUF_SET_FSPRIVATE3(bp, val) ((bp)->b_fspriv3 = (void*)(val)) #define XFS_BUF_SET_START(bp) do { } while (0) #define XFS_BUF_SET_BRELSE_FUNC(bp, func) ((bp)->b_relse = (func)) Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_lrw.c =================================================================== --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_lrw.c 2008-11-15 15:25:29.000000000 +0100 +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_lrw.c 2008-11-15 15:26:27.000000000 +0100 @@ -847,13 +847,7 @@ retry: int xfs_bdstrat_cb(struct xfs_buf *bp) { - xfs_mount_t *mp; - - mp = XFS_BUF_FSPRIVATE3(bp, xfs_mount_t *); - if (!XFS_FORCED_SHUTDOWN(mp)) { - xfs_buf_iorequest(bp); - return 0; - } else { + if (XFS_FORCED_SHUTDOWN(bp->b_mount)) { xfs_buftrace("XFS__BDSTRAT IOERROR", bp); /* * Metadata write that didn't get logged but @@ -866,6 +860,9 @@ xfs_bdstrat_cb(struct xfs_buf *bp) else return (xfs_bioerror(bp)); } + + xfs_buf_iorequest(bp); + return 0; } /* Index: linux-2.6-xfs/fs/xfs/xfs_buf_item.c =================================================================== --- linux-2.6-xfs.orig/fs/xfs/xfs_buf_item.c 2008-11-15 15:24:38.000000000 +0100 +++ linux-2.6-xfs/fs/xfs/xfs_buf_item.c 2008-11-15 15:25:05.000000000 +0100 @@ -707,8 +707,8 @@ xfs_buf_item_init( * the first. If we do already have one, there is * nothing to do here so return. */ - if (XFS_BUF_FSPRIVATE3(bp, xfs_mount_t *) != mp) - XFS_BUF_SET_FSPRIVATE3(bp, mp); + if (bp->b_mount != mp) + bp->b_mount = mp; XFS_BUF_SET_BDSTRAT_FUNC(bp, xfs_bdstrat_cb); if (XFS_BUF_FSPRIVATE(bp, void *) != NULL) { lip = XFS_BUF_FSPRIVATE(bp, xfs_log_item_t *); Index: linux-2.6-xfs/fs/xfs/xfs_rw.c =================================================================== --- linux-2.6-xfs.orig/fs/xfs/xfs_rw.c 2008-11-15 15:26:37.000000000 +0100 +++ linux-2.6-xfs/fs/xfs/xfs_rw.c 2008-11-15 15:27:17.000000000 +0100 @@ -406,7 +406,7 @@ xfs_bwrite( * XXXsup how does this work for quotas. */ XFS_BUF_SET_BDSTRAT_FUNC(bp, xfs_bdstrat_cb); - XFS_BUF_SET_FSPRIVATE3(bp, mp); + bp->b_mount = mp; XFS_BUF_WRITE(bp); if ((error = XFS_bwrite(bp))) { Index: linux-2.6-xfs/fs/xfs/xfs_log_recover.c =================================================================== --- linux-2.6-xfs.orig/fs/xfs/xfs_log_recover.c 2008-11-15 15:31:41.000000000 +0100 +++ linux-2.6-xfs/fs/xfs/xfs_log_recover.c 2008-11-15 15:35:12.000000000 +0100 @@ -267,21 +267,16 @@ STATIC void xlog_recover_iodone( struct xfs_buf *bp) { - xfs_mount_t *mp; - - ASSERT(XFS_BUF_FSPRIVATE(bp, void *)); - if (XFS_BUF_GETERROR(bp)) { /* * We're not going to bother about retrying * this during recovery. One strike! */ - mp = XFS_BUF_FSPRIVATE(bp, xfs_mount_t *); xfs_ioerror_alert("xlog_recover_iodone", - mp, bp, XFS_BUF_ADDR(bp)); - xfs_force_shutdown(mp, SHUTDOWN_META_IO_ERROR); + bp->b_mount, bp, XFS_BUF_ADDR(bp)); + xfs_force_shutdown(bp->b_mount, SHUTDOWN_META_IO_ERROR); } - XFS_BUF_SET_FSPRIVATE(bp, NULL); + bp->b_mount = NULL; XFS_BUF_CLR_IODONE_FUNC(bp); xfs_biodone(bp); } @@ -2225,9 +2220,8 @@ xlog_recover_do_buffer_trans( XFS_BUF_STALE(bp); error = xfs_bwrite(mp, bp); } else { - ASSERT(XFS_BUF_FSPRIVATE(bp, void *) == NULL || - XFS_BUF_FSPRIVATE(bp, xfs_mount_t *) == mp); - XFS_BUF_SET_FSPRIVATE(bp, mp); + ASSERT(bp->b_mount == NULL || bp->b_mount == mp); + bp->b_mount = mp; XFS_BUF_SET_IODONE_FUNC(bp, xlog_recover_iodone); xfs_bdwrite(mp, bp); } @@ -2490,9 +2484,8 @@ xlog_recover_do_inode_trans( write_inode_buffer: if (ITEM_TYPE(item) == XFS_LI_INODE) { - ASSERT(XFS_BUF_FSPRIVATE(bp, void *) == NULL || - XFS_BUF_FSPRIVATE(bp, xfs_mount_t *) == mp); - XFS_BUF_SET_FSPRIVATE(bp, mp); + ASSERT(bp->b_mount == NULL || bp->b_mount == mp); + bp->b_mount = mp; XFS_BUF_SET_IODONE_FUNC(bp, xlog_recover_iodone); xfs_bdwrite(mp, bp); } else { @@ -2623,9 +2616,8 @@ xlog_recover_do_dquot_trans( memcpy(ddq, recddq, item->ri_buf[1].i_len); ASSERT(dq_f->qlf_size == 2); - ASSERT(XFS_BUF_FSPRIVATE(bp, void *) == NULL || - XFS_BUF_FSPRIVATE(bp, xfs_mount_t *) == mp); - XFS_BUF_SET_FSPRIVATE(bp, mp); + ASSERT(bp->b_mount == NULL || bp->b_mount == mp); + bp->b_mount = mp; XFS_BUF_SET_IODONE_FUNC(bp, xlog_recover_iodone); xfs_bdwrite(mp, bp); -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6qd8031616 for ; Tue, 2 Dec 2008 10:06:52 -0600 X-ASG-Debug-ID: 1228234011-5d7002320000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3506B164F1B5 for ; Tue, 2 Dec 2008 08:06:52 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id HQ2E34FPn3P5VFXO for ; Tue, 02 Dec 2008 08:06:52 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlz-0007UY-La for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:51 +0000 Message-Id: <20081202160651.583993000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:44 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 14/22] remove leftovers of shared read-only support Subject: [patch 14/22] remove leftovers of shared read-only support Content-Disposition: inline; filename=xfs-kill-m_mk_sharedro X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234012 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com We never supported shared read-only filesystems, so remove the dead code left over from IRIX for it. Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/xfs_mount.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_mount.c 2008-12-01 19:26:02.000000000 +0100 +++ xfs-master/fs/xfs/xfs_mount.c 2008-12-01 19:28:02.000000000 +0100 @@ -1352,24 +1352,6 @@ xfs_log_sbcount( return error; } -STATIC void -xfs_mark_shared_ro( - xfs_mount_t *mp, - xfs_buf_t *bp) -{ - xfs_dsb_t *sb = XFS_BUF_TO_SBP(bp); - __uint16_t version; - - if (!(sb->sb_flags & XFS_SBF_READONLY)) - sb->sb_flags |= XFS_SBF_READONLY; - - version = be16_to_cpu(sb->sb_versionnum); - if ((version & XFS_SB_VERSION_NUMBITS) != XFS_SB_VERSION_4 || - !(version & XFS_SB_VERSION_SHAREDBIT)) - version |= XFS_SB_VERSION_SHAREDBIT; - sb->sb_versionnum = cpu_to_be16(version); -} - int xfs_unmountfs_writesb(xfs_mount_t *mp) { @@ -1385,12 +1367,6 @@ xfs_unmountfs_writesb(xfs_mount_t *mp) sbp = xfs_getsb(mp, 0); - /* - * mark shared-readonly if desired - */ - if (mp->m_mk_sharedro) - xfs_mark_shared_ro(mp, sbp); - XFS_BUF_UNDONE(sbp); XFS_BUF_UNREAD(sbp); XFS_BUF_UNDELAYWRITE(sbp); @@ -1402,8 +1378,6 @@ xfs_unmountfs_writesb(xfs_mount_t *mp) if (error) xfs_ioerror_alert("xfs_unmountfs_writesb", mp, sbp, XFS_BUF_ADDR(sbp)); - if (error && mp->m_mk_sharedro) - xfs_fs_cmn_err(CE_ALERT, mp, "Superblock write error detected while unmounting. Filesystem may not be marked shared readonly"); xfs_buf_relse(sbp); } return error; Index: xfs-master/fs/xfs/xfs_mount.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_mount.h 2008-12-01 19:27:59.000000000 +0100 +++ xfs-master/fs/xfs/xfs_mount.h 2008-12-01 19:28:02.000000000 +0100 @@ -301,7 +301,6 @@ typedef struct xfs_mount { int m_sinoalign; /* stripe unit inode alignment */ int m_attr_magicpct;/* 37% of the blocksize */ int m_dir_magicpct; /* 37% of the dir blocksize */ - __uint8_t m_mk_sharedro; /* mark shared ro on unmount */ __uint8_t m_sectbb_log; /* sectlog - BBSHIFT */ const struct xfs_nameops *m_dirnameops; /* vector of dir name ops */ int m_dirblksize; /* directory block sz--bytes */ Index: xfs-master/fs/xfs/linux-2.6/xfs_super.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_super.c 2008-12-01 19:27:52.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_super.c 2008-12-01 19:28:02.000000000 +0100 @@ -1388,35 +1388,6 @@ xfs_finish_flags( return XFS_ERROR(EROFS); } -#if 0 /* shared mounts were never supported on Linux */ - /* - * check for shared mount. - */ - if (ap->flags & XFSMNT_SHARED) { - if (!xfs_sb_version_hasshared(&mp->m_sb)) - return XFS_ERROR(EINVAL); - - /* - * For IRIX 6.5, shared mounts must have the shared - * version bit set, have the persistent readonly - * field set, must be version 0 and can only be mounted - * read-only. - */ - if (!ronly || !(mp->m_sb.sb_flags & XFS_SBF_READONLY) || - (mp->m_sb.sb_shared_vn != 0)) - return XFS_ERROR(EINVAL); - - mp->m_flags |= XFS_MOUNT_SHARED; - - /* - * Shared XFS V0 can't deal with DMI. Return EINVAL. - */ - if (mp->m_sb.sb_shared_vn == 0 && - (mp->m_flags & XFS_MOUNT_DMAPI)) - return XFS_ERROR(EINVAL); - } -#endif - return 0; } -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6pSn031610 for ; Tue, 2 Dec 2008 10:06:52 -0600 X-ASG-Debug-ID: 1228234010-619902170000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AB6F6164F1B5 for ; Tue, 2 Dec 2008 08:06:50 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id V8KE82WzWFfDw80p for ; Tue, 02 Dec 2008 08:06:50 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xly-0007Ke-9i for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:50 +0000 Message-Id: <20081202160650.198364000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:35 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 05/22] cleanup the inode reclaim path Subject: [patch 05/22] cleanup the inode reclaim path Content-Disposition: inline; filename=xfs-cleanup-xfs_ireclaim X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234010 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Merge xfs_iextract and xfs_idestory into xfs_ireclaim as they are never called individually. Also rewrite most comments in this area as they were serverly out of date. Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/xfs_iget.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_iget.c 2008-12-01 19:26:04.000000000 +0100 +++ xfs-master/fs/xfs/xfs_iget.c 2008-12-01 19:27:15.000000000 +0100 @@ -450,65 +450,109 @@ xfs_iput_new( IRELE(ip); } - /* - * This routine embodies the part of the reclaim code that pulls - * the inode from the inode hash table and the mount structure's - * inode list. - * This should only be called from xfs_reclaim(). + * This is called free all the memory associated with an inode. + * It must free the inode itself and any buffers allocated for + * if_extents/if_data and if_broot. It must also free the lock + * associated with the inode. + * + * Note: because we don't initialise everything on reallocation out + * of the zone, we must ensure we nullify everything correctly before + * freeing the structure. */ void -xfs_ireclaim(xfs_inode_t *ip) +xfs_ireclaim( + struct xfs_inode *ip) { - /* - * Remove from old hash list and mount list. - */ - XFS_STATS_INC(xs_ig_reclaims); + struct xfs_mount *mp = ip->i_mount; + struct xfs_perag *pag; - xfs_iextract(ip); + XFS_STATS_INC(xs_ig_reclaims); /* - * Here we do a spurious inode lock in order to coordinate with inode - * cache radix tree lookups. This is because the lookup can reference - * the inodes in the cache without taking references. We make that OK - * here by ensuring that we wait until the inode is unlocked after the - * lookup before we go ahead and free it. We get both the ilock and - * the iolock because the code may need to drop the ilock one but will - * still hold the iolock. + * Remove the inode from the per-AG radix tree. It doesn't matter + * if it was never added to it because radix_tree_delete can deal + * with that case just fine. */ - xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + pag = xfs_get_perag(mp, ip->i_ino); + write_lock(&pag->pag_ici_lock); + radix_tree_delete(&pag->pag_ici_root, XFS_INO_TO_AGINO(mp, ip->i_ino)); + write_unlock(&pag->pag_ici_lock); + xfs_put_perag(mp, pag); /* - * Release dquots (and their references) if any. An inode may escape - * xfs_inactive and get here via vn_alloc->vn_reclaim path. + * Here we do an (almost) spurious inode lock in order to coordinate + * with inode cache radix tree lookups. This is because the lookup + * can reference the inodes in the cache without taking references. + * + * We make that OK here by ensuring that we wait until the inode is + * unlocked after the lookup before we go ahead and free it. We get + * both the ilock and the iolock because the code may need to drop the + * ilock one but will still hold the iolock. */ - XFS_QM_DQDETACH(ip->i_mount, ip); - + xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); /* - * Free all memory associated with the inode. + * Release dquots (and their references) if any. */ + XFS_QM_DQDETACH(ip->i_mount, ip); xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); - xfs_idestroy(ip); -} -/* - * This routine removes an about-to-be-destroyed inode from - * all of the lists in which it is located with the exception - * of the behavior chain. - */ -void -xfs_iextract( - xfs_inode_t *ip) -{ - xfs_mount_t *mp = ip->i_mount; - xfs_perag_t *pag = xfs_get_perag(mp, ip->i_ino); + switch (ip->i_d.di_mode & S_IFMT) { + case S_IFREG: + case S_IFDIR: + case S_IFLNK: + xfs_idestroy_fork(ip, XFS_DATA_FORK); + break; + } - write_lock(&pag->pag_ici_lock); - radix_tree_delete(&pag->pag_ici_root, XFS_INO_TO_AGINO(mp, ip->i_ino)); - write_unlock(&pag->pag_ici_lock); - xfs_put_perag(mp, pag); + if (ip->i_afp) + xfs_idestroy_fork(ip, XFS_ATTR_FORK); + +#ifdef XFS_INODE_TRACE + ktrace_free(ip->i_trace); +#endif +#ifdef XFS_BMAP_TRACE + ktrace_free(ip->i_xtrace); +#endif +#ifdef XFS_BTREE_TRACE + ktrace_free(ip->i_btrace); +#endif +#ifdef XFS_RW_TRACE + ktrace_free(ip->i_rwtrace); +#endif +#ifdef XFS_ILOCK_TRACE + ktrace_free(ip->i_lock_trace); +#endif +#ifdef XFS_DIR2_TRACE + ktrace_free(ip->i_dir_trace); +#endif + if (ip->i_itemp) { + /* + * Only if we are shutting down the fs will we see an + * inode still in the AIL. If it is there, we should remove + * it to prevent a use-after-free from occurring. + */ + xfs_log_item_t *lip = &ip->i_itemp->ili_item; + struct xfs_ail *ailp = lip->li_ailp; - mp->m_ireclaims++; + ASSERT(((lip->li_flags & XFS_LI_IN_AIL) == 0) || + XFS_FORCED_SHUTDOWN(ip->i_mount)); + if (lip->li_flags & XFS_LI_IN_AIL) { + spin_lock(&ailp->xa_lock); + if (lip->li_flags & XFS_LI_IN_AIL) + xfs_trans_ail_delete(ailp, lip); + else + spin_unlock(&ailp->xa_lock); + } + xfs_inode_item_destroy(ip); + ip->i_itemp = NULL; + } + /* asserts to verify all state is correct here */ + ASSERT(atomic_read(&ip->i_iocount) == 0); + ASSERT(atomic_read(&ip->i_pincount) == 0); + ASSERT(!spin_is_locked(&ip->i_flags_lock)); + ASSERT(completion_done(&ip->i_flush)); + kmem_zone_free(xfs_inode_zone, ip); } /* Index: xfs-master/fs/xfs/xfs_inode.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_inode.h 2008-12-01 19:26:04.000000000 +0100 +++ xfs-master/fs/xfs/xfs_inode.h 2008-12-01 19:27:15.000000000 +0100 @@ -531,8 +531,6 @@ int xfs_itruncate_finish(struct xfs_tra xfs_fsize_t, int, int); int xfs_iunlink(struct xfs_trans *, xfs_inode_t *); -void xfs_idestroy(xfs_inode_t *); -void xfs_iextract(xfs_inode_t *); void xfs_iext_realloc(xfs_inode_t *, int, int); void xfs_ipin(xfs_inode_t *); void xfs_iunpin(xfs_inode_t *); Index: xfs-master/fs/xfs/xfs_mount.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_mount.h 2008-12-01 19:26:35.000000000 +0100 +++ xfs-master/fs/xfs/xfs_mount.h 2008-12-01 19:27:15.000000000 +0100 @@ -241,7 +241,6 @@ typedef struct xfs_mount { xfs_agnumber_t m_agirotor; /* last ag dir inode alloced */ spinlock_t m_agirotor_lock;/* .. and lock protecting it */ xfs_agnumber_t m_maxagi; /* highest inode alloc group */ - uint m_ireclaims; /* count of calls to reclaim*/ uint m_readio_log; /* min read size log bytes */ uint m_readio_blocks; /* min read size blocks */ uint m_writeio_log; /* min write size log bytes */ Index: xfs-master/fs/xfs/xfs_inode.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_inode.c 2008-12-01 19:26:04.000000000 +0100 +++ xfs-master/fs/xfs/xfs_inode.c 2008-12-01 19:27:15.000000000 +0100 @@ -2450,78 +2450,6 @@ xfs_idestroy_fork( } /* - * This is called free all the memory associated with an inode. - * It must free the inode itself and any buffers allocated for - * if_extents/if_data and if_broot. It must also free the lock - * associated with the inode. - * - * Note: because we don't initialise everything on reallocation out - * of the zone, we must ensure we nullify everything correctly before - * freeing the structure. - */ -void -xfs_idestroy( - xfs_inode_t *ip) -{ - switch (ip->i_d.di_mode & S_IFMT) { - case S_IFREG: - case S_IFDIR: - case S_IFLNK: - xfs_idestroy_fork(ip, XFS_DATA_FORK); - break; - } - if (ip->i_afp) - xfs_idestroy_fork(ip, XFS_ATTR_FORK); - -#ifdef XFS_INODE_TRACE - ktrace_free(ip->i_trace); -#endif -#ifdef XFS_BMAP_TRACE - ktrace_free(ip->i_xtrace); -#endif -#ifdef XFS_BTREE_TRACE - ktrace_free(ip->i_btrace); -#endif -#ifdef XFS_RW_TRACE - ktrace_free(ip->i_rwtrace); -#endif -#ifdef XFS_ILOCK_TRACE - ktrace_free(ip->i_lock_trace); -#endif -#ifdef XFS_DIR2_TRACE - ktrace_free(ip->i_dir_trace); -#endif - if (ip->i_itemp) { - /* - * Only if we are shutting down the fs will we see an - * inode still in the AIL. If it is there, we should remove - * it to prevent a use-after-free from occurring. - */ - xfs_log_item_t *lip = &ip->i_itemp->ili_item; - struct xfs_ail *ailp = lip->li_ailp; - - ASSERT(((lip->li_flags & XFS_LI_IN_AIL) == 0) || - XFS_FORCED_SHUTDOWN(ip->i_mount)); - if (lip->li_flags & XFS_LI_IN_AIL) { - spin_lock(&ailp->xa_lock); - if (lip->li_flags & XFS_LI_IN_AIL) - xfs_trans_ail_delete(ailp, lip); - else - spin_unlock(&ailp->xa_lock); - } - xfs_inode_item_destroy(ip); - ip->i_itemp = NULL; - } - /* asserts to verify all state is correct here */ - ASSERT(atomic_read(&ip->i_iocount) == 0); - ASSERT(atomic_read(&ip->i_pincount) == 0); - ASSERT(!spin_is_locked(&ip->i_flags_lock)); - ASSERT(completion_done(&ip->i_flush)); - kmem_zone_free(xfs_inode_zone, ip); -} - - -/* * Increment the pin count of the given buffer. * This value is protected by ipinlock spinlock in the mount structure. */ -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6oYX031609 for ; Tue, 2 Dec 2008 10:06:52 -0600 X-ASG-Debug-ID: 1228234010-5d7002310000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 47FCF164F1B5 for ; Tue, 2 Dec 2008 08:06:50 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 4hTfaFm5u4hWYr9L for ; Tue, 02 Dec 2008 08:06:50 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlx-0007Hp-Si for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:49 +0000 Message-Id: <20081202160649.790190000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:32 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 02/22] remove useless mnt_want_write call in xfs_write Subject: [patch 02/22] remove useless mnt_want_write call in xfs_write Content-Disposition: inline; filename=xfs-remove-mnt_want_write X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234010 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com When mnt_want_write was introduced a call to it was added around xfs_ichgtime, but there is no need for this because a file can't be open read/write on a r/o mount, and a mount can't degrade r/o while we still have files open for writing. As the mnt_want_write changes were never merged into the CVS tree this patch is for mainline only. Signed-off-by: Christoph Hellwig --- linux-2.6/fs/xfs/linux-2.6/xfs_lrw.c 2008-08-14 14:52:15.000000000 -0300 +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_lrw.c 2008-08-14 14:54:53.000000000 -0300 @@ -51,7 +51,6 @@ #include "xfs_vnodeops.h" #include -#include #include @@ -668,15 +667,8 @@ start: if (new_size > xip->i_size) xip->i_new_size = new_size; - /* - * We're not supposed to change timestamps in readonly-mounted - * filesystems. Throw it away if anyone asks us. - */ - if (likely(!(ioflags & IO_INVIS) && - !mnt_want_write(file->f_path.mnt))) { + if (likely(!(ioflags & IO_INVIS))) xfs_ichgtime(xip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); - mnt_drop_write(file->f_path.mnt); - } /* * If the offset is beyond the size of the file, we have a couple -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:53 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6rjX031657 for ; Tue, 2 Dec 2008 10:06:53 -0600 X-ASG-Debug-ID: 1228234012-5c7b02810000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A0F05164F1BF for ; Tue, 2 Dec 2008 08:06:52 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id cShg7ZyyzIlhVF75 for ; Tue, 02 Dec 2008 08:06:52 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xm0-0007YW-92 for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:52 +0000 Message-Id: <20081202160652.147347000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:48 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 18/22] kill xfs_unmount_flush Subject: [patch 18/22] kill xfs_unmount_flush Content-Disposition: inline; filename=xfs-kill-xfs_unmountfs_flush X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234012 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com There's almost nothing left in this function, instead remove the IRELE on the real times inodes and the call to XFS_QM_UNMOUNT into xfs_unmountfs. For the regular unmount case that means it now also happenes after dmapi notification, but otherwise there is no difference in behaviour. Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/xfs_mount.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_mount.c 2008-12-01 19:28:02.000000000 +0100 +++ xfs-master/fs/xfs/xfs_mount.c 2008-12-01 19:28:11.000000000 +0100 @@ -1220,6 +1220,16 @@ xfs_unmountfs( __uint64_t resblks; int error; + /* + * Release dquot that rootinode, rbmino and rsumino might be holding, + * and release the quota inodes. + */ + XFS_QM_UNMOUNT(mp); + + if (mp->m_rbmip) + IRELE(mp->m_rbmip); + if (mp->m_rsumip) + IRELE(mp->m_rsumip); IRELE(mp->m_rootip); /* Index: xfs-master/fs/xfs/xfs_mount.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_mount.h 2008-12-01 19:28:08.000000000 +0100 +++ xfs-master/fs/xfs/xfs_mount.h 2008-12-01 19:28:11.000000000 +0100 @@ -510,7 +510,6 @@ extern void xfs_mountfs_check_barriers(x extern void xfs_unmountfs(xfs_mount_t *); extern int xfs_unmountfs_writesb(xfs_mount_t *); -extern int xfs_unmount_flush(xfs_mount_t *, int); extern int xfs_mod_incore_sb(xfs_mount_t *, xfs_sb_field_t, int64_t, int); extern int xfs_mod_incore_sb_unlocked(xfs_mount_t *, xfs_sb_field_t, int64_t, int); Index: xfs-master/fs/xfs/xfs_vfsops.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_vfsops.c 2008-12-01 19:28:07.000000000 +0100 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2000-2005 Silicon Graphics, Inc. - * All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include "xfs.h" -#include "xfs_fs.h" -#include "xfs_types.h" -#include "xfs_bit.h" -#include "xfs_log.h" -#include "xfs_inum.h" -#include "xfs_trans.h" -#include "xfs_sb.h" -#include "xfs_ag.h" -#include "xfs_dir2.h" -#include "xfs_dmapi.h" -#include "xfs_mount.h" -#include "xfs_da_btree.h" -#include "xfs_bmap_btree.h" -#include "xfs_ialloc_btree.h" -#include "xfs_alloc_btree.h" -#include "xfs_dir2_sf.h" -#include "xfs_attr_sf.h" -#include "xfs_dinode.h" -#include "xfs_inode.h" -#include "xfs_inode_item.h" -#include "xfs_btree.h" -#include "xfs_alloc.h" -#include "xfs_ialloc.h" -#include "xfs_quota.h" -#include "xfs_error.h" -#include "xfs_bmap.h" -#include "xfs_rw.h" -#include "xfs_buf_item.h" -#include "xfs_log_priv.h" -#include "xfs_dir2_trace.h" -#include "xfs_extfree_item.h" -#include "xfs_acl.h" -#include "xfs_attr.h" -#include "xfs_mru_cache.h" -#include "xfs_filestream.h" -#include "xfs_fsops.h" -#include "xfs_vnodeops.h" -#include "xfs_utils.h" -#include "xfs_sync.h" - - -/* - * xfs_unmount_flush implements a set of flush operation on special - * inodes, which are needed as a separate set of operations so that - * they can be called as part of relocation process. - */ -int -xfs_unmount_flush( - xfs_mount_t *mp, /* Mount structure we are getting - rid of. */ - int relocation) /* Called from vfs relocation. */ -{ - /* - * Release dquot that rootinode, rbmino and rsumino might be holding, - * flush and purge the quota inodes. - */ - XFS_QM_UNMOUNT(mp); - - if (mp->m_rbmip) - IRELE(mp->m_rbmip); - if (mp->m_rsumip) - IRELE(mp->m_rsumip); - - return 0; -} Index: xfs-master/fs/xfs/linux-2.6/xfs_super.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_super.c 2008-12-01 19:28:02.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_super.c 2008-12-01 19:28:11.000000000 +0100 @@ -1043,7 +1043,6 @@ xfs_fs_put_super( struct xfs_mount *mp = XFS_M(sb); struct xfs_inode *rip = mp->m_rootip; int unmount_event_flags = 0; - int error; xfs_syncd_stop(mp); xfs_sync_inodes(mp, SYNC_ATTR|SYNC_DELWRI); @@ -1071,8 +1070,6 @@ xfs_fs_put_super( xfs_filestream_unmount(mp); XFS_bflush(mp->m_ddev_targp); - error = xfs_unmount_flush(mp, 0); - WARN_ON(error); if (mp->m_flags & XFS_MOUNT_DMAPI) { XFS_SEND_UNMOUNT(mp, rip, DM_RIGHT_NULL, 0, 0, @@ -1535,8 +1532,6 @@ xfs_fs_fill_super( xfs_filestream_unmount(mp); XFS_bflush(mp->m_ddev_targp); - error = xfs_unmount_flush(mp, 0); - WARN_ON(error); xfs_unmountfs(mp); goto out_free_sb; Index: xfs-master/fs/xfs/Makefile =================================================================== --- xfs-master.orig/fs/xfs/Makefile 2008-12-01 19:26:35.000000000 +0100 +++ xfs-master/fs/xfs/Makefile 2008-12-01 19:28:11.000000000 +0100 @@ -85,7 +85,6 @@ xfs-y += xfs_alloc.o \ xfs_trans_inode.o \ xfs_trans_item.o \ xfs_utils.o \ - xfs_vfsops.o \ xfs_vnodeops.o \ xfs_rw.o \ xfs_dmops.o \ -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:06:53 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-4.1 required=5.0 tests=AWL,BAYES_00,LOCAL_GNU_PATCH autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G6ra0031671 for ; Tue, 2 Dec 2008 10:06:53 -0600 X-ASG-Debug-ID: 1228234012-5c7d02620000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0C3F3164F1BF for ; Tue, 2 Dec 2008 08:06:52 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id ZEn7HJiDezutfwce for ; Tue, 02 Dec 2008 08:06:52 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xm0-0007dc-Ls for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:52 +0000 Message-Id: <20081202160652.542003000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:50 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 20/22] move vn_iowait / vn_iowake into xfs_aops.c Subject: [patch 20/22] move vn_iowait / vn_iowake into xfs_aops.c Content-Disposition: inline; filename=xfs-move-vn_iowait X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234013 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com The whole machinery to wait on I/O completion is related to the I/O path and should be there instead of in xfs_vnode.c. Also give the functions more descriptive names. Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/linux-2.6/xfs_aops.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_aops.c 2008-12-02 11:26:38.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_aops.c 2008-12-02 11:26:47.000000000 +0100 @@ -42,6 +42,40 @@ #include #include + +/* + * Prime number of hash buckets since address is used as the key. + */ +#define NVSYNC 37 +#define to_ioend_wq(v) (&xfs_ioend_wq[((unsigned long)v) % NVSYNC]) +static wait_queue_head_t xfs_ioend_wq[NVSYNC]; + +void __init +xfs_ioend_init(void) +{ + int i; + + for (i = 0; i < NVSYNC; i++) + init_waitqueue_head(&xfs_ioend_wq[i]); +} + +void +xfs_ioend_wait( + xfs_inode_t *ip) +{ + wait_queue_head_t *wq = to_ioend_wq(ip); + + wait_event(*wq, (atomic_read(&ip->i_iocount) == 0)); +} + +STATIC void +xfs_ioend_wake( + xfs_inode_t *ip) +{ + if (atomic_dec_and_test(&ip->i_iocount)) + wake_up(to_ioend_wq(ip)); +} + STATIC void xfs_count_page_state( struct page *page, @@ -164,7 +198,7 @@ xfs_destroy_ioend( __FILE__, __LINE__); } - vn_iowake(ip); + xfs_ioend_wake(ip); mempool_free(ioend, xfs_ioend_pool); } @@ -516,7 +550,7 @@ xfs_cancel_ioend( unlock_buffer(bh); } while ((bh = next_bh) != NULL); - vn_iowake(XFS_I(ioend->io_inode)); + xfs_ioend_wake(XFS_I(ioend->io_inode)); mempool_free(ioend, xfs_ioend_pool); } while ((ioend = next) != NULL); } Index: xfs-master/fs/xfs/linux-2.6/xfs_aops.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_aops.h 2008-12-02 11:24:22.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_aops.h 2008-12-02 11:26:47.000000000 +0100 @@ -43,4 +43,7 @@ typedef struct xfs_ioend { extern const struct address_space_operations xfs_address_space_operations; extern int xfs_get_blocks(struct inode *, sector_t, struct buffer_head *, int); +extern void xfs_ioend_init(void); +extern void xfs_ioend_wait(struct xfs_inode *); + #endif /* __XFS_AOPS_H__ */ Index: xfs-master/fs/xfs/linux-2.6/xfs_super.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_super.c 2008-12-02 11:26:30.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_super.c 2008-12-02 11:26:47.000000000 +0100 @@ -1822,7 +1822,7 @@ init_xfs_fs(void) XFS_BUILD_OPTIONS " enabled\n"); ktrace_init(64); - vn_init(); + xfs_ioend_init(); xfs_dir_startup(); error = xfs_init_zones(); Index: xfs-master/fs/xfs/linux-2.6/xfs_sync.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_sync.c 2008-12-02 11:24:22.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_sync.c 2008-12-02 11:26:47.000000000 +0100 @@ -133,7 +133,7 @@ xfs_sync_inodes_ag( lock_flags |= XFS_IOLOCK_SHARED; error = xfs_flush_pages(ip, 0, -1, fflag, FI_NONE); if (flags & SYNC_IOWAIT) - vn_iowait(ip); + xfs_ioend_wait(ip); } xfs_ilock(ip, XFS_ILOCK_SHARED); Index: xfs-master/fs/xfs/linux-2.6/xfs_vnode.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_vnode.c 2008-12-02 11:26:38.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_vnode.c 2008-12-02 11:26:47.000000000 +0100 @@ -32,40 +32,6 @@ #include "xfs_mount.h" -/* - * Dedicated vnode inactive/reclaim sync wait queues. - * Prime number of hash buckets since address is used as the key. - */ -#define NVSYNC 37 -#define vptosync(v) (&vsync[((unsigned long)v) % NVSYNC]) -static wait_queue_head_t vsync[NVSYNC]; - -void __init -vn_init(void) -{ - int i; - - for (i = 0; i < NVSYNC; i++) - init_waitqueue_head(&vsync[i]); -} - -void -vn_iowait( - xfs_inode_t *ip) -{ - wait_queue_head_t *wq = vptosync(ip); - - wait_event(*wq, (atomic_read(&ip->i_iocount) == 0)); -} - -void -vn_iowake( - xfs_inode_t *ip) -{ - if (atomic_dec_and_test(&ip->i_iocount)) - wake_up(vptosync(ip)); -} - #ifdef XFS_INODE_TRACE #define KTRACE_ENTER(ip, vk, s, line, ra) \ Index: xfs-master/fs/xfs/linux-2.6/xfs_vnode.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_vnode.h 2008-12-02 11:26:38.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_vnode.h 2008-12-02 11:26:47.000000000 +0100 @@ -54,16 +54,6 @@ struct attrlist_cursor_kern; Prevent VM access to the pages until the operation completes. */ - -extern void vn_init(void); - -/* - * Yeah, these don't take vnode anymore at all, all this should be - * cleaned up at some point. - */ -extern void vn_iowait(struct xfs_inode *ip); -extern void vn_iowake(struct xfs_inode *ip); - #define IHOLD(ip) \ do { \ ASSERT(atomic_read(&VFS_I(ip)->i_count) > 0) ; \ Index: xfs-master/fs/xfs/xfs_inode.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_inode.c 2008-12-02 11:24:22.000000000 +0100 +++ xfs-master/fs/xfs/xfs_inode.c 2008-12-02 11:26:47.000000000 +0100 @@ -1322,8 +1322,8 @@ xfs_itrunc_trace( * direct I/O with the truncate operation. Also, because we hold * the IOLOCK in exclusive mode, we prevent new direct I/Os from being * started until the truncate completes and drops the lock. Essentially, - * the vn_iowait() call forms an I/O barrier that provides strict ordering - * between direct I/Os and the truncate operation. + * the xfs_ioend_wait() call forms an I/O barrier that provides strict + * ordering between direct I/Os and the truncate operation. * * The flags parameter can have either the value XFS_ITRUNC_DEFINITE * or XFS_ITRUNC_MAYBE. The XFS_ITRUNC_MAYBE value should be used @@ -1354,7 +1354,7 @@ xfs_itruncate_start( /* wait for the completion of any pending DIOs */ if (new_size == 0 || new_size < ip->i_size) - vn_iowait(ip); + xfs_ioend_wait(ip); /* * Call toss_pages or flushinval_pages to get rid of pages Index: xfs-master/fs/xfs/xfs_vnodeops.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_vnodeops.c 2008-12-02 11:24:22.000000000 +0100 +++ xfs-master/fs/xfs/xfs_vnodeops.c 2008-12-02 11:26:47.000000000 +0100 @@ -338,7 +338,7 @@ xfs_setattr( } /* wait for all I/O to complete */ - vn_iowait(ip); + xfs_ioend_wait(ip); if (!code) code = xfs_itruncate_data(ip, iattr->ia_size); @@ -2758,7 +2758,7 @@ xfs_reclaim( return 0; } - vn_iowait(ip); + xfs_ioend_wait(ip); ASSERT(XFS_FORCED_SHUTDOWN(ip->i_mount) || ip->i_delayed_blks == 0); @@ -3149,7 +3149,8 @@ xfs_free_file_space( need_iolock = 0; if (need_iolock) { xfs_ilock(ip, XFS_IOLOCK_EXCL); - vn_iowait(ip); /* wait for the completion of any pending DIOs */ + /* wait for the completion of any pending DIOs */ + xfs_ioend_wait(ip); } rounding = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:07:21 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G7Lox031738 for ; Tue, 2 Dec 2008 10:07:21 -0600 X-ASG-Debug-ID: 1228234040-60d502620000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F10A3164F1E0 for ; Tue, 2 Dec 2008 08:07:20 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id MgcLIBZ1B2LVMaLy for ; Tue, 02 Dec 2008 08:07:20 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xly-0007Jd-4q for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:50 +0000 Message-Id: <20081202160650.066779000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:34 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 04/22] remove unused prototypes for xfs_ihash_init / xfs_ihash_free Subject: [patch 04/22] remove unused prototypes for xfs_ihash_init / xfs_ihash_free Content-Disposition: inline; filename=xfs-kill-xfs_ihash_init-exit X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234040 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Signed-off-by: Christoph Hellwig Index: linux-2.6-xfs/fs/xfs/xfs_inode.h =================================================================== --- linux-2.6-xfs.orig/fs/xfs/xfs_inode.h 2008-11-19 20:07:01.000000000 +0100 +++ linux-2.6-xfs/fs/xfs/xfs_inode.h 2008-11-19 20:07:05.000000000 +0100 @@ -493,8 +493,6 @@ static inline void xfs_ifunlock(xfs_inod /* * xfs_iget.c prototypes. */ -void xfs_ihash_init(struct xfs_mount *); -void xfs_ihash_free(struct xfs_mount *); xfs_inode_t *xfs_inode_incore(struct xfs_mount *, xfs_ino_t, struct xfs_trans *); int xfs_iget(struct xfs_mount *, struct xfs_trans *, xfs_ino_t, -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:07:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G7qJg031846 for ; Tue, 2 Dec 2008 10:07:52 -0600 X-ASG-Debug-ID: 1228234071-60da02680000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 088C3164F1F7 for ; Tue, 2 Dec 2008 08:07:51 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id mjS26WKDOZhmpU2b for ; Tue, 02 Dec 2008 08:07:51 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xm1-0007eb-0g for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:53 +0000 Message-Id: <20081202160652.907502000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:52 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 22/22] use inode_change_ok for setattr permission checking Subject: [patch 22/22] use inode_change_ok for setattr permission checking Content-Disposition: inline; filename=xfs-setattr-use-inode_change_ok X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234072 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Instead of implementing our own checks use inode_change_ok to check for necessary permission in setattr. There is a slight change in behaviour as inode_change_ok doesn't allow i_mode updates to add the suid or sgid without superuser privilegues while the old XFS code just stripped away those bits from the file mode. (First sent on Semptember 29th) Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/xfs_vnodeops.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_vnodeops.c 2008-12-02 14:00:52.000000000 +0100 +++ xfs-master/fs/xfs/xfs_vnodeops.c 2008-12-02 14:00:52.000000000 +0100 @@ -70,7 +70,6 @@ xfs_setattr( gid_t gid=0, igid=0; int timeflags = 0; struct xfs_dquot *udqp, *gdqp, *olddquot1, *olddquot2; - int file_owner; int need_iolock = 1; xfs_itrace_entry(ip); @@ -81,6 +80,10 @@ xfs_setattr( if (XFS_FORCED_SHUTDOWN(mp)) return XFS_ERROR(EIO); + code = -inode_change_ok(inode, iattr); + if (code) + return code; + olddquot1 = olddquot2 = NULL; udqp = gdqp = NULL; @@ -158,56 +161,6 @@ xfs_setattr( xfs_ilock(ip, lock_flags); - /* boolean: are we the file owner? */ - file_owner = (current_fsuid() == ip->i_d.di_uid); - - /* - * Change various properties of a file. - * Only the owner or users with CAP_FOWNER - * capability may do these things. - */ - if (mask & (ATTR_MODE|ATTR_UID|ATTR_GID)) { - /* - * CAP_FOWNER overrides the following restrictions: - * - * The user ID of the calling process must be equal - * to the file owner ID, except in cases where the - * CAP_FSETID capability is applicable. - */ - if (!file_owner && !capable(CAP_FOWNER)) { - code = XFS_ERROR(EPERM); - goto error_return; - } - - /* - * CAP_FSETID overrides the following restrictions: - * - * The effective user ID of the calling process shall match - * the file owner when setting the set-user-ID and - * set-group-ID bits on that file. - * - * The effective group ID or one of the supplementary group - * IDs of the calling process shall match the group owner of - * the file when setting the set-group-ID bit on that file - */ - if (mask & ATTR_MODE) { - mode_t m = 0; - - if ((iattr->ia_mode & S_ISUID) && !file_owner) - m |= S_ISUID; - if ((iattr->ia_mode & S_ISGID) && - !in_group_p((gid_t)ip->i_d.di_gid)) - m |= S_ISGID; -#if 0 - /* Linux allows this, Irix doesn't. */ - if ((iattr->ia_mode & S_ISVTX) && !S_ISDIR(ip->i_d.di_mode)) - m |= S_ISVTX; -#endif - if (m && !capable(CAP_FSETID)) - iattr->ia_mode &= ~m; - } - } - /* * Change file ownership. Must be the owner or privileged. */ @@ -224,22 +177,6 @@ xfs_setattr( uid = (mask & ATTR_UID) ? iattr->ia_uid : iuid; /* - * CAP_CHOWN overrides the following restrictions: - * - * If _POSIX_CHOWN_RESTRICTED is defined, this capability - * shall override the restriction that a process cannot - * change the user ID of a file it owns and the restriction - * that the group ID supplied to the chown() function - * shall be equal to either the group ID or one of the - * supplementary group IDs of the calling process. - */ - if ((iuid != uid || - (igid != gid && !in_group_p((gid_t)gid))) && - !capable(CAP_CHOWN)) { - code = XFS_ERROR(EPERM); - goto error_return; - } - /* * Do a quota reservation only if uid/gid is actually * going to change. */ @@ -276,36 +213,22 @@ xfs_setattr( code = XFS_ERROR(EINVAL); goto error_return; } + /* * Make sure that the dquots are attached to the inode. */ - if ((code = XFS_QM_DQATTACH(mp, ip, XFS_QMOPT_ILOCKED))) + code = XFS_QM_DQATTACH(mp, ip, XFS_QMOPT_ILOCKED); + if (code) goto error_return; - } - - /* - * Change file access or modified times. - */ - if (mask & (ATTR_ATIME|ATTR_MTIME)) { - if (!file_owner) { - if ((mask & (ATTR_MTIME_SET|ATTR_ATIME_SET)) && - !capable(CAP_FOWNER)) { - code = XFS_ERROR(EPERM); - goto error_return; - } - } - } - /* - * Now we can make the changes. Before we join the inode - * to the transaction, if ATTR_SIZE is set then take care of - * the part of the truncation that must be done without the - * inode lock. This needs to be done before joining the inode - * to the transaction, because the inode cannot be unlocked - * once it is a part of the transaction. - */ - if (mask & ATTR_SIZE) { - code = 0; + /* + * Now we can make the changes. Before we join the inode + * to the transaction, if ATTR_SIZE is set then take care of + * the part of the truncation that must be done without the + * inode lock. This needs to be done before joining the inode + * to the transaction, because the inode cannot be unlocked + * once it is a part of the transaction. + */ if (iattr->ia_size > ip->i_size) { /* * Do the first part of growing a file: zero any data @@ -360,17 +283,10 @@ xfs_setattr( } commit_flags = XFS_TRANS_RELEASE_LOG_RES; xfs_ilock(ip, XFS_ILOCK_EXCL); - } - if (tp) { xfs_trans_ijoin(tp, ip, lock_flags); xfs_trans_ihold(tp, ip); - } - /* - * Truncate file. Must have write permission and not be a directory. - */ - if (mask & ATTR_SIZE) { /* * Only change the c/mtime if we are changing the size * or we are explicitly asked to change it. This handles @@ -410,20 +326,9 @@ xfs_setattr( */ xfs_iflags_set(ip, XFS_ITRUNCATED); } - } - - /* - * Change file access modes. - */ - if (mask & ATTR_MODE) { - ip->i_d.di_mode &= S_IFMT; - ip->i_d.di_mode |= iattr->ia_mode & ~S_IFMT; - - inode->i_mode &= S_IFMT; - inode->i_mode |= iattr->ia_mode & ~S_IFMT; - - xfs_trans_log_inode (tp, ip, XFS_ILOG_CORE); - timeflags |= XFS_ICHGTIME_CHG; + } else if (tp) { + xfs_trans_ijoin(tp, ip, lock_flags); + xfs_trans_ihold(tp, ip); } /* @@ -471,6 +376,24 @@ xfs_setattr( timeflags |= XFS_ICHGTIME_CHG; } + /* + * Change file access modes. + */ + if (mask & ATTR_MODE) { + umode_t mode = iattr->ia_mode; + + if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID)) + mode &= ~S_ISGID; + + ip->i_d.di_mode &= S_IFMT; + ip->i_d.di_mode |= mode & ~S_IFMT; + + inode->i_mode &= S_IFMT; + inode->i_mode |= mode & ~S_IFMT; + + xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); + timeflags |= XFS_ICHGTIME_CHG; + } /* * Change file access or modified times. -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:07:51 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G7pUP031826 for ; Tue, 2 Dec 2008 10:07:51 -0600 X-ASG-Debug-ID: 1228234070-5c7d026f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 00D8C164F1EF for ; Tue, 2 Dec 2008 08:07:50 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id qXvYRtMlLi4hFPHw for ; Tue, 02 Dec 2008 08:07:50 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlz-0007Qj-24 for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:51 +0000 Message-Id: <20081202160650.974883000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:40 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 10/22] kill dead quota flags Subject: [patch 10/22] kill dead quota flags Content-Disposition: inline; filename=xfs-kill-dead-quota-flags X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234071 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/xfs_quota.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_quota.h 2008-12-01 19:26:03.000000000 +0100 +++ xfs-master/fs/xfs/xfs_quota.h 2008-12-01 19:27:41.000000000 +0100 @@ -84,11 +84,9 @@ typedef struct xfs_dqblk { #define XFS_DQ_USER 0x0001 /* a user quota */ #define XFS_DQ_PROJ 0x0002 /* project quota */ #define XFS_DQ_GROUP 0x0004 /* a group quota */ -#define XFS_DQ_FLOCKED 0x0008 /* flush lock taken */ -#define XFS_DQ_DIRTY 0x0010 /* dquot is dirty */ -#define XFS_DQ_WANT 0x0020 /* for lookup/reclaim race */ -#define XFS_DQ_INACTIVE 0x0040 /* dq off mplist & hashlist */ -#define XFS_DQ_MARKER 0x0080 /* sentinel */ +#define XFS_DQ_DIRTY 0x0008 /* dquot is dirty */ +#define XFS_DQ_WANT 0x0010 /* for lookup/reclaim race */ +#define XFS_DQ_INACTIVE 0x0020 /* dq off mplist & hashlist */ #define XFS_DQ_ALLTYPES (XFS_DQ_USER|XFS_DQ_PROJ|XFS_DQ_GROUP) -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:07:22 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G7MGk031743 for ; Tue, 2 Dec 2008 10:07:22 -0600 X-ASG-Debug-ID: 1228234041-5c7c02a60000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AF100164F1E2 for ; Tue, 2 Dec 2008 08:07:21 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id qRs4QcLXk3cHS6nI for ; Tue, 02 Dec 2008 08:07:21 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xly-0007PQ-TY for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:50 +0000 Message-Id: <20081202160650.829703000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:39 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 09/22] remove dead code from sv_t implementation Subject: [patch 09/22] remove dead code from sv_t implementation Content-Disposition: inline; filename=xfs-simplify-sv X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234041 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Signed-off-by: Christoph Hellwig Index: linux-2.6-xfs/fs/xfs/linux-2.6/sv.h =================================================================== --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/sv.h 2008-09-29 10:45:36.000000000 +0200 +++ linux-2.6-xfs/fs/xfs/linux-2.6/sv.h 2008-09-29 10:49:16.000000000 +0200 @@ -32,23 +32,15 @@ typedef struct sv_s { wait_queue_head_t waiters; } sv_t; -#define SV_FIFO 0x0 /* sv_t is FIFO type */ -#define SV_LIFO 0x2 /* sv_t is LIFO type */ -#define SV_PRIO 0x4 /* sv_t is PRIO type */ -#define SV_KEYED 0x6 /* sv_t is KEYED type */ -#define SV_DEFAULT SV_FIFO - - -static inline void _sv_wait(sv_t *sv, spinlock_t *lock, int state, - unsigned long timeout) +static inline void _sv_wait(sv_t *sv, spinlock_t *lock) { DECLARE_WAITQUEUE(wait, current); add_wait_queue_exclusive(&sv->waiters, &wait); - __set_current_state(state); + __set_current_state(TASK_UNINTERRUPTIBLE); spin_unlock(lock); - schedule_timeout(timeout); + schedule(); remove_wait_queue(&sv->waiters, &wait); } @@ -58,13 +50,7 @@ static inline void _sv_wait(sv_t *sv, sp #define sv_destroy(sv) \ /*NOTHING*/ #define sv_wait(sv, pri, lock, s) \ - _sv_wait(sv, lock, TASK_UNINTERRUPTIBLE, MAX_SCHEDULE_TIMEOUT) -#define sv_wait_sig(sv, pri, lock, s) \ - _sv_wait(sv, lock, TASK_INTERRUPTIBLE, MAX_SCHEDULE_TIMEOUT) -#define sv_timedwait(sv, pri, lock, s, svf, ts, rts) \ - _sv_wait(sv, lock, TASK_UNINTERRUPTIBLE, timespec_to_jiffies(ts)) -#define sv_timedwait_sig(sv, pri, lock, s, svf, ts, rts) \ - _sv_wait(sv, lock, TASK_INTERRUPTIBLE, timespec_to_jiffies(ts)) + _sv_wait(sv, lock) #define sv_signal(sv) \ wake_up(&(sv)->waiters) #define sv_broadcast(sv) \ -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:07:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_62 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2G7pWF031831 for ; Tue, 2 Dec 2008 10:07:52 -0600 X-ASG-Debug-ID: 1228234071-5c7b028b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 535D5164F1EF for ; Tue, 2 Dec 2008 08:07:51 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 1k8dUtqvCRiEd8VI for ; Tue, 02 Dec 2008 08:07:51 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlz-0007W8-Ua for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:51 +0000 Message-Id: <20081202160651.861936000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:46 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 16/22] use xfs_trans_ijoin in xfs_trans_iget Subject: [patch 16/22] use xfs_trans_ijoin in xfs_trans_iget Content-Disposition: inline; filename=xfs-cleanup-xfs_trans_iget X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234071 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Use xfs_trans_ijoin in xfs_trans_iget in case we need to join an inode into a transaction instead of opencoding it. Based on a discussion with and an incomplete patch from Niv Sardi. Signed-off-by: Christoph Hellwig Index: linux-2.6-xfs/fs/xfs/xfs_trans_inode.c =================================================================== --- linux-2.6-xfs.orig/fs/xfs/xfs_trans_inode.c 2008-11-19 19:43:42.000000000 +0100 +++ linux-2.6-xfs/fs/xfs/xfs_trans_inode.c 2008-11-19 19:55:45.000000000 +0100 @@ -85,7 +85,6 @@ xfs_trans_iget( { int error; xfs_inode_t *ip; - xfs_inode_log_item_t *iip; /* * If the transaction pointer is NULL, just call the normal @@ -138,34 +137,7 @@ xfs_trans_iget( } ASSERT(ip != NULL); - /* - * Get a log_item_desc to point at the new item. - */ - if (ip->i_itemp == NULL) - xfs_inode_item_init(ip, mp); - iip = ip->i_itemp; - (void) xfs_trans_add_item(tp, (xfs_log_item_t *)(iip)); - - xfs_trans_inode_broot_debug(ip); - - /* - * If the IO lock has been acquired, mark that in - * the inode log item so we'll know to unlock it - * when the transaction commits. - */ - ASSERT(iip->ili_flags == 0); - if (lock_flags & XFS_IOLOCK_EXCL) { - iip->ili_flags |= XFS_ILI_IOLOCKED_EXCL; - } else if (lock_flags & XFS_IOLOCK_SHARED) { - iip->ili_flags |= XFS_ILI_IOLOCKED_SHARED; - } - - /* - * Initialize i_transp so we can find it with xfs_inode_incore() - * above. - */ - ip->i_transp = tp; - + xfs_trans_ijoin(tp, ip, lock_flags); *ipp = ip; return 0; } -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:11:50 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GBoUJ032511 for ; Tue, 2 Dec 2008 10:11:50 -0600 X-ASG-Debug-ID: 1228234309-5c7c02c80000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 29EEE164F2B1 for ; Tue, 2 Dec 2008 08:11:50 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 6FDwE6X4dV77P1EB for ; Tue, 02 Dec 2008 08:11:50 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlx-0007Gl-Nt for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:49 +0000 Message-Id: <20081202160649.658660000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:31 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 01/22] fix compile on 32 bit systems Subject: [patch 01/22] fix compile on 32 bit systems Content-Disposition: inline; filename=xfs-fix-32bit-compile X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234310 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com The recent compat patches make xfs_file.c include xfs_ioctl32.h unconditional, which breaks the build on 32 bit systems which don't have the various compat defintions. Remove the include and move the defintion of xfs_file_compat_ioctl to xfs_ioctl.h so that we can avoid including all the compat defintions in xfs_file.c Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/linux-2.6/xfs_file.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:43:38.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:44:06.000000000 +0100 @@ -36,9 +36,9 @@ #include "xfs_inode.h" #include "xfs_error.h" #include "xfs_rw.h" -#include "xfs_ioctl32.h" #include "xfs_vnodeops.h" #include "xfs_da_btree.h" +#include "xfs_ioctl.h" #include #include Index: xfs-master/fs/xfs/linux-2.6/xfs_ioctl.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-02 11:44:10.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-02 11:44:52.000000000 +0100 @@ -67,4 +67,16 @@ xfs_attrmulti_attr_remove( char *name, __uint32_t flags); +extern long +xfs_file_compat_ioctl( + struct file *file, + unsigned int cmd, + unsigned long arg); + +extern long +xfs_file_compat_ioctl_invis( + struct file *file, + unsigned int cmd, + unsigned long arg); + #endif Index: xfs-master/fs/xfs/linux-2.6/xfs_ioctl32.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_ioctl32.h 2008-12-02 11:44:10.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_ioctl32.h 2008-12-02 11:44:18.000000000 +0100 @@ -20,9 +20,6 @@ #include -extern long xfs_file_compat_ioctl(struct file *, unsigned, unsigned long); -extern long xfs_file_compat_invis_ioctl(struct file *, unsigned, unsigned long); - /* * on 32-bit arches, ioctl argument structures may have different sizes * and/or alignment. We define compat structures which match the -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:11:51 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_65 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GBpd9032518 for ; Tue, 2 Dec 2008 10:11:51 -0600 X-ASG-Debug-ID: 1228234310-5c7d02930000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 33C86164F2B3 for ; Tue, 2 Dec 2008 08:11:51 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id insYWziRYCrnhPJF for ; Tue, 02 Dec 2008 08:11:51 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xly-0007OP-OF for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:50 +0000 Message-Id: <20081202160650.663976000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:38 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 08/22] reduce l_icloglock roundtrips Subject: [patch 08/22] reduce l_icloglock roundtrips Content-Disposition: inline; filename=xfs-reduce-log-lock-roundtrips X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234311 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com All but one caller of xlog_state_want_sync drop and re-acquire l_icloglock around the call to it, just so that xlog_state_want_sync can acquire and drop it. Move all lock operation out of l_icloglock and assert that the lock is held when it is called. Note that it would make sense to extende this scheme to xlog_state_release_iclog, but the locking in there is more complicated and we'd like to keep the atomic_dec_and_lock optmization for those callers not having l_icloglock yet. (First sent on Semptember 29th) Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/xfs_log.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_log.c 2008-12-02 11:07:00.000000000 +0100 +++ xfs-master/fs/xfs/xfs_log.c 2008-12-02 11:13:33.000000000 +0100 @@ -729,8 +729,8 @@ xfs_log_unmount_write(xfs_mount_t *mp) spin_lock(&log->l_icloglock); iclog = log->l_iclog; atomic_inc(&iclog->ic_refcnt); - spin_unlock(&log->l_icloglock); xlog_state_want_sync(log, iclog); + spin_unlock(&log->l_icloglock); error = xlog_state_release_iclog(log, iclog); spin_lock(&log->l_icloglock); @@ -767,9 +767,9 @@ xfs_log_unmount_write(xfs_mount_t *mp) spin_lock(&log->l_icloglock); iclog = log->l_iclog; atomic_inc(&iclog->ic_refcnt); - spin_unlock(&log->l_icloglock); xlog_state_want_sync(log, iclog); + spin_unlock(&log->l_icloglock); error = xlog_state_release_iclog(log, iclog); spin_lock(&log->l_icloglock); @@ -1984,7 +1984,9 @@ xlog_write(xfs_mount_t * mp, if (iclog->ic_size - log_offset <= sizeof(xlog_op_header_t)) { xlog_state_finish_copy(log, iclog, record_cnt, data_cnt); record_cnt = data_cnt = 0; + spin_lock(&log->l_icloglock); xlog_state_want_sync(log, iclog); + spin_unlock(&log->l_icloglock); if (commit_iclog) { ASSERT(flags & XLOG_COMMIT_TRANS); *commit_iclog = iclog; @@ -3193,7 +3195,7 @@ try_again: STATIC void xlog_state_want_sync(xlog_t *log, xlog_in_core_t *iclog) { - spin_lock(&log->l_icloglock); + ASSERT(spin_is_locked(&log->l_icloglock)); if (iclog->ic_state == XLOG_STATE_ACTIVE) { xlog_state_switch_iclogs(log, iclog, 0); @@ -3201,10 +3203,7 @@ xlog_state_want_sync(xlog_t *log, xlog_i ASSERT(iclog->ic_state & (XLOG_STATE_WANT_SYNC|XLOG_STATE_IOERROR)); } - - spin_unlock(&log->l_icloglock); -} /* xlog_state_want_sync */ - +} /***************************************************************************** -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:11:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GBqAM032525 for ; Tue, 2 Dec 2008 10:11:52 -0600 X-ASG-Debug-ID: 1228234311-5c7b02a70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C7E0F164F2B5 for ; Tue, 2 Dec 2008 08:11:51 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 0oKyr8JAT7b1fql1 for ; Tue, 02 Dec 2008 08:11:51 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlz-0007TT-C3 for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:51 +0000 Message-Id: <20081202160651.264876000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:42 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 12/22] kill dead inode flags Subject: [patch 12/22] kill dead inode flags Content-Disposition: inline; filename=xfs-kill-dead-inode-flags X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234311 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com There are a few inode flags around that aren't used anywhere, so remove them. Also update xfsidbg to display all used inode flags correctly. (First sent on July 23nd) Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/linux-2.6/xfs_aops.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_aops.c 2008-12-02 11:12:44.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_aops.c 2008-12-02 11:15:28.000000000 +0100 @@ -317,14 +317,9 @@ xfs_map_blocks( xfs_iomap_t *mapp, int flags) { - xfs_inode_t *ip = XFS_I(inode); - int error, nmaps = 1; + int nmaps = 1; - error = xfs_iomap(ip, offset, count, - flags, mapp, &nmaps); - if (!error && (flags & (BMAPI_WRITE|BMAPI_ALLOCATE))) - xfs_iflags_set(ip, XFS_IMODIFIED); - return -error; + return -xfs_iomap(XFS_I(inode), offset, count, flags, mapp, &nmaps); } STATIC_INLINE int Index: xfs-master/fs/xfs/linux-2.6/xfs_file.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:07:08.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:15:28.000000000 +0100 @@ -283,11 +283,8 @@ xfs_file_ioctl( unsigned int cmd, unsigned long p) { - int error; struct inode *inode = filp->f_path.dentry->d_inode; - error = xfs_ioctl(XFS_I(inode), filp, 0, cmd, (void __user *)p); - xfs_iflags_set(XFS_I(inode), XFS_IMODIFIED); /* NOTE: some of the ioctl's return positive #'s as a * byte count indicating success, such as @@ -295,7 +292,7 @@ xfs_file_ioctl( * like most other routines. This means true * errors need to be returned as a negative value. */ - return error; + return xfs_ioctl(XFS_I(inode), filp, 0, cmd, (void __user *)p); } STATIC long @@ -304,11 +301,8 @@ xfs_file_ioctl_invis( unsigned int cmd, unsigned long p) { - int error; struct inode *inode = filp->f_path.dentry->d_inode; - error = xfs_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, (void __user *)p); - xfs_iflags_set(XFS_I(inode), XFS_IMODIFIED); /* NOTE: some of the ioctl's return positive #'s as a * byte count indicating success, such as @@ -316,7 +310,7 @@ xfs_file_ioctl_invis( * like most other routines. This means true * errors need to be returned as a negative value. */ - return error; + return xfs_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, (void __user *)p); } /* Index: xfs-master/fs/xfs/linux-2.6/xfs_iops.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_iops.c 2008-12-02 11:13:27.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_iops.c 2008-12-02 11:15:28.000000000 +0100 @@ -159,8 +159,6 @@ xfs_init_security( } error = xfs_attr_set(ip, name, value, length, ATTR_SECURE); - if (!error) - xfs_iflags_set(ip, XFS_IMODIFIED); kfree(name); kfree(value); @@ -261,7 +259,6 @@ xfs_vn_mknod( error = _ACL_INHERIT(inode, mode, default_acl); if (unlikely(error)) goto out_cleanup_inode; - xfs_iflags_set(ip, XFS_IMODIFIED); _ACL_FREE(default_acl); } @@ -377,7 +374,6 @@ xfs_vn_link( if (unlikely(error)) return -error; - xfs_iflags_set(XFS_I(dir), XFS_IMODIFIED); atomic_inc(&inode->i_count); d_instantiate(dentry, inode); return 0; @@ -888,7 +884,6 @@ xfs_setup_inode( inode->i_ctime.tv_sec = ip->i_d.di_ctime.t_sec; inode->i_ctime.tv_nsec = ip->i_d.di_ctime.t_nsec; xfs_diflags_to_iflags(inode, ip); - xfs_iflags_clear(ip, XFS_IMODIFIED); switch (inode->i_mode & S_IFMT) { case S_IFREG: Index: xfs-master/fs/xfs/linux-2.6/xfs_super.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_super.c 2008-12-02 11:06:57.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_super.c 2008-12-02 11:15:28.000000000 +0100 @@ -1025,7 +1025,6 @@ xfs_fs_clear_inode( XFS_STATS_DEC(vn_active); xfs_inactive(ip); - xfs_iflags_clear(ip, XFS_IMODIFIED); } STATIC void Index: xfs-master/fs/xfs/xfs_iget.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_iget.c 2008-12-02 11:13:13.000000000 +0100 +++ xfs-master/fs/xfs/xfs_iget.c 2008-12-02 11:15:28.000000000 +0100 @@ -362,7 +362,6 @@ again: } xfs_put_perag(mp, pag); - xfs_iflags_set(ip, XFS_IMODIFIED); *ipp = ip; ASSERT(ip->i_df.if_ext_max == Index: xfs-master/fs/xfs/xfs_inode.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_inode.h 2008-12-02 11:13:13.000000000 +0100 +++ xfs-master/fs/xfs/xfs_inode.h 2008-12-02 11:15:28.000000000 +0100 @@ -403,17 +403,12 @@ static inline void xfs_ifunlock(xfs_inod /* * In-core inode flags. */ -#define XFS_IGRIO 0x0001 /* inode used for guaranteed rate i/o */ -#define XFS_IUIOSZ 0x0002 /* inode i/o sizes have been explicitly set */ -#define XFS_IQUIESCE 0x0004 /* we have started quiescing for this inode */ -#define XFS_IRECLAIM 0x0008 /* we have started reclaiming this inode */ -#define XFS_ISTALE 0x0010 /* inode has been staled */ -#define XFS_IRECLAIMABLE 0x0020 /* inode can be reclaimed */ -#define XFS_INEW 0x0040 -#define XFS_IFILESTREAM 0x0080 /* inode is in a filestream directory */ -#define XFS_IMODIFIED 0x0100 /* XFS inode state possibly differs */ - /* to the Linux inode state. */ -#define XFS_ITRUNCATED 0x0200 /* truncated down so flush-on-close */ +#define XFS_IRECLAIM 0x0001 /* we have started reclaiming this inode */ +#define XFS_ISTALE 0x0002 /* inode has been staled */ +#define XFS_IRECLAIMABLE 0x0004 /* inode can be reclaimed */ +#define XFS_INEW 0x0008 /* inode has just been allocated */ +#define XFS_IFILESTREAM 0x0010 /* inode is in a filestream directory */ +#define XFS_ITRUNCATED 0x0020 /* truncated down so flush-on-close */ /* * Flags for inode locking. -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:12:21 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GCL11032653 for ; Tue, 2 Dec 2008 10:12:21 -0600 X-ASG-Debug-ID: 1228234341-5c7d029a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 41C00164F2E4 for ; Tue, 2 Dec 2008 08:12:21 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id IYdlbNA02eAyuLHO for ; Tue, 02 Dec 2008 08:12:21 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xly-0007In-0h for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:50 +0000 Message-Id: <20081202160649.932903000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:33 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 03/22] remove unused behvavior cruft in xfs_super.h Subject: [patch 03/22] remove unused behvavior cruft in xfs_super.h Content-Disposition: inline; filename=xfs-remove-dmapi-cruft X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234341 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/linux-2.6/xfs_super.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_super.h 2008-12-02 11:21:33.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_super.h 2008-12-02 11:21:49.000000000 +0100 @@ -20,24 +20,12 @@ #include -#ifdef CONFIG_XFS_DMAPI -# define vfs_insertdmapi(vfs) vfs_insertops(vfsp, &xfs_dmops) -# define vfs_initdmapi() dmapi_init() -# define vfs_exitdmapi() dmapi_uninit() -#else -# define vfs_insertdmapi(vfs) do { } while (0) -# define vfs_initdmapi() do { } while (0) -# define vfs_exitdmapi() do { } while (0) -#endif - #ifdef CONFIG_XFS_QUOTA -# define vfs_insertquota(vfs) vfs_insertops(vfsp, &xfs_qmops) extern void xfs_qm_init(void); extern void xfs_qm_exit(void); # define vfs_initquota() xfs_qm_init() # define vfs_exitquota() xfs_qm_exit() #else -# define vfs_insertquota(vfs) do { } while (0) # define vfs_initquota() do { } while (0) # define vfs_exitquota() do { } while (0) #endif -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:12:22 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GCLit032660 for ; Tue, 2 Dec 2008 10:12:22 -0600 X-ASG-Debug-ID: 1228234341-6e6301d20000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5B313164F2E9 for ; Tue, 2 Dec 2008 08:12:21 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id duvCLPQxRVOZS592 for ; Tue, 02 Dec 2008 08:12:21 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xly-0007LA-Ex for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:50 +0000 Message-Id: <20081202160650.360918000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:36 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 06/22] kill xfs_buf_iostart Subject: [patch 06/22] kill xfs_buf_iostart Content-Disposition: inline; filename=xfs-bdwrite_cleanup X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234341 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com xfs_buf_iostart is a "shared" helper for xfs_buf_read_flags, xfs_bawrite, and xfs_bdwrite - except that there isn't much shared code but rather special cases for each caller. So remove this function and move the functionality to the caller. xfs_bawrite and xfs_bdwrite are now big enough to be moved out of line and the xfs_buf_read_flags is moved into a new helper called _xfs_buf_read. (First sent on August 2nd) Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/linux-2.6/xfs_buf.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_buf.c 2008-12-01 19:26:04.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_buf.c 2008-12-01 19:27:31.000000000 +0100 @@ -630,6 +630,29 @@ xfs_buf_get_flags( return NULL; } +STATIC int +_xfs_buf_read( + xfs_buf_t *bp, + xfs_buf_flags_t flags) +{ + int status; + + XB_TRACE(bp, "_xfs_buf_read", (unsigned long)flags); + + ASSERT(!(flags & (XBF_DELWRI|XBF_WRITE))); + ASSERT(bp->b_bn != XFS_BUF_DADDR_NULL); + + bp->b_flags &= ~(XBF_WRITE | XBF_ASYNC | XBF_DELWRI | \ + XBF_READ_AHEAD | _XBF_RUN_QUEUES); + bp->b_flags |= flags & (XBF_READ | XBF_ASYNC | \ + XBF_READ_AHEAD | _XBF_RUN_QUEUES); + + status = xfs_buf_iorequest(bp); + if (!status && !(flags & XBF_ASYNC)) + status = xfs_buf_iowait(bp); + return status; +} + xfs_buf_t * xfs_buf_read_flags( xfs_buftarg_t *target, @@ -646,7 +669,7 @@ xfs_buf_read_flags( if (!XFS_BUF_ISDONE(bp)) { XB_TRACE(bp, "read", (unsigned long)flags); XFS_STATS_INC(xb_get_read); - xfs_buf_iostart(bp, flags); + _xfs_buf_read(bp, flags); } else if (flags & XBF_ASYNC) { XB_TRACE(bp, "read_async", (unsigned long)flags); /* @@ -1048,50 +1071,39 @@ xfs_buf_ioerror( XB_TRACE(bp, "ioerror", (unsigned long)error); } -/* - * Initiate I/O on a buffer, based on the flags supplied. - * The b_iodone routine in the buffer supplied will only be called - * when all of the subsidiary I/O requests, if any, have been completed. - */ int -xfs_buf_iostart( - xfs_buf_t *bp, - xfs_buf_flags_t flags) +xfs_bawrite( + void *mp, + struct xfs_buf *bp) { - int status = 0; + XB_TRACE(bp, "bawrite", 0); - XB_TRACE(bp, "iostart", (unsigned long)flags); + ASSERT(bp->b_bn != XFS_BUF_DADDR_NULL); - if (flags & XBF_DELWRI) { - bp->b_flags &= ~(XBF_READ | XBF_WRITE | XBF_ASYNC); - bp->b_flags |= flags & (XBF_DELWRI | XBF_ASYNC); - xfs_buf_delwri_queue(bp, 1); - return 0; - } + xfs_buf_delwri_dequeue(bp); - bp->b_flags &= ~(XBF_READ | XBF_WRITE | XBF_ASYNC | XBF_DELWRI | \ - XBF_READ_AHEAD | _XBF_RUN_QUEUES); - bp->b_flags |= flags & (XBF_READ | XBF_WRITE | XBF_ASYNC | \ - XBF_READ_AHEAD | _XBF_RUN_QUEUES); + bp->b_flags &= ~(XBF_READ | XBF_DELWRI | XBF_READ_AHEAD); + bp->b_flags |= (XBF_WRITE | XBF_ASYNC | _XBF_RUN_QUEUES); + + bp->b_fspriv3 = mp; + bp->b_strat = xfs_bdstrat_cb; + return xfs_bdstrat_cb(bp); +} - BUG_ON(bp->b_bn == XFS_BUF_DADDR_NULL); +void +xfs_bdwrite( + void *mp, + struct xfs_buf *bp) +{ + XB_TRACE(bp, "bdwrite", 0); - /* For writes allow an alternate strategy routine to precede - * the actual I/O request (which may not be issued at all in - * a shutdown situation, for example). - */ - status = (flags & XBF_WRITE) ? - xfs_buf_iostrategy(bp) : xfs_buf_iorequest(bp); + bp->b_strat = xfs_bdstrat_cb; + bp->b_fspriv3 = mp; - /* Wait for I/O if we are not an async request. - * Note: async I/O request completion will release the buffer, - * and that can already be done by this point. So using the - * buffer pointer from here on, after async I/O, is invalid. - */ - if (!status && !(flags & XBF_ASYNC)) - status = xfs_buf_iowait(bp); + bp->b_flags &= ~XBF_READ; + bp->b_flags |= (XBF_DELWRI | XBF_ASYNC); - return status; + xfs_buf_delwri_queue(bp, 1); } STATIC_INLINE void Index: xfs-master/fs/xfs/linux-2.6/xfs_buf.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_buf.h 2008-12-01 19:26:04.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_buf.h 2008-12-01 19:27:31.000000000 +0100 @@ -214,9 +214,10 @@ extern void xfs_buf_lock(xfs_buf_t *); extern void xfs_buf_unlock(xfs_buf_t *); /* Buffer Read and Write Routines */ +extern int xfs_bawrite(void *mp, xfs_buf_t *bp); +extern void xfs_bdwrite(void *mp, xfs_buf_t *bp); extern void xfs_buf_ioend(xfs_buf_t *, int); extern void xfs_buf_ioerror(xfs_buf_t *, int); -extern int xfs_buf_iostart(xfs_buf_t *, xfs_buf_flags_t); extern int xfs_buf_iorequest(xfs_buf_t *); extern int xfs_buf_iowait(xfs_buf_t *); extern void xfs_buf_iomove(xfs_buf_t *, size_t, size_t, xfs_caddr_t, @@ -366,14 +367,6 @@ extern void xfs_buf_trace(xfs_buf_t *, c #define XFS_BUF_TARGET(bp) ((bp)->b_target) #define XFS_BUFTARG_NAME(target) xfs_buf_target_name(target) -static inline int xfs_bawrite(void *mp, xfs_buf_t *bp) -{ - bp->b_fspriv3 = mp; - bp->b_strat = xfs_bdstrat_cb; - xfs_buf_delwri_dequeue(bp); - return xfs_buf_iostart(bp, XBF_WRITE | XBF_ASYNC | _XBF_RUN_QUEUES); -} - static inline void xfs_buf_relse(xfs_buf_t *bp) { if (!bp->b_relse) @@ -414,17 +407,6 @@ static inline int XFS_bwrite(xfs_buf_t * return error; } -/* - * No error can be returned from xfs_buf_iostart for delwri - * buffers as they are queued and no I/O is issued. - */ -static inline void xfs_bdwrite(void *mp, xfs_buf_t *bp) -{ - bp->b_strat = xfs_bdstrat_cb; - bp->b_fspriv3 = mp; - (void)xfs_buf_iostart(bp, XBF_DELWRI | XBF_ASYNC); -} - #define XFS_bdstrat(bp) xfs_buf_iorequest(bp) #define xfs_iowait(bp) xfs_buf_iowait(bp) -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:12:22 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GCMPb032661 for ; Tue, 2 Dec 2008 10:12:22 -0600 X-ASG-Debug-ID: 1228234341-60d3026a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 78208164F2EA for ; Tue, 2 Dec 2008 08:12:21 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id tSB1cukgzpC9tIrC for ; Tue, 02 Dec 2008 08:12:21 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xly-0007MK-Jg for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:50 +0000 Message-Id: <20081202160650.515494000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:37 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 07/22] stop using igrab in xfs_vn_link Subject: [patch 07/22] stop using igrab in xfs_vn_link Content-Disposition: inline; filename=xfs-stop-using-igrab-in-xfs_link X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234341 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com ->link is guranteed to get an already reference inode passed so we can do a simple increment of i_count instead of using igrab and thus avoid banging on the global inode_lock. This is what most filesystems already do. Also move the increment after the call to xfs_link to simplify error handling. (First sent on July 26th) Signed-off-by: Christoph Hellwig Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_iops.c =================================================================== --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_iops.c 2008-10-25 13:00:29.000000000 +0200 +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_iops.c 2008-10-25 13:13:24.000000000 +0200 @@ -366,21 +366,18 @@ xfs_vn_link( struct inode *dir, struct dentry *dentry) { - struct inode *inode; /* inode of guy being linked to */ + struct inode *inode = old_dentry->d_inode; struct xfs_name name; int error; - inode = old_dentry->d_inode; xfs_dentry_to_name(&name, dentry); - igrab(inode); error = xfs_link(XFS_I(dir), XFS_I(inode), &name); - if (unlikely(error)) { - iput(inode); + if (unlikely(error)) return -error; - } xfs_iflags_set(XFS_I(dir), XFS_IMODIFIED); + atomic_inc(&inode->i_count); d_instantiate(dentry, inode); return 0; } -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:12:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GCp9u032767 for ; Tue, 2 Dec 2008 10:12:51 -0600 X-ASG-Debug-ID: 1228234371-5d7002690000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 42586164F30E for ; Tue, 2 Dec 2008 08:12:51 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 1MgvsIWN3eIkbK84 for ; Tue, 02 Dec 2008 08:12:51 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xlz-0007U7-HS for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:51 +0000 Message-Id: <20081202160651.426074000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:43 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 13/22] remove unused m_inode_quiesce member from struct xfs_mount Subject: [patch 13/22] remove unused m_inode_quiesce member from struct xfs_mount Content-Disposition: inline; filename=xfs-kill-m_inode_quiesce X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234371 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com (First sent on July 23rd) Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/xfs_mount.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_mount.h 2008-12-01 19:27:15.000000000 +0100 +++ xfs-master/fs/xfs/xfs_mount.h 2008-12-01 19:27:59.000000000 +0100 @@ -302,7 +302,6 @@ typedef struct xfs_mount { int m_attr_magicpct;/* 37% of the blocksize */ int m_dir_magicpct; /* 37% of the dir blocksize */ __uint8_t m_mk_sharedro; /* mark shared ro on unmount */ - __uint8_t m_inode_quiesce;/* call quiesce on new inodes. */ __uint8_t m_sectbb_log; /* sectlog - BBSHIFT */ const struct xfs_nameops *m_dirnameops; /* vector of dir name ops */ int m_dirblksize; /* directory block sz--bytes */ -- From SRS0+bbc73c9829aeeb7e6db8+1927+infradead.org+hch@bombadil.srs.infradead.org Tue Dec 2 10:12:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GCqlF000317 for ; Tue, 2 Dec 2008 10:12:52 -0600 X-ASG-Debug-ID: 1228234371-5c7d02a00000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 90F93164F30E for ; Tue, 2 Dec 2008 08:12:51 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id PAjHgoXckVKsOtOX for ; Tue, 02 Dec 2008 08:12:51 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7Xm0-0007e8-Qm for xfs@oss.sgi.com; Tue, 02 Dec 2008 16:06:52 +0000 Message-Id: <20081202160652.734778000@bombadil.infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> User-Agent: quilt/0.46-1 Date: Tue, 02 Dec 2008 11:04:51 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [patch 21/22] move inode tracing out of xfs_vnode. Subject: [patch 21/22] move inode tracing out of xfs_vnode. Content-Disposition: inline; filename=xfs-move-itrace X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228234371 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Move the inode tracing into xfs_iget.c / xfs_inode.h and kill xfs_vnode.c now that it's empty. Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/Makefile =================================================================== --- xfs-master.orig/fs/xfs/Makefile 2008-12-02 11:26:30.000000000 +0100 +++ xfs-master/fs/xfs/Makefile 2008-12-02 11:27:01.000000000 +0100 @@ -107,7 +107,6 @@ xfs-y += $(addprefix $(XFS_LINUX)/, \ xfs_lrw.o \ xfs_super.o \ xfs_sync.o \ - xfs_vnode.o \ xfs_xattr.o) # Objects in support/ Index: xfs-master/fs/xfs/linux-2.6/xfs_vnode.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_vnode.c 2008-12-02 11:26:47.000000000 +0100 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc. - * All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include "xfs.h" -#include "xfs_vnodeops.h" -#include "xfs_bmap_btree.h" -#include "xfs_inode.h" - -/* - * And this gunk is needed for xfs_mount.h" - */ -#include "xfs_log.h" -#include "xfs_trans.h" -#include "xfs_sb.h" -#include "xfs_dmapi.h" -#include "xfs_inum.h" -#include "xfs_ag.h" -#include "xfs_mount.h" - - -#ifdef XFS_INODE_TRACE - -#define KTRACE_ENTER(ip, vk, s, line, ra) \ - ktrace_enter( (ip)->i_trace, \ -/* 0 */ (void *)(__psint_t)(vk), \ -/* 1 */ (void *)(s), \ -/* 2 */ (void *)(__psint_t) line, \ -/* 3 */ (void *)(__psint_t)atomic_read(&VFS_I(ip)->i_count), \ -/* 4 */ (void *)(ra), \ -/* 5 */ NULL, \ -/* 6 */ (void *)(__psint_t)current_cpu(), \ -/* 7 */ (void *)(__psint_t)current_pid(), \ -/* 8 */ (void *)__return_address, \ -/* 9 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL) - -/* - * Vnode tracing code. - */ -void -_xfs_itrace_entry(xfs_inode_t *ip, const char *func, inst_t *ra) -{ - KTRACE_ENTER(ip, INODE_KTRACE_ENTRY, func, 0, ra); -} - -void -_xfs_itrace_exit(xfs_inode_t *ip, const char *func, inst_t *ra) -{ - KTRACE_ENTER(ip, INODE_KTRACE_EXIT, func, 0, ra); -} - -void -xfs_itrace_hold(xfs_inode_t *ip, char *file, int line, inst_t *ra) -{ - KTRACE_ENTER(ip, INODE_KTRACE_HOLD, file, line, ra); -} - -void -_xfs_itrace_ref(xfs_inode_t *ip, char *file, int line, inst_t *ra) -{ - KTRACE_ENTER(ip, INODE_KTRACE_REF, file, line, ra); -} - -void -xfs_itrace_rele(xfs_inode_t *ip, char *file, int line, inst_t *ra) -{ - KTRACE_ENTER(ip, INODE_KTRACE_RELE, file, line, ra); -} -#endif /* XFS_INODE_TRACE */ Index: xfs-master/fs/xfs/xfs_iget.c =================================================================== --- xfs-master.orig/fs/xfs/xfs_iget.c 2008-12-02 11:22:30.000000000 +0100 +++ xfs-master/fs/xfs/xfs_iget.c 2008-12-02 11:27:19.000000000 +0100 @@ -805,3 +805,51 @@ xfs_isilocked( } #endif +#ifdef XFS_INODE_TRACE + +#define KTRACE_ENTER(ip, vk, s, line, ra) \ + ktrace_enter((ip)->i_trace, \ +/* 0 */ (void *)(__psint_t)(vk), \ +/* 1 */ (void *)(s), \ +/* 2 */ (void *)(__psint_t) line, \ +/* 3 */ (void *)(__psint_t)atomic_read(&VFS_I(ip)->i_count), \ +/* 4 */ (void *)(ra), \ +/* 5 */ NULL, \ +/* 6 */ (void *)(__psint_t)current_cpu(), \ +/* 7 */ (void *)(__psint_t)current_pid(), \ +/* 8 */ (void *)__return_address, \ +/* 9 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL) + +/* + * Vnode tracing code. + */ +void +_xfs_itrace_entry(xfs_inode_t *ip, const char *func, inst_t *ra) +{ + KTRACE_ENTER(ip, INODE_KTRACE_ENTRY, func, 0, ra); +} + +void +_xfs_itrace_exit(xfs_inode_t *ip, const char *func, inst_t *ra) +{ + KTRACE_ENTER(ip, INODE_KTRACE_EXIT, func, 0, ra); +} + +void +xfs_itrace_hold(xfs_inode_t *ip, char *file, int line, inst_t *ra) +{ + KTRACE_ENTER(ip, INODE_KTRACE_HOLD, file, line, ra); +} + +void +_xfs_itrace_ref(xfs_inode_t *ip, char *file, int line, inst_t *ra) +{ + KTRACE_ENTER(ip, INODE_KTRACE_REF, file, line, ra); +} + +void +xfs_itrace_rele(xfs_inode_t *ip, char *file, int line, inst_t *ra) +{ + KTRACE_ENTER(ip, INODE_KTRACE_RELE, file, line, ra); +} +#endif /* XFS_INODE_TRACE */ Index: xfs-master/fs/xfs/linux-2.6/xfs_vnode.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_vnode.h 2008-12-02 11:26:47.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_vnode.h 2008-12-02 11:27:01.000000000 +0100 @@ -54,19 +54,6 @@ struct attrlist_cursor_kern; Prevent VM access to the pages until the operation completes. */ -#define IHOLD(ip) \ -do { \ - ASSERT(atomic_read(&VFS_I(ip)->i_count) > 0) ; \ - atomic_inc(&(VFS_I(ip)->i_count)); \ - xfs_itrace_hold((ip), __FILE__, __LINE__, (inst_t *)__return_address); \ -} while (0) - -#define IRELE(ip) \ -do { \ - xfs_itrace_rele((ip), __FILE__, __LINE__, (inst_t *)__return_address); \ - iput(VFS_I(ip)); \ -} while (0) - /* * Dealing with bad inodes */ @@ -103,39 +90,4 @@ static inline void vn_atime_to_time_t(st PAGECACHE_TAG_DIRTY) -/* - * Tracking vnode activity. - */ -#if defined(XFS_INODE_TRACE) - -#define INODE_TRACE_SIZE 16 /* number of trace entries */ -#define INODE_KTRACE_ENTRY 1 -#define INODE_KTRACE_EXIT 2 -#define INODE_KTRACE_HOLD 3 -#define INODE_KTRACE_REF 4 -#define INODE_KTRACE_RELE 5 - -extern void _xfs_itrace_entry(struct xfs_inode *, const char *, inst_t *); -extern void _xfs_itrace_exit(struct xfs_inode *, const char *, inst_t *); -extern void xfs_itrace_hold(struct xfs_inode *, char *, int, inst_t *); -extern void _xfs_itrace_ref(struct xfs_inode *, char *, int, inst_t *); -extern void xfs_itrace_rele(struct xfs_inode *, char *, int, inst_t *); -#define xfs_itrace_entry(ip) \ - _xfs_itrace_entry(ip, __func__, (inst_t *)__return_address) -#define xfs_itrace_exit(ip) \ - _xfs_itrace_exit(ip, __func__, (inst_t *)__return_address) -#define xfs_itrace_exit_tag(ip, tag) \ - _xfs_itrace_exit(ip, tag, (inst_t *)__return_address) -#define xfs_itrace_ref(ip) \ - _xfs_itrace_ref(ip, __FILE__, __LINE__, (inst_t *)__return_address) - -#else -#define xfs_itrace_entry(a) -#define xfs_itrace_exit(a) -#define xfs_itrace_exit_tag(a, b) -#define xfs_itrace_hold(a, b, c, d) -#define xfs_itrace_ref(a) -#define xfs_itrace_rele(a, b, c, d) -#endif - #endif /* __XFS_VNODE_H__ */ Index: xfs-master/fs/xfs/xfs_inode.h =================================================================== --- xfs-master.orig/fs/xfs/xfs_inode.h 2008-12-02 11:22:30.000000000 +0100 +++ xfs-master/fs/xfs/xfs_inode.h 2008-12-02 11:27:01.000000000 +0100 @@ -536,6 +536,51 @@ void xfs_lock_two_inodes(xfs_inode_t *, void xfs_synchronize_atime(xfs_inode_t *); void xfs_mark_inode_dirty_sync(xfs_inode_t *); +#if defined(XFS_INODE_TRACE) + +#define INODE_TRACE_SIZE 16 /* number of trace entries */ +#define INODE_KTRACE_ENTRY 1 +#define INODE_KTRACE_EXIT 2 +#define INODE_KTRACE_HOLD 3 +#define INODE_KTRACE_REF 4 +#define INODE_KTRACE_RELE 5 + +extern void _xfs_itrace_entry(struct xfs_inode *, const char *, inst_t *); +extern void _xfs_itrace_exit(struct xfs_inode *, const char *, inst_t *); +extern void xfs_itrace_hold(struct xfs_inode *, char *, int, inst_t *); +extern void _xfs_itrace_ref(struct xfs_inode *, char *, int, inst_t *); +extern void xfs_itrace_rele(struct xfs_inode *, char *, int, inst_t *); +#define xfs_itrace_entry(ip) \ + _xfs_itrace_entry(ip, __func__, (inst_t *)__return_address) +#define xfs_itrace_exit(ip) \ + _xfs_itrace_exit(ip, __func__, (inst_t *)__return_address) +#define xfs_itrace_exit_tag(ip, tag) \ + _xfs_itrace_exit(ip, tag, (inst_t *)__return_address) +#define xfs_itrace_ref(ip) \ + _xfs_itrace_ref(ip, __FILE__, __LINE__, (inst_t *)__return_address) + +#else +#define xfs_itrace_entry(a) +#define xfs_itrace_exit(a) +#define xfs_itrace_exit_tag(a, b) +#define xfs_itrace_hold(a, b, c, d) +#define xfs_itrace_ref(a) +#define xfs_itrace_rele(a, b, c, d) +#endif + +#define IHOLD(ip) \ +do { \ + ASSERT(atomic_read(&VFS_I(ip)->i_count) > 0) ; \ + atomic_inc(&(VFS_I(ip)->i_count)); \ + xfs_itrace_hold((ip), __FILE__, __LINE__, (inst_t *)__return_address); \ +} while (0) + +#define IRELE(ip) \ +do { \ + xfs_itrace_rele((ip), __FILE__, __LINE__, (inst_t *)__return_address); \ + iput(VFS_I(ip)); \ +} while (0) + #endif /* __KERNEL__ */ int xfs_inotobp(struct xfs_mount *, struct xfs_trans *, -- From sandeen@sandeen.net Tue Dec 2 10:48:21 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2GmLC6005666 for ; Tue, 2 Dec 2008 10:48:21 -0600 X-ASG-Debug-ID: 1228236499-6199035e0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 24952164F9C6 for ; Tue, 2 Dec 2008 08:48:19 -0800 (PST) Received: from sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id kuvG5EFf7LE0RYwQ for ; Tue, 02 Dec 2008 08:48:19 -0800 (PST) Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTP id 6642AAC6272; Tue, 2 Dec 2008 10:43:17 -0600 (CST) Message-ID: <493565A5.8070504@sandeen.net> Date: Tue, 02 Dec 2008 10:43:17 -0600 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.18 (Macintosh/20081105) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 01/22] fix compile on 32 bit systems Subject: Re: [patch 01/22] fix compile on 32 bit systems References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.658660000@bombadil.infradead.org> In-Reply-To: <20081202160649.658660000@bombadil.infradead.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1228236500 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11743 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- ACK on this. I ran into this too on a backport but didn't think it was a problem upstream, thanks! -Eric From arekm@maven.pl Tue Dec 2 12:50:32 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_54 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2IoUgA012720 for ; Tue, 2 Dec 2008 12:50:32 -0600 X-ASG-Debug-ID: 1228243828-677703e10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from main.carme.maven.pl (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3A6A51651279 for ; Tue, 2 Dec 2008 10:50:28 -0800 (PST) Received: from main.carme.maven.pl (main.carme.maven.pl [193.239.45.138]) by cuda.sgi.com with ESMTP id QF9GGLyfk4PlACNX for ; Tue, 02 Dec 2008 10:50:28 -0800 (PST) Received: from chello089076027073.chello.pl ([89.76.27.73]:4164 helo=maven.pl) by main.carme.maven.pl with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1L7aKI-0000Uf-NN for xfs@oss.sgi.com; Tue, 02 Dec 2008 19:50:26 +0100 Received: from arekm by maven.pl with local (Exim 4.69) (envelope-from ) id 1L7aJn-0003nN-Hn for xfs@oss.sgi.com; Tue, 02 Dec 2008 19:49:56 +0100 From: Arkadiusz Miskiewicz To: xfs@oss.sgi.com X-ASG-Orig-Subj: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Date: Tue, 2 Dec 2008 19:49:55 +0100 User-Agent: PLD Linux KMail/1.9.10 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <200812021949.55463.arekm@maven.pl> X-Barracuda-Connect: main.carme.maven.pl[193.239.45.138] X-Barracuda-Start-Time: 1228243829 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11752 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by oss.sgi.com id mB2IoUgA012720 Hello, I'm trying to use xfs project quota on kernel 2.6.27.7 (vanilla, no additional patches), x86_64 UP machine (SMP kernel). mounted /home with usrquota,prjquota [arekm@arm ~]$ mount|grep xfs /dev/sda1 on / type xfs (rw) /dev/sda3 on /home type xfs (rw,usrquota,prjquota) /dev/hdb on /mnt/storage2 type xfs (rw) played a bit with setting quota/reporting it and such. $ cat /etc/projects 10:/home/users/arekm/public_html 10:/home/users/arekm/rpm 20:/home/users/arekm/tcl 20:/home/users/arekm/tcl-test I did for example xfs_quota -x -c "project -s 10" and allowed it to finish. I also started it second time and aborted with ctrl+c after few seconds (which I assume should have no effect since initial -s 10 was finished properly earlier). Played more with xfs_quota report and such. Now some processes that are using /home/users/arekm/rpm are hanging in D-state like: SysRq : Show Blocked State task PC stack pid father patch D ffff88003a7dd080 0 3971 3965 ffff880034453cd8 0000000000000086 0000000000000000 ffff8800344770d0 ffff880034453cd8 ffff8800354d2440 ffffffff805d0340 ffff8800354d27b8 00000000000041ed 00000000fffc7a61 ffff8800354d27b8 0000000000000250 Call Trace: [] ? kmem_zone_alloc+0x94/0xe0 [xfs] [] __down_write_nested+0x8d/0xd0 [] __down_write+0xb/0x10 [] down_write+0x9/0x10 [] xfs_ilock+0x76/0x90 [xfs] [] xfs_lock_two_inodes+0x70/0x120 [xfs] [] xfs_remove+0x141/0x3a0 [xfs] [] ? _spin_lock+0x9/0x10 [] xfs_setup_inode+0x673/0xa00 [xfs] [] vfs_unlink+0xf9/0x140 [] do_unlinkat+0x1a3/0x1c0 [] ? audit_syscall_entry+0x150/0x180 [] sys_unlink+0x11/0x20 [] system_call_fastpath+0x16/0x1b reboot, retry with patch (which accesses /home/users/arekm/rpm) and stuck in D-state again. touch home/users/arekm/rpm/xyz - doesn't stuck. cp /bin/bash /home/users/arekm/rpm/ - doesn't stuck. Did reboot and third test. D-state again for patch (this is interesting since uncompressing into /home/users/arekm/rpm/ succeeds but applying patch to uncompressed tree fails). SysRq : Show Blocked State task PC stack pid father patch D ffff88003a7d07c0 0 3631 3625 ffff88003443bcd8 0000000000000082 0000000000000000 ffff88003444e4a8 ffff88003443bcd8 ffff88003553e500 ffffffff805d0340 ffff88003553e878 00000000000041ed 00000000fffc4120 ffff88003553e878 0000000000000250 Call Trace: [] ? kmem_zone_alloc+0x94/0xe0 [xfs] [] __down_write_nested+0x8d/0xd0 [] __down_write+0xb/0x10 [] down_write+0x9/0x10 [] xfs_ilock+0x76/0x90 [xfs] [] xfs_lock_two_inodes+0x70/0x120 [xfs] [] xfs_remove+0x141/0x3a0 [xfs] [] ? _spin_lock+0x9/0x10 [] xfs_setup_inode+0x673/0xa00 [xfs] [] vfs_unlink+0xf9/0x140 [] do_unlinkat+0x1a3/0x1c0 [] ? audit_syscall_entry+0x150/0x180 [] sys_unlink+0x11/0x20 [] system_call_fastpath+0x16/0x1b I'm able to make it D-stuck quite reliably. Any ideas? Going to do xfs_repair just in case and retest. -- Arkadiusz MiÅ›kiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/ From arekm@maven.pl Tue Dec 2 13:08:55 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2J8txe013224 for ; Tue, 2 Dec 2008 13:08:55 -0600 X-ASG-Debug-ID: 1228244933-04aa00620000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from main.carme.maven.pl (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 27AED165704D for ; Tue, 2 Dec 2008 11:08:53 -0800 (PST) Received: from main.carme.maven.pl (main.carme.maven.pl [193.239.45.138]) by cuda.sgi.com with ESMTP id 6cLmJvCzuCuyhpMl for ; Tue, 02 Dec 2008 11:08:53 -0800 (PST) Received: from chello089076027073.chello.pl ([89.76.27.73]:2030 helo=maven.pl) by main.carme.maven.pl with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1L7aXI-0000uP-RI for xfs@oss.sgi.com; Tue, 02 Dec 2008 20:03:52 +0100 Received: from arekm by maven.pl with local (Exim 4.69) (envelope-from ) id 1L7aWn-0003rp-NQ for xfs@oss.sgi.com; Tue, 02 Dec 2008 20:03:22 +0100 From: Arkadiusz Miskiewicz To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Date: Tue, 2 Dec 2008 20:03:21 +0100 User-Agent: PLD Linux KMail/1.9.10 References: <200812021949.55463.arekm@maven.pl> In-Reply-To: <200812021949.55463.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <200812022003.21645.arekm@maven.pl> X-Barracuda-Connect: main.carme.maven.pl[193.239.45.138] X-Barracuda-Start-Time: 1228244934 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0129 1.0000 -1.9367 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.94 X-Barracuda-Spam-Status: No, SCORE=-1.94 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11752 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by oss.sgi.com id mB2J8txe013224 On Tuesday 02 of December 2008, Arkadiusz Miskiewicz wrote: > Going to do xfs_repair just in case and retest. Didn't help, xfs_repair for small two things in phase 6 but nothing serious. Again d-state for patch. xfs_repair found just these (sorry, in polish) błędna liczba nused w wolnym bloku 16777216 dla i-wÄ™zÅ‚a katalogu 237689990 przebudowywanie i-wÄ™zÅ‚a katalogu 237689990 błędna liczba nused w wolnym bloku 16777216 dla i-wÄ™zÅ‚a katalogu 873160686 przebudowywanie i-wÄ™zÅ‚a katalogu 873160686 -- Arkadiusz MiÅ›kiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/ From jengelh@medozas.de Tue Dec 2 14:02:29 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_42 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB2K2SYo015280 for ; Tue, 2 Dec 2008 14:02:29 -0600 X-ASG-Debug-ID: 1228248146-12f900090000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sovereign.computergmbh.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 831F91658AC1 for ; Tue, 2 Dec 2008 12:02:26 -0800 (PST) Received: from sovereign.computergmbh.de (sovereign.computergmbh.de [85.214.69.204]) by cuda.sgi.com with ESMTP id wmowfBLIrHDVcXty for ; Tue, 02 Dec 2008 12:02:26 -0800 (PST) Received: by sovereign.computergmbh.de (Postfix, from userid 25121) id EDA0118038544; Tue, 2 Dec 2008 21:02:25 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by sovereign.computergmbh.de (Postfix) with ESMTP id E4F051C00EF63 for ; Tue, 2 Dec 2008 21:02:25 +0100 (CET) Date: Tue, 2 Dec 2008 21:02:25 +0100 (CET) From: Jan Engelhardt Sender: jengelh@sovereign.computergmbh.de To: xfs@oss.sgi.com X-ASG-Orig-Subj: Disk full during delayed allocation Subject: Disk full during delayed allocation Message-ID: User-Agent: Alpine 1.10 (LNX 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: sovereign.computergmbh.de[85.214.69.204] X-Barracuda-Start-Time: 1228248147 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11756 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, on space-constrained filesystems, I noticed that extracting lots of files [about 10k] bumps the Used count up quickly leading to a disk full unless the extraction process (rpm here) is halted, synced, and then continued. I believe this is fully within XFS's standard behavior, but I would like to learn more how exactly this can happen. My guess is that this is due to the "dynamic journal/log" size XFS employs - on a filesystem just mkfs'ed, about 4256KB (for a volume of 128MB) are used, compared to e.g. reiser3 where the full 32MB for the journal are used (according to df) right from the start. Is this so? # df; killall -CONT rpm; sleep 1; killall -STOP rpm; df; sync; df; Filesystem 1K-blocks Used Available Use% Mounted on /lo/src.fs 93504 29396 64108 32% /usr/src /lo/src.fs 93504 49072 44432 53% /usr/src /lo/src.fs 93504 35632 57872 39% /usr/src From billodo@sgi.com Tue Dec 2 19:23:33 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB31NWIO001916 for ; Tue, 2 Dec 2008 19:23:33 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id D035CAC002 for ; Tue, 2 Dec 2008 17:23:28 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 7F5217000103; Tue, 2 Dec 2008 19:23:28 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id CCB3C17E01F; Tue, 2 Dec 2008 19:28:59 -0600 (CST) Date: Tue, 2 Dec 2008 19:28:59 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 5/9] add support for large btree blocks with CRCs and additional RAS information Message-ID: <20081203012859.GA16811@sgi.com> References: <20080925225633.GF9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225633.GF9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:33AM +0200, Christoph Hellwig wrote: | Add support for larger btree blocks that contains a CRC32C checksum, a | filesystem uuid and block number for detecting filesystem consistency | and out of place writes. The use of these blocks is triggered by the | crc superblock patches just added. | | Note that we currently do not log the crc of the block, but re-created | it during log recovery. With the pending patch to also checksum the log | this should be safe against filesystem corruption but doesn't really | follow the end to end argument. Also poking into the buffer to find | out whether this is a btree buffer during log recovery is not a very | clean way to implement this. I'll look into how well adding crcs | to the buffer log items for every btree is going to work and hope | I can switch to that variant for the next version. looks good... will need to put this through the QA wringer. -- Bill O'Donnell SGI billodo@sgi.com From billodo@sgi.com Tue Dec 2 19:27:03 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB31R32L002110 for ; Tue, 2 Dec 2008 19:27:03 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1780F8F8062 for ; Tue, 2 Dec 2008 17:27:00 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id AC7547000103; Tue, 2 Dec 2008 19:26:59 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id 0670317E01F; Tue, 2 Dec 2008 19:32:31 -0600 (CST) Date: Tue, 2 Dec 2008 19:32:31 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com, Dave Chinner Subject: Re: [PATCH 6/9] Add CRC checks to the superblock. Message-ID: <20081203013230.GB16811@sgi.com> References: <20080925225639.GG9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225639.GG9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:39AM +0200, Christoph Hellwig wrote: | From: Dave Chinner | | [hch: minor adaptions] I suggest a more comprehensive header here. Otherwise code looks good. | | | Signed-off-by: Dave Chinner | Signed-off-by: Christoph Hellwig | From billodo@sgi.com Tue Dec 2 19:29:03 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB31T2fS002325 for ; Tue, 2 Dec 2008 19:29:03 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3F58AAC001 for ; Tue, 2 Dec 2008 17:29:02 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id DE83A7000103; Tue, 2 Dec 2008 19:29:01 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id 3940317E01F; Tue, 2 Dec 2008 19:34:33 -0600 (CST) Date: Tue, 2 Dec 2008 19:34:33 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com, Dave Chinner Subject: Re: [PATCH 7/9] Add CRC checks to the AGI Message-ID: <20081203013433.GC16811@sgi.com> References: <20080925225642.GH9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225642.GH9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:42AM +0200, Christoph Hellwig wrote: | From: Dave Chinner | | [hch: minor adaptions] | I suggest a more comprehensive header. Code looks good otherwise. From billodo@sgi.com Tue Dec 2 19:30:36 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB31UaS2002574 for ; Tue, 2 Dec 2008 19:30:36 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3C248304085 for ; Tue, 2 Dec 2008 17:30:33 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 34C977000103; Tue, 2 Dec 2008 19:30:33 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id 8548D17E01F; Tue, 2 Dec 2008 19:36:04 -0600 (CST) Date: Tue, 2 Dec 2008 19:36:04 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com, Dave Chinner Subject: Re: [PATCH 8/9] Add CRC checks to the AGF Message-ID: <20081203013604.GD16811@sgi.com> References: <20080925225646.GI9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225646.GI9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:46AM +0200, Christoph Hellwig wrote: | From: Dave Chinner | | [hch: minor adaptions] | suggest a more comprehensive header... code looks good otherwise. From billodo@sgi.com Tue Dec 2 19:36:55 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB31ataF002988 for ; Tue, 2 Dec 2008 19:36:55 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id AF6E98F8064 for ; Tue, 2 Dec 2008 17:36:54 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 83FCF7000103; Tue, 2 Dec 2008 19:36:54 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id D678F17E01F; Tue, 2 Dec 2008 19:42:25 -0600 (CST) Date: Tue, 2 Dec 2008 19:42:25 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 9/9] Replace log checksumming code with CRCs. Message-ID: <20081203014225.GE16811@sgi.com> References: <20080925225650.GJ9822@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080925225650.GJ9822@lst.de> User-Agent: Mutt/1.5.16 (2007-06-09) On Fri, Sep 26, 2008 at 12:56:50AM +0200, Christoph Hellwig wrote: | From: Dave Chinner | | The log has debug only checksum validation; replace this with | stronger CRCs and always use it. | | So far we only checksum the payload in every log buffer. For the final | version this needs to be extended to include the headers, too. | | | [hch: minor adaptions] looks good. From david@fromorbit.com Tue Dec 2 20:13:00 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32D0W6005255 for ; Tue, 2 Dec 2008 20:13:00 -0600 X-ASG-Debug-ID: 1228270377-660600380000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 99233166646B for ; Tue, 2 Dec 2008 18:12:58 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id 7XzGMkrd6Eoh1h1S for ; Tue, 02 Dec 2008 18:12:58 -0800 (PST) Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 12:42:22 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hDy-0007v8-7a; Wed, 03 Dec 2008 13:12:22 +1100 Date: Wed, 3 Dec 2008 13:12:22 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 03/22] remove unused behvavior cruft in xfs_super.h Subject: Re: [patch 03/22] remove unused behvavior cruft in xfs_super.h Message-ID: <20081203021222.GB18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.932903000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160649.932903000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228270379 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0011 1.0000 -2.0137 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.01 X-Barracuda-Spam-Status: No, SCORE=-2.01 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11778 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:33AM -0500, Christoph Hellwig wrote: > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 20:16:45 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32GjCJ005795 for ; Tue, 2 Dec 2008 20:16:45 -0600 X-ASG-Debug-ID: 1228270603-660800760000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 249D41665633 for ; Tue, 2 Dec 2008 18:16:44 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id MnMvtseSVj5iZGxz for ; Tue, 02 Dec 2008 18:16:44 -0800 (PST) Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 12:41:12 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hCg-0007sn-3Z; Wed, 03 Dec 2008 13:11:02 +1100 Date: Wed, 3 Dec 2008 13:11:02 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 02/22] remove useless mnt_want_write call in xfs_write Subject: Re: [patch 02/22] remove useless mnt_want_write call in xfs_write Message-ID: <20081203021102.GA18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.790190000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160649.790190000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228270605 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0003 1.0000 -2.0190 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11778 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:32AM -0500, Christoph Hellwig wrote: > > When mnt_want_write was introduced a call to it was added around > xfs_ichgtime, but there is no need for this because a file can't be open > read/write on a r/o mount, and a mount can't degrade r/o while we still > have files open for writing. As the mnt_want_write changes were never > merged into the CVS tree this patch is for mainline only. > > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From sandeen@sandeen.net Tue Dec 2 20:25:55 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32Pt4u006245 for ; Tue, 2 Dec 2008 20:25:55 -0600 X-ASG-Debug-ID: 1228271153-660600d00000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 57720161A23C for ; Tue, 2 Dec 2008 18:25:53 -0800 (PST) Received: from sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id lT9CwjaYzN4EhWue for ; Tue, 02 Dec 2008 18:25:53 -0800 (PST) Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTP id BD4F39F08EF; Tue, 2 Dec 2008 20:20:19 -0600 (CST) Message-ID: <4935ECE3.70607@sandeen.net> Date: Tue, 02 Dec 2008 20:20:19 -0600 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.18 (Macintosh/20081105) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 01/22] fix compile on 32 bit systems Subject: Re: [patch 01/22] fix compile on 32 bit systems References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.658660000@bombadil.infradead.org> In-Reply-To: <20081202160649.658660000@bombadil.infradead.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1228271154 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11780 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- (to be formal about it) > Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen From sandeen@sandeen.net Tue Dec 2 20:27:06 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32R6tg006360 for ; Tue, 2 Dec 2008 20:27:06 -0600 X-ASG-Debug-ID: 1228271225-660600e30000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AAD6A162E532 for ; Tue, 2 Dec 2008 18:27:05 -0800 (PST) Received: from sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id YS6PQLsGr1HIYFZz for ; Tue, 02 Dec 2008 18:27:05 -0800 (PST) Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTP id C228DAABFC0; Tue, 2 Dec 2008 20:22:04 -0600 (CST) Message-ID: <4935ED4C.2070205@sandeen.net> Date: Tue, 02 Dec 2008 20:22:04 -0600 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.18 (Macintosh/20081105) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 04/22] remove unused prototypes for xfs_ihash_init / xfs_ihash_free Subject: Re: [patch 04/22] remove unused prototypes for xfs_ihash_init / xfs_ihash_free References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.066779000@bombadil.infradead.org> In-Reply-To: <20081202160650.066779000@bombadil.infradead.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1228271225 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11780 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Christoph Hellwig wrote: > Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen From david@fromorbit.com Tue Dec 2 20:13:49 2008 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32DnO6005315 for ; Tue, 2 Dec 2008 20:13:49 -0600 X-ASG-Debug-ID: 1228270427-660700460000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id EB26B166647C for ; Tue, 2 Dec 2008 18:13:48 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id R14PNDkxlPMFZIt1 for ; Tue, 02 Dec 2008 18:13:48 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAL95NUl5LJfT/2dsb2JhbADSfoJ/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268308608" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 12:43:22 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hEw-0007wu-7n; Wed, 03 Dec 2008 13:13:22 +1100 Date: Wed, 3 Dec 2008 13:13:22 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 04/22] remove unused prototypes for xfs_ihash_init / xfs_ihash_free Subject: Re: [patch 04/22] remove unused prototypes for xfs_ihash_init / xfs_ihash_free Message-ID: <20081203021322.GC18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.066779000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160650.066779000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228270428 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0001 1.0000 -2.0203 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11778 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:34AM -0500, Christoph Hellwig wrote: > > Signed-off-by: Christoph Hellwig I must have missed these when removing the ihash.... Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 20:34:57 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32Yuja007031 for ; Tue, 2 Dec 2008 20:34:57 -0600 X-ASG-Debug-ID: 1228271694-660901780000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1438D1664BF7 for ; Tue, 2 Dec 2008 18:34:55 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id ebzFvap36RSD3zdx for ; Tue, 02 Dec 2008 18:34:55 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEABd9NUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268318492" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 12:59:52 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hUt-0008Ji-0m; Wed, 03 Dec 2008 13:29:51 +1100 Date: Wed, 3 Dec 2008 13:29:50 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 05/22] cleanup the inode reclaim path Subject: Re: [patch 05/22] cleanup the inode reclaim path Message-ID: <20081203022950.GD18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.198364000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160650.198364000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228271696 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11780 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:35AM -0500, Christoph Hellwig wrote: > Merge xfs_iextract and xfs_idestory into xfs_ireclaim as they are never xfs_idestroy > called individually. Also rewrite most comments in this area as they > were serverly out of date. severely > > Signed-off-by: Christoph Hellwig > > Index: xfs-master/fs/xfs/xfs_iget.c > =================================================================== > --- xfs-master.orig/fs/xfs/xfs_iget.c 2008-12-01 19:26:04.000000000 +0100 > +++ xfs-master/fs/xfs/xfs_iget.c 2008-12-01 19:27:15.000000000 +0100 > @@ -450,65 +450,109 @@ xfs_iput_new( > IRELE(ip); > } > > - > /* > - * This routine embodies the part of the reclaim code that pulls > - * the inode from the inode hash table and the mount structure's > - * inode list. > - * This should only be called from xfs_reclaim(). > + * This is called free all the memory associated with an inode. * xfs_ireclaim is called to free.... > + * It must free the inode itself and any buffers allocated for > + * if_extents/if_data and if_broot. It must also free the lock > + * associated with the inode. > + * > + * Note: because we don't initialise everything on reallocation out > + * of the zone, we must ensure we nullify everything correctly before > + * freeing the structure. > */ > void > -xfs_ireclaim(xfs_inode_t *ip) > +xfs_ireclaim( > + struct xfs_inode *ip) > { > - /* > - * Remove from old hash list and mount list. > - */ > - XFS_STATS_INC(xs_ig_reclaims); > + struct xfs_mount *mp = ip->i_mount; > + struct xfs_perag *pag; > > - xfs_iextract(ip); > + XFS_STATS_INC(xs_ig_reclaims); > > /* > - * Here we do a spurious inode lock in order to coordinate with inode > - * cache radix tree lookups. This is because the lookup can reference > - * the inodes in the cache without taking references. We make that OK > - * here by ensuring that we wait until the inode is unlocked after the > - * lookup before we go ahead and free it. We get both the ilock and > - * the iolock because the code may need to drop the ilock one but will > - * still hold the iolock. > + * Remove the inode from the per-AG radix tree. It doesn't matter > + * if it was never added to it because radix_tree_delete can deal > + * with that case just fine. > */ > - xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + pag = xfs_get_perag(mp, ip->i_ino); > + write_lock(&pag->pag_ici_lock); > + radix_tree_delete(&pag->pag_ici_root, XFS_INO_TO_AGINO(mp, ip->i_ino)); > + write_unlock(&pag->pag_ici_lock); > + xfs_put_perag(mp, pag); > > /* > - * Release dquots (and their references) if any. An inode may escape > - * xfs_inactive and get here via vn_alloc->vn_reclaim path. > + * Here we do an (almost) spurious inode lock in order to coordinate > + * with inode cache radix tree lookups. This is because the lookup > + * can reference the inodes in the cache without taking references. > + * > + * We make that OK here by ensuring that we wait until the inode is > + * unlocked after the lookup before we go ahead and free it. We get > + * both the ilock and the iolock because the code may need to drop the > + * ilock one but will still hold the iolock. > */ Hmmm - I need to check if this is still true. We now use igrab() to get a reference on all lookups except the reclaim lookup. In the case of a racing reclaim lookup, we check for the reclaim flags on the inode after the lookup but before we try to lock the inode. Hence this lock check probably doesn't do anything anymore, but I need to look a bit closer.... Other than the typos, the code looks ok, so: Reviewed-by: Dave Chinner Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 20:37:58 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32bwj9007258 for ; Tue, 2 Dec 2008 20:37:58 -0600 X-ASG-Debug-ID: 1228271876-660801a40000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C7CB21664C10 for ; Tue, 2 Dec 2008 18:37:56 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id tjyAnG15L7krGIDY for ; Tue, 02 Dec 2008 18:37:56 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEABd9NUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268324488" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:07:55 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hcg-0008UF-P7; Wed, 03 Dec 2008 13:37:54 +1100 Date: Wed, 3 Dec 2008 13:37:54 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 06/22] kill xfs_buf_iostart Subject: Re: [patch 06/22] kill xfs_buf_iostart Message-ID: <20081203023754.GE18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.360918000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160650.360918000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228271877 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11780 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:36AM -0500, Christoph Hellwig wrote: > xfs_buf_iostart is a "shared" helper for xfs_buf_read_flags, > xfs_bawrite, and xfs_bdwrite - except that there isn't much shared > code but rather special cases for each caller. > > So remove this function and move the functionality to the caller. > xfs_bawrite and xfs_bdwrite are now big enough to be moved out of > line and the xfs_buf_read_flags is moved into a new helper called > _xfs_buf_read. > > (First sent on August 2nd) > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 20:39:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32dqZ2007461 for ; Tue, 2 Dec 2008 20:39:52 -0600 X-ASG-Debug-ID: 1228271989-660901b30000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B0A0D1664C33 for ; Tue, 2 Dec 2008 18:39:50 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id rGlVj07GeOuWf3mA for ; Tue, 02 Dec 2008 18:39:50 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEABd9NUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268325747" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:09:49 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7heW-00004z-SY; Wed, 03 Dec 2008 13:39:48 +1100 Date: Wed, 3 Dec 2008 13:39:48 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 07/22] stop using igrab in xfs_vn_link Subject: Re: [patch 07/22] stop using igrab in xfs_vn_link Message-ID: <20081203023948.GF18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.515494000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160650.515494000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228271991 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0010 1.0000 -2.0145 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.01 X-Barracuda-Spam-Status: No, SCORE=-2.01 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11780 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:37AM -0500, Christoph Hellwig wrote: > ->link is guranteed to get an already reference inode passed so we > can do a simple increment of i_count instead of using igrab and thus > avoid banging on the global inode_lock. This is what most filesystems > already do. > > Also move the increment after the call to xfs_link to simplify error > handling. > > (First sent on July 26th) > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 20:56:25 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32uPTu008724 for ; Tue, 2 Dec 2008 20:56:25 -0600 X-ASG-Debug-ID: 1228272982-12c8001d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3CC3716104C9 for ; Tue, 2 Dec 2008 18:56:23 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id GrqJaRGYEKAS2iIg for ; Tue, 02 Dec 2008 18:56:23 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268335536" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:26:15 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7huQ-0000U5-AT; Wed, 03 Dec 2008 13:56:14 +1100 Date: Wed, 3 Dec 2008 13:56:14 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 08/22] reduce l_icloglock roundtrips Subject: Re: [patch 08/22] reduce l_icloglock roundtrips Message-ID: <20081203025614.GG18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.663976000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160650.663976000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228272984 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0209 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:38AM -0500, Christoph Hellwig wrote: > All but one caller of xlog_state_want_sync drop and re-acquire > l_icloglock around the call to it, just so that xlog_state_want_sync can > acquire and drop it. Not really a performance problem, though, because the one caller that doesn't already hold the lock is the common path (i.e. xlog_write()); the others are in the unmount path, so lock traffic is not there is not performance critical.... Hence I'm not sure this is really necessary. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 20:59:26 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32xQCK008910 for ; Tue, 2 Dec 2008 20:59:26 -0600 X-ASG-Debug-ID: 1228273156-34c203c10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C83AB16436F4 for ; Tue, 2 Dec 2008 18:59:17 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id Ejlxpcoz5TuMnjE1 for ; Tue, 02 Dec 2008 18:59:17 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268336243" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:27:19 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hvP-0000Vb-AW; Wed, 03 Dec 2008 13:57:15 +1100 Date: Wed, 3 Dec 2008 13:57:15 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 10/22] kill dead quota flags Subject: Re: [patch 10/22] kill dead quota flags Message-ID: <20081203025715.GI18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.974883000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160650.974883000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228273158 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0029 1.0000 -2.0021 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.00 X-Barracuda-Spam-Status: No, SCORE=-2.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:40AM -0500, Christoph Hellwig wrote: > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 20:59:28 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB32xR45008920 for ; Tue, 2 Dec 2008 20:59:28 -0600 X-ASG-Debug-ID: 1228273156-34c203c10001-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 137D216436F6 for ; Tue, 2 Dec 2008 18:59:19 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id cqDl0Lq0a300GvG1 for ; Tue, 02 Dec 2008 18:59:19 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268337670" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:29:15 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hxK-0000Y7-Rm; Wed, 03 Dec 2008 13:59:14 +1100 Date: Wed, 3 Dec 2008 13:59:14 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 12/22] kill dead inode flags Subject: Re: [patch 12/22] kill dead inode flags Message-ID: <20081203025914.GJ18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.264876000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160651.264876000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228273160 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0015 1.0000 -2.0112 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.01 X-Barracuda-Spam-Status: No, SCORE=-2.01 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:42AM -0500, Christoph Hellwig wrote: > There are a few inode flags around that aren't used anywhere, so remove > them. Also update xfsidbg to display all used inode flags correctly. > > (First sent on July 23nd) > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:02:59 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB332xo7009261 for ; Tue, 2 Dec 2008 21:02:59 -0600 X-ASG-Debug-ID: 1228273376-756a01cd0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1A0AE166D82F for ; Tue, 2 Dec 2008 19:02:57 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id x0NpyK2cKhAwsvLg for ; Tue, 02 Dec 2008 19:02:57 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268335863" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:26:44 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7huu-0000Uq-IE; Wed, 03 Dec 2008 13:56:44 +1100 Date: Wed, 3 Dec 2008 13:56:44 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 09/22] remove dead code from sv_t implementation Subject: Re: [patch 09/22] remove dead code from sv_t implementation Message-ID: <20081203025644.GH18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.829703000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160650.829703000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228273379 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0209 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:39AM -0500, Christoph Hellwig wrote: > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:09:28 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB339Svh009575 for ; Tue, 2 Dec 2008 21:09:28 -0600 X-ASG-Debug-ID: 1228273766-348f03ca0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F4065166E50D for ; Tue, 2 Dec 2008 19:09:27 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id 5nO8q1vCgb6K4LCt for ; Tue, 02 Dec 2008 19:09:27 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268342832" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:36:30 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7i4L-0000iM-3f; Wed, 03 Dec 2008 14:06:29 +1100 Date: Wed, 3 Dec 2008 14:06:29 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 17/22] no explicit xfs_iflush for special inodes during unmount Subject: Re: [patch 17/22] no explicit xfs_iflush for special inodes during unmount Message-ID: <20081203030629.GN18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.992698000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160651.992698000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228273767 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:47AM -0500, Christoph Hellwig wrote: > Currently we explicitly call xfs_iflush on the quota, real-time and root > inodes from xfs_unmount_flush. But we just called xfs_sync_inodes with > SYNC_ATTR and do an XFS_bflush aka xfs_flush_buftarg to make sure all inodes > are on disk already, so there is no need for these special cases. > > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:09:30 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB339Tk1009582 for ; Tue, 2 Dec 2008 21:09:30 -0600 X-ASG-Debug-ID: 1228273766-348f03ca0001-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3D696166E531 for ; Tue, 2 Dec 2008 19:09:28 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id KuFCRbLmFQU0MRI7 for ; Tue, 02 Dec 2008 19:09:28 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268339336" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:31:28 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hzU-0000bT-Gh; Wed, 03 Dec 2008 14:01:28 +1100 Date: Wed, 3 Dec 2008 14:01:28 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 14/22] remove leftovers of shared read-only support Subject: Re: [patch 14/22] remove leftovers of shared read-only support Message-ID: <20081203030128.GL18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.583993000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160651.583993000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228273769 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:44AM -0500, Christoph Hellwig wrote: > We never supported shared read-only filesystems, so remove the dead > code left over from IRIX for it. > > > Signed-off-by: Christoph Hellwig ...... > - if (!ronly || !(mp->m_sb.sb_flags & XFS_SBF_READONLY) || > - (mp->m_sb.sb_shared_vn != 0)) > - return XFS_ERROR(EINVAL); > - > - mp->m_flags |= XFS_MOUNT_SHARED; You can kill XFS_MOUNT_SHARED from xfs_mount.h as well. Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:09:31 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB339VKJ009589 for ; Tue, 2 Dec 2008 21:09:31 -0600 X-ASG-Debug-ID: 1228273766-348f03ca0002-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B1025166E533 for ; Tue, 2 Dec 2008 19:09:29 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id d0fp2APhS3HiNdB2 for ; Tue, 02 Dec 2008 19:09:29 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268343940" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:38:17 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7i65-0000kh-Fa; Wed, 03 Dec 2008 14:08:17 +1100 Date: Wed, 3 Dec 2008 14:08:17 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 18/22] kill xfs_unmount_flush Subject: Re: [patch 18/22] kill xfs_unmount_flush Message-ID: <20081203030817.GO18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160652.147347000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160652.147347000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228273770 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:48AM -0500, Christoph Hellwig wrote: > There's almost nothing left in this function, instead remove the IRELE > on the real times inodes and the call to XFS_QM_UNMOUNT into xfs_unmountfs. > > For the regular unmount case that means it now also happenes after dmapi > notification, but otherwise there is no difference in behaviour. > > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:13:36 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33Daxp010022 for ; Tue, 2 Dec 2008 21:13:36 -0600 X-ASG-Debug-ID: 1228274013-660903190000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4C9B615BFC89 for ; Tue, 2 Dec 2008 19:13:34 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id KcnAgBQwyu0dFVIC for ; Tue, 02 Dec 2008 19:13:34 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268341071" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:33:49 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7i1k-0000eQ-2w; Wed, 03 Dec 2008 14:03:48 +1100 Date: Wed, 3 Dec 2008 14:03:48 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 16/22] use xfs_trans_ijoin in xfs_trans_iget Subject: Re: [patch 16/22] use xfs_trans_ijoin in xfs_trans_iget Message-ID: <20081203030348.GM18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.861936000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160651.861936000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228274015 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:46AM -0500, Christoph Hellwig wrote: > Use xfs_trans_ijoin in xfs_trans_iget in case we need to join an inode into > a transaction instead of opencoding it. Based on a discussion with and an > incomplete patch from Niv Sardi. > > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:13:37 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33DbhK010029 for ; Tue, 2 Dec 2008 21:13:37 -0600 X-ASG-Debug-ID: 1228274013-660903190001-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A6BBC15C2E8A for ; Tue, 2 Dec 2008 19:13:35 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id kMT9GDStJa12HDuQ for ; Tue, 02 Dec 2008 19:13:35 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAM6HNUl5LJfT/2dsb2JhbADSe4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268347853" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:43:20 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7iAx-0000qx-Cs; Wed, 03 Dec 2008 14:13:19 +1100 Date: Wed, 3 Dec 2008 14:13:19 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 19/22] kill vn_ioerror Subject: Re: [patch 19/22] kill vn_ioerror Message-ID: <20081203031319.GP18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160652.335328000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160652.335328000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228274016 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0007 1.0000 -2.0165 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:49AM -0500, Christoph Hellwig wrote: > There's just one caller of this helper, and it's much cleaner to just merge > the xfs_do_force_shutdown call into it. > > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:17:29 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33HSBc010912 for ; Tue, 2 Dec 2008 21:17:29 -0600 X-ASG-Debug-ID: 1228274246-6f6002960000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AF98F16220C3 for ; Tue, 2 Dec 2008 19:17:26 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id VnQxEWwch2ZYldyC for ; Tue, 02 Dec 2008 19:17:26 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAM6HNUl5LJfT/2dsb2JhbADSe4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268350601" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:47:20 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7iEp-0000yJ-55; Wed, 03 Dec 2008 14:17:19 +1100 Date: Wed, 3 Dec 2008 14:17:19 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 20/22] move vn_iowait / vn_iowake into xfs_aops.c Subject: Re: [patch 20/22] move vn_iowait / vn_iowake into xfs_aops.c Message-ID: <20081203031719.GQ18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160652.542003000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160652.542003000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228274247 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:50AM -0500, Christoph Hellwig wrote: > The whole machinery to wait on I/O completion is related to the I/O path > and should be there instead of in xfs_vnode.c. Also give the functions > more descriptive names. I'm not sure that "xfs_ioend_..." is the best name - it looks slightly weird in some of the callers' contexts. Just dropping the "end" out of the names makes the code read much better (i.e. xfs_io_wait() and xfs_io_wake()). Not particularly important, though, and everything else looks good. Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:24:06 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33O6HS011297 for ; Tue, 2 Dec 2008 21:24:06 -0600 X-ASG-Debug-ID: 1228274644-660703510000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1C0B6166D60E for ; Tue, 2 Dec 2008 19:24:05 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id 5SYTt2DNo1yhlHbI for ; Tue, 02 Dec 2008 19:24:05 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAM6HNUl5LJfT/2dsb2JhbADSe4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268355359" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:54:03 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7iLK-00017V-99; Wed, 03 Dec 2008 14:24:02 +1100 Date: Wed, 3 Dec 2008 14:24:02 +1100 From: Dave Chinner To: Jan Engelhardt Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Disk full during delayed allocation Subject: Re: Disk full during delayed allocation Message-ID: <20081203032402.GT18236@disturbed> Mail-Followup-To: Jan Engelhardt , xfs@oss.sgi.com References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228274646 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0184 1.0000 -1.9014 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.90 X-Barracuda-Spam-Status: No, SCORE=-1.90 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11784 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 09:02:25PM +0100, Jan Engelhardt wrote: > Hi, > > > on space-constrained filesystems, I noticed that extracting lots of > files [about 10k] bumps the Used count up quickly leading to a disk full > unless the extraction process (rpm here) is halted, synced, and then > continued. I believe this is fully within XFS's standard behavior, but I > would like to learn more how exactly this can happen. Outstanding delayed allocation has reservations for metadata blocks that *may* be required to do the delayed allocation. most delalloc's don't require metadata blocks to be allocated and hence when the data is sync'd the reservation is freed and there is "magically" more space available. > My guess is that > this is due to the "dynamic journal/log" size XFS employs It is not dynamic. The XFS journal size is fixed at mkfs time - it's just that it is sized according to the size of the filesystem being made.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 21:24:09 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33O9bw011318 for ; Tue, 2 Dec 2008 21:24:09 -0600 X-ASG-Debug-ID: 1228274644-660703510001-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A3ED7166D60F for ; Tue, 2 Dec 2008 19:24:07 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id pqSLCMyufcSGse1Q for ; Tue, 02 Dec 2008 19:24:07 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAM6HNUl5LJfT/2dsb2JhbADSe4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268351416" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:48:30 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7iFy-000107-2m; Wed, 03 Dec 2008 14:18:30 +1100 Date: Wed, 3 Dec 2008 14:18:30 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 21/22] move inode tracing out of xfs_vnode. Subject: Re: [patch 21/22] move inode tracing out of xfs_vnode. Message-ID: <20081203031829.GR18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160652.734778000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160652.734778000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228274648 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0002 1.0000 -2.0199 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11784 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:51AM -0500, Christoph Hellwig wrote: > Move the inode tracing into xfs_iget.c / xfs_inode.h and kill xfs_vnode.c > now that it's empty. > > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From xaiki@sgi.com Tue Dec 2 21:37:40 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33bdVm012269 for ; Tue, 2 Dec 2008 21:37:40 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay1.corp.sgi.com (Postfix) with SMTP id 275F48F8064; Tue, 2 Dec 2008 19:37:34 -0800 (PST) Received: from itchy.melbourne.sgi.com (itchy.melbourne.sgi.com [134.14.55.96]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id OAA20830; Wed, 3 Dec 2008 14:37:32 +1100 From: Niv Sardi To: Russell Cattelan Cc: lachlan@sgi.com, xfs@oss.sgi.com Subject: Re: New XFS git tree on oss.sgi.com References: <492BA7AD.5080007@sgi.com> <20081125081644.GA20644@infradead.org> <492C0B3D.3040002@thebarn.com> <492CA07F.1030803@sgi.com> <492CC201.3080304@xfs.org> Date: Wed, 03 Dec 2008 14:37:27 +1100 In-Reply-To: <492CC201.3080304@xfs.org> (Russell Cattelan's message of "Tue, 25 Nov 2008 21:26:57 -0600") Message-ID: User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Russell Cattelan writes: > Lachlan McIlroy wrote: > >> Russell Cattelan wrote: >>> Christoph Hellwig wrote: >>>> On Tue, Nov 25, 2008 at 06:22:21PM +1100, Lachlan McIlroy wrote: >>>> >>>>> There's a few branches there already: >>>>> >>>>> 'master' This will contain all the latest xfs changes not yet >>>>> pushed >>>>> to mainline. >>>>> 'mainline' This is vanilla mainline and will updated regularly. >>>>> 'for-linus' Our staging branch for pull requests >>>>> 'xfs-dev' This branch will contain KDB and other supporting >>>>> code for >>>>> development and should be identical to the old CVS >>>>> tree. >>>>> >>>>> Feel free to start using it and let us know if you have any issues. >>>>> >>>> >>>> Any chance to have these as separate git trees instead of branches? >>>> >>>> In either case, do you expect patches against the xfs-dev or the master >>>> tree? It would also be useful if the trees and which one to be used >>>> could be documented on oss.sgi.com/projects/xfs or xfs.org. >>>> >>>> >>> Specifically this page please. >>> http://xfs.org/index.php/Getting_the_latest_source_code> Sure. I didn't even know that page existed. >> >>> >>> Maybe add a quick tutorial on git branches and how to create tracking >>> branches for this tree. >> Can we just point people at an existing git tutorial? Or are you wanting >> something specific to our processes? > most git tutorials seem to be specific to one particular process so > maybe a link to > a reasonable howto and then a few extra examples blurbs on how to create > and deal > with tracking branches. > > Maybe how to create tracking clones for each branch if that is what > people want to do. > > Personally I like branches as they help keep the tree cluster down and I > don't have to think > up naming schemes to help me remember what is what, but sounds like some > people may > like having multiple clones. Sorry, I've been droped out, the mailining list change confused my procmail. $ git clone git://oss.sgi.com/xfs/xfs.git # checking out xfs-dev and making it track the repo: $ git checkout -b xfs-dev --track origin/xfs-dev # adding a remote $ git remote add $name $remoteurl $ git remote udpate that will put your remote branches in the $name/$branch namespace. Anything else ? >>> Also can we have something other than "unnamed repository" in the >>> description file? >> Okay, how do we change that? >> >>> >>>> _______________________________________________ >>>> xfs mailing list >>>> xfs@oss.sgi.com >>>> http://oss.sgi.com/mailman/listinfo/xfs>>> >>> >>> >> > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- Niv Sardi From xaiki@sgi.com Tue Dec 2 21:46:05 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33k5uG013039 for ; Tue, 2 Dec 2008 21:46:05 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id E32D330408B; Tue, 2 Dec 2008 19:46:00 -0800 (PST) Received: from itchy.melbourne.sgi.com (itchy.melbourne.sgi.com [134.14.55.96]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id OAA21038; Wed, 3 Dec 2008 14:45:57 +1100 From: Niv Sardi To: Timothy Shimmin Cc: Lachlan McIlroy , Christoph Hellwig , xfs@oss.sgi.com Subject: Re: New XFS git tree on oss.sgi.com References: <492BA7AD.5080007@sgi.com> <20081125081644.GA20644@infradead.org> <492C9FB9.3090204@sgi.com> <20081126020009.GF6291@disturbed> <492CC287.3070709@sgi.com> <20081126040840.GG6291@disturbed> Date: Wed, 03 Dec 2008 14:45:52 +1100 In-Reply-To: <20081126040840.GG6291@disturbed> (Dave Chinner's message of "Wed, 26 Nov 2008 15:08:40 +1100") Message-ID: User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii [Catching up on old mail] Dave Chinner writes: > On Wed, Nov 26, 2008 at 02:29:11PM +1100, Timothy Shimmin wrote: > >> Dave Chinner wrote: >> > On Wed, Nov 26, 2008 at 12:00:41PM +1100, Lachlan McIlroy wrote: >> >> Christoph Hellwig wrote: >> >>> In either case, do you expect patches against the xfs-dev or the master >> >>> tree? It would also be useful if the trees and which one to be used >> >>> could be documented on oss.sgi.com/projects/xfs or xfs.org. >> >> We would prefer patches based on the master branch but patches can be >> >> against the mainline, master or xfs-dev branches. If a patch against >> >> mainline or xfs-dev doesn't apply cleanly to the master branch we may >> >> ask the author to rebase that patch against the master branch. If a >> >> patch to the master branch needs auxillary changes to files that only >> >> exist in the xfs-dev branch (ie xfsidbg stuff) we may ask for an >> >> additional patch from the author. >> > >> > IIUC correctly, you are saying that we'll have to provide two >> > different versions of every patch set? i.e. one that applies to >> > the -master branch and potentially another that applies to the >> > -xfs-dev branch? >> > >> No, that's not how I was envisaging this. >> If you are not interested in modifying xfsidbg.c or dmapi >> then I'd expect you to only send patches against the master branch. > > Ok, but that conflicts with "we may ask for an additional patch". > > I'm trying to understand how we (i.e. those of us outside SGI) are > expected to use these branches. The new setup doesn't seem any > different to the old trees - there's one repository but really it is > still two "trees" that will require "external merging" to move > complex changes between them. you can work with xfs-dev or master as you please, if you work on xfs-dev, we would like changes to xfs-dev only files (and bits), to be in separated patches, so that we can push back only those changes to master. branches make sense, as we want to keep those trees as close as possible, and merges will work (from master to xfs-dev, we need, for obvious reasons, to cherry-pick the other way around). >> I was expecting the xfs-team when they pull in or git-am the >> patches to update the other branch accordingly. > > It might help to describe how you're expecting patches to flow > from the developers up to Linus - that might help us understand > how we should use these trees (i.e. describe the workflow you > expect to be using).... > > Also, how does a "pull request" from a developer fit into this? [DEV]-(am||pull)->[master]->[LINUS] +-(merge)->[xfs-dev] OR [DEV]-(am||pull)->[xfs-dev,xfs-dev/{kdb,idbg,dmapi}] +-(cherry pick)->[master]->[LINUS] Cheers, -- Niv Sardi From xaiki@sgi.com Tue Dec 2 21:49:10 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33n82S013254 for ; Tue, 2 Dec 2008 21:49:10 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id 6C0A4AC004; Tue, 2 Dec 2008 19:49:04 -0800 (PST) Received: from itchy.melbourne.sgi.com (itchy.melbourne.sgi.com [134.14.55.96]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id OAA21065; Wed, 3 Dec 2008 14:49:02 +1100 From: Niv Sardi To: Christoph Hellwig Cc: Lachlan McIlroy , xfs@oss.sgi.com Subject: Re: New XFS git tree on oss.sgi.com References: <492BA7AD.5080007@sgi.com> <20081125140553.GA16553@infradead.org> <492CA245.3000709@sgi.com> <20081126032710.GA19523@infradead.org> Date: Wed, 03 Dec 2008 14:48:57 +1100 In-Reply-To: <20081126032710.GA19523@infradead.org> (Christoph Hellwig's message of "Tue, 25 Nov 2008 22:27:10 -0500") Message-ID: User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Christoph Hellwig writes: > On Wed, Nov 26, 2008 at 12:11:33PM +1100, Lachlan McIlroy wrote: > >> Christoph Hellwig wrote: >> > Looking over the -dev tree, can you please revert >> > >> > http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/xfs.git;a=commitdiff;h=c79ae33eebac1c15aa435fb77362fdc5eff2be4d> > >> > All this wasn't needed in the old ptrace tree either, no need to carry it forward. >> >> Is this code needed for the BSD port? > > According to Russell it may be need, but he'll probably need a newer > version than the one check-ed in once he resyncs. And he'll have his > own support dir with the rest of the BSD code. > >> There may be other code that can be removed too. We moved a lot of the code >> that existed only in ptools into the xfs-dev branch so that branch and ptools >> are in sync. This allows us to automatically merge changes back to the old >> ptools tree (yes it still lives). Any merge failures will now be handled >> between git branches and not between different scms. > > The xfs-dev also fortunately doesn't have the modular quota code. So > for both these I'd suggest removing them from the ptools tree, too. > > > Also > http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/xfs.git;a=commitdiff;h=ca830fdf6231d0683f4ea4e9223e234c3a509063doesn't seem to be needed. None of those symbols seems to be used by > either dmapi or xfsidbg, the only two modules using xfs symbols in the > tree. That's exactly why it's there, the revertion is actually moving from what was in ptools to something sane. -- Niv Sardi From david@fromorbit.com Tue Dec 2 21:53:46 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB33rkoL013524 for ; Tue, 2 Dec 2008 21:53:46 -0600 X-ASG-Debug-ID: 1228276422-049b02c80000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2785D166E543 for ; Tue, 2 Dec 2008 19:53:42 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id j4Dd5KoRBsVfFnsY for ; Tue, 02 Dec 2008 19:53:42 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAM6HNUl5LJfT/2dsb2JhbADSe4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268352628" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:50:14 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7iHd-00012h-Sq; Wed, 03 Dec 2008 14:20:13 +1100 Date: Wed, 3 Dec 2008 14:20:13 +1100 From: Dave Chinner To: Arkadiusz Miskiewicz Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Message-ID: <20081203032013.GS18236@disturbed> Mail-Followup-To: Arkadiusz Miskiewicz , xfs@oss.sgi.com References: <200812021949.55463.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200812021949.55463.arekm@maven.pl> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228276425 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0028 1.0000 -2.0026 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.00 X-Barracuda-Spam-Status: No, SCORE=-2.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11786 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 07:49:55PM +0100, Arkadiusz Miskiewicz wrote: > > Hello, > > I'm trying to use xfs project quota on kernel 2.6.27.7 (vanilla, no additional > patches), x86_64 UP machine (SMP kernel). > > Now some processes that are using /home/users/arekm/rpm are hanging in D-state > like: > > SysRq : Show Blocked State > task PC stack pid father > patch D ffff88003a7dd080 0 3971 3965 > ffff880034453cd8 0000000000000086 0000000000000000 ffff8800344770d0 > ffff880034453cd8 ffff8800354d2440 ffffffff805d0340 ffff8800354d27b8 > 00000000000041ed 00000000fffc7a61 ffff8800354d27b8 0000000000000250 > Call Trace: > [] ? kmem_zone_alloc+0x94/0xe0 [xfs] > [] __down_write_nested+0x8d/0xd0 > [] __down_write+0xb/0x10 > [] down_write+0x9/0x10 > [] xfs_ilock+0x76/0x90 [xfs] > [] xfs_lock_two_inodes+0x70/0x120 [xfs] > [] xfs_remove+0x141/0x3a0 [xfs] > [] ? _spin_lock+0x9/0x10 > [] xfs_setup_inode+0x673/0xa00 [xfs] > [] vfs_unlink+0xf9/0x140 > [] do_unlinkat+0x1a3/0x1c0 > [] ? audit_syscall_entry+0x150/0x180 > [] sys_unlink+0x11/0x20 > [] system_call_fastpath+0x16/0x1b Can you enable lockdep in your kernel and retest? That will give use much more information about the locks that are causing problems here.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Dec 2 22:39:59 2008 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB34dwJ6016038 for ; Tue, 2 Dec 2008 22:39:59 -0600 X-ASG-Debug-ID: 1228279196-6ef500d80000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C7647166D8CD for ; Tue, 2 Dec 2008 20:39:56 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id 4fqMdNVGksBfkdRo for ; Tue, 02 Dec 2008 20:39:56 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEuENUl5LJfT/2dsb2JhbADSf4J/ X-IronPort-AV: E=Sophos;i="4.33,705,1220193000"; d="scan'208";a="268337868" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 03 Dec 2008 13:29:33 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7hxc-0000Ye-VT; Wed, 03 Dec 2008 13:59:32 +1100 Date: Wed, 3 Dec 2008 13:59:32 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 13/22] remove unused m_inode_quiesce member from struct xfs_mount Subject: Re: [patch 13/22] remove unused m_inode_quiesce member from struct xfs_mount Message-ID: <20081203025932.GK18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.426074000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160651.426074000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228279197 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0209 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11787 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:43AM -0500, Christoph Hellwig wrote: > (First sent on July 23rd) > > > Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From donaldd@sgi.com Wed Dec 3 00:26:18 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB36QHGF024847 for ; Wed, 3 Dec 2008 00:26:18 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id 7DCC5AC004; Tue, 2 Dec 2008 22:26:13 -0800 (PST) Received: from [134.14.55.208] (snowcrash.melbourne.sgi.com [134.14.55.208]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id RAA23784; Wed, 3 Dec 2008 17:26:11 +1100 Message-ID: <49362688.4030200@sgi.com> Date: Wed, 03 Dec 2008 17:26:16 +1100 From: Donald Douwsma User-Agent: Thunderbird 2.0.0.18 (X11/20081125) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com Subject: Re: [patch 11/22] cleanup xfs_sb.h feature flag helpers References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.115809000@bombadil.infradead.org> In-Reply-To: <20081202160651.115809000@bombadil.infradead.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Christoph Hellwig wrote: Looks ok, I think all these used to be macros, but when they got cleaned up a lot of grogens were left in place. I wish we could get all this kind of thing cleaned up right first time... Reviewed-by: Donald Douwsma From tes@sgi.com Wed Dec 3 01:24:34 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_33, J_CHICKENPOX_44,J_CHICKENPOX_63,J_CHICKENPOX_64 autolearn=no version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB37OYJW028436 for ; Wed, 3 Dec 2008 01:24:34 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 781E7304090; Tue, 2 Dec 2008 23:24:29 -0800 (PST) Received: from boing.melbourne.sgi.com (boing.melbourne.sgi.com [134.14.55.141]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id SAA24589; Wed, 3 Dec 2008 18:24:27 +1100 Message-ID: <4936342B.3050608@sgi.com> Date: Wed, 03 Dec 2008 18:24:27 +1100 From: Timothy Shimmin User-Agent: Thunderbird 2.0.0.17 (Macintosh/20080914) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com Subject: Re: [PATCH] xfsqa: add testcase for ->setattr permission checking References: <20081202142039.GA25155@infradead.org> In-Reply-To: <20081202142039.GA25155@infradead.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi Christoph, Thanks for that. I noticed you wanted a 2nd group. I'd probably prefer to do the test like the acl tests (e.g. 051) which uses: - _acl_setup_ids - _acl_filter_id - src/runas They could probably be put in a different common file instead of common.attr and have the function names changed to be without _acl as they are not acl specific. I'm also wondering how I can get away with cat'ing /etc/passwd and /etc/group. I would have thought it would make more sense to have a user1, user2, user3, group1, group2, group3 etc.. I can change the above for the acl tests and perhaps create a common.ids for the funcs which can then be used elsewhere. (The $qa_user came from the CXFSQA test suite.) I'll review the actual test tomorrow. --Tim Christoph Hellwig wrote: > Index: xfs-cmds-git/xfstests/192 > =================================================================== > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > +++ xfs-cmds-git/xfstests/192 2008-12-02 14:16:12.000000000 +0000 > @@ -0,0 +1,177 @@ > +#! /bin/sh > +# FS QA Test No. 192 > +# > +# Test permission checks in ->setattr > +# > +#----------------------------------------------------------------------- > +# Copyright (c) 2008 Christoph Hellwig. > +#----------------------------------------------------------------------- > +# > +# creator > +owner=hch@lst.de > + > +seq=`basename $0` > +echo "QA output created by $seq" > + > +here=`pwd` > +tmp=/tmp/$$ > +status=1 # failure is the default! > +trap "_cleanup_files; exit \$status" 0 1 2 3 15 > +tag="added by qa $seq" > + > +# > +# For some tests we need a secondary group for the qa_user. Currently > +# that's not available in the framework, so the tests using it are > +# commented out. > +# > +#group2=foo > + > +# > +# Create two files, one owned by root, one by the qa_user > +# > +_create_files() > +{ > + touch test.root > + touch test.${qa_user} > + chown ${qa_user}:${qa_user} test.${qa_user} > +} > + > +# > +# Remove our files again > +# > +_cleanup_files() > +{ > + rm -f test.${qa_user} > + rm -f test.root > +} > + > +# get standard environment, filters and checks > +. ./common.rc > +. ./common.filter > + > +# real QA test starts here > +_supported_fs xfs nfs udf > +_supported_os Linux > + > +_require_user > +_need_to_be_root > + > + > +# > +# make sure we have a normal umask set > +# > +umask 022 > + > + > +# > +# Test the ATTR_UID case > +# > +echo > +echo "testing ATTR_UID" > +echo > + > +_create_files > + > +echo "user: chown root owned file to qa_user (should fail)" > +su ${qa_user} -c "chown root test.${qa_user}" > + > +echo "user: chown root owned file to root (should fail)" > +su ${qa_user} -c "chown root test.root" > + > +echo "user: chown qa_user owned file to qa_user (should succeed)" > +su ${qa_user} -c "chown ${qa_user} test.${qa_user}" > + > +# this would work without _POSIX_CHOWN_RESTRICTED > +echo "user: chown qa_user owned file to root (should fail)" > +su ${qa_user} -c "chown ${qa_user} test.root" > + > +_cleanup_files > + > +# > +# Test the ATTR_GID case > +# > +echo > +echo "testing ATTR_GID" > +echo > + > +_create_files > + > +echo "user: chgrp root owned file to root (should fail)" > +su ${qa_user} -c "chgrp root test.root" > + > +echo "user: chgrp qa_user owned file to root (should fail)" > +su ${qa_user} -c "chgrp root test.${qa_user}" > + > +echo "user: chgrp root owned file to qa_user (should fail)" > +su ${qa_user} -c "chgrp ${qa_user} test.root" > + > +echo "user: chgrp qa_user owned file to qa_user (should suceed)" > +su ${qa_user} -c "chgrp ${qa_user} test.${qa_user}" > + > +#echo "user: chgrp qa_user owned file to secondary group (should suceed)" > +#su ${qa_user} -c "chgrp ${group2} test.${qa_user}" > + > +_cleanup_files > + > + > +# > +# Test the ATTR_MODE case > +# > +echo > +echo "testing ATTR_MODE" > +echo > + > +_create_files > + > +echo "user: chmod a+r on qa_user owned file (should succeed)" > +su ${qa_user} -c "chmod a+r test.${qa_user}" > + > +echo "user: chmod a+r on root owned file (should fail)" > +su ${qa_user} -c "chmod a+r test.root" > + > +# > +# Setup a file owned by the qa_user, but with a group ID that > +# is not present in the qa_users group list (use root to make it easier for it) > +# and mark it with set sgid bit > +# > +echo "check that the sgid bit is cleared" > +chown ${qa_user}:root test.${qa_user} > +chmod g+s test.${qa_user} > + > +# and let the qa_user change permission bits > +su ${qa_user} -c "chmod a+w test.${qa_user}" > +stat -c '%A' test.${qa_user} > + > +# > +# Setup a file owned by the qa_user and with the suid bit set. > +# A chown by root should not clean the suid bit. > +# > +echo "check that suid bit is not cleared" > +chmod u+s test.${qa_user} > +chmod a+w test.${qa_user} > +stat -c '%A' test.${qa_user} > + > +_cleanup_files > + > + > +# > +# Test ATTR_*TIMES_SET > +# > +echo > +echo "testing ATTR_*TIMES_SET" > +echo > + > +_create_files > + > +echo "user: touch qa_user file (should succeed)" > +su ${qa_user} -c "touch test.${qa_user}" > + > +echo "user: touch root file (should fail)" > +su ${qa_user} -c "touch test.root" > + > +_cleanup_files > + > +# success, all done > +echo "*** done" > +rm -f $seq.full > +status=0 > Index: xfs-cmds-git/xfstests/group > =================================================================== > --- xfs-cmds-git.orig/xfstests/group 2008-12-02 14:00:49.000000000 +0000 > +++ xfs-cmds-git/xfstests/group 2008-12-02 14:01:01.000000000 +0000 > @@ -291,3 +291,4 @@ > 189 mount auto > 190 rw auto > 191 nfs4acl auto > +192 auto metadata > Index: xfs-cmds-git/xfstests/192.out > =================================================================== > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > +++ xfs-cmds-git/xfstests/192.out 2008-12-02 14:14:49.000000000 +0000 > @@ -0,0 +1,38 @@ > +QA output created by 192 > + > +testing ATTR_UID > + > +user: chown root owned file to qa_user (should fail) > +chown: changing ownership of `test.fsgqa': Operation not permitted > +user: chown root owned file to root (should fail) > +chown: changing ownership of `test.root': Operation not permitted > +user: chown qa_user owned file to qa_user (should succeed) > +user: chown qa_user owned file to root (should fail) > +chown: changing ownership of `test.root': Operation not permitted > + > +testing ATTR_GID > + > +user: chgrp root owned file to root (should fail) > +chgrp: changing group of `test.root': Operation not permitted > +user: chgrp qa_user owned file to root (should fail) > +chgrp: changing group of `test.fsgqa': Operation not permitted > +user: chgrp root owned file to qa_user (should fail) > +chgrp: changing group of `test.root': Operation not permitted > +user: chgrp qa_user owned file to qa_user (should suceed) > + > +testing ATTR_MODE > + > +user: chmod a+r on qa_user owned file (should succeed) > +user: chmod a+r on root owned file (should fail) > +chmod: changing permissions of `test.root': Operation not permitted > +check that the sgid bit is cleared > +-rw-rw-rw- > +check that suid bit is not cleared > +-rwSrw-rw- > + > +testing ATTR_*TIMES_SET > + > +user: touch qa_user file (should succeed) > +user: touch root file (should fail) > +touch: cannot touch `test.root': Permission denied > +*** done From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 04:48:51 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3AmogE010660 for ; Wed, 3 Dec 2008 04:48:51 -0600 X-ASG-Debug-ID: 1228301329-34cb02200000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C29481B92964; Wed, 3 Dec 2008 02:48:49 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id xLCtBgk8bZ5uQ1Cg; Wed, 03 Dec 2008 02:48:49 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7pHl-0004Xl-Dm; Wed, 03 Dec 2008 10:48:49 +0000 Date: Wed, 3 Dec 2008 05:48:49 -0500 From: Christoph Hellwig To: Lachlan McIlroy Cc: Donald Douwsma , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Assertion failed: atomic_read(&mp->m_active_trans) Subject: Re: Assertion failed: atomic_read(&mp->m_active_trans) Message-ID: <20081203104849.GF15485@infradead.org> References: <492BB095.1000104@sgi.com> <4934AAA9.5090405@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4934AAA9.5090405@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228301329 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com I'd rather fix it properly. Do you guys have a somewhat reliable testcase hitting it? From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 04:52:07 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3Aq7NO010880 for ; Wed, 3 Dec 2008 04:52:07 -0600 X-ASG-Debug-ID: 1228301526-2e5f025e0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id DCC221A73A09 for ; Wed, 3 Dec 2008 02:52:06 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id YraYFyBlVtMYEw8W for ; Wed, 03 Dec 2008 02:52:06 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7pKS-0004yQ-3z; Wed, 03 Dec 2008 10:51:36 +0000 Date: Wed, 3 Dec 2008 05:51:36 -0500 From: Christoph Hellwig To: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 08/22] reduce l_icloglock roundtrips Subject: Re: [patch 08/22] reduce l_icloglock roundtrips Message-ID: <20081203105136.GH15485@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.663976000@bombadil.infradead.org> <20081203025614.GG18236@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203025614.GG18236@disturbed> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228301526 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Dec 03, 2008 at 01:56:14PM +1100, Dave Chinner wrote: > On Tue, Dec 02, 2008 at 11:04:38AM -0500, Christoph Hellwig wrote: > > All but one caller of xlog_state_want_sync drop and re-acquire > > l_icloglock around the call to it, just so that xlog_state_want_sync can > > acquire and drop it. > > Not really a performance problem, though, because the one caller > that doesn't already hold the lock is the common path (i.e. > xlog_write()); the others are in the unmount path, so lock traffic > is not there is not performance critical.... > > Hence I'm not sure this is really necessary. I don't think it's absolutely nessecary, but it's a lot cleaner this way.. From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 04:52:45 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3AqjFc010927 for ; Wed, 3 Dec 2008 04:52:45 -0600 X-ASG-Debug-ID: 1228301564-3d9a01ce0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9138E1672324; Wed, 3 Dec 2008 02:52:44 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id GO7tUsryPnyC1lC7; Wed, 03 Dec 2008 02:52:44 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7pLY-000506-9z; Wed, 03 Dec 2008 10:52:44 +0000 Date: Wed, 3 Dec 2008 05:52:44 -0500 From: Christoph Hellwig To: Donald Douwsma Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 11/22] cleanup xfs_sb.h feature flag helpers Subject: Re: [patch 11/22] cleanup xfs_sb.h feature flag helpers Message-ID: <20081203105244.GI15485@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.115809000@bombadil.infradead.org> <49362688.4030200@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49362688.4030200@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228301564 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Dec 03, 2008 at 05:26:16PM +1100, Donald Douwsma wrote: > Christoph Hellwig wrote: > > Looks ok, I think all these used to be macros, but when they got cleaned up > a lot of grogens were left in place. I wish we could get all this kind of thing > cleaned up right first time... I think this was Nathan's big sweap to kill xfs_macros.[ch] for the ugly marcros turning into macros calling functions calling the original macro crap. He did this in some sort of scripted way and a lot of things like this were left in place. From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 04:54:23 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3AsMlF011152 for ; Wed, 3 Dec 2008 04:54:23 -0600 X-ASG-Debug-ID: 1228301662-3d9c01f70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 67C9C1B8B5D1 for ; Wed, 3 Dec 2008 02:54:22 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id csSXivfu6zHKAJQ5 for ; Wed, 03 Dec 2008 02:54:22 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7pMd-00050p-LG; Wed, 03 Dec 2008 10:53:51 +0000 Date: Wed, 3 Dec 2008 05:53:51 -0500 From: Christoph Hellwig To: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 05/22] cleanup the inode reclaim path Subject: Re: [patch 05/22] cleanup the inode reclaim path Message-ID: <20081203105351.GJ15485@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160650.198364000@bombadil.infradead.org> <20081203022950.GD18236@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203022950.GD18236@disturbed> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228301662 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Dec 03, 2008 at 01:29:50PM +1100, Dave Chinner wrote: > On Tue, Dec 02, 2008 at 11:04:35AM -0500, Christoph Hellwig wrote: > > Merge xfs_iextract and xfs_idestory into xfs_ireclaim as they are never > xfs_idestroy > > called individually. Also rewrite most comments in this area as they > > were serverly out of date. > severely Thanks, updated the comments. From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 04:57:40 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3AveqV011354 for ; Wed, 3 Dec 2008 04:57:40 -0600 X-ASG-Debug-ID: 1228301860-2e2b02d90000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3B34A1B92785 for ; Wed, 3 Dec 2008 02:57:40 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id u8hMk9twJndKdX7L for ; Wed, 03 Dec 2008 02:57:40 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7pPp-0005Sf-Ek; Wed, 03 Dec 2008 10:57:09 +0000 Date: Wed, 3 Dec 2008 05:57:09 -0500 From: Christoph Hellwig To: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 14/22] remove leftovers of shared read-only support Subject: Re: [patch 14/22] remove leftovers of shared read-only support Message-ID: <20081203105709.GA19287@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.583993000@bombadil.infradead.org> <20081203030128.GL18236@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203030128.GL18236@disturbed> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228301860 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Dec 03, 2008 at 02:01:28PM +1100, Dave Chinner wrote: > You can kill XFS_MOUNT_SHARED from xfs_mount.h as well. Thanks, updated. From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 04:59:02 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3Ax2c7011502 for ; Wed, 3 Dec 2008 04:59:02 -0600 X-ASG-Debug-ID: 1228301941-2ecf02dd0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1839E1B92795 for ; Wed, 3 Dec 2008 02:59:01 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id DgHHAhvW3OyzAzq2 for ; Wed, 03 Dec 2008 02:59:01 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7pR9-0005ak-9z; Wed, 03 Dec 2008 10:58:31 +0000 Date: Wed, 3 Dec 2008 05:58:31 -0500 From: Christoph Hellwig To: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 20/22] move vn_iowait / vn_iowake into xfs_aops.c Subject: Re: [patch 20/22] move vn_iowait / vn_iowake into xfs_aops.c Message-ID: <20081203105831.GB19287@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160652.542003000@bombadil.infradead.org> <20081203031719.GQ18236@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203031719.GQ18236@disturbed> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228301942 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Dec 03, 2008 at 02:17:19PM +1100, Dave Chinner wrote: > On Tue, Dec 02, 2008 at 11:04:50AM -0500, Christoph Hellwig wrote: > > The whole machinery to wait on I/O completion is related to the I/O path > > and should be there instead of in xfs_vnode.c. Also give the functions > > more descriptive names. > > I'm not sure that "xfs_ioend_..." is the best name - it looks > slightly weird in some of the callers' contexts. Just dropping the > "end" out of the names makes the code read much better (i.e. > xfs_io_wait() and xfs_io_wake()). Not particularly important, > though, and everything else looks good. xfs_ioend_* wasn't my first choice either. I first did xfs_iowait/xfs_iowake, but that clashes with the buffercache. And having names just different by an underscore doesn't seem good either. Any other suggestions? From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 06:56:09 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3Cu8aY018382 for ; Wed, 3 Dec 2008 06:56:09 -0600 X-ASG-Debug-ID: 1228308967-167202d50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A61F81BEE974 for ; Wed, 3 Dec 2008 04:56:07 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id V8ZIL38rJKEDm4ol for ; Wed, 03 Dec 2008 04:56:07 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7rGQ-0002VP-1k; Wed, 03 Dec 2008 12:55:34 +0000 Date: Wed, 3 Dec 2008 07:55:34 -0500 From: Christoph Hellwig To: Kamalesh Babulal Cc: Stephen Rothwell , linux-next@vger.kernel.org, LKML , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: next-20081203 build failure, when building xfs_file.o Subject: Re: next-20081203 build failure, when building xfs_file.o Message-ID: <20081203125534.GA8007@infradead.org> References: <20081203183602.c06f8c39.sfr@canb.auug.org.au> <20081203124104.GA5400@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203124104.GA5400@linux.vnet.ibm.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228308967 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Dec 03, 2008 at 06:11:04PM +0530, Kamalesh Babulal wrote: > Hi Stephen, > > next-20081203 kernel build fails on x86 with build failure > > In file included from fs/xfs/linux-2.6/xfs_file.c:39: This is the fix I submitted for it yesterday: -- fix compile on 32 bit systems The recent compat patches make xfs_file.c include xfs_ioctl32.h unconditional, which breaks the build on 32 bit systems which don't have the various compat defintions. Remove the include and move the defintion of xfs_file_compat_ioctl to xfs_ioctl.h so that we can avoid including all the compat defintions in xfs_file.c Signed-off-by: Christoph Hellwig Index: xfs-master/fs/xfs/linux-2.6/xfs_file.c =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:43:38.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:44:06.000000000 +0100 @@ -36,9 +36,9 @@ #include "xfs_inode.h" #include "xfs_error.h" #include "xfs_rw.h" -#include "xfs_ioctl32.h" #include "xfs_vnodeops.h" #include "xfs_da_btree.h" +#include "xfs_ioctl.h" #include #include Index: xfs-master/fs/xfs/linux-2.6/xfs_ioctl.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-02 11:44:10.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-02 11:44:52.000000000 +0100 @@ -67,4 +67,16 @@ xfs_attrmulti_attr_remove( char *name, __uint32_t flags); +extern long +xfs_file_compat_ioctl( + struct file *file, + unsigned int cmd, + unsigned long arg); + +extern long +xfs_file_compat_ioctl_invis( + struct file *file, + unsigned int cmd, + unsigned long arg); + #endif Index: xfs-master/fs/xfs/linux-2.6/xfs_ioctl32.h =================================================================== --- xfs-master.orig/fs/xfs/linux-2.6/xfs_ioctl32.h 2008-12-02 11:44:10.000000000 +0100 +++ xfs-master/fs/xfs/linux-2.6/xfs_ioctl32.h 2008-12-02 11:44:18.000000000 +0100 @@ -20,9 +20,6 @@ #include -extern long xfs_file_compat_ioctl(struct file *, unsigned, unsigned long); -extern long xfs_file_compat_invis_ioctl(struct file *, unsigned, unsigned long); - /* * on 32-bit arches, ioctl argument structures may have different sizes * and/or alignment. We define compat structures which match the From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 07:04:46 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3D4k9V018785 for ; Wed, 3 Dec 2008 07:04:46 -0600 X-ASG-Debug-ID: 1228309485-1174034d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B3BDC1B92AB4 for ; Wed, 3 Dec 2008 05:04:45 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id VrvMtPJXXOhh6PgK for ; Wed, 03 Dec 2008 05:04:45 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7rOo-0004P3-N8; Wed, 03 Dec 2008 13:04:14 +0000 Date: Wed, 3 Dec 2008 08:04:14 -0500 From: Christoph Hellwig To: Niv Sardi Cc: Christoph Hellwig , Lachlan McIlroy , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: New XFS git tree on oss.sgi.com Subject: Re: New XFS git tree on oss.sgi.com Message-ID: <20081203130414.GB9681@infradead.org> References: <492BA7AD.5080007@sgi.com> <20081125140553.GA16553@infradead.org> <492CA245.3000709@sgi.com> <20081126032710.GA19523@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228309485 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Dec 03, 2008 at 02:48:57PM +1100, Niv Sardi wrote: > > Also > > http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/xfs.git;a=commitdiff;h=ca830fdf6231d0683f4ea4e9223e234c3a509063doesn't seem to be needed. None of those symbols seems to be used by > > either dmapi or xfsidbg, the only two modules using xfs symbols in the > > tree. > > That's exactly why it's there, the revertion is actually moving from > what was in ptools to something sane. ?? The commit above adds tons of unused exports. But hey, I'll just submit a patch to sort it out when I get some time.. From arekm@maven.pl Wed Dec 3 07:06:48 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3D6m9T018964 for ; Wed, 3 Dec 2008 07:06:48 -0600 X-ASG-Debug-ID: 1228309605-107803980000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from main.carme.maven.pl (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 995341BEEA04 for ; Wed, 3 Dec 2008 05:06:46 -0800 (PST) Received: from main.carme.maven.pl (main.carme.maven.pl [193.239.45.138]) by cuda.sgi.com with ESMTP id i8sgnDBnUhSdPDpy for ; Wed, 03 Dec 2008 05:06:46 -0800 (PST) Received: from [83.238.65.58] (port=1160 helo=maven.pl ident=matrix157) by main.carme.maven.pl with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1L7rRD-000kcp-2i; Wed, 03 Dec 2008 14:06:43 +0100 Received: from arekm by maven.pl with local (Exim 4.69) (envelope-from ) id 1L7rRB-0000WO-VE; Wed, 03 Dec 2008 14:06:42 +0100 From: Arkadiusz Miskiewicz To: Dave Chinner X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Date: Wed, 3 Dec 2008 14:06:41 +0100 User-Agent: PLD Linux KMail/1.9.10 Cc: xfs@oss.sgi.com References: <200812021949.55463.arekm@maven.pl> <20081203032013.GS18236@disturbed> In-Reply-To: <20081203032013.GS18236@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <200812031406.41882.arekm@maven.pl> X-Barracuda-Connect: main.carme.maven.pl[193.239.45.138] X-Barracuda-Start-Time: 1228309606 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.52 X-Barracuda-Spam-Status: No, SCORE=-1.52 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_RULE7568M X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11816 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by oss.sgi.com id mB3D6m9T018964 On Wednesday 03 of December 2008, Dave Chinner wrote: > On Tue, Dec 02, 2008 at 07:49:55PM +0100, Arkadiusz Miskiewicz wrote: > > Hello, > > > > I'm trying to use xfs project quota on kernel 2.6.27.7 (vanilla, no > > additional patches), x86_64 UP machine (SMP kernel). > > > > Now some processes that are using /home/users/arekm/rpm are hanging in > > D-state like: > > > > SysRq : Show Blocked State > > task PC stack pid father > > patch D ffff88003a7dd080 0 3971 3965 > > ffff880034453cd8 0000000000000086 0000000000000000 ffff8800344770d0 > > ffff880034453cd8 ffff8800354d2440 ffffffff805d0340 ffff8800354d27b8 > > 00000000000041ed 00000000fffc7a61 ffff8800354d27b8 0000000000000250 > > Call Trace: > > [] ? kmem_zone_alloc+0x94/0xe0 [xfs] > > [] __down_write_nested+0x8d/0xd0 > > [] __down_write+0xb/0x10 > > [] down_write+0x9/0x10 > > [] xfs_ilock+0x76/0x90 [xfs] > > [] xfs_lock_two_inodes+0x70/0x120 [xfs] > > [] xfs_remove+0x141/0x3a0 [xfs] > > [] ? _spin_lock+0x9/0x10 > > [] xfs_setup_inode+0x673/0xa00 [xfs] > > [] vfs_unlink+0xf9/0x140 > > [] do_unlinkat+0x1a3/0x1c0 > > [] ? audit_syscall_entry+0x150/0x180 > > [] sys_unlink+0x11/0x20 > > [] system_call_fastpath+0x16/0x1b > > Can you enable lockdep in your kernel and retest? That will give > use much more information about the locks that are causing problems > here.... some debugging (including lockdep) enabled: [ 755.172243] SysRq : Show Blocked State [ 755.172265] task PC stack pid father [ 755.172298] patch D ef59de3c 0 3539 3533 [ 755.172308] c2f47520 00000086 00000002 ef59de3c ef59de44 00000000 ef4b4920 0291f000 [ 755.172324] 00000046 00000010 c2e24100 c0504040 ef59de44 ef59de40 ef59de3c ef59c000 [ 755.172339] ef4b4920 ef4b4aa8 00000000 00021568 00000001 ef4b4920 00000000 00000000 [ 755.172354] Call Trace: [ 755.172359] [] trace_hardirqs_on_caller+0xfa/0x130 [ 755.172371] [] schedule_timeout+0x8d/0xf0 [ 755.172379] [] native_sched_clock+0x7f/0xb0 [ 755.172386] [] process_timeout+0x0/0x10 [ 755.172394] [] schedule_timeout+0x88/0xf0 [ 755.172411] [] xfs_lock_two_inodes+0xcb/0x120 [xfs] [ 755.172451] [] xfs_remove+0x136/0x3c0 [xfs] [ 755.172480] [] mutex_lock_nested+0x1f7/0x290 [ 755.172486] [] vfs_unlink+0x87/0x130 [ 755.172494] [] vfs_unlink+0x87/0x130 [ 755.172502] [] xfs_vn_unlink+0x36/0x80 [xfs] [ 755.172533] [] vfs_unlink+0xdd/0x130 [ 755.172540] [] _spin_unlock+0x14/0x20 [ 755.172546] [] do_unlinkat+0x14e/0x160 [ 755.172552] [] trace_hardirqs_on_caller+0xfa/0x130 [ 755.172558] [] _spin_unlock_irq+0x20/0x30 [ 755.172564] [] copy_to_user+0x34/0x80 [ 755.172570] [] trace_hardirqs_on_thunk+0xc/0x10 [ 755.172576] [] do_page_fault+0x0/0x780 [ 755.172583] [] trace_hardirqs_on_caller+0xfa/0x130 [ 755.172589] [] sysenter_do_call+0x12/0x31 [arekm@farm ~]$ zgrep LOCKDEP /proc/config.gz CONFIG_LOCKDEP_SUPPORT=y CONFIG_LOCKDEP=y # CONFIG_DEBUG_LOCKDEP is not set I don't see anything strictly lockdep related in dmesg so it doesn't seem to be triggered. D-state lock is also happening if I drop usrquota,prjquota, reboot and retry the test. I assume something was written on disk that triggers the problem. Note that now I'm testing on a second machine (UP i686, SMP kernel), so this isn't unique problem. > Cheers, > > Dave. -- Arkadiusz MiÅ›kiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/ From arekm@maven.pl Wed Dec 3 07:35:16 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3DZGPo021030 for ; Wed, 3 Dec 2008 07:35:16 -0600 X-ASG-Debug-ID: 1228311310-238b03e50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from main.carme.maven.pl (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E976D1BEEF49 for ; Wed, 3 Dec 2008 05:35:10 -0800 (PST) Received: from main.carme.maven.pl (main.carme.maven.pl [193.239.45.138]) by cuda.sgi.com with ESMTP id uR3FV63BzHqhak7w for ; Wed, 03 Dec 2008 05:35:10 -0800 (PST) Received: from [83.238.65.58] (port=4235 helo=maven.pl ident=matrix157) by main.carme.maven.pl with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1L7rsj-000lRy-NO; Wed, 03 Dec 2008 14:35:09 +0100 Received: from arekm by maven.pl with local (Exim 4.69) (envelope-from ) id 1L7rsi-0000dS-HB; Wed, 03 Dec 2008 14:35:09 +0100 From: Arkadiusz Miskiewicz To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Date: Wed, 3 Dec 2008 14:35:08 +0100 User-Agent: PLD Linux KMail/1.9.10 Cc: Dave Chinner References: <200812021949.55463.arekm@maven.pl> <20081203032013.GS18236@disturbed> <200812031406.41882.arekm@maven.pl> In-Reply-To: <200812031406.41882.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <200812031435.08446.arekm@maven.pl> X-Barracuda-Connect: main.carme.maven.pl[193.239.45.138] X-Barracuda-Start-Time: 1228311311 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.02 X-Barracuda-Spam-Status: No, SCORE=-1.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_RULE7568M, BSF_RULE_7582B X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11816 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M 0.50 BSF_RULE_7582B Custom Rule 7582B Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by oss.sgi.com id mB3DZGPo021030 On Wednesday 03 of December 2008, Arkadiusz Miskiewicz wrote: > I don't see anything strictly lockdep related in dmesg so it doesn't seem > to be triggered. maybe /proc/lockdep will help all lock classes: c0474eb0 FD: 4 BD: 1 --..: clockevents_lock -> [c0474ef0] tick_device_lock c0472b30 FD: 1 BD: 4 --..: resource_lock c0471a30 FD: 1 BD: 3 ....: set_atomicity_lock c0472370 FD: 1 BD: 23 ....: pgd_lock c0471fb0 FD: 2 BD: 9 +...: ioapic_lock -> [c0470d90] i8259A_lock c0641140 FD: 5 BD: 152 ++..: &rq->lock -> [c09fbf3c] &vec->lock -> [c0641148] &rt_b->rt_runtime_lock -> [c0641150] &rt_rq->rt_runtime_lock c09fbf3c FD: 1 BD: 153 ....: &vec->lock c0472a78 FD: 9 BD: 2 --..: cpu_add_remove_lock -> [c0474510] workqueue_lock -> [c0474670] kthread_create_lock -> [c0641140] &rq->lock -> [c0654274] &q->lock c0470d90 FD: 1 BD: 10 +...: i8259A_lock c09fbf08 FD: 3 BD: 8 ++..: &irq_desc_lock_class -> [c0470d90] i8259A_lock -> [c0471fb0] ioapic_lock c0471550 FD: 1 BD: 2 ++..: rtc_lock c0497a94 FD: 2 BD: 1 ++..: xtime_lock -> [c0474d30] clocksource_lock c0474d30 FD: 1 BD: 2 ++..: clocksource_lock c0474d70 FD: 2 BD: 1 -+..: watchdog_lock -> [c0653e6c] &base->lock c0480550 FD: 2 BD: 11 ....: tty_ldisc_lock -> [c0480570] tty_ldisc_wait.lock c04729d0 FD: 1 BD: 7 ....: (console_sem).lock c0653e6c FD: 1 BD: 61 ++..: &base->lock c047d610 FD: 1 BD: 5 ....: vga_lock c0472990 FD: 2 BD: 6 ....: logbuf_lock -> [c04729d0] (console_sem).lock c0481890 FD: 2 BD: 1 ....: printing_lock -> [c047d610] vga_lock c09fbf18 FD: 1 BD: 1 ..--: rcu_read_lock c09fbf9c FD: 1 BD: 88 ++..: &zone->lock c049f770 FD: 1 BD: 2 --..: bdev_lock c04777ec FD: 1 BD: 1 --..: slub_lock c0474ef0 FD: 3 BD: 2 ....: tick_device_lock -> [c0471370] i8253_lock -> [c0474f30] tick_broadcast_lock c0471370 FD: 1 BD: 4 .+..: i8253_lock c0474f30 FD: 2 BD: 3 .+..: tick_broadcast_lock -> [c0471370] i8253_lock c065429c FD: 1 BD: 154 ++..: &cpu_base->lock c0476fac FD: 1 BD: 1 --..: shrinker_rwsem c047cb78 FD: 1 BD: 2 --..: percpu_counters_lock c0478470 FD: 1 BD: 1 ----: file_systems_lock c04784e0 FD: 1 BD: 69 ....: mnt_id_ida.lock c049f750 FD: 8 BD: 68 --..: vfsmount_lock -> [c04784e0] mnt_id_ida.lock -> [c0654274] &q->lock c0477e50 FD: 3 BD: 22 --..: sb_lock -> [c0a0c0c8] &idp->lock -> [c0477e70] unnamed_dev_lock c0479368 FD: 22 BD: 1 ----: &type->s_umount_key -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c09fbf9c] &zone->lock -> [c049f6f0] dcache_lock -> [c0a041c8] &s->s_dquot.dqonoff_mutex -> [c0479360] &type->s_lock_key c0a0c0c8 FD: 1 BD: 39 ....: &idp->lock c0477e70 FD: 2 BD: 23 --..: unnamed_dev_lock -> [c0a0c0c8] &idp->lock c04782b0 FD: 1 BD: 80 --..: inode_lock c049f6f0 FD: 13 BD: 67 --..: dcache_lock -> [c0a046c8] &dentry->d_lock -> [c049f750] vfsmount_lock -> [c049f714] rename_lock c0a046c8 FD: 3 BD: 69 --..: &dentry->d_lock -> [c0a046c9] &dentry->d_lock/1 -> [c0472cd0] sysctl_lock c0a041c8 FD: 2 BD: 11 --..: &s->s_dquot.dqonoff_mutex -> [c0478a30] dq_list_lock c0478a30 FD: 1 BD: 12 --..: dq_list_lock c0479360 FD: 1 BD: 2 --..: &type->s_lock_key c04792b0 FD: 3 BD: 22 --..: sysfs_ino_lock -> [c04792e0] sysfs_ino_ida.lock -> [c0a03e84] &n->list_lock c04792e0 FD: 1 BD: 23 ....: sysfs_ino_ida.lock c04791d8 FD: 17 BD: 24 --..: sysfs_mutex -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c0a03e84] &n->list_lock -> [c09fbf9c] &zone->lock c0479380 FD: 19 BD: 3 --..: &type->i_mutex_dir_key -> [c049f6f0] dcache_lock -> [c04791d8] sysfs_mutex -> [c049f750] vfsmount_lock -> [c0a03e84] &n->list_lock -> [c2f44c20] &writer->lock_class -> [c09fbf9c] &zone->lock -> [c04782b0] inode_lock -> [c0641140] &rq->lock c04796c8 FD: 18 BD: 1 --..: &type->s_umount_key#2 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock c046fff4 FD: 1 BD: 1 ----: old_style_rw_init c04786a8 FD: 19 BD: 1 --..: &type->s_umount_key#3 -> [c0477e50] sb_lock -> [c09fbf9c] &zone->lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock c0478d28 FD: 19 BD: 1 --..: &type->s_umount_key#4 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c09fbf9c] &zone->lock -> [c049f6f0] dcache_lock c0478dd0 FD: 1 BD: 12 --..: proc_subdir_lock c0478e20 FD: 1 BD: 9 ....: proc_inum_ida.lock c0478df0 FD: 2 BD: 8 --..: proc_inum_lock -> [c0478e20] proc_inum_ida.lock c0488898 FD: 77 BD: 1 --..: net_mutex -> [c0478dd0] proc_subdir_lock -> [c0478e20] proc_inum_ida.lock -> [c0478df0] proc_inum_lock -> [c0488eb8] rtnl_mutex -> [c04782b0] inode_lock -> [c0489a10] nl_table_lock -> [c0489a30] nl_table_wait.lock -> [c0472cd0] sysctl_lock -> [c0a15d50] &net->rules_mod_lock -> [c0653e6c] &base->lock -> [c0a03e84] &n->list_lock -> [c048ab10] raw_v4_hashinfo.lock -> [c09fbf9c] &zone->lock -> [c048e650] raw_v6_hashinfo.lock -> [c0a17f80] &ip6addrlbl_table.lock c04771d0 FD: 1 BD: 5 ----: vmlist_lock c046f1e0 FD: 1 BD: 3 --..: init_mm.page_table_lock c0a0ea04 FD: 1 BD: 2 ....: semaphore->lock c04723b0 FD: 1 BD: 5 --..: memtype_lock c0a0efe8 FD: 1 BD: 1 ....: acpi_gbl_hardware_lock c046f6e8 FD: 1 BD: 1 --..: init_task.alloc_lock c04783b0 FD: 1 BD: 3 --..: init_task.file_lock c0470774 FD: 1 BD: 6 ....: init_sighand.siglock c0497a70 FD: 1 BD: 19 ....: pidmap_lock c0497990 FD: 15 BD: 3 ..?-: tasklist_lock -> [c0470774] init_sighand.siglock -> [c0642268] &sighand->siglock -> [c0a03e84] &n->list_lock -> [c09fbf9c] &zone->lock -> [c0653ec0] &cwq->lock c0471ef0 FD: 1 BD: 1 ....: vector_lock c0474670 FD: 1 BD: 7 --..: kthread_create_lock c0654274 FD: 6 BD: 133 ++..: &q->lock -> [c0641140] &rq->lock c0642270 FD: 1 BD: 9 --..: &p->alloc_lock c0642268 FD: 10 BD: 18 ++..: &sighand->siglock -> [c0654274] &q->lock -> [c0497a70] pidmap_lock -> [c0641140] &rq->lock -> [c065429c] &cpu_base->lock -> [c0a0f970] &tty->ctrl_lock -> [c09fbf24] &tsk->delays->lock c0642278 FD: 6 BD: 4 ....: &p->pi_lock -> [c0641140] &rq->lock c0641148 FD: 3 BD: 153 ....: &rt_b->rt_runtime_lock -> [c065429c] &cpu_base->lock -> [c0641150] &rt_rq->rt_runtime_lock c0641150 FD: 1 BD: 154 +...: &rt_rq->rt_runtime_lock c0652c44 FD: 1 BD: 4 --..: &cpu_hotplug.lock c0472778 FD: 7 BD: 1 --..: sched_domains_mutex -> [c09fbf9c] &zone->lock -> [c0641140] &rq->lock c0474510 FD: 1 BD: 3 --..: workqueue_lock c0a03e84 FD: 1 BD: 100 ++..: &n->list_lock c0a0c0d4 FD: 1 BD: 20 --..: &k->list_lock c0485fd8 FD: 1 BD: 19 --..: dpm_list_mtx c047ca90 FD: 1 BD: 20 --..: sequence_lock c0653ec0 FD: 7 BD: 47 ++..: &cwq->lock -> [c0654274] &q->lock c0653e8c FD: 20 BD: 1 --..: khelper -> [c0653e98] &sub_info->work c0653e98 FD: 19 BD: 2 --..: &sub_info->work -> [c09fbf9c] &zone->lock -> [c0642270] &p->alloc_lock -> [c04783b0] init_task.file_lock -> [c0642268] &sighand->siglock -> [c0497a70] pidmap_lock -> [c0497990] tasklist_lock -> [c0641140] &rq->lock -> [c0654274] &q->lock -> [c0a03e84] &n->list_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) c0642260 FD: 1 BD: 1 ----: &fs->lock c04796d8 FD: 23 BD: 4 --..: &sb->s_type->i_mutex_key -> [c049f6f0] dcache_lock -> [c04782b0] inode_lock -> [c0a046c8] &dentry->d_lock -> [c2f44c20] &writer->lock_class -> [c09fbf9c] &zone->lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a04870] &inode->i_data.tree_lock -> [c09fbf94] &zone->lru_lock -> [c0a03e84] &n->list_lock -> [c049f750] vfsmount_lock c04744b0 FD: 1 BD: 14 ....: running_helpers_waitq.lock c0488eb8 FD: 71 BD: 2 --..: rtnl_mutex -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0a03e84] &n->list_lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c04744b0] running_helpers_waitq.lock -> [c0a15cf0] struct class mutex#6 -> [c0488c30] dev_base_lock -> [c0a15bd0] &tbl->lock -> [c0472cd0] sysctl_lock -> [c0478dd0] proc_subdir_lock -> [c0478e20] proc_inum_ida.lock -> [c0478df0] proc_inum_lock -> [c0a17f28] &ndev->lock -> [c0a18410] &idev->mc_lock -> [c0a18418] &mc->mca_lock -> [c0a14d90] &list->lock -> [c0a19064] &k->k_lock -> [c09fbf9c] &zone->lock -> [c048b54c] (inetaddr_chain).rwsem -> [c0a15968] _xmit_LOOPBACK -> [c0a16b00] &in_dev->mc_list_lock -> [c0a16af8] &in_dev->mc_tomb_lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c048bbd0] fib_info_lock -> [c048c910] fib_hash_lock -> [c0a17f20] &ifa->lock -> [c0a17fcc] &tb->tb6_lock -> [c0a15868] _xmit_ETHER -> [c09fbf08] &irq_desc_lock_class -> [c047ce50] pci_lock -> [c0653e6c] &base->lock -> [f8986650] &tp->lock -> [f8986648] &tp->mii_lock -> [c0489890] qdisc_list_lock -> [c0a15e54] &list->lock#3 -> [c0489688] noop_qdisc.q.lock -> [c0a1567c] &dev->tx_global_lock -> [c0a15e64] &qdisc_tx_lock c0478110 FD: 1 BD: 1 ----: binfmt_lock c04885c8 FD: 19 BD: 1 --..: &type->s_umount_key#5 -> [c0477e50] sb_lock -> [c09fbf9c] &zone->lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock c04887f0 FD: 1 BD: 1 --..: proto_list_lock c0488670 FD: 1 BD: 1 --..: net_family_lock c0489a10 FD: 6 BD: 3 ..-?: nl_table_lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c0a03e84] &n->list_lock c0489a30 FD: 1 BD: 25 .+..: nl_table_wait.lock c047cd30 FD: 1 BD: 1 ....: gpio_lock c0479270 FD: 1 BD: 20 --..: sysfs_assoc_lock c0a117d8 FD: 1 BD: 1 --..: struct class mutex c0476970 FD: 1 BD: 1 -+..: &rcu_ctrlblk.lock c047e800 FD: 1 BD: 18 ----: bus_type_sem c0a14b00 FD: 1 BD: 1 --..: struct class mutex#2 c0488590 FD: 1 BD: 8 ....: pci_config_lock c0485a38 FD: 1 BD: 1 --..: sysdev_drivers_lock c0483c50 FD: 1 BD: 1 ....: sysrq_key_table_lock c09fc1c4 FD: 1 BD: 1 --..: struct class mutex#3 c0478038 FD: 1 BD: 3 --..: chrdevs_lock c0a0eff0 FD: 1 BD: 1 ....: acpi_gbl_gpe_lock c047e1d0 FD: 1 BD: 1 --..: acpi_res_lock c04752b8 FD: 1 BD: 1 --..: pm_mutex c047e828 FD: 1 BD: 1 --..: acpi_device_lock c0a14438 FD: 6 BD: 3 ....: semaphore->lock#2 -> [c0641140] &rq->lock c0a19064 FD: 7 BD: 16 --..: &k->k_lock -> [c0654274] &q->lock c047d0cc FD: 1 BD: 1 ----: pci_bus_sem c0a0ca08 FD: 1 BD: 1 --..: struct class mutex#4 c047ce50 FD: 2 BD: 6 ....: pci_lock -> [c0488590] pci_config_lock c047f198 FD: 1 BD: 2 --..: acpi_prt_lock c0485b30 FD: 1 BD: 3 ....: probe_waitqueue.lock c047f150 FD: 4 BD: 1 --..: acpi_link_lock -> [c0a0ea04] semaphore->lock -> [c0488590] pci_config_lock -> [c0a03e84] &n->list_lock c047f590 FD: 1 BD: 1 --..: pnp_lock c0486818 FD: 59 BD: 1 --..: serio_mutex -> [c0486850] serio_event_lock -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0a03e84] &n->list_lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c04744b0] running_helpers_waitq.lock -> [c0a14438] semaphore->lock#2 -> [c0a19064] &k->k_lock -> [c0a144c0] &serio->drv_mutex -> [c0485b30] probe_waitqueue.lock -> [c0a14430] &dev->devres_lock -> [c04782b0] inode_lock c0486850 FD: 7 BD: 2 ....: serio_event_lock -> [c0486890] serio_wait.lock c0486890 FD: 6 BD: 3 ....: serio_wait.lock -> [c0641140] &rq->lock c0a14b84 FD: 1 BD: 1 --..: &dma_list_mutex c0489850 FD: 1 BD: 1 ----: qdisc_mod_lock c0489b38 FD: 14 BD: 1 --..: genl_mutex -> [c0489a10] nl_table_lock -> [c0489a30] nl_table_wait.lock -> [c0654274] &q->lock -> [c0641140] &rq->lock c048fb90 FD: 1 BD: 1 --..: netlbl_domhsh_lock c048fcf0 FD: 1 BD: 1 --..: netlbl_unlhsh_lock c0472cd0 FD: 1 BD: 70 --..: sysctl_lock c0478168 FD: 18 BD: 1 --..: &type->s_umount_key#6 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock c0478828 FD: 18 BD: 1 --..: &type->s_umount_key#7 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock c0a0f200 FD: 1 BD: 1 --..: struct class mutex#5 c0a15cf0 FD: 1 BD: 3 --..: struct class mutex#6 c0488c30 FD: 1 BD: 3 -.--: dev_base_lock c0487e18 FD: 1 BD: 1 --..: cpufreq_governor_mutex c048a3f0 FD: 1 BD: 1 -...: inet_proto_lock c048bb50 FD: 1 BD: 1 -...: inetsw_lock c0480244 FD: 2 BD: 49 ++..: &input_pool.lock -> [c0480370] random_read_wait.lock c04802e4 FD: 2 BD: 14 .+..: &nonblocking_pool.lock -> [c04803b0] random_write_wait.lock c04803b0 FD: 1 BD: 15 .+..: random_write_wait.lock c0488e50 FD: 1 BD: 1 --..: neigh_tbl_lock c0488cd0 FD: 1 BD: 3 -...: ptype_lock c0a15bd0 FD: 11 BD: 3 -+-+: &tbl->lock -> [c0653e6c] &base->lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c0a03e84] &n->list_lock -> [c0a15be8] &n->lock -> [c0489a30] nl_table_wait.lock -> [c0a15be0] &(&hh->hh_lock)->lock -> [c0a15bd8] &list->lock#4 c0a15d50 FD: 1 BD: 2 --..: &net->rules_mod_lock c048d1b0 FD: 1 BD: 1 -...: xfrm_state_afinfo_lock c048d0b0 FD: 1 BD: 1 -...: xfrm_policy_afinfo_lock c048ab10 FD: 1 BD: 2 -...: raw_v4_hashinfo.lock c048aa30 FD: 1 BD: 1 --..: tcp_cong_list_lock c04796d9 FD: 27 BD: 1 --..: &sb->s_type->i_mutex_key/1 -> [c049f6f0] dcache_lock -> [c2f44c20] &writer->lock_class -> [c04782b0] inode_lock -> [c09fbf9c] &zone->lock -> [c0a03e84] &n->list_lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a04870] &inode->i_data.tree_lock -> [c09fbf94] &zone->lru_lock -> [c0a046c8] &dentry->d_lock -> [c04796d8] &sb->s_type->i_mutex_key -> [c0a04858] &inode->inotify_mutex c2f44c20 FD: 1 BD: 28 --..: &writer->lock_class c0a04888 FD: 1 BD: 4 --..: &newf->file_lock c04796d0 FD: 1 BD: 2 --..: &sb->s_type->i_lock_key c049f690 FD: 2 BD: 4 --..: files_lock -> [c04781d0] fasync_lock c09fadbc FD: 1 BD: 40 ....: &counter->lock c0a03f20 FD: 1 BD: 41 ....: &mz->lru_lock c0a04870 FD: 5 BD: 29 ....: &inode->i_data.tree_lock -> [c0a03f20] &mz->lru_lock -> [c09fadbc] &counter->lock -> [c0a03e84] &n->list_lock -> [c0a0c1c0] &percpu_counter_irqsafe c09fbf94 FD: 2 BD: 38 ....: &zone->lru_lock -> [c0a03f20] &mz->lru_lock c0471918 FD: 20 BD: 1 --..: therm_cpu_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex c0474130 FD: 1 BD: 1 .+..: uidhash_lock c0480758 FD: 30 BD: 2 --..: misc_mtx -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c04744b0] running_helpers_waitq.lock -> [c0a0fb3c] struct class mutex#7 -> [c0a03e84] &n->list_lock -> [c0a14d90] &list->lock c0a0fb3c FD: 1 BD: 3 --..: struct class mutex#7 c0476690 FD: 1 BD: 1 ....: audit_freelist_lock c04766d0 FD: 1 BD: 1 ....: serial_lock c047cab0 FD: 1 BD: 1 ....: ratelimit_lock c0474750 FD: 1 BD: 1 ....: die_chain.lock c0477410 FD: 1 BD: 3 --..: swap_lock c0477668 FD: 20 BD: 1 ----: &type->s_umount_key#8 -> [c0477e50] sb_lock -> [c09fbf9c] &zone->lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c0a03e48] &sbinfo->stat_lock c04763b8 FD: 2 BD: 1 --..: callback_mutex -> [c0642270] &p->alloc_lock c0476e30 FD: 6 BD: 1 .+..: pdflush_lock -> [c0641140] &rq->lock c09fb4c0 FD: 1 BD: 30 ....: &(kretprobe_table_locks[i].lock) c04787c8 FD: 18 BD: 1 --..: &type->s_umount_key#9 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock c04793c8 FD: 22 BD: 1 --..: &type->s_umount_key#10 -> [c0477e50] sb_lock -> [c09fbf9c] &zone->lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c0a041c8] &s->s_dquot.dqonoff_mutex -> [c04793c0] &type->s_lock_key#2 c04793c0 FD: 1 BD: 2 --..: &type->s_lock_key#2 c0479828 FD: 19 BD: 1 --..: &type->s_umount_key#11 -> [c0477e50] sb_lock -> [c09fbf9c] &zone->lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock c0479e08 FD: 22 BD: 1 --..: &type->s_umount_key#12 -> [c0477e50] sb_lock -> [c09fbf9c] &zone->lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c0a041c8] &s->s_dquot.dqonoff_mutex -> [c0479e00] &type->s_lock_key#3 c0479e00 FD: 1 BD: 2 --..: &type->s_lock_key#3 c047bcec FD: 2 BD: 1 --..: crypto_alg_sem -> [c047bd2c] (crypto_chain).rwsem c047bd2c FD: 1 BD: 2 ..--: (crypto_chain).rwsem c047c070 FD: 1 BD: 2 --..: elv_list_lock c0a0ca2c FD: 1 BD: 1 --..: &drv->dynids.lock c0a14430 FD: 1 BD: 6 ....: &dev->devres_lock c0a0cb04 FD: 1 BD: 1 --..: struct class mutex#8 c04802a4 FD: 1 BD: 1 ....: &blocking_pool.lock c0a0f960 FD: 1 BD: 4 --..: struct class mutex#9 c0a0fb54 FD: 1 BD: 3 --..: struct class mutex#10 c0480498 FD: 48 BD: 2 --..: tty_mutex -> [c04729d0] (console_sem).lock -> [c0472990] logbuf_lock -> [c09fbf9c] &zone->lock -> [c0480550] tty_ldisc_lock -> [c0a0f978] &tty->read_lock -> [c0654274] &q->lock -> [c0480570] tty_ldisc_wait.lock -> [c0470774] init_sighand.siglock -> [c0a0fb54] struct class mutex#10 -> [c0485fd8] dpm_list_mtx -> [c04791d8] sysfs_mutex -> [c04782b0] inode_lock -> [c04792b0] sysfs_ino_lock -> [c0a03e84] &n->list_lock -> [c0a14430] &dev->devres_lock -> [c047ca90] sequence_lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c0641140] &rq->lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) -> [c04744b0] running_helpers_waitq.lock -> [c0479270] sysfs_assoc_lock -> [c0a0c0d4] &k->list_lock -> [c049f690] files_lock -> [c0642268] &sighand->siglock -> [c0a14d90] &list->lock -> [c04793d8] &sb->s_type->i_mutex_key#9 -> [c0a0f970] &tty->ctrl_lock c0486cb8 FD: 46 BD: 4 --..: input_mutex -> [c0486cf0] input_devices_poll_wait.lock -> [c0a144a0] &emumousebtn_mutex_class -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c04744b0] running_helpers_waitq.lock -> [c0a19064] &k->k_lock -> [c0a14620] struct class mutex#12 -> [c0a146a7] &mousedev->mutex/31 -> [c0a14634] &dev->mutex -> [c0a1462c] &dev->event_lock -> [c0a14d90] &list->lock -> [c0a03e84] &n->list_lock c0486cf0 FD: 1 BD: 5 ....: input_devices_poll_wait.lock c04842b8 FD: 48 BD: 2 --..: port_mutex -> [c0a11b88] &state->mutex -> [c0a0f960] struct class mutex#9 -> [c0485fd8] dpm_list_mtx -> [c04791d8] sysfs_mutex -> [c04782b0] inode_lock -> [c04792b0] sysfs_ino_lock -> [c0a19064] &k->k_lock -> [c0a03e84] &n->list_lock -> [c0a14430] &dev->devres_lock -> [c047ca90] sequence_lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c04744b0] running_helpers_waitq.lock -> [c0479270] sysfs_assoc_lock -> [c0a0c0d4] &k->list_lock -> [c0472b30] resource_lock c0a11b88 FD: 46 BD: 3 --..: &state->mutex -> [c0472b30] resource_lock -> [c0a11bcc] &port_lock_key -> [c04768f8] probing_active -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c04744b0] running_helpers_waitq.lock -> [c0a19064] &k->k_lock -> [c0a0f960] struct class mutex#9 -> [c0a03e84] &n->list_lock -> [c0a11be8] &irq_lists[i].lock -> [c09fbf08] &irq_desc_lock_class -> [c0478dd0] proc_subdir_lock -> [c0478e20] proc_inum_ida.lock -> [c0478df0] proc_inum_lock -> [c0653e6c] &base->lock -> [c0a04b6c] &ent->pde_unload_lock -> [c0480550] tty_ldisc_lock -> [c0a0f978] &tty->read_lock -> [c0a0f9a8] &tty->buf.lock c0a11bcc FD: 1 BD: 4 ....: &port_lock_key c04768f8 FD: 10 BD: 4 --..: probing_active -> [c09fbf08] &irq_desc_lock_class -> [c0653e6c] &base->lock -> [c0641140] &rq->lock c0484478 FD: 49 BD: 1 --..: serial_mutex -> [c04842b8] port_mutex c047c1f8 FD: 2 BD: 3 --..: block_class_lock -> [c0a0bbe0] struct class mutex#11 c0a0bbe0 FD: 1 BD: 4 --..: struct class mutex#11 c0a14620 FD: 1 BD: 5 --..: struct class mutex#12 c0486a70 FD: 7 BD: 5 ++..: i8042_lock -> [c0654274] &q->lock c0a04b6c FD: 1 BD: 4 --..: &ent->pde_unload_lock c0a146a7 FD: 10 BD: 5 --..: &mousedev->mutex/31 -> [c0a14688] &mousedev->mutex#2 c0a144a0 FD: 7 BD: 8 --..: &emumousebtn_mutex_class -> [c0654274] &q->lock -> [c0641140] &rq->lock c0a144c0 FD: 53 BD: 2 --..: &serio->drv_mutex -> [c0a144c8] &serio->lock -> [c0a14614] &ps2dev->cmd_mutex -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c0a0c0d4] &k->list_lock -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c09fbf9c] &zone->lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c0641140] &rq->lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) -> [c0654274] &q->lock -> [c04744b0] running_helpers_waitq.lock -> [c0a19064] &k->k_lock -> [c0a14620] struct class mutex#12 -> [c0486cb8] input_mutex -> [f8947018] psmouse_mutex c0a144c8 FD: 18 BD: 5 ++..: &serio->lock -> [c0654274] &q->lock -> [c0a1462c] &dev->event_lock c0a14614 FD: 22 BD: 4 --..: &ps2dev->cmd_mutex -> [c0a144c8] &serio->lock -> [c0486a70] i8042_lock -> [c0654274] &q->lock -> [c0653e6c] &base->lock -> [c0641140] &rq->lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) c048800c FD: 1 BD: 1 --..: triggers_list_lock c0487fac FD: 1 BD: 1 ..--: leds_list_lock c04894f0 FD: 1 BD: 1 -...: llc_sap_list_lock c0489c58 FD: 1 BD: 1 --..: afinfo_mutex c048d830 FD: 1 BD: 1 -...: inetsw6_lock c048e650 FD: 1 BD: 2 -...: raw_v6_hashinfo.lock c048eab0 FD: 1 BD: 1 -...: inet6_proto_lock c0a17f80 FD: 1 BD: 2 --..: &ip6addrlbl_table.lock c0a17f28 FD: 6 BD: 3 -.-+: &ndev->lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c0653e6c] &base->lock c0a18410 FD: 1 BD: 3 -+..: &idev->mc_lock c0a18418 FD: 2 BD: 3 -+..: &mc->mca_lock -> [c0a15868] _xmit_ETHER c048d950 FD: 2 BD: 1 -+..: addrconf_verify_lock -> [c0653e6c] &base->lock c048d8f0 FD: 1 BD: 3 -.-+: addrconf_hash_lock c0a18fe4 FD: 1 BD: 1 -.--: &net->packet.sklist_lock c04752b9 FD: 1 BD: 1 --..: pm_mutex/1 c0653eb0 FD: 35 BD: 1 --..: events -> [c09fc1bc] &(vmstat_work)->work -> [c047a100] key_cleanup_task -> [c04818e0] console_work -> [c0489ec0] (expires_work).work -> [c0480300] (rekey_work).work -> [c0488da0] (dst_gc_work).work -> [c0a0f9a0] &(&tty->buf.work)->work c0473c90 FD: 1 BD: 1 --..: task_capability_lock c0477ff0 FD: 1 BD: 4 --..: cdev_lock c0a0f978 FD: 1 BD: 10 ....: &tty->read_lock c0480570 FD: 1 BD: 12 ....: tty_ldisc_wait.lock c0642290 FD: 76 BD: 1 ----: &mm->mmap_sem -> [c0a0325c] &anon_vma->lock -> [c0641054] __pte_lockptr(page) -> [c09fbf94] &zone->lru_lock -> [c04796d0] &sb->s_type->i_lock_key -> [c2f44c20] &writer->lock_class -> [c0a04868] &inode->i_data.i_mmap_lock -> [c0642288] &mm->page_table_lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0642291] &mm->mmap_sem/1 -> [c0642270] &p->alloc_lock -> [c09fbf9c] &zone->lock -> [c0641140] &rq->lock -> [c0a03e84] &n->list_lock -> [f88bea30] &sb->s_type->i_lock_key#3 -> [c0a04870] &inode->i_data.tree_lock -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [f89ce3f0] ide_lock -> [c09fc1ec] &page_address_htable[i].lock -> [c0654274] &q->lock -> [c09fbf24] &tsk->delays->lock -> [c049f690] files_lock -> [c049f6f0] dcache_lock -> [c0653e6c] &base->lock -> [c049eb10] kmap_lock -> [c0a0bbbc] &ret->lock -> [c04782b0] inode_lock -> [f88bf0f8] &ip->i_flags_lock -> [c0472370] pgd_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) -> [c09f44c0] &futex_queues[i].lock -> [c0a04860] &inode->i_data.private_lock -> [c0a04c48] &bb->mutex -> [c04723b0] memtype_lock -> [c0a03e50] &info->lock -> [c0a04c90] &ids->rw_mutex -> [c0a04858] &inode->inotify_mutex c0642288 FD: 1 BD: 21 --..: &mm->page_table_lock c0a0325c FD: 2 BD: 19 --..: &anon_vma->lock -> [c0642288] &mm->page_table_lock c0641054 FD: 14 BD: 19 --..: __pte_lockptr(page) -> [c0641055] __pte_lockptr(page)/1 -> [c0a03f20] &mz->lru_lock -> [c09fadbc] &counter->lock -> [c09fbf94] &zone->lru_lock -> [c0a03e84] &n->list_lock -> [c09fbf9c] &zone->lock -> [c0654274] &q->lock -> [c0a04860] &inode->i_data.private_lock c049eb10 FD: 3 BD: 2 --..: kmap_lock -> [c09fc1ec] &page_address_htable[i].lock -> [c09fc1e4] &pool_lock c09fc1ec FD: 1 BD: 29 ....: &page_address_htable[i].lock c09fc1e4 FD: 1 BD: 3 ....: &pool_lock c0a04868 FD: 3 BD: 15 --..: &inode->i_data.i_mmap_lock -> [c0a0325c] &anon_vma->lock c0642291 FD: 22 BD: 2 --..: &mm->mmap_sem/1 -> [c0a04868] &inode->i_data.i_mmap_lock -> [c0a0325c] &anon_vma->lock -> [c0642288] &mm->page_table_lock -> [c0641054] __pte_lockptr(page) -> [c0a03e84] &n->list_lock -> [c09fbf9c] &zone->lock -> [c0641140] &rq->lock -> [c0472370] pgd_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) -> [c04723b0] memtype_lock c0641055 FD: 1 BD: 20 --..: __pte_lockptr(page)/1 c0a048ac FD: 74 BD: 2 ----: &namespace_sem -> [c04796d8] &sb->s_type->i_mutex_key -> [c049f6f0] dcache_lock -> [c049f750] vfsmount_lock -> [f88bea40] &type->i_mutex_dir_key#3 -> [c0479380] &type->i_mutex_dir_key -> [c0477678] &sb->s_type->i_mutex_key#5 -> [c04756f8] cgroup_mutex -> [c0478d40] &type->i_mutex_dir_key#2 -> [c0478d38] &sb->s_type->i_mutex_key#3 c0478d40 FD: 20 BD: 3 --..: &type->i_mutex_dir_key#2 -> [c049f6f0] dcache_lock -> [c0478dd0] proc_subdir_lock -> [c04782b0] inode_lock -> [c0472cd0] sysctl_lock -> [c0642270] &p->alloc_lock -> [c0a03e84] &n->list_lock -> [c0a046c8] &dentry->d_lock -> [c2f44c20] &writer->lock_class -> [c09fbf9c] &zone->lock -> [c049f750] vfsmount_lock c047422c FD: 15 BD: 1 ----: uts_sem -> [c0641140] &rq->lock c0475158 FD: 35 BD: 2 --..: module_mutex -> [c04771d0] vmlist_lock -> [c09fbf9c] &zone->lock -> [c0641140] &rq->lock -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c0652c44] &cpu_hotplug.lock -> [c0476538] lock -> [c047ca90] sequence_lock -> [c0489a30] nl_table_wait.lock -> [c0653ec0] &cwq->lock -> [c0654274] &q->lock -> [c04744b0] running_helpers_waitq.lock -> [c0479270] sysfs_assoc_lock -> [c0a03e84] &n->list_lock -> [c046f1e0] init_mm.page_table_lock -> [c0a14d90] &list->lock -> [c04792e0] sysfs_ino_ida.lock -> [c0472370] pgd_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) c0a14634 FD: 7 BD: 8 --..: &dev->mutex -> [c0654274] &q->lock -> [c0641140] &rq->lock c0476538 FD: 11 BD: 3 --..: lock -> [c0474670] kthread_create_lock -> [c0641140] &rq->lock -> [c0654274] &q->lock -> [c0642278] &p->pi_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) -> [c0472370] pgd_lock c04751d0 FD: 1 BD: 1 ....: module_wq.lock c0a1462c FD: 17 BD: 8 +...: &dev->event_lock -> [c0480244] &input_pool.lock f89cdeb8 FD: 25 BD: 1 --..: ide_cfg_mtx -> [c09fbf08] &irq_desc_lock_class -> [c0478dd0] proc_subdir_lock -> [c0478e20] proc_inum_ida.lock -> [c0478df0] proc_inum_lock -> [c047cb78] percpu_counters_lock -> [c047c070] elv_list_lock -> [f89ce3f0] ide_lock c09fc1bc FD: 2 BD: 2 --..: &(vmstat_work)->work -> [c0653e6c] &base->lock f89ce74c FD: 1 BD: 1 --..: struct class mutex#13 f89ce3f0 FD: 16 BD: 27 ++..: ide_lock -> [c0a0bbbc] &ret->lock -> [c0653e6c] &base->lock -> [c0654274] &q->lock -> [c0480244] &input_pool.lock -> [c0653ec0] &cwq->lock -> [c0a03e84] &n->list_lock -> [c0a04978] &dio->bio_lock -> [c09fc1ec] &page_address_htable[i].lock -> [c09fbf9c] &zone->lock c0a0bbbc FD: 1 BD: 28 +...: &ret->lock f89cdf18 FD: 2 BD: 1 --..: ide_setting_mtx -> [c0a03e84] &n->list_lock c0a04968 FD: 51 BD: 1 --..: &bdev->bd_mutex -> [f8810e98] idedisk_ref_mutex -> [c04782b0] inode_lock -> [c0477e50] sb_lock -> [c09fbf9c] &zone->lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a03e84] &n->list_lock -> [c0a04870] &inode->i_data.tree_lock -> [c0a04860] &inode->i_data.private_lock -> [f89ce3f0] ide_lock -> [c0654274] &q->lock -> [c0653e6c] &base->lock -> [c0641140] &rq->lock -> [c09fbf24] &tsk->delays->lock -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c0a19064] &k->k_lock -> [c0a0bbe0] struct class mutex#11 -> [c09fbf94] &zone->lru_lock -> [c049f770] bdev_lock -> [c047c1f8] block_class_lock -> [c0a04969] &bdev->bd_mutex/1 -> [f8a426f8] idecd_ref_mutex -> [c0a0bbbc] &ret->lock -> [c0472370] pgd_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) f8810e98 FD: 1 BD: 3 --..: idedisk_ref_mutex c0a04860 FD: 1 BD: 21 --..: &inode->i_data.private_lock c09fbf24 FD: 1 BD: 28 ....: &tsk->delays->lock c0a14a60 FD: 1 BD: 1 ..-+: &trigger->leddev_list_lock c0a04930 FD: 123 BD: 1 --..: &p->lock -> [c047c1f8] block_class_lock -> [c0a048ac] &namespace_sem -> [c0642270] &p->alloc_lock -> [c0642268] &sighand->siglock -> [c09fbf24] &tsk->delays->lock -> [c0475158] module_mutex -> [c0641140] &rq->lock -> [c0487d50] cpufreq_driver_lock -> [c04773d8] swapon_mutex -> [c0478038] chrdevs_lock -> [c0480758] misc_mtx -> [c0480498] tty_mutex c0478178 FD: 18 BD: 1 --..: &sb->s_type->i_mutex_key#2 -> [c09fbf9c] &zone->lock -> [c04781d0] fasync_lock -> [c0654274] &q->lock -> [c0a03e84] &n->list_lock -> [c0641140] &rq->lock c04781d0 FD: 1 BD: 6 ..+.: fasync_lock c0478d38 FD: 22 BD: 3 --..: &sb->s_type->i_mutex_key#3 -> [c0472cd0] sysctl_lock -> [c049f6f0] dcache_lock -> [c04782b0] inode_lock -> [c0478d48] &sb->s_type->i_alloc_sem_key -> [c0a046c8] &dentry->d_lock -> [c0642270] &p->alloc_lock -> [c09fbf9c] &zone->lock -> [c0a03e84] &n->list_lock -> [c0a04888] &newf->file_lock -> [c0478dd0] proc_subdir_lock -> [c2f44c20] &writer->lock_class -> [c049f750] vfsmount_lock c0478d30 FD: 1 BD: 1 --..: &sb->s_type->i_lock_key#2 c0478d48 FD: 2 BD: 4 --..: &sb->s_type->i_alloc_sem_key -> [c04782b0] inode_lock c0a04969 FD: 2 BD: 2 --..: &bdev->bd_mutex/1 -> [f8810e98] idedisk_ref_mutex c0a04970 FD: 1 BD: 2 ....: semaphore->lock#3 f88bea28 FD: 65 BD: 1 ----: &type->s_umount_key#13 -> [c0477e50] sb_lock -> [c0a04970] semaphore->lock#3 -> [c04782b0] inode_lock -> [c0474670] kthread_create_lock -> [c0641140] &rq->lock -> [c0654274] &q->lock -> [f88be8b0] xfs_buftarg_lock -> [c09fbf9c] &zone->lock -> [c0472a78] cpu_add_remove_lock -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a04870] &inode->i_data.tree_lock -> [f89ce3f0] ide_lock -> [c0a0bbbc] &ret->lock -> [c0653e6c] &base->lock -> [f88bf130] &mp->m_icsb_mutex -> [f88bf1c8] semaphore->lock#4 -> [f88bf1b0] &btp->bt_delwrite_lock -> [f88bec10] xfs_err_lock -> [f88bec58] uuid_monitor -> [c0a03e84] &n->list_lock -> [c04771d0] vmlist_lock -> [f88be8f0] as_lock -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [f88bf1fc] &mp->m_sb_lock -> [c049f6f0] dcache_lock -> [f88bea20] &type->s_lock_key#4 -> [f88bf158] &mru->lock -> [f88bf128] &log->l_icloglock -> [c0a041c8] &s->s_dquot.dqonoff_mutex -> [f88bf0f8] &ip->i_flags_lock -> [f88bf120] &log->l_grant_lock -> [c09fc1ec] &page_address_htable[i].lock -> [c0a0c1c0] &percpu_counter_irqsafe -> [c09fbf94] &zone->lru_lock f88be8b0 FD: 1 BD: 2 --..: xfs_buftarg_lock f88bf1b8 FD: 1 BD: 26 --..: &btp->bt_hash[i].bh_lock f88bf130 FD: 2 BD: 2 --..: &mp->m_icsb_mutex -> [f88bf1fc] &mp->m_sb_lock f88bf1fc FD: 1 BD: 23 --..: &mp->m_sb_lock f88bf1c8 FD: 6 BD: 27 ....: semaphore->lock#4 -> [c0641140] &rq->lock f88bf1b0 FD: 7 BD: 22 --..: &btp->bt_delwrite_lock -> [f88bf1c8] semaphore->lock#4 f88bec10 FD: 1 BD: 2 ....: xfs_err_lock f88bec58 FD: 1 BD: 2 --..: uuid_monitor f88bf110 FD: 1 BD: 27 --..: &mp->m_ail_lock c0a0bb68 FD: 19 BD: 1 --..: kblockd -> [c0a0c0b0] &cfqd->unplug_work -> [c0a0bbb4] &q->unplug_work c0a0c0b0 FD: 17 BD: 2 --..: &cfqd->unplug_work -> [f89ce3f0] ide_lock -> [c0653e6c] &base->lock f88be8f0 FD: 1 BD: 2 --..: as_lock f88bf148 FD: 2 BD: 18 ----: &pag->pag_ici_lock -> [f88bf0f8] &ip->i_flags_lock f88bf0e8 FD: 40 BD: 17 ----: &(&ip->i_lock)->mr_lock -> [f88bf148] &pag->pag_ici_lock -> [f88bf1f4] &mp->m_ilock -> [f88bf0f8] &ip->i_flags_lock -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a04870] &inode->i_data.tree_lock -> [f89ce3f0] ide_lock -> [c0a0bbbc] &ret->lock -> [c0653e6c] &base->lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [f88bf1c8] semaphore->lock#4 -> [c0a03e84] &n->list_lock -> [c09fbf94] &zone->lru_lock -> [c04782b0] inode_lock -> [f88bf128] &log->l_icloglock -> [f88bf120] &log->l_grant_lock -> [f88bf1fc] &mp->m_sb_lock -> [f88bf118] &iclog->ic_callback_lock -> [f88bf1b0] &btp->bt_delwrite_lock -> [c2f44c20] &writer->lock_class -> [f88bf138] &mp->m_peraglock -> [c09fbf9c] &zone->lock -> [c0472370] pgd_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) -> [f88bf110] &mp->m_ail_lock -> [c0a0c19c] &sem->wait_lock f88bf0f8 FD: 1 BD: 21 --..: &ip->i_flags_lock f88bf1f4 FD: 8 BD: 18 --..: &mp->m_ilock -> [f88bf0f8] &ip->i_flags_lock c0a04858 FD: 18 BD: 12 --..: &inode->inotify_mutex -> [c0a04994] &ih->mutex f88bea40 FD: 54 BD: 6 --..: &type->i_mutex_dir_key#3 -> [c049f6f0] dcache_lock -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [c04782b0] inode_lock -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [c09fbf94] &zone->lru_lock -> [f88bf1c8] semaphore->lock#4 -> [c0654274] &q->lock -> [f88bf1f4] &mp->m_ilock -> [f88bf0f8] &ip->i_flags_lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a04870] &inode->i_data.tree_lock -> [f89ce3f0] ide_lock -> [c0641140] &rq->lock -> [c09fbf9c] &zone->lock -> [c0a03e84] &n->list_lock -> [c2f44c20] &writer->lock_class -> [c0653e6c] &base->lock -> [c0a0bbbc] &ret->lock -> [c0a046c8] &dentry->d_lock -> [c049f750] vfsmount_lock -> [f88bf120] &log->l_grant_lock -> [f88bf0e9] &(&ip->i_lock)->mr_lock/1 -> [f88bf1b0] &btp->bt_delwrite_lock -> [f88bf128] &log->l_icloglock -> [f88bf0ea] &(&ip->i_lock)->mr_lock/2 -> [f88bf0eb] &(&ip->i_lock)->mr_lock/3 -> [c0472370] pgd_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) -> [c0a0c19c] &sem->wait_lock f88bea30 FD: 1 BD: 2 --..: &sb->s_type->i_lock_key#3 f88bf0e0 FD: 48 BD: 7 ----: &(&ip->i_iolock)->mr_lock -> [c09fbf9c] &zone->lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a03e84] &n->list_lock -> [c0a04870] &inode->i_data.tree_lock -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [f89ce3f0] ide_lock -> [c09fc1ec] &page_address_htable[i].lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c09fbf24] &tsk->delays->lock -> [c2f44c20] &writer->lock_class -> [c09fbf94] &zone->lru_lock -> [c0653e6c] &base->lock -> [c0a0bbbc] &ret->lock -> [c0472370] pgd_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) -> [c04782b0] inode_lock -> [c0a04860] &inode->i_data.private_lock -> [f88bf120] &log->l_grant_lock -> [c0a04868] &inode->i_data.i_mmap_lock -> [f88bf0f8] &ip->i_flags_lock c0a0f998 FD: 10 BD: 1 --..: &tty->termios_mutex -> [c0480550] tty_ldisc_lock -> [c0654274] &q->lock -> [c0a0f970] &tty->ctrl_lock c0a0f9a8 FD: 1 BD: 14 +...: &tty->buf.lock c0480850 FD: 1 BD: 1 ....: vt_spawn_con.lock c0a049a0 FD: 19 BD: 1 --..: &dev->up_mutex -> [c0a04858] &inode->inotify_mutex -> [c0a03e84] &n->list_lock c0a04994 FD: 17 BD: 13 --..: &ih->mutex -> [c0a0c0c8] &idp->lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c0a03e84] &n->list_lock c048d6f0 FD: 1 BD: 2 --..: unix_table_lock c0a17a84 FD: 81 BD: 1 --..: &u->readlock -> [c048d6f0] unix_table_lock -> [f88bea41] &type->i_mutex_dir_key#3/1 -> [c049f750] vfsmount_lock -> [c0477679] &sb->s_type->i_mutex_key#5/1 -> [c0a17a8c] &u->lock -> [c0654274] &q->lock -> [c0a03e84] &n->list_lock -> [c0641140] &rq->lock -> [c0a17ea4] &af_unix_sk_receive_queue_lock_key -> [c09fbf9c] &zone->lock c0a17a8c FD: 10 BD: 2 --..: &u->lock -> [c0654274] &q->lock -> [c0a15028] clock-AF_UNIX -> [c0a17a8d] &u->lock/1 -> [c0a17ea4] &af_unix_sk_receive_queue_lock_key c0a15028 FD: 1 BD: 3 -.--: clock-AF_UNIX c0a17ea4 FD: 1 BD: 3 --..: &af_unix_sk_receive_queue_lock_key c0a14f08 FD: 1 BD: 1 -...: slock-AF_UNIX c0a14de8 FD: 1 BD: 1 --..: sk_lock-AF_UNIX c0a049a8 FD: 1 BD: 1 --..: &dev->ev_mutex c04787d0 FD: 1 BD: 1 --..: &sb->s_type->i_lock_key#4 f88bea38 FD: 61 BD: 5 --..: &sb->s_type->i_mutex_key#4 -> [f88bf0e0] &(&ip->i_iolock)->mr_lock -> [f88bf120] &log->l_grant_lock -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [c0a046c8] &dentry->d_lock -> [f88bea48] &sb->s_type->i_alloc_sem_key#3 -> [c04782b0] inode_lock -> [f88bf0ea] &(&ip->i_lock)->mr_lock/2 -> [f88bf1c8] semaphore->lock#4 -> [f88bf128] &log->l_icloglock -> [f88bf0f8] &ip->i_flags_lock -> [c049f6f0] dcache_lock -> [f88bf0eb] &(&ip->i_lock)->mr_lock/3 -> [c09fbf9c] &zone->lock -> [c0a03e84] &n->list_lock -> [f88bf0ed] &(&ip->i_lock)->mr_lock/5 -> [f88bf1b0] &btp->bt_delwrite_lock -> [f88bf138] &mp->m_peraglock -> [f88bf1fc] &mp->m_sb_lock -> [f88bf118] &iclog->ic_callback_lock -> [f88bf0ec] &(&ip->i_lock)->mr_lock/4 -> [c0a0c19c] &sem->wait_lock -> [c0653e6c] &base->lock -> [c0641140] &rq->lock -> [c0472370] pgd_lock -> [c09fb4c0] &(kretprobe_table_locks[i].lock) c04804d0 FD: 1 BD: 1 --..: redirect_lock c0a0f980 FD: 19 BD: 1 --..: &tty->atomic_write_lock -> [c0654274] &q->lock -> [c04729d0] (console_sem).lock -> [c047d610] vga_lock -> [c0472990] logbuf_lock -> [c09fbf9c] &zone->lock -> [c0641140] &rq->lock -> [c0a0f978] &tty->read_lock -> [c0a03e84] &n->list_lock -> [c0480550] tty_ldisc_lock -> [c0a0f970] &tty->ctrl_lock c0480370 FD: 1 BD: 50 ++..: random_read_wait.lock f88bea20 FD: 20 BD: 2 --..: &type->s_lock_key#4 -> [f88bf1c8] semaphore->lock#4 -> [f88bf1b0] &btp->bt_delwrite_lock -> [f89ce3f0] ide_lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [f88bf1b8] &btp->bt_hash[i].bh_lock c047a788 FD: 21 BD: 1 --..: &type->s_umount_key#14 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c0a041c8] &s->s_dquot.dqonoff_mutex -> [c047a780] &type->s_lock_key#5 c047a780 FD: 1 BD: 2 --..: &type->s_lock_key#5 c0a0c1b8 FD: 1 BD: 1 --..: &fbc->lock f88bea41 FD: 69 BD: 3 --..: &type->i_mutex_dir_key#3/1 -> [c0a046c8] &dentry->d_lock -> [c2f44c20] &writer->lock_class -> [c049f6f0] dcache_lock -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [f88bea38] &sb->s_type->i_mutex_key#4 -> [c0a04858] &inode->inotify_mutex -> [c0a03e84] &n->list_lock -> [f88bea40] &type->i_mutex_dir_key#3 -> [c04782b0] inode_lock -> [f88bf120] &log->l_grant_lock -> [f88bf0e0] &(&ip->i_iolock)->mr_lock -> [f88bf0f8] &ip->i_flags_lock -> [f88bf1f4] &mp->m_ilock -> [f88bf0e9] &(&ip->i_lock)->mr_lock/1 -> [f88bf128] &log->l_icloglock -> [f88bf0ea] &(&ip->i_lock)->mr_lock/2 -> [f88bf0ec] &(&ip->i_lock)->mr_lock/4 -> [f88bf1c8] semaphore->lock#4 -> [c0a04860] &inode->i_data.private_lock -> [c0a04870] &inode->i_data.tree_lock -> [c09fbf94] &zone->lru_lock -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [c0654274] &q->lock -> [c09fbf9c] &zone->lock -> [f88bf1b0] &btp->bt_delwrite_lock -> [f88bea42] &type->i_mutex_dir_key#3/2 -> [c0641140] &rq->lock c0a03e48 FD: 1 BD: 11 --..: &sbinfo->stat_lock c0477678 FD: 30 BD: 5 --..: &sb->s_type->i_mutex_key#5 -> [c049f6f0] dcache_lock -> [c2f44c20] &writer->lock_class -> [c0a03e48] &sbinfo->stat_lock -> [c04782b0] inode_lock -> [c0477670] &sb->s_type->i_lock_key#5 -> [c0a046c8] &dentry->d_lock -> [c0a03e50] &info->lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a03e84] &n->list_lock -> [c0477688] &sb->s_type->i_alloc_sem_key#2 -> [c09fbf9c] &zone->lock -> [c0641140] &rq->lock -> [c049f750] vfsmount_lock c0477679 FD: 34 BD: 2 --..: &sb->s_type->i_mutex_key#5/1 -> [c049f6f0] dcache_lock -> [c2f44c20] &writer->lock_class -> [c0a03e48] &sbinfo->stat_lock -> [c04782b0] inode_lock -> [c0477670] &sb->s_type->i_lock_key#5 -> [c0a046c8] &dentry->d_lock -> [c0477678] &sb->s_type->i_mutex_key#5 -> [c0a04858] &inode->inotify_mutex -> [c0a03e84] &n->list_lock -> [c09fbf9c] &zone->lock -> [c0641140] &rq->lock c0477670 FD: 1 BD: 6 --..: &sb->s_type->i_lock_key#5 c0a14f80 FD: 1 BD: 1 -...: slock-AF_NETLINK c0a14e60 FD: 1 BD: 1 --..: sk_lock-AF_NETLINK c0479190 FD: 1 BD: 1 --..: sysfs_open_dirent_lock c0a04c2c FD: 23 BD: 1 --..: &buffer->mutex -> [c047ca90] sequence_lock -> [c0a03e84] &n->list_lock -> [c0a14d90] &list->lock -> [c0489a30] nl_table_wait.lock -> [c09fbf9c] &zone->lock -> [c047ce50] pci_lock -> [c047f198] acpi_prt_lock c0a03e50 FD: 7 BD: 9 --..: &info->lock -> [c0a03e48] &sbinfo->stat_lock -> [c0a04870] &inode->i_data.tree_lock c0477688 FD: 18 BD: 6 --..: &sb->s_type->i_alloc_sem_key#2 -> [c04782b0] inode_lock -> [c0a04868] &inode->i_data.i_mmap_lock -> [c0a04870] &inode->i_data.tree_lock -> [c09fbf94] &zone->lru_lock -> [c0a03e50] &info->lock -> [c0641140] &rq->lock c0479370 FD: 1 BD: 1 --..: &sb->s_type->i_lock_key#6 c0a14d90 FD: 1 BD: 20 -+..: &list->lock c0a150a0 FD: 1 BD: 1 -.--: clock-AF_NETLINK c04786c0 FD: 1 BD: 1 --..: &type->i_mutex_dir_key#4 c049f714 FD: 4 BD: 68 --..: rename_lock -> [c0a046c8] &dentry->d_lock -> [c0a046c9] &dentry->d_lock/1 c0a046c9 FD: 1 BD: 70 --..: &dentry->d_lock/1 c0a0bbb4 FD: 17 BD: 2 --..: &q->unplug_work -> [f89ce3f0] ide_lock -> [c0653e6c] &base->lock c047494c FD: 1 BD: 1 --..: (cpu_dma_lat_notifier).rwsem c0487520 FD: 1 BD: 2 ....: thermal_cdev_idr.lock c0487578 FD: 2 BD: 1 --..: thermal_idr_lock -> [c0487520] thermal_cdev_idr.lock c0a14764 FD: 1 BD: 1 --..: struct class mutex#14 c04875d8 FD: 1 BD: 1 --..: thermal_list_lock c0487d8c FD: 1 BD: 1 --..: (cpufreq_policy_notifier_list).rwsem f892a618 FD: 4 BD: 1 --..: info_mutex -> [c0478dd0] proc_subdir_lock -> [c0478e20] proc_inum_ida.lock -> [c0478df0] proc_inum_lock f8947018 FD: 52 BD: 3 --..: psmouse_mutex -> [c0a144c8] &serio->lock -> [c0a14614] &ps2dev->cmd_mutex -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c09fbf9c] &zone->lock -> [c0a14d90] &list->lock -> [c0489a30] nl_table_wait.lock -> [c0a19064] &k->k_lock -> [c0a14620] struct class mutex#12 -> [c0486cb8] input_mutex f896994c FD: 40 BD: 2 ----: (usb_notifier_list).rwsem -> [c04785d0] pin_fs_lock -> [c04784e0] mnt_id_ida.lock -> [c049f750] vfsmount_lock -> [c0477e50] sb_lock -> [f8969a08] &type->s_umount_key#15 -> [f8969a18] &sb->s_type->i_mutex_key#6 -> [f8969b10] deviceconndiscwq.lock -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0a14d90] &list->lock -> [c0489a30] nl_table_wait.lock -> [c0a19064] &k->k_lock -> [f896a368] struct class mutex#18 -> [c0a03e84] &n->list_lock f8968df0 FD: 7 BD: 2 ....: hub_event_lock -> [f8968e30] khubd_wait.lock f8968e30 FD: 6 BD: 3 ....: khubd_wait.lock -> [c0641140] &rq->lock f892a798 FD: 1 BD: 1 --..: strings f8970b78 FD: 1 BD: 2 --..: register_mutex f892a538 FD: 29 BD: 2 --..: sound_mutex -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0a03e84] &n->list_lock -> [c0a14d90] &list->lock -> [c0489a30] nl_table_wait.lock -> [f88ff904] struct class mutex#15 -> [c0a19064] &k->k_lock f88ff904 FD: 1 BD: 3 --..: struct class mutex#15 f8986648 FD: 1 BD: 3 .+..: &tp->mii_lock c0a15868 FD: 1 BD: 4 -...: _xmit_ETHER c04774d8 FD: 20 BD: 1 --..: pools_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex f8968fb8 FD: 69 BD: 1 --..: usb_bus_list_lock -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0a14d90] &list->lock -> [c0654274] &q->lock -> [c0489a30] nl_table_wait.lock -> [c0a19064] &k->k_lock -> [f8969ee0] struct class mutex#16 -> [f8969030] hcd_root_hub_lock -> [c0a14438] semaphore->lock#2 -> [f8969e94] &dev->pm_mutex -> [f8968f10] device_state_lock -> [f8969f04] &new_driver->dynids.lock -> [c0a03b28] &retval->lock -> [f89906ec] &ehci->lock -> [f8969ec0] &hub->status_mutex -> [c0653e6c] &base->lock -> [c0641140] &rq->lock -> [f8968df0] hub_event_lock -> [c0485b30] probe_waitqueue.lock -> [c0a03e84] &n->list_lock -> [c0478038] chrdevs_lock -> [f8969718] minor_lock -> [f896a344] struct class mutex#17 -> [f896994c] (usb_notifier_list).rwsem -> [c04792e0] sysfs_ino_ida.lock -> [c09fbf9c] &zone->lock f8969ee0 FD: 1 BD: 2 --..: struct class mutex#16 c04785d0 FD: 1 BD: 4 --..: pin_fs_lock f8969a08 FD: 24 BD: 3 --..: &type->s_umount_key#15 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c0a041c8] &s->s_dquot.dqonoff_mutex -> [f8969a00] &type->s_lock_key#6 f8969a00 FD: 18 BD: 4 --..: &type->s_lock_key#6 -> [f8969a19] &sb->s_type->i_mutex_key#6/1 f8969a18 FD: 16 BD: 6 --..: &sb->s_type->i_mutex_key#6 -> [c049f6f0] dcache_lock -> [c04782b0] inode_lock -> [c09fbf9c] &zone->lock f8969b10 FD: 1 BD: 3 ....: deviceconndiscwq.lock c0a03b28 FD: 1 BD: 2 ....: &retval->lock f8968d6c FD: 7 BD: 1 --..: ehci_cf_port_reset_rwsem -> [c0653e6c] &base->lock -> [c0641140] &rq->lock f8968f10 FD: 1 BD: 5 ....: device_state_lock f8969030 FD: 2 BD: 6 ....: hcd_root_hub_lock -> [f8969090] hcd_urb_list_lock f8969090 FD: 1 BD: 7 ....: hcd_urb_list_lock f8969e94 FD: 10 BD: 4 --..: &dev->pm_mutex -> [c0653e6c] &base->lock -> [f89690f8] reject_mutex -> [f8969070] hcd_urb_unlink_lock -> [f8969030] hcd_root_hub_lock -> [f8968ff0] usb_kill_urb_queue.lock -> [f89906ec] &ehci->lock -> [f8968f10] device_state_lock -> [f8969090] hcd_urb_list_lock -> [f8a1130c] &ohci->lock f8969f04 FD: 1 BD: 2 --..: &new_driver->dynids.lock f89906ec FD: 1 BD: 6 ....: &ehci->lock f8969ec0 FD: 10 BD: 2 --..: &hub->status_mutex -> [f8969030] hcd_root_hub_lock -> [f89906ec] &ehci->lock -> [c0654274] &q->lock f892a6cc FD: 1 BD: 1 --..: snd_ioctl_rwsem f8969718 FD: 2 BD: 2 --..: minor_lock -> [f89696c0] endpoint_idr.lock f89696c0 FD: 1 BD: 3 ....: endpoint_idr.lock f896a344 FD: 1 BD: 2 --..: struct class mutex#17 f896a368 FD: 1 BD: 3 --..: struct class mutex#18 f8934bf8 FD: 1 BD: 1 --..: cdrom_mutex f8a426f8 FD: 1 BD: 2 --..: idecd_ref_mutex f89b46a0 FD: 1 BD: 2 ....: rtc_idr.lock f89b46f8 FD: 2 BD: 1 --..: idr_lock -> [f89b46a0] rtc_idr.lock f89b4b04 FD: 1 BD: 1 --..: struct class mutex#19 f892a5b8 FD: 1 BD: 2 --..: snd_card_mutex f89afe40 FD: 1 BD: 1 --..: struct class mutex#20 f8a7b068 FD: 1 BD: 1 --..: &ac97->reg_mutex f892af7c FD: 1 BD: 1 --..: &card->controls_rwsem f892af74 FD: 1 BD: 1 ..--: &card->ctl_files_rwlock f88f7b78 FD: 1 BD: 1 --..: list_mutex f89d7304 FD: 1 BD: 1 ....: &chip->reg_lock f89ff538 FD: 1 BD: 1 --..: buses_mutex f89ec7d0 FD: 1 BD: 1 --..: full_list_lock f8a096d0 FD: 1 BD: 1 --..: ports_lock f89ec9b0 FD: 1 BD: 1 --..: topology_lock f89ecd00 FD: 1 BD: 1 --..: &tmp->pardevice_lock f89ecd10 FD: 1 BD: 1 ....: &tmp->cad_lock f89ecd18 FD: 6 BD: 1 .+..: semaphore->lock#5 -> [c0641140] &rq->lock f89a6438 FD: 31 BD: 1 --..: register_mutex#2 -> [f892a538] sound_mutex -> [f8970b78] register_mutex -> [c0a03e84] &n->list_lock f89ecd08 FD: 1 BD: 1 --..: &tmp->waitlist_lock f89ec718 FD: 30 BD: 1 --..: registration_lock -> [f89ec6d0] parportlist_lock -> [c0a0c0d4] &k->list_lock -> [c04792b0] sysfs_ino_lock -> [c04791d8] sysfs_mutex -> [c047e800] bus_type_sem -> [c0479270] sysfs_assoc_lock -> [c0485fd8] dpm_list_mtx -> [c047ca90] sequence_lock -> [c0a14d90] &list->lock -> [c0489a30] nl_table_wait.lock -> [c0a19064] &k->k_lock -> [f8a2dea0] struct class mutex#21 f89ec6d0 FD: 1 BD: 2 ....: parportlist_lock f8a2dea0 FD: 1 BD: 2 --..: struct class mutex#21 f8a1130c FD: 1 BD: 5 .+..: &ohci->lock c04758c8 FD: 24 BD: 1 --..: &type->s_umount_key#16 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c04758d8] &sb->s_type->i_mutex_key#7 -> [c04756f8] cgroup_mutex c04758d8 FD: 20 BD: 2 --..: &sb->s_type->i_mutex_key#7 -> [c04756f8] cgroup_mutex -> [c0a046c8] &dentry->d_lock -> [c049f6f0] dcache_lock -> [c2f44c20] &writer->lock_class -> [c04782b0] inode_lock c04756f8 FD: 18 BD: 5 --..: cgroup_mutex -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c0475790] css_set_lock -> [c049f6f0] dcache_lock -> [c04782b0] inode_lock -> [c0a03e84] &n->list_lock -> [c09fbf9c] &zone->lock c0475790 FD: 1 BD: 6 --..: css_set_lock c0487d50 FD: 1 BD: 2 ....: cpufreq_driver_lock f89b4b14 FD: 1 BD: 1 +...: &rtc->irq_lock f89b4b0c FD: 1 BD: 1 +...: &rtc->irq_task_lock f89b4b1c FD: 2 BD: 1 --..: &rtc->ops_lock -> [c0471550] rtc_lock c04765b8 FD: 10 BD: 1 --..: audit_cmd_mutex -> [c0474670] kthread_create_lock -> [c0641140] &rq->lock -> [c0654274] &q->lock -> [c0a14d90] &list->lock -> [c0a03e84] &n->list_lock c09faf64 FD: 1 BD: 1 ....: &list->lock#2 c04765f0 FD: 1 BD: 1 ....: audit_backlog_wait.lock c0476630 FD: 1 BD: 1 ....: kauditd_wait.lock c0a17a8d FD: 1 BD: 3 --..: &u->lock/1 c09f44c0 FD: 8 BD: 2 --..: &futex_queues[i].lock -> [c0654274] &q->lock -> [c09f44c1] &futex_queues[i].lock/1 c04773d8 FD: 15 BD: 2 --..: swapon_mutex -> [c0477410] swap_lock -> [c049f6f0] dcache_lock f8969e84 FD: 12 BD: 1 --..: ksuspend_usbd -> [f8969e8c] &(&dev->autosuspend)->work f8969e8c FD: 11 BD: 2 --..: &(&dev->autosuspend)->work -> [f8969e94] &dev->pm_mutex f8969a19 FD: 17 BD: 5 --..: &sb->s_type->i_mutex_key#6/1 -> [f8969a18] &sb->s_type->i_mutex_key#6 f89690f8 FD: 1 BD: 5 --..: reject_mutex f8969070 FD: 1 BD: 5 ....: hcd_urb_unlink_lock f8968ff0 FD: 1 BD: 5 ....: usb_kill_urb_queue.lock f88bf158 FD: 1 BD: 2 --..: &mru->lock f88bf128 FD: 9 BD: 26 --..: &log->l_icloglock -> [f88bf110] &mp->m_ail_lock -> [f88bf120] &log->l_grant_lock -> [c0654274] &q->lock f88bf120 FD: 1 BD: 27 --..: &log->l_grant_lock f88bf0e9 FD: 42 BD: 7 --..: &(&ip->i_lock)->mr_lock/1 -> [f88bf138] &mp->m_peraglock -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a04870] &inode->i_data.tree_lock -> [f89ce3f0] ide_lock -> [c0653e6c] &base->lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [f88bf1c8] semaphore->lock#4 -> [c0a03e84] &n->list_lock -> [c04782b0] inode_lock -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [c09fbf94] &zone->lru_lock -> [c0a0bbbc] &ret->lock -> [f88bf1f4] &mp->m_ilock -> [f88bf140] &mp->m_agirotor_lock -> [c09fbf9c] &zone->lock -> [f88bf128] &log->l_icloglock -> [f88bf120] &log->l_grant_lock -> [f88bf1fc] &mp->m_sb_lock -> [f88bf118] &iclog->ic_callback_lock -> [f88bf1b0] &btp->bt_delwrite_lock -> [c0a0c19c] &sem->wait_lock f88bf138 FD: 30 BD: 18 ..--: &mp->m_peraglock -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a04870] &inode->i_data.tree_lock -> [f89ce3f0] ide_lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [f88bf1c8] semaphore->lock#4 -> [c09fbf94] &zone->lru_lock -> [c09fbf9c] &zone->lock -> [c0653e6c] &base->lock -> [f88bf0a8] &pag->pagb_lock -> [f88bf0f8] &ip->i_flags_lock -> [f88bf128] &log->l_icloglock -> [f88bf120] &log->l_grant_lock -> [f88bf1b0] &btp->bt_delwrite_lock -> [c0a03e84] &n->list_lock -> [c0a0bbbc] &ret->lock f88bf1a8 FD: 17 BD: 1 --..: xfslogd -> [f88bf1c0] &bp->b_iodone_work f88bf1c0 FD: 16 BD: 2 --..: &bp->b_iodone_work -> [f88bf1c8] semaphore->lock#4 -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [f88bf128] &log->l_icloglock -> [f88bf120] &log->l_grant_lock -> [f88bf118] &iclog->ic_callback_lock -> [f88bf110] &mp->m_ail_lock -> [c0a03e84] &n->list_lock -> [c0654274] &q->lock -> [f88bf0a8] &pag->pagb_lock -> [c09fbf9c] &zone->lock f88bf118 FD: 10 BD: 24 --..: &iclog->ic_callback_lock -> [f88bf128] &log->l_icloglock f88bea48 FD: 49 BD: 6 --..: &sb->s_type->i_alloc_sem_key#3 -> [f88bf0e0] &(&ip->i_iolock)->mr_lock -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [c0641140] &rq->lock f88bf0a8 FD: 1 BD: 21 --..: &pag->pagb_lock f88bf0ea FD: 37 BD: 9 --..: &(&ip->i_lock)->mr_lock/2 -> [f88bf0eb] &(&ip->i_lock)->mr_lock/3 -> [f88bf0ed] &(&ip->i_lock)->mr_lock/5 -> [f88bf0ec] &(&ip->i_lock)->mr_lock/4 -> [c0a0c19c] &sem->wait_lock f88bf0eb FD: 33 BD: 10 --..: &(&ip->i_lock)->mr_lock/3 -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [f88bf1c8] semaphore->lock#4 -> [f88bf128] &log->l_icloglock -> [f88bf120] &log->l_grant_lock -> [f88bf1fc] &mp->m_sb_lock -> [f88bf118] &iclog->ic_callback_lock -> [f88bf1b0] &btp->bt_delwrite_lock -> [f89ce3f0] ide_lock -> [c0a03e84] &n->list_lock -> [c0a0bbbc] &ret->lock -> [f88bf0ed] &(&ip->i_lock)->mr_lock/5 -> [c04782b0] inode_lock -> [c09fadbc] &counter->lock -> [c0a03f20] &mz->lru_lock -> [c0a04870] &inode->i_data.tree_lock -> [c0653e6c] &base->lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c09fbf94] &zone->lru_lock -> [f88bf0ec] &(&ip->i_lock)->mr_lock/4 f88bf0ed FD: 15 BD: 12 --..: &(&ip->i_lock)->mr_lock/5 -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [f88bf1c8] semaphore->lock#4 -> [f88bf128] &log->l_icloglock -> [f88bf120] &log->l_grant_lock -> [f88bf1fc] &mp->m_sb_lock -> [f88bf118] &iclog->ic_callback_lock -> [c04782b0] inode_lock f8a226ec FD: 1 BD: 1 --..: _lock c04758d0 FD: 1 BD: 1 --..: &sb->s_type->i_lock_key#7 c0a04978 FD: 6 BD: 28 +...: &dio->bio_lock -> [c0641140] &rq->lock f8a2280c FD: 1 BD: 1 --..: _hash_lock f88bf140 FD: 1 BD: 8 --..: &mp->m_agirotor_lock c0a0c1c0 FD: 1 BD: 30 ....: &percpu_counter_irqsafe f88bf1a0 FD: 43 BD: 1 --..: xfsdatad -> [f88bf184] &ioend->io_work -> [f88bf174] &ioend->io_work#2 f88bf184 FD: 41 BD: 2 --..: &ioend->io_work -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [c0a04870] &inode->i_data.tree_lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [f88bf120] &log->l_grant_lock -> [c0a03e84] &n->list_lock f88bf0ec FD: 16 BD: 11 --..: &(&ip->i_lock)->mr_lock/4 -> [f88bf1b8] &btp->bt_hash[i].bh_lock -> [c04782b0] inode_lock -> [f88bf1c8] semaphore->lock#4 -> [f88bf128] &log->l_icloglock -> [f88bf120] &log->l_grant_lock -> [f88bf1fc] &mp->m_sb_lock -> [f88bf118] &iclog->ic_callback_lock -> [f88bf0ed] &(&ip->i_lock)->mr_lock/5 c0a0f970 FD: 1 BD: 20 ....: &tty->ctrl_lock c0a0f988 FD: 22 BD: 1 --..: &tty->atomic_read_lock -> [c0654274] &q->lock -> [c0641140] &rq->lock -> [c0a0f978] &tty->read_lock -> [c0480550] tty_ldisc_lock -> [c0642268] &sighand->siglock c048b54c FD: 8 BD: 3 ..--: (inetaddr_chain).rwsem -> [c048c910] fib_hash_lock -> [c048bbd0] fib_info_lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c0489a30] nl_table_wait.lock c048c910 FD: 1 BD: 4 -.-?: fib_hash_lock c048bbd0 FD: 1 BD: 4 -...: fib_info_lock c0a15968 FD: 1 BD: 3 -...: _xmit_LOOPBACK c0a16b00 FD: 1 BD: 3 -.-+: &in_dev->mc_list_lock c0a16af8 FD: 1 BD: 3 -...: &in_dev->mc_tomb_lock c0a17f20 FD: 2 BD: 3 -+..: &ifa->lock -> [c0653e6c] &base->lock c0a17fcc FD: 4 BD: 4 -+-.: &tb->tb6_lock -> [c0489a30] nl_table_wait.lock -> [c048dff0] fib6_walker_lock -> [c0a03e84] &n->list_lock c048dff0 FD: 1 BD: 5 -+..: fib6_walker_lock c0a14f10 FD: 18 BD: 2 -+..: slock-AF_INET -> [c0a14d90] &list->lock -> [c0a16614] &hashinfo->ehash_locks[i] -> [c0a1660c] &tcp_hashinfo.bhash[i].lock -> [c0a15140] &queue->syn_wait_lock -> [c0653e6c] &base->lock -> [c0a15be8] &n->lock -> [c0a03e84] &n->list_lock c0a14df0 FD: 37 BD: 1 --..: sk_lock-AF_INET -> [c0a15030] clock-AF_INET -> [c0a14d88] &sk->sk_dst_lock -> [c048af30] udp_hash_lock -> [c0a15be8] &n->lock -> [c0a03e84] &n->list_lock -> [c0a1660c] &tcp_hashinfo.bhash[i].lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c0a15140] &queue->syn_wait_lock -> [c049f850] tcp_hashinfo.lhash_lock -> [c049f874] tcp_hashinfo.lhash_wait.lock -> [c0653e6c] &base->lock -> [c0654274] &q->lock -> [c0a14da0] &newsk->sk_dst_lock -> [c0a16010] &rt_hash_locks[i] -> [c09fbf9c] &zone->lock c0a15030 FD: 1 BD: 2 -.-?: clock-AF_INET f8986650 FD: 1 BD: 8 ++..: &tp->lock c048dfb0 FD: 2 BD: 2 -+..: icmp6_dst_lock -> [c0a03e84] &n->list_lock c0a15be8 FD: 4 BD: 7 -+-+: &n->lock -> [c0653e6c] &base->lock -> [c0a03e84] &n->list_lock -> [c0a15bd8] &list->lock#4 c0a15e54 FD: 1 BD: 3 -+..: &list->lock#3 c0a156a8 FD: 2 BD: 7 -+..: _xmit_ETHER#2 -> [f8986650] &tp->lock c0a15070 FD: 1 BD: 2 -.-+: clock-AF_INET6 c048af30 FD: 1 BD: 3 -.-+: udp_hash_lock c0a14d88 FD: 1 BD: 3 ----: &sk->sk_dst_lock c0a14f88 FD: 1 BD: 1 -...: slock-AF_PACKET c0a14e68 FD: 17 BD: 1 --..: sk_lock-AF_PACKET -> [c0a18fec] &po->bind_lock -> [c0488cd0] ptype_lock -> [c0654274] &q->lock -> [c0641140] &rq->lock c0a18fec FD: 2 BD: 2 --..: &po->bind_lock -> [c0488cd0] ptype_lock c0a150a8 FD: 1 BD: 1 -.-+: clock-AF_PACKET c0a1567c FD: 4 BD: 3 -+..: &dev->tx_global_lock -> [c0a156a8] _xmit_ETHER#2 -> [c0653e6c] &base->lock c0489890 FD: 1 BD: 3 -...: qdisc_list_lock c0489688 FD: 1 BD: 3 -...: noop_qdisc.q.lock c0a15e64 FD: 1 BD: 6 -+..: &qdisc_tx_lock c0472930 FD: 1 BD: 1 ....: log_wait.lock c0480790 FD: 6 BD: 3 ....: vt_activate_queue.lock -> [c0641140] &rq->lock c09f44c1 FD: 7 BD: 3 --..: &futex_queues[i].lock/1 -> [c0654274] &q->lock c0a16010 FD: 2 BD: 5 -+..: &rt_hash_locks[i] -> [c0a03e84] &n->list_lock f892afd0 FD: 2 BD: 1 --..: &entry->access -> [f892a5b8] snd_card_mutex f890a3b8 FD: 1 BD: 1 --..: evdev_table_mutex f890a734 FD: 1 BD: 1 --..: &evdev->client_lock f890a72c FD: 20 BD: 1 --..: &evdev->mutex -> [c0a14634] &dev->mutex -> [c0a1462c] &dev->event_lock -> [c0a144a0] &emumousebtn_mutex_class c047f458 FD: 1 BD: 1 ....: acpi_system_event_lock c047e79c FD: 1 BD: 1 ....: acpi_bus_event_queue.lock c0a11be8 FD: 1 BD: 4 +...: &irq_lists[i].lock c0a14f50 FD: 1 BD: 1 -...: slock-AF_INET6 c0a14e30 FD: 12 BD: 1 --..: sk_lock-AF_INET6 -> [c0a15070] clock-AF_INET6 -> [c048af30] udp_hash_lock -> [c0a1660c] &tcp_hashinfo.bhash[i].lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c0a15140] &queue->syn_wait_lock -> [c0a14d88] &sk->sk_dst_lock -> [c049f850] tcp_hashinfo.lhash_lock c048eb70 FD: 1 BD: 1 -...: ipv6_sk_mc_lock c048d850 FD: 1 BD: 1 -...: ipv6_sk_ac_lock c0a15bd8 FD: 1 BD: 8 .+..: &list->lock#4 c0474630 FD: 13 BD: 1 ....: idr_lock#2 -> [c0a0c0c8] &idp->lock -> [c0653f40] &new_timer->it_lock c0653f40 FD: 11 BD: 2 .+..: &new_timer->it_lock -> [c065429c] &cpu_base->lock -> [c0642268] &sighand->siglock c0a1660c FD: 2 BD: 5 -+..: &tcp_hashinfo.bhash[i].lock -> [c0a16614] &hashinfo->ehash_locks[i] c0a15140 FD: 1 BD: 5 -+..: &queue->syn_wait_lock c049f850 FD: 1 BD: 3 -.-+: tcp_hashinfo.lhash_lock c049f874 FD: 1 BD: 2 ....: tcp_hashinfo.lhash_wait.lock c0486fb8 FD: 1 BD: 1 --..: mousedev_table_mutex c0a14690 FD: 1 BD: 1 --..: &mousedev->client_lock c0a14688 FD: 9 BD: 6 --..: &mousedev->mutex#2 -> [c0a144a0] &emumousebtn_mutex_class -> [c0a14634] &dev->mutex c0a14680 FD: 1 BD: 9 +...: &client->packet_lock c047a2f8 FD: 14 BD: 1 --..: key_user_keyring_mutex -> [c0479ff0] key_user_lock -> [c0a04d38] &candidate->lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c0479fd0] key_serial_lock -> [c047a058] key_construction_mutex -> [c0a04d28] &key->sem -> [c047a224] root_key_user.lock -> [c0a03e84] &n->list_lock c047a170 FD: 1 BD: 5 ----: keyring_name_lock c0479ff0 FD: 1 BD: 2 --..: key_user_lock c0a04d38 FD: 1 BD: 7 --..: &candidate->lock c0479fd0 FD: 1 BD: 4 --..: key_serial_lock c047a058 FD: 2 BD: 2 --..: key_construction_mutex -> [c047a170] keyring_name_lock c0a04d28 FD: 4 BD: 2 --..: &key->sem -> [c047a1ac] keyring_serialise_link_sem c047a1ac FD: 3 BD: 3 --..: keyring_serialise_link_sem -> [c0a04d38] &candidate->lock -> [c047a224] root_key_user.lock c047a100 FD: 5 BD: 2 --..: key_cleanup_task -> [c0479fd0] key_serial_lock -> [c0a04d38] &candidate->lock -> [c047a170] keyring_name_lock -> [c047a224] root_key_user.lock c0a04d29 FD: 3 BD: 1 --..: &key->sem/1 -> [c0a04d38] &candidate->lock -> [c047a224] root_key_user.lock f8a29e08 FD: 21 BD: 2 --..: &type->s_umount_key#17 -> [c0477e50] sb_lock -> [c04782b0] inode_lock -> [c049f6f0] dcache_lock -> [c0a041c8] &s->s_dquot.dqonoff_mutex -> [f8a29e00] &type->s_lock_key#7 f8a29e00 FD: 1 BD: 3 --..: &type->s_lock_key#7 f8a29e90 FD: 1 BD: 2 ----: entries_lock f8a29e18 FD: 25 BD: 1 --..: &sb->s_type->i_mutex_key#8 -> [c0a046c8] &dentry->d_lock -> [f8a29e28] &sb->s_type->i_alloc_sem_key#4 -> [c049f6f0] dcache_lock -> [c04782b0] inode_lock -> [c04785d0] pin_fs_lock -> [c04784e0] mnt_id_ida.lock -> [c049f750] vfsmount_lock -> [c0477e50] sb_lock -> [f8a29e08] &type->s_umount_key#17 -> [f8a29e90] entries_lock f8a29e10 FD: 1 BD: 1 --..: &sb->s_type->i_lock_key#8 f8a29e28 FD: 2 BD: 2 --..: &sb->s_type->i_alloc_sem_key#4 -> [c04782b0] inode_lock c04818e0 FD: 10 BD: 2 --..: console_work -> [c04729d0] (console_sem).lock -> [c047d610] vga_lock -> [c0641140] &rq->lock -> [c0480790] vt_activate_queue.lock -> [c0472990] logbuf_lock c0a04c48 FD: 19 BD: 2 --..: &bb->mutex -> [c047ce50] pci_lock -> [c04723b0] memtype_lock -> [c0641054] __pte_lockptr(page) -> [c0642288] &mm->page_table_lock -> [c09fbf9c] &zone->lock c0a04c90 FD: 28 BD: 2 --..: &ids->rw_mutex -> [c049f6f0] dcache_lock -> [c04782b0] inode_lock -> [c2f44c20] &writer->lock_class -> [c0a0c0c8] &idp->lock -> [c0a03e50] &info->lock -> [c0a04858] &inode->inotify_mutex -> [c0a04870] &inode->i_data.tree_lock -> [c09fbf94] &zone->lru_lock -> [c0a03e84] &n->list_lock c0a04c88 FD: 1 BD: 4 --..: &new->lock c04719b8 FD: 2 BD: 2 --..: mtrr_mutex -> [c0471a30] set_atomicity_lock f8a55e18 FD: 14 BD: 1 --..: &dev->struct_mutex -> [c0a0c0c8] &idp->lock -> [c04771d0] vmlist_lock -> [c09fbf9c] &zone->lock -> [c0652c44] &cpu_hotplug.lock -> [c04719b8] mtrr_mutex -> [c04723b0] memtype_lock -> [c0654274] &q->lock f8a55e40 FD: 1 BD: 1 --..: struct class mutex#22 f8a55e38 FD: 1 BD: 1 --..: &dev->count_lock f8a55e10 FD: 1 BD: 1 --..: &dev->ctxlist_mutex c0a041a0 FD: 1 BD: 1 ..+.: &f->f_owner.lock f88bf1e4 FD: 1 BD: 1 --..: &mp->m_sync_lock c048e030 FD: 6 BD: 1 -+..: fib6_gc_lock -> [c048dfb0] icmp6_dst_lock f88bf174 FD: 41 BD: 2 --..: &ioend->io_work#2 -> [f88bf0e8] &(&ip->i_lock)->mr_lock -> [c0a04870] &inode->i_data.tree_lock -> [c0654274] &q->lock c0a16614 FD: 1 BD: 6 -+-+: &hashinfo->ehash_locks[i] c0a14f11 FD: 22 BD: 1 -+..: slock-AF_INET/1 -> [c0a16010] &rt_hash_locks[i] -> [c0a15be8] &n->lock -> [c0a15140] &queue->syn_wait_lock -> [c0653e6c] &base->lock -> [c0a14f10] slock-AF_INET -> [c0654274] &q->lock -> [c0a03e84] &n->list_lock -> [c0a1660c] &tcp_hashinfo.bhash[i].lock -> [c09fbf9c] &zone->lock -> [c048a8a8] tcp_death_row.death_lock c047a224 FD: 1 BD: 7 --..: root_key_user.lock c04794c0 FD: 1 BD: 2 ....: allocated_ptys.lock c0479478 FD: 2 BD: 1 --..: allocated_ptys_lock -> [c04794c0] allocated_ptys.lock c04793d8 FD: 20 BD: 3 --..: &sb->s_type->i_mutex_key#9 -> [c049f6f0] dcache_lock -> [c0a046c8] &dentry->d_lock -> [c04782b0] inode_lock -> [c0a04858] &inode->inotify_mutex -> [c0477ff0] cdev_lock -> [c0a03e84] &n->list_lock c04793d0 FD: 1 BD: 1 --..: &sb->s_type->i_lock_key#9 c0a14da0 FD: 1 BD: 2 --..: &newsk->sk_dst_lock c0489ec0 FD: 4 BD: 2 --..: (expires_work).work -> [c0a16010] &rt_hash_locks[i] -> [c0653e6c] &base->lock c0a15be0 FD: 1 BD: 4 -+..: &(&hh->hh_lock)->lock c048a2f0 FD: 1 BD: 1 -+..: inet_peer_unused_lock c048a8a8 FD: 2 BD: 2 -+..: tcp_death_row.death_lock -> [c0653e6c] &base->lock c0a041d8 FD: 70 BD: 1 --..: &s->s_vfs_rename_mutex -> [f88bea41] &type->i_mutex_dir_key#3/1 -> [f88bea42] &type->i_mutex_dir_key#3/2 f88bea42 FD: 62 BD: 4 --..: &type->i_mutex_dir_key#3/2 -> [c2f44c20] &writer->lock_class -> [f88bea38] &sb->s_type->i_mutex_key#4 -> [c049f6f0] dcache_lock c0a0c19c FD: 6 BD: 19 ....: &sem->wait_lock -> [c0641140] &rq->lock c0480300 FD: 6 BD: 2 --..: (rekey_work).work -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock -> [c0653e6c] &base->lock c04769d0 FD: 1 BD: 1 -+..: &rcu_bh_ctrlblk.lock c0a16f48 FD: 5 BD: 1 -+..: &f->lock -> [c0480244] &input_pool.lock -> [c04802e4] &nonblocking_pool.lock c0489630 FD: 1 BD: 1 .+..: rif_lock c0488d70 FD: 2 BD: 4 -+..: dst_garbage.lock -> [c0653e6c] &base->lock c0488da0 FD: 5 BD: 2 --..: (dst_gc_work).work -> [c0488d38] dst_gc_mutex c0488d38 FD: 4 BD: 3 --..: dst_gc_mutex -> [c0488d70] dst_garbage.lock -> [c0a03e84] &n->list_lock f890a720 FD: 1 BD: 9 +...: &client->buffer_lock c0a0f9a0 FD: 11 BD: 2 --..: &(&tty->buf.work)->work -> [c0480550] tty_ldisc_lock -> [c0a0f9a8] &tty->buf.lock -> [c0a0f978] &tty->read_lock -> [c0654274] &q->lock -- Arkadiusz MiÅ›kiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/ From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 08:03:36 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_63 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3E3WIW022687 for ; Wed, 3 Dec 2008 08:03:35 -0600 X-ASG-Debug-ID: 1228313011-221d006c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9CA981673D5C for ; Wed, 3 Dec 2008 06:03:31 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id XsMuoR3OH11jYTuG for ; Wed, 03 Dec 2008 06:03:31 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7sKB-0001ud-4B for xfs@oss.sgi.com; Wed, 03 Dec 2008 14:03:31 +0000 Date: Wed, 3 Dec 2008 09:03:31 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 15/22] replace b_fspriv with b_mount Subject: Re: [patch 15/22] replace b_fspriv with b_mount Message-ID: <20081203140331.GA28361@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.749289000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160651.749289000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228313011 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com Any chance to get this one reviewed? On Tue, Dec 02, 2008 at 11:04:45AM -0500, Christoph Hellwig wrote: > Replace the b_fspriv pointer and it's ugly accessors with a properly types > xfs_mount pointer. Also switch log reocvery over to it instead of using > b_fspriv for the mount pointer. > > > Signed-off-by: Christoph Hellwig > > Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c > =================================================================== > --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_buf.c 2008-11-15 15:27:32.000000000 +0100 > +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c 2008-11-15 15:28:01.000000000 +0100 > @@ -1085,7 +1085,7 @@ xfs_bawrite( > bp->b_flags &= ~(XBF_READ | XBF_DELWRI | XBF_READ_AHEAD); > bp->b_flags |= (XBF_WRITE | XBF_ASYNC | _XBF_RUN_QUEUES); > > - bp->b_fspriv3 = mp; > + bp->b_mount = mp; > bp->b_strat = xfs_bdstrat_cb; > return xfs_bdstrat_cb(bp); > } > @@ -1098,7 +1098,7 @@ xfs_bdwrite( > XB_TRACE(bp, "bdwrite", 0); > > bp->b_strat = xfs_bdstrat_cb; > - bp->b_fspriv3 = mp; > + bp->b_mount = mp; > > bp->b_flags &= ~XBF_READ; > bp->b_flags |= (XBF_DELWRI | XBF_ASYNC); > Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.h > =================================================================== > --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_buf.h 2008-11-15 15:28:08.000000000 +0100 > +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.h 2008-11-15 15:29:12.000000000 +0100 > @@ -168,7 +168,7 @@ typedef struct xfs_buf { > struct completion b_iowait; /* queue for I/O waiters */ > void *b_fspriv; > void *b_fspriv2; > - void *b_fspriv3; > + struct xfs_mount *b_mount; > unsigned short b_error; /* error code on I/O */ > unsigned int b_page_count; /* size of page array */ > unsigned int b_offset; /* page offset in first page */ > @@ -335,8 +335,6 @@ extern void xfs_buf_trace(xfs_buf_t *, c > #define XFS_BUF_SET_FSPRIVATE(bp, val) ((bp)->b_fspriv = (void*)(val)) > #define XFS_BUF_FSPRIVATE2(bp, type) ((type)(bp)->b_fspriv2) > #define XFS_BUF_SET_FSPRIVATE2(bp, val) ((bp)->b_fspriv2 = (void*)(val)) > -#define XFS_BUF_FSPRIVATE3(bp, type) ((type)(bp)->b_fspriv3) > -#define XFS_BUF_SET_FSPRIVATE3(bp, val) ((bp)->b_fspriv3 = (void*)(val)) > #define XFS_BUF_SET_START(bp) do { } while (0) > #define XFS_BUF_SET_BRELSE_FUNC(bp, func) ((bp)->b_relse = (func)) > > Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_lrw.c > =================================================================== > --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_lrw.c 2008-11-15 15:25:29.000000000 +0100 > +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_lrw.c 2008-11-15 15:26:27.000000000 +0100 > @@ -847,13 +847,7 @@ retry: > int > xfs_bdstrat_cb(struct xfs_buf *bp) > { > - xfs_mount_t *mp; > - > - mp = XFS_BUF_FSPRIVATE3(bp, xfs_mount_t *); > - if (!XFS_FORCED_SHUTDOWN(mp)) { > - xfs_buf_iorequest(bp); > - return 0; > - } else { > + if (XFS_FORCED_SHUTDOWN(bp->b_mount)) { > xfs_buftrace("XFS__BDSTRAT IOERROR", bp); > /* > * Metadata write that didn't get logged but > @@ -866,6 +860,9 @@ xfs_bdstrat_cb(struct xfs_buf *bp) > else > return (xfs_bioerror(bp)); > } > + > + xfs_buf_iorequest(bp); > + return 0; > } > > /* > Index: linux-2.6-xfs/fs/xfs/xfs_buf_item.c > =================================================================== > --- linux-2.6-xfs.orig/fs/xfs/xfs_buf_item.c 2008-11-15 15:24:38.000000000 +0100 > +++ linux-2.6-xfs/fs/xfs/xfs_buf_item.c 2008-11-15 15:25:05.000000000 +0100 > @@ -707,8 +707,8 @@ xfs_buf_item_init( > * the first. If we do already have one, there is > * nothing to do here so return. > */ > - if (XFS_BUF_FSPRIVATE3(bp, xfs_mount_t *) != mp) > - XFS_BUF_SET_FSPRIVATE3(bp, mp); > + if (bp->b_mount != mp) > + bp->b_mount = mp; > XFS_BUF_SET_BDSTRAT_FUNC(bp, xfs_bdstrat_cb); > if (XFS_BUF_FSPRIVATE(bp, void *) != NULL) { > lip = XFS_BUF_FSPRIVATE(bp, xfs_log_item_t *); > Index: linux-2.6-xfs/fs/xfs/xfs_rw.c > =================================================================== > --- linux-2.6-xfs.orig/fs/xfs/xfs_rw.c 2008-11-15 15:26:37.000000000 +0100 > +++ linux-2.6-xfs/fs/xfs/xfs_rw.c 2008-11-15 15:27:17.000000000 +0100 > @@ -406,7 +406,7 @@ xfs_bwrite( > * XXXsup how does this work for quotas. > */ > XFS_BUF_SET_BDSTRAT_FUNC(bp, xfs_bdstrat_cb); > - XFS_BUF_SET_FSPRIVATE3(bp, mp); > + bp->b_mount = mp; > XFS_BUF_WRITE(bp); > > if ((error = XFS_bwrite(bp))) { > Index: linux-2.6-xfs/fs/xfs/xfs_log_recover.c > =================================================================== > --- linux-2.6-xfs.orig/fs/xfs/xfs_log_recover.c 2008-11-15 15:31:41.000000000 +0100 > +++ linux-2.6-xfs/fs/xfs/xfs_log_recover.c 2008-11-15 15:35:12.000000000 +0100 > @@ -267,21 +267,16 @@ STATIC void > xlog_recover_iodone( > struct xfs_buf *bp) > { > - xfs_mount_t *mp; > - > - ASSERT(XFS_BUF_FSPRIVATE(bp, void *)); > - > if (XFS_BUF_GETERROR(bp)) { > /* > * We're not going to bother about retrying > * this during recovery. One strike! > */ > - mp = XFS_BUF_FSPRIVATE(bp, xfs_mount_t *); > xfs_ioerror_alert("xlog_recover_iodone", > - mp, bp, XFS_BUF_ADDR(bp)); > - xfs_force_shutdown(mp, SHUTDOWN_META_IO_ERROR); > + bp->b_mount, bp, XFS_BUF_ADDR(bp)); > + xfs_force_shutdown(bp->b_mount, SHUTDOWN_META_IO_ERROR); > } > - XFS_BUF_SET_FSPRIVATE(bp, NULL); > + bp->b_mount = NULL; > XFS_BUF_CLR_IODONE_FUNC(bp); > xfs_biodone(bp); > } > @@ -2225,9 +2220,8 @@ xlog_recover_do_buffer_trans( > XFS_BUF_STALE(bp); > error = xfs_bwrite(mp, bp); > } else { > - ASSERT(XFS_BUF_FSPRIVATE(bp, void *) == NULL || > - XFS_BUF_FSPRIVATE(bp, xfs_mount_t *) == mp); > - XFS_BUF_SET_FSPRIVATE(bp, mp); > + ASSERT(bp->b_mount == NULL || bp->b_mount == mp); > + bp->b_mount = mp; > XFS_BUF_SET_IODONE_FUNC(bp, xlog_recover_iodone); > xfs_bdwrite(mp, bp); > } > @@ -2490,9 +2484,8 @@ xlog_recover_do_inode_trans( > > write_inode_buffer: > if (ITEM_TYPE(item) == XFS_LI_INODE) { > - ASSERT(XFS_BUF_FSPRIVATE(bp, void *) == NULL || > - XFS_BUF_FSPRIVATE(bp, xfs_mount_t *) == mp); > - XFS_BUF_SET_FSPRIVATE(bp, mp); > + ASSERT(bp->b_mount == NULL || bp->b_mount == mp); > + bp->b_mount = mp; > XFS_BUF_SET_IODONE_FUNC(bp, xlog_recover_iodone); > xfs_bdwrite(mp, bp); > } else { > @@ -2623,9 +2616,8 @@ xlog_recover_do_dquot_trans( > memcpy(ddq, recddq, item->ri_buf[1].i_len); > > ASSERT(dq_f->qlf_size == 2); > - ASSERT(XFS_BUF_FSPRIVATE(bp, void *) == NULL || > - XFS_BUF_FSPRIVATE(bp, xfs_mount_t *) == mp); > - XFS_BUF_SET_FSPRIVATE(bp, mp); > + ASSERT(bp->b_mount == NULL || bp->b_mount == mp); > + bp->b_mount = mp; > XFS_BUF_SET_IODONE_FUNC(bp, xlog_recover_iodone); > xfs_bdwrite(mp, bp); > > > -- > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs ---end quoted text--- From kamalesh@linux.vnet.ibm.com Wed Dec 3 08:18:37 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3EIa03023829 for ; Wed, 3 Dec 2008 08:18:37 -0600 X-ASG-Debug-ID: 1228313912-221200af0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from e23smtp06.au.ibm.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 49C3C167401F for ; Wed, 3 Dec 2008 06:18:33 -0800 (PST) Received: from e23smtp06.au.ibm.com (E23SMTP06.au.ibm.com [202.81.18.175]) by cuda.sgi.com with ESMTP id qMAmVydXNIAK6rFN for ; Wed, 03 Dec 2008 06:18:33 -0800 (PST) Received: from sd0109e.au.ibm.com (d23rh905.au.ibm.com [202.81.18.225]) by e23smtp06.au.ibm.com (8.13.1/8.13.1) with ESMTP id mB3EHQmb001592 for ; Thu, 4 Dec 2008 01:17:26 +1100 Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by sd0109e.au.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id mB3EG2AM056866 for ; Thu, 4 Dec 2008 01:16:02 +1100 Received: from d23av04.au.ibm.com (loopback [127.0.0.1]) by d23av04.au.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id mB3EG18k014959 for ; Thu, 4 Dec 2008 01:16:01 +1100 Received: from linux.vnet.ibm.com ([9.124.158.38]) by d23av04.au.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id mB3EFvd6014921 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 4 Dec 2008 01:15:59 +1100 Date: Wed, 3 Dec 2008 19:45:55 +0530 From: Kamalesh Babulal To: Christoph Hellwig Cc: Stephen Rothwell , linux-next@vger.kernel.org, LKML , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: next-20081203 build failure, when building xfs_file.o Subject: Re: next-20081203 build failure, when building xfs_file.o Message-ID: <20081203141555.GB5400@linux.vnet.ibm.com> Reply-To: Kamalesh Babulal References: <20081203183602.c06f8c39.sfr@canb.auug.org.au> <20081203124104.GA5400@linux.vnet.ibm.com> <20081203125534.GA8007@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <20081203125534.GA8007@infradead.org> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: E23SMTP06.au.ibm.com[202.81.18.175] X-Barracuda-Start-Time: 1228313915 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11820 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- * Christoph Hellwig [2008-12-03 07:55:34]: > On Wed, Dec 03, 2008 at 06:11:04PM +0530, Kamalesh Babulal wrote: > > Hi Stephen, > > > > next-20081203 kernel build fails on x86 with build failure > > > > In file included from fs/xfs/linux-2.6/xfs_file.c:39: > > This is the fix I submitted for it yesterday: > > -- > > fix compile on 32 bit systems > > The recent compat patches make xfs_file.c include xfs_ioctl32.h unconditional, > which breaks the build on 32 bit systems which don't have the various compat > defintions. > > Remove the include and move the defintion of xfs_file_compat_ioctl to > xfs_ioctl.h so that we can avoid including all the compat defintions in > xfs_file.c > Hi Chirstoph, Thanks, the patch fixes the build failure. Tested-by: Kamalesh Babulal > Signed-off-by: Christoph Hellwig > > Index: xfs-master/fs/xfs/linux-2.6/xfs_file.c > =================================================================== > --- xfs-master.orig/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:43:38.000000000 +0100 > +++ xfs-master/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:44:06.000000000 +0100 > @@ -36,9 +36,9 @@ > #include "xfs_inode.h" > #include "xfs_error.h" > #include "xfs_rw.h" > -#include "xfs_ioctl32.h" > #include "xfs_vnodeops.h" > #include "xfs_da_btree.h" > +#include "xfs_ioctl.h" > > #include > #include > Index: xfs-master/fs/xfs/linux-2.6/xfs_ioctl.h > =================================================================== > --- xfs-master.orig/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-02 11:44:10.000000000 +0100 > +++ xfs-master/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-02 11:44:52.000000000 +0100 > @@ -67,4 +67,16 @@ xfs_attrmulti_attr_remove( > char *name, > __uint32_t flags); > > +extern long > +xfs_file_compat_ioctl( > + struct file *file, > + unsigned int cmd, > + unsigned long arg); > + > +extern long > +xfs_file_compat_ioctl_invis( > + struct file *file, > + unsigned int cmd, > + unsigned long arg); > + > #endif > Index: xfs-master/fs/xfs/linux-2.6/xfs_ioctl32.h > =================================================================== > --- xfs-master.orig/fs/xfs/linux-2.6/xfs_ioctl32.h 2008-12-02 11:44:10.000000000 +0100 > +++ xfs-master/fs/xfs/linux-2.6/xfs_ioctl32.h 2008-12-02 11:44:18.000000000 +0100 > @@ -20,9 +20,6 @@ > > #include > > -extern long xfs_file_compat_ioctl(struct file *, unsigned, unsigned long); > -extern long xfs_file_compat_invis_ioctl(struct file *, unsigned, unsigned long); > - > /* > * on 32-bit arches, ioctl argument structures may have different sizes > * and/or alignment. We define compat structures which match the > -- > To unsubscribe from this list: send the line "unsubscribe linux-next" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Thanks & Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. From jpiszcz@lucidpixels.com Wed Dec 3 08:39:06 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_27 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3Ed6Mg024868 for ; Wed, 3 Dec 2008 08:39:06 -0600 X-ASG-Debug-ID: 1228315144-0f1a01aa0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from lucidpixels.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B03611677989 for ; Wed, 3 Dec 2008 06:39:05 -0800 (PST) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id VOG3XDNfGTw86XhW for ; Wed, 03 Dec 2008 06:39:05 -0800 (PST) Received: by lucidpixels.com (Postfix, from userid 1001) id 92FBA201DF1B4; Wed, 3 Dec 2008 09:34:04 -0500 (EST) Date: Wed, 3 Dec 2008 09:34:04 -0500 (EST) From: Justin Piszcz To: linux-kernel@vger.kernel.org, linux-raid@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: 3ware 9650SE-16ML w/XFS & RAID6: first impressions Subject: 3ware 9650SE-16ML w/XFS & RAID6: first impressions Message-ID: User-Agent: Alpine 1.10 (DEB 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII X-Barracuda-Connect: lucidpixels.com[75.144.35.66] X-Barracuda-Start-Time: 1228315145 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11822 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- For read speed, it appears that there is some overhead (2x). With software raid6 I used to get 1.0Gbyte/sec read speed, or at least 800MiB/s across the entire array, now I only get 538MiB/s across the entire array. However, write speed is improved. Before it was in the mid 400s for RAID6 and peaking at 502MiB/s at the outer edge of the drives. For the write speed now, its around 620-640MiB/s at the end of the array and 580-620MiB/s going in further and 502MiB/s across the entire array. I always heard all of the horror stories with 3ware cards, it turns out they're not so bad after all. Here is the STR across a RAID6 array of 10 velociraptors configured as RAID6 with storsave=perform and blockdev --setra 65536 and using the XFS filesystem. p34:/t# /usr/bin/time dd if=/dev/zero of=really_big_file bs=1M dd: writing `really_big_file': No space left on device 2288604+0 records in 2288603+0 records out 2399774998528 bytes (2.4 TB) copied, 4777.22 s, 502 MB/s Command exited with non-zero status 1 1.47user 3322.83system 1:19:37elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (1major+506minor)pagefaults 0swaps p34:/t# /usr/bin/time dd if=really_big_file of=/dev/null bs=1M 2288603+1 records in 2288603+1 records out 2399774998528 bytes (2.4 TB) copied, 4457.55 s, 538 MB/s 1.66user 1538.87system 1:14:17elapsed 34%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (4major+498minor)pagefaults 0swaps p34:/t# So what is the difference between protect, balance and perform? Protect p34:~# /opt/3ware/9500/tw_cli /c0/u1 set storsave=protect Setting Command Storsave Policy for unit /c0/u1 to [protect] ... Done. p34:/t# dd if=/dev/zero of=bigfile bs=1M count=20480 20480+0 records in 20480+0 records out 21474836480 bytes (21 GB) copied, 60.6041 s, 354 MB/s Balance: p34:~# /opt/3ware/9500/tw_cli /c0/u1 set storsave=balance Setting Command Storsave Policy for unit /c0/u1 to [balance] ... Done. # dd if=/dev/zero of=bigfile bs=1M count=20480 20480+0 records in 20480+0 records out 21474836480 bytes (21 GB) copied, 60.4287 s, 355 MB/s Perform p34:~# /opt/3ware/9500/tw_cli /c0/u1 set storsave=perform Warning: Unit /c0/u1 storsave policy is set to Performance which may cause data loss in the event of power failure. Do you want to continue ? Y|N [N]: Y Setting Command Storsave Policy for unit /c0/u1 to [perform] ... Done. p34:/t# dd if=/dev/zero of=bigfile bs=1M count=20480 20480+0 records in 20480+0 records out 21474836480 bytes (21 GB) copied, 34.4955 s, 623 MB/s -- And yes, I have a BBU attached to this card and everything is on a UPS. Something I do not like though is 3ware states "TwinStor" "TwinStor" etc etc if you read a file it will read from both drives, maybe it does this but I have the I/O results to prove it-- it never breaks the barrier of a single drive's STR. Whereas with SW RAID, you can read 2 or more files concurrently and you will get the bandwidth of both drives. I have a lot more testing to do, RAID0, RAID5, RAID6, RAID10, not sure when I will get to it but just thought I'd post this to show that 3ware cards aren't as slow as everyone says, at least not when attached to Velociraptors, a BBU and XFS as the filesystem. Justin. From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 11:13:32 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3HDV8n001792 for ; Wed, 3 Dec 2008 11:13:32 -0600 X-ASG-Debug-ID: 1228324410-220503a30000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id BFD42167A6E5 for ; Wed, 3 Dec 2008 09:13:30 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id THmTdX8BlMCQazKy for ; Wed, 03 Dec 2008 09:13:30 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7vHY-0000xs-0z for xfs@oss.sgi.com; Wed, 03 Dec 2008 17:13:00 +0000 Date: Wed, 3 Dec 2008 12:13:00 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 00/22] 2.6.29 queue Subject: Re: [patch 00/22] 2.6.29 queue Message-ID: <20081203171300.GA17773@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160430.775774000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228324410 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Tue, Dec 02, 2008 at 11:04:30AM -0500, Christoph Hellwig wrote: > This is my current 2.6.29 queue. All but a few trivial patches have already > been posted to the list. I have another two patches for 2.6.29 in progress > that aren't included but should go to the list in a few days. > > Note that this is a series against the master tree, patches against dmapi or > xfsidbg aren't included (and not relevant for 2.6.29). The 20 patches that have been reviewed are now available in a git repository: http://git.kernel.org/?p=linux/kernel/git/hch/xfs.git git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs.git This includes all the small fixups suggested by Dave, and all the reviewed-by tags. From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 11:46:00 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-4.1 required=5.0 tests=AWL,BAYES_00,LOCAL_GNU_PATCH autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3Hk0JR007656 for ; Wed, 3 Dec 2008 11:46:00 -0600 X-ASG-Debug-ID: 1228326358-4f5600cf0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id BBE54167AF80 for ; Wed, 3 Dec 2008 09:45:58 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 1HolTT7meIFcIutd for ; Wed, 03 Dec 2008 09:45:58 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7vmx-0001DA-UQ; Wed, 03 Dec 2008 17:45:27 +0000 Date: Wed, 3 Dec 2008 12:45:27 -0500 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: viro@ZenIV.linux.org.uk, linux-fsdevel@vger.kernel.org X-ASG-Orig-Subj: [PATCH] add a FMODE flag to make XFS invisible I/O less hacky Subject: [PATCH] add a FMODE flag to make XFS invisible I/O less hacky Message-ID: <20081203174527.GA16187@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228326359 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com XFS has a mode called invisble I/O that doesn't update any of the timestamps. It's used for HSM-style applications and exposed through the nasty open by handle ioctl. Instead of doing directly assignment of file operations that set an internal flag for it add a new FMODE_NOCMTIME flag that we can check in the normal file operations. Note that I'd like to get this into 2.6.29 via the XFS tree as there are a lot changes in XFS that would cause conflicts otherwise. For 2.6.30 I'll plan turning it into a proper O_ flag available via open(2), but for now I just want to sort out the XFS issues. Signed-off-by: Christoph Hellwig Index: xfs/fs/xfs/linux-2.6/xfs_ioctl32.c =================================================================== --- xfs.orig/fs/xfs/linux-2.6/xfs_ioctl32.c 2008-12-03 18:30:14.000000000 +0100 +++ xfs/fs/xfs/linux-2.6/xfs_ioctl32.c 2008-12-03 18:30:34.000000000 +0100 @@ -599,19 +599,24 @@ out: return error; } -STATIC long -xfs_compat_ioctl( - xfs_inode_t *ip, - struct file *filp, - int ioflags, - unsigned cmd, - void __user *arg) +long +xfs_file_compat_ioctl( + struct file *filp, + unsigned cmd, + unsigned long p) { - struct inode *inode = filp->f_path.dentry->d_inode; - xfs_mount_t *mp = ip->i_mount; - int error; + struct inode *inode = filp->f_path.dentry->d_inode; + struct xfs_inode *ip = XFS_I(inode); + struct xfs_mount *mp = ip->i_mount; + void __user *arg = (void __user *)p; + int ioflags = 0; + int error; + + if (filp->f_mode & FMODE_NOCMTIME) + ioflags |= IO_INVIS; + + xfs_itrace_entry(ip); - xfs_itrace_entry(XFS_I(inode)); switch (cmd) { /* No size or alignment issues on any arch */ case XFS_IOC_DIOINFO: @@ -632,7 +637,7 @@ xfs_compat_ioctl( case XFS_IOC_GOINGDOWN: case XFS_IOC_ERROR_INJECTION: case XFS_IOC_ERROR_CLEARALL: - return xfs_ioctl(ip, filp, ioflags, cmd, arg); + return xfs_file_ioctl(filp, cmd, p); #ifndef BROKEN_X86_ALIGNMENT /* These are handled fine if no alignment issues */ case XFS_IOC_ALLOCSP: @@ -646,7 +651,7 @@ xfs_compat_ioctl( case XFS_IOC_FSGEOMETRY_V1: case XFS_IOC_FSGROWFSDATA: case XFS_IOC_FSGROWFSRT: - return xfs_ioctl(ip, filp, ioflags, cmd, arg); + return xfs_file_ioctl(filp, cmd, p); #else case XFS_IOC_ALLOCSP_32: case XFS_IOC_FREESP_32: @@ -687,7 +692,7 @@ xfs_compat_ioctl( case XFS_IOC_SETXFLAGS_32: case XFS_IOC_GETVERSION_32: cmd = _NATIVE_IOC(cmd, long); - return xfs_ioctl(ip, filp, ioflags, cmd, arg); + return xfs_file_ioctl(filp, cmd, p); case XFS_IOC_SWAPEXT: { struct xfs_swapext sxp; struct compat_xfs_swapext __user *sxu = arg; @@ -738,26 +743,3 @@ xfs_compat_ioctl( return -XFS_ERROR(ENOIOCTLCMD); } } - -long -xfs_file_compat_ioctl( - struct file *filp, - unsigned int cmd, - unsigned long p) -{ - struct inode *inode = filp->f_path.dentry->d_inode; - - return xfs_compat_ioctl(XFS_I(inode), filp, 0, cmd, (void __user *)p); -} - -long -xfs_file_compat_invis_ioctl( - struct file *filp, - unsigned int cmd, - unsigned long p) -{ - struct inode *inode = filp->f_path.dentry->d_inode; - - return xfs_compat_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, - (void __user *)p); -} Index: xfs/fs/xfs/linux-2.6/xfs_file.c =================================================================== --- xfs.orig/fs/xfs/linux-2.6/xfs_file.c 2008-12-03 18:30:14.000000000 +0100 +++ xfs/fs/xfs/linux-2.6/xfs_file.c 2008-12-03 18:30:34.000000000 +0100 @@ -45,81 +45,45 @@ static struct vm_operations_struct xfs_file_vm_ops; -STATIC_INLINE ssize_t -__xfs_file_read( +STATIC ssize_t +xfs_file_aio_read( struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, - int ioflags, loff_t pos) { struct file *file = iocb->ki_filp; + int ioflags = IO_ISAIO; BUG_ON(iocb->ki_pos != pos); if (unlikely(file->f_flags & O_DIRECT)) ioflags |= IO_ISDIRECT; + if (file->f_mode & FMODE_NOCMTIME) + ioflags |= IO_INVIS; return xfs_read(XFS_I(file->f_path.dentry->d_inode), iocb, iov, nr_segs, &iocb->ki_pos, ioflags); } STATIC ssize_t -xfs_file_aio_read( - struct kiocb *iocb, - const struct iovec *iov, - unsigned long nr_segs, - loff_t pos) -{ - return __xfs_file_read(iocb, iov, nr_segs, IO_ISAIO, pos); -} - -STATIC ssize_t -xfs_file_aio_read_invis( - struct kiocb *iocb, - const struct iovec *iov, - unsigned long nr_segs, - loff_t pos) -{ - return __xfs_file_read(iocb, iov, nr_segs, IO_ISAIO|IO_INVIS, pos); -} - -STATIC_INLINE ssize_t -__xfs_file_write( +xfs_file_aio_write( struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, - int ioflags, loff_t pos) { - struct file *file = iocb->ki_filp; + struct file *file = iocb->ki_filp; + int ioflags = IO_ISAIO; BUG_ON(iocb->ki_pos != pos); if (unlikely(file->f_flags & O_DIRECT)) ioflags |= IO_ISDIRECT; + if (file->f_mode & FMODE_NOCMTIME) + ioflags |= IO_INVIS; return xfs_write(XFS_I(file->f_mapping->host), iocb, iov, nr_segs, &iocb->ki_pos, ioflags); } STATIC ssize_t -xfs_file_aio_write( - struct kiocb *iocb, - const struct iovec *iov, - unsigned long nr_segs, - loff_t pos) -{ - return __xfs_file_write(iocb, iov, nr_segs, IO_ISAIO, pos); -} - -STATIC ssize_t -xfs_file_aio_write_invis( - struct kiocb *iocb, - const struct iovec *iov, - unsigned long nr_segs, - loff_t pos) -{ - return __xfs_file_write(iocb, iov, nr_segs, IO_ISAIO|IO_INVIS, pos); -} - -STATIC ssize_t xfs_file_splice_read( struct file *infilp, loff_t *ppos, @@ -127,20 +91,13 @@ xfs_file_splice_read( size_t len, unsigned int flags) { - return xfs_splice_read(XFS_I(infilp->f_path.dentry->d_inode), - infilp, ppos, pipe, len, flags, 0); -} + int ioflags = 0; + + if (infilp->f_mode & FMODE_NOCMTIME) + ioflags |= IO_INVIS; -STATIC ssize_t -xfs_file_splice_read_invis( - struct file *infilp, - loff_t *ppos, - struct pipe_inode_info *pipe, - size_t len, - unsigned int flags) -{ return xfs_splice_read(XFS_I(infilp->f_path.dentry->d_inode), - infilp, ppos, pipe, len, flags, IO_INVIS); + infilp, ppos, pipe, len, flags, ioflags); } STATIC ssize_t @@ -151,20 +108,13 @@ xfs_file_splice_write( size_t len, unsigned int flags) { - return xfs_splice_write(XFS_I(outfilp->f_path.dentry->d_inode), - pipe, outfilp, ppos, len, flags, 0); -} + int ioflags = 0; + + if (outfilp->f_mode & FMODE_NOCMTIME) + ioflags |= IO_INVIS; -STATIC ssize_t -xfs_file_splice_write_invis( - struct pipe_inode_info *pipe, - struct file *outfilp, - loff_t *ppos, - size_t len, - unsigned int flags) -{ return xfs_splice_write(XFS_I(outfilp->f_path.dentry->d_inode), - pipe, outfilp, ppos, len, flags, IO_INVIS); + pipe, outfilp, ppos, len, flags, ioflags); } STATIC int @@ -275,42 +225,6 @@ xfs_file_mmap( return 0; } -STATIC long -xfs_file_ioctl( - struct file *filp, - unsigned int cmd, - unsigned long p) -{ - struct inode *inode = filp->f_path.dentry->d_inode; - - - /* NOTE: some of the ioctl's return positive #'s as a - * byte count indicating success, such as - * readlink_by_handle. So we don't "sign flip" - * like most other routines. This means true - * errors need to be returned as a negative value. - */ - return xfs_ioctl(XFS_I(inode), filp, 0, cmd, (void __user *)p); -} - -STATIC long -xfs_file_ioctl_invis( - struct file *filp, - unsigned int cmd, - unsigned long p) -{ - struct inode *inode = filp->f_path.dentry->d_inode; - - - /* NOTE: some of the ioctl's return positive #'s as a - * byte count indicating success, such as - * readlink_by_handle. So we don't "sign flip" - * like most other routines. This means true - * errors need to be returned as a negative value. - */ - return xfs_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, (void __user *)p); -} - /* * mmap()d file has taken write protection fault and is being made * writable. We can set the page state up correctly for a writable @@ -346,25 +260,6 @@ const struct file_operations xfs_file_op #endif }; -const struct file_operations xfs_invis_file_operations = { - .llseek = generic_file_llseek, - .read = do_sync_read, - .write = do_sync_write, - .aio_read = xfs_file_aio_read_invis, - .aio_write = xfs_file_aio_write_invis, - .splice_read = xfs_file_splice_read_invis, - .splice_write = xfs_file_splice_write_invis, - .unlocked_ioctl = xfs_file_ioctl_invis, -#ifdef CONFIG_COMPAT - .compat_ioctl = xfs_file_compat_invis_ioctl, -#endif - .mmap = xfs_file_mmap, - .open = xfs_file_open, - .release = xfs_file_release, - .fsync = xfs_file_fsync, -}; - - const struct file_operations xfs_dir_file_operations = { .open = xfs_dir_open, .read = generic_read_dir, Index: xfs/fs/xfs/linux-2.6/xfs_ioctl.c =================================================================== --- xfs.orig/fs/xfs/linux-2.6/xfs_ioctl.c 2008-12-03 18:30:14.000000000 +0100 +++ xfs/fs/xfs/linux-2.6/xfs_ioctl.c 2008-12-03 18:30:34.000000000 +0100 @@ -319,10 +319,11 @@ xfs_open_by_handle( put_unused_fd(new_fd); return -XFS_ERROR(-PTR_ERR(filp)); } + if (inode->i_mode & S_IFREG) { /* invisible operation should not change atime */ filp->f_flags |= O_NOATIME; - filp->f_op = &xfs_invis_file_operations; + filp->f_mode |= FMODE_NOCMTIME; } fd_install(new_fd, filp); @@ -1328,21 +1329,31 @@ xfs_ioc_getbmapx( return 0; } -int -xfs_ioctl( - xfs_inode_t *ip, +/* + * Note: some of the ioctl's return positive numbers as a + * byte count indicating success, such as readlink_by_handle. + * So we don't "sign flip" like most other routines. This means + * true errors need to be returned as a negative value. + */ +long +xfs_file_ioctl( struct file *filp, - int ioflags, unsigned int cmd, - void __user *arg) + unsigned long p) { struct inode *inode = filp->f_path.dentry->d_inode; - xfs_mount_t *mp = ip->i_mount; + struct xfs_inode *ip = XFS_I(inode); + struct xfs_mount *mp = ip->i_mount; + void __user *arg = (void __user *)p; + int ioflags = 0; int error; - xfs_itrace_entry(XFS_I(inode)); - switch (cmd) { + if (filp->f_mode & FMODE_NOCMTIME) + ioflags |= IO_INVIS; + xfs_itrace_entry(ip); + + switch (cmd) { case XFS_IOC_ALLOCSP: case XFS_IOC_FREESP: case XFS_IOC_RESVSP: Index: xfs/fs/xfs/linux-2.6/xfs_iops.h =================================================================== --- xfs.orig/fs/xfs/linux-2.6/xfs_iops.h 2008-12-03 18:30:14.000000000 +0100 +++ xfs/fs/xfs/linux-2.6/xfs_iops.h 2008-12-03 18:30:34.000000000 +0100 @@ -22,7 +22,6 @@ struct xfs_inode; extern const struct file_operations xfs_file_operations; extern const struct file_operations xfs_dir_file_operations; -extern const struct file_operations xfs_invis_file_operations; extern ssize_t xfs_vn_listxattr(struct dentry *, char *data, size_t size); Index: xfs/include/linux/fs.h =================================================================== --- xfs.orig/include/linux/fs.h 2008-12-03 18:30:14.000000000 +0100 +++ xfs/include/linux/fs.h 2008-12-03 18:31:58.000000000 +0100 @@ -81,6 +81,14 @@ extern int dir_notify_enable; #define FMODE_WRITE_IOCTL ((__force fmode_t)128) #define FMODE_NDELAY_NOW ((__force fmode_t)256) +/* + * Don't update ctime and mtime. + * + * Currently a special hack for the XFS open_by_handle ioctl, but we'll + * hopefully graduate it to a proper O_CMTIME flag supported by open(2) soon. + */ +#define FMODE_NOCMTIME ((__force fmode_t)2048) + #define RW_MASK 1 #define RWA_MASK 2 #define READ 0 Index: xfs/fs/xfs/linux-2.6/xfs_ioctl.h =================================================================== --- xfs.orig/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-03 18:30:14.000000000 +0100 +++ xfs/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-03 18:30:34.000000000 +0100 @@ -68,13 +68,13 @@ xfs_attrmulti_attr_remove( __uint32_t flags); extern long -xfs_file_compat_ioctl( - struct file *file, +xfs_file_ioctl( + struct file *filp, unsigned int cmd, - unsigned long arg); + unsigned long p); extern long -xfs_file_compat_ioctl_invis( +xfs_file_compat_ioctl( struct file *file, unsigned int cmd, unsigned long arg); Index: xfs/fs/xfs/xfs_vnodeops.h =================================================================== --- xfs.orig/fs/xfs/xfs_vnodeops.h 2008-12-03 18:30:14.000000000 +0100 +++ xfs/fs/xfs/xfs_vnodeops.h 2008-12-03 18:30:34.000000000 +0100 @@ -53,8 +53,6 @@ int xfs_attr_set(struct xfs_inode *dp, c int xfs_attr_remove(struct xfs_inode *dp, const char *name, int flags); int xfs_attr_list(struct xfs_inode *dp, char *buffer, int bufsize, int flags, struct attrlist_cursor_kern *cursor); -int xfs_ioctl(struct xfs_inode *ip, struct file *filp, - int ioflags, unsigned int cmd, void __user *arg); ssize_t xfs_read(struct xfs_inode *ip, struct kiocb *iocb, const struct iovec *iovp, unsigned int segs, loff_t *offset, int ioflags); From david@fromorbit.com Wed Dec 3 15:36:12 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3La9Rf020579 for ; Wed, 3 Dec 2008 15:36:12 -0600 X-ASG-Debug-ID: 1228340165-175a00aa0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1F624164C267 for ; Wed, 3 Dec 2008 13:36:05 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id DHTDBWqNHFJcRm3K for ; Wed, 03 Dec 2008 13:36:05 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAK6INkl5LJfT/2dsb2JhbADSZ4J/ X-IronPort-AV: E=Sophos;i="4.33,710,1220193000"; d="scan'208";a="268848503" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 04 Dec 2008 08:00:30 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7zIi-0007rb-V6; Thu, 04 Dec 2008 08:30:28 +1100 Date: Thu, 4 Dec 2008 08:30:28 +1100 From: Dave Chinner To: Arkadiusz Miskiewicz Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Message-ID: <20081203213028.GW18236@disturbed> Mail-Followup-To: Arkadiusz Miskiewicz , xfs@oss.sgi.com References: <200812021949.55463.arekm@maven.pl> <20081203032013.GS18236@disturbed> <200812031406.41882.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200812031406.41882.arekm@maven.pl> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228340169 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0208 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11850 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Dec 03, 2008 at 02:06:41PM +0100, Arkadiusz Miskiewicz wrote: > On Wednesday 03 of December 2008, Dave Chinner wrote: > > On Tue, Dec 02, 2008 at 07:49:55PM +0100, Arkadiusz Miskiewicz wrote: > > > Hello, > > > > > > I'm trying to use xfs project quota on kernel 2.6.27.7 (vanilla, no > > > additional patches), x86_64 UP machine (SMP kernel). > > > > > > Now some processes that are using /home/users/arekm/rpm are hanging in > > > D-state like: ..... > [arekm@farm ~]$ zgrep LOCKDEP /proc/config.gz > CONFIG_LOCKDEP_SUPPORT=y > CONFIG_LOCKDEP=y > # CONFIG_DEBUG_LOCKDEP is not set > > I don't see anything strictly lockdep related in dmesg so it doesn't seem to > be triggered. Which implies there is something with a lock held that is blocked elsewhere... > D-state lock is also happening if I drop usrquota,prjquota, reboot and retry > the test. I assume something was written on disk that triggers the problem. Unlikely - locking doesn't generally get stuck due to on disk corruption. Are there any other blocked processes in the machine? i.e. what is the entire output of 'echo w > /proc/sysrq-trigger'? Are there any other signs of general unwellness (e.g. a CPU running at 100% when it shouldn't be)? > Note that now I'm testing on a second machine (UP i686, SMP kernel), so this > isn't unique problem. Can you identify the inode that the unlinkis hanging on and get an xfs_db dump of the contents of that inode? Also a dump of the parent directory inode would be useful, too. FWIW, if you are seeing this on two hosts, can you try to build a reproducable test case using a minimal data set and a simple set of commands? If you can do this and supply us with a xfs_metadump image of the filesystem plus the commands to reproduce the problem we'll be able to find the problem pretty quickly.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Dec 3 15:39:54 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3LdsXQ020867 for ; Wed, 3 Dec 2008 15:39:54 -0600 X-ASG-Debug-ID: 1228340391-2e3f00290000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 691DE16876EE for ; Wed, 3 Dec 2008 13:39:52 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id fIFGJ7iCBJB5KH7s for ; Wed, 03 Dec 2008 13:39:52 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAK6INkl5LJfT/2dsb2JhbADSZ4J/ X-IronPort-AV: E=Sophos;i="4.33,710,1220193000"; d="scan'208";a="268853109" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 04 Dec 2008 08:09:51 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7zRm-00083d-4I; Thu, 04 Dec 2008 08:39:50 +1100 Date: Thu, 4 Dec 2008 08:39:50 +1100 From: Dave Chinner To: Christoph Hellwig Cc: Lachlan McIlroy , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Assertion failed: atomic_read(&mp->m_active_trans) Subject: Re: Assertion failed: atomic_read(&mp->m_active_trans) Message-ID: <20081203213950.GX18236@disturbed> Mail-Followup-To: Christoph Hellwig , Lachlan McIlroy , xfs@oss.sgi.com References: <492BB095.1000104@sgi.com> <4934AAA9.5090405@sgi.com> <20081203104849.GF15485@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203104849.GF15485@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228340393 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11850 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Dec 03, 2008 at 05:48:49AM -0500, Christoph Hellwig wrote: > I'd rather fix it properly. Sure, but in the mean time, I'd suggest changing it to a WARN_ON() rather than an ASSERT(). That way we'll continue to have ppl bug us about it until the VFS can support read-only remounts without racing correctly. Has that work been dropped on the floor, Christoph? We've been holding off removing this ASSERT or adding the hack I did to work around the common case of the assert triggering based on the fact that the problem in the VFS would be fixed in the next release. That was the case each release since 2.6.25 and there doesn't seem to be much progress... > Do you guys have a somewhat reliable > testcase hitting it? I used to have one of the xfsqa tests hit it every so often, but not what you'd call reliably.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From arekm@maven.pl Wed Dec 3 15:48:04 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3Lm4xE021694 for ; Wed, 3 Dec 2008 15:48:04 -0600 X-ASG-Debug-ID: 1228340882-1757010f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from main.carme.maven.pl (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 61A5A16879EA for ; Wed, 3 Dec 2008 13:48:02 -0800 (PST) Received: from main.carme.maven.pl (main.carme.maven.pl [193.239.45.138]) by cuda.sgi.com with ESMTP id 68343KExoGsKaFpH for ; Wed, 03 Dec 2008 13:48:02 -0800 (PST) Received: from chello089076027073.chello.pl ([89.76.27.73]:3681 helo=maven.pl) by main.carme.maven.pl with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1L7zUq-000OVZ-L1; Wed, 03 Dec 2008 22:43:00 +0100 Received: from arekm by maven.pl with local (Exim 4.69) (envelope-from ) id 1L7zUL-0002rK-Gv; Wed, 03 Dec 2008 22:42:30 +0100 From: Arkadiusz Miskiewicz To: Dave Chinner X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Date: Wed, 3 Dec 2008 22:42:29 +0100 User-Agent: PLD Linux KMail/1.9.10 Cc: xfs@oss.sgi.com References: <200812021949.55463.arekm@maven.pl> <200812031406.41882.arekm@maven.pl> <20081203213028.GW18236@disturbed> In-Reply-To: <20081203213028.GW18236@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <200812032242.29326.arekm@maven.pl> X-Barracuda-Connect: main.carme.maven.pl[193.239.45.138] X-Barracuda-Start-Time: 1228340883 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11850 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by oss.sgi.com id mB3Lm4xE021694 On Wednesday 03 of December 2008, Dave Chinner wrote: > > D-state lock is also happening if I drop usrquota,prjquota, reboot and > > retry the test. I assume something was written on disk that triggers the > > problem. > > Unlikely - locking doesn't generally get stuck due to on disk > corruption. Are there any other blocked processes in the machine? > i.e. what is the entire output of 'echo w > /proc/sysrq-trigger'? Only this one program trace visible in sysrq-w output. No other traces - so no other blocked programs. > Are there any other signs of general unwellness (e.g. a CPU running > at 100% when it shouldn't be)? Nothing wrong. > FWIW, if you are seeing this on two hosts, can you try to build > a reproducable test case using a minimal data set and a simple > set of commands? If you can do this and supply us with a > xfs_metadump image of the filesystem plus the commands to reproduce > the problem we'll be able to find the problem pretty quickly.... I was able to reproduce it with: - mount fs with usrquota,prjquota - setup /home/users/arekm/rpm as project quota id = 10 - run program below twice [arekm@farm rpm]$ more a.c #include int main() { int i; i = rename("/home/users/arekm/tmp/aa", "/home/users/arekm/rpm/testing"); printf("ret=%d %m\n", i); return 0; } [arekm@farm rpm]$ touch /home/users/arekm/tmp/aa [arekm@farm rpm]$ ./a.out ret=-1 Invalid cross-device link [arekm@farm rpm]$ ./a.out second run hangs with D-state. For clarification, rpm and tmp directories are on the same filesystem/partition (hda2), rpm/ dir belongs to project quota id=10, tmp doesn't belong to any project quota. For the rest of your questions - Christoph promised to look at the issue today, so I'll wait until tomorrow and if the issue will still be a mystery then I'll dig out all data you asked for. > Cheers, > > Dave. -- Arkadiusz MiÅ›kiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/ From david@fromorbit.com Wed Dec 3 15:53:16 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3LrF62021964 for ; Wed, 3 Dec 2008 15:53:15 -0600 X-ASG-Debug-ID: 1228341192-1273015c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 15AE81686C0F for ; Wed, 3 Dec 2008 13:53:13 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id 7wABagGIrkJ51Abv for ; Wed, 03 Dec 2008 13:53:13 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEADiMNkl5LJfT/2dsb2JhbADSUIMB X-IronPort-AV: E=Sophos;i="4.33,710,1220193000"; d="scan'208";a="268859128" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 04 Dec 2008 08:18:11 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7zZp-0008FH-TD; Thu, 04 Dec 2008 08:48:09 +1100 Date: Thu, 4 Dec 2008 08:48:09 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 20/22] move vn_iowait / vn_iowake into xfs_aops.c Subject: Re: [patch 20/22] move vn_iowait / vn_iowake into xfs_aops.c Message-ID: <20081203214809.GY18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160652.542003000@bombadil.infradead.org> <20081203031719.GQ18236@disturbed> <20081203105831.GB19287@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203105831.GB19287@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228341194 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11851 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Dec 03, 2008 at 05:58:31AM -0500, Christoph Hellwig wrote: > On Wed, Dec 03, 2008 at 02:17:19PM +1100, Dave Chinner wrote: > > On Tue, Dec 02, 2008 at 11:04:50AM -0500, Christoph Hellwig wrote: > > > The whole machinery to wait on I/O completion is related to the I/O path > > > and should be there instead of in xfs_vnode.c. Also give the functions > > > more descriptive names. > > > > I'm not sure that "xfs_ioend_..." is the best name - it looks > > slightly weird in some of the callers' contexts. Just dropping the > > "end" out of the names makes the code read much better (i.e. > > xfs_io_wait() and xfs_io_wake()). Not particularly important, > > though, and everything else looks good. > > xfs_ioend_* wasn't my first choice either. I first did > xfs_iowait/xfs_iowake, but that clashes with the buffercache. Ah, so it does. but: #define xfs_iowait(bp) xfs_buf_iowait(bp) Perhaps we should kill that define and just use xfs_buf_iowait(bp) because it documents that we really are waiting on a specific object.... Then maybe we can use xfs_data_iowake/xfs_data_iowait for the data I/O on an inode to complete. That way it's obvious from the code exactly what we are waiting on, too (which might make some of the comments redundant). Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Dec 3 15:54:18 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3LsIEQ022065 for ; Wed, 3 Dec 2008 15:54:18 -0600 X-ASG-Debug-ID: 1228341256-1737014b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1CE0916871B3 for ; Wed, 3 Dec 2008 13:54:16 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id 8iQ99jn0TbgUsuyD for ; Wed, 03 Dec 2008 13:54:16 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEADiMNkl5LJfT/2dsb2JhbADSUIMB X-IronPort-AV: E=Sophos;i="4.33,710,1220193000"; d="scan'208";a="268863165" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 04 Dec 2008 08:24:15 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7zfi-0008Oq-Dk; Thu, 04 Dec 2008 08:54:14 +1100 Date: Thu, 4 Dec 2008 08:54:14 +1100 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 15/22] replace b_fspriv with b_mount Subject: Re: [patch 15/22] replace b_fspriv with b_mount Message-ID: <20081203215414.GZ18236@disturbed> Mail-Followup-To: Christoph Hellwig , xfs@oss.sgi.com References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.749289000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202160651.749289000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228341258 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11851 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Dec 02, 2008 at 11:04:45AM -0500, Christoph Hellwig wrote: > Replace the b_fspriv pointer and it's ugly accessors with a properly types > xfs_mount pointer. Also switch log reocvery over to it instead of using > b_fspriv for the mount pointer. > > > Signed-off-by: Christoph Hellwig Sorry Christoph, I missed this one. Looks good, though. Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 16:12:33 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3MCVgC023171 for ; Wed, 3 Dec 2008 16:12:33 -0600 X-ASG-Debug-ID: 1228342351-175901c10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 469921687758 for ; Wed, 3 Dec 2008 14:12:31 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id GNVFBOfm9aWZLiGQ for ; Wed, 03 Dec 2008 14:12:31 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L7zsS-0005Yi-TL; Wed, 03 Dec 2008 22:07:24 +0000 Date: Wed, 3 Dec 2008 17:07:24 -0500 From: Christoph Hellwig To: Arkadiusz Miskiewicz Cc: Dave Chinner , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Message-ID: <20081203220724.GA13974@infradead.org> References: <200812021949.55463.arekm@maven.pl> <200812031406.41882.arekm@maven.pl> <20081203213028.GW18236@disturbed> <200812032242.29326.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=unknown-8bit Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <200812032242.29326.arekm@maven.pl> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228342351 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Dec 03, 2008 at 10:42:29PM +0100, Arkadiusz Miskiewicz wrote: > [arekm@farm rpm]$ touch /home/users/arekm/tmp/aa > [arekm@farm rpm]$ ./a.out > ret=-1 Invalid cross-device link That is btw, intentionåand expected. To make the hierachial quotas work renames between different projects or from/to no project at all are not allowed. > [arekm@farm rpm]$ ./a.out > > second run hangs with D-state. > > For clarification, rpm and tmp directories are on the same > filesystem/partition (hda2), rpm/ dir belongs to project quota id=10, tmp > doesn't belong to any project quota. > > For the rest of your questions - Christoph promised to look at the issue > today, so I'll wait until tomorrow and if the issue will still be a mystery > then I'll dig out all data you asked for. I tried to run your testcase, adopted to local paths and I can run it a couple hundred times. Then I get a hard lockup of my KVM virtual machine.. From SRS0+3fb1ed55175b69522a42+1928+infradead.org+hch@bombadil.srs.infradead.org Wed Dec 3 16:42:45 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3MgjLw024964 for ; Wed, 3 Dec 2008 16:42:45 -0600 X-ASG-Debug-ID: 1228344164-2e3f01b90000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6A11F16879B7 for ; Wed, 3 Dec 2008 14:42:44 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 3Fq3AdvubBPN0X1q for ; Wed, 03 Dec 2008 14:42:44 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L80Qe-00022F-1m; Wed, 03 Dec 2008 22:42:44 +0000 Date: Wed, 3 Dec 2008 17:42:44 -0500 From: Christoph Hellwig To: Arkadiusz Miskiewicz Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Message-ID: <20081203224244.GA7777@infradead.org> References: <200812021949.55463.arekm@maven.pl> <200812031406.41882.arekm@maven.pl> <20081203213028.GW18236@disturbed> <200812032242.29326.arekm@maven.pl> <20081203220724.GA13974@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203220724.GA13974@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228344164 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com For reason I don't understand myself yet this patch from my queue fix it for me: Signed-off-by: Christoph Hellwig Index: xfs/fs/xfs/xfs_rename.c =================================================================== --- xfs.orig/fs/xfs/xfs_rename.c 2008-12-03 23:26:34.000000000 +0100 +++ xfs/fs/xfs/xfs_rename.c 2008-12-03 23:29:09.000000000 +0100 @@ -42,31 +42,6 @@ /* - * Given an array of up to 4 inode pointers, unlock the pointed to inodes. * If there are fewer than 4 entries in the array, the empty entries will - * be at the end and will have NULL pointers in them. - */ -STATIC void -xfs_rename_unlock4( - xfs_inode_t **i_tab, - uint lock_mode) -{ - int i; - - xfs_iunlock(i_tab[0], lock_mode); - for (i = 1; i < 4; i++) { - if (i_tab[i] == NULL) - break; - - /* - * Watch out for duplicate entries in the table. - */ - if (i_tab[i] != i_tab[i-1]) - xfs_iunlock(i_tab[i], lock_mode); - } -} - -/* * Enter all inodes for a rename transaction into a sorted array. */ STATIC void @@ -205,19 +180,6 @@ xfs_rename( xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL); /* - * If we are using project inheritance, we only allow renames - * into our tree when the project IDs are the same; else the - * tree quota mechanism would be circumvented. - */ - if (unlikely((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) && - (target_dp->i_d.di_projid != src_ip->i_d.di_projid))) { - error = XFS_ERROR(EXDEV); - xfs_rename_unlock4(inodes, XFS_ILOCK_SHARED); - xfs_trans_cancel(tp, cancel_flags); - goto std_return; - } - - /* * Join all the inodes to the transaction. From this point on, * we can rely on either trans_commit or trans_cancel to unlock * them. Note that we need to add a vnode reference to the @@ -242,6 +204,17 @@ xfs_rename( } /* + * If we are using project inheritance, we only allow renames + * into our tree when the project IDs are the same; else the + * tree quota mechanism would be circumvented. + */ + if (unlikely((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) && + (target_dp->i_d.di_projid != src_ip->i_d.di_projid))) { + error = XFS_ERROR(EXDEV); + goto error_return; + } + + /* * Set up the target. */ if (target_ip == NULL) { From david@fromorbit.com Wed Dec 3 17:11:07 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB3NB7s1026758 for ; Wed, 3 Dec 2008 17:11:07 -0600 X-ASG-Debug-ID: 1228345864-173702e20000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7FDD91B93428 for ; Wed, 3 Dec 2008 15:11:05 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id wtoV6oyraK5QFnYW for ; Wed, 03 Dec 2008 15:11:05 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEALePNkl5LJfT/2dsb2JhbADSWoMB X-IronPort-AV: E=Sophos;i="4.33,710,1220193000"; d="scan'208";a="268873911" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 04 Dec 2008 08:39:35 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L7zuY-0000H7-2f; Thu, 04 Dec 2008 09:09:34 +1100 Date: Thu, 4 Dec 2008 09:09:34 +1100 From: Dave Chinner To: Arkadiusz Miskiewicz Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Message-ID: <20081203220934.GA32301@disturbed> Mail-Followup-To: Arkadiusz Miskiewicz , xfs@oss.sgi.com References: <200812021949.55463.arekm@maven.pl> <200812031406.41882.arekm@maven.pl> <20081203213028.GW18236@disturbed> <200812032242.29326.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200812032242.29326.arekm@maven.pl> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228345866 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0209 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11851 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Dec 03, 2008 at 10:42:29PM +0100, Arkadiusz Miskiewicz wrote: > On Wednesday 03 of December 2008, Dave Chinner wrote: > > > > D-state lock is also happening if I drop usrquota,prjquota, reboot and > > > retry the test. I assume something was written on disk that triggers the > > > problem. > > > > Unlikely - locking doesn't generally get stuck due to on disk > > corruption. Are there any other blocked processes in the machine? > > i.e. what is the entire output of 'echo w > /proc/sysrq-trigger'? > > Only this one program trace visible in sysrq-w output. No other traces - so no > other blocked programs. > > > Are there any other signs of general unwellness (e.g. a CPU running > > at 100% when it shouldn't be)? > > Nothing wrong. > > > FWIW, if you are seeing this on two hosts, can you try to build > > a reproducable test case using a minimal data set and a simple > > set of commands? If you can do this and supply us with a > > xfs_metadump image of the filesystem plus the commands to reproduce > > the problem we'll be able to find the problem pretty quickly.... > > I was able to reproduce it with: > > - mount fs with usrquota,prjquota > - setup /home/users/arekm/rpm as project quota id = 10 > - run program below twice > > [arekm@farm rpm]$ more a.c > #include > > int main() { > int i; > > i = > rename("/home/users/arekm/tmp/aa", "/home/users/arekm/rpm/testing"); > printf("ret=%d %m\n", i); > return 0; > } > [arekm@farm rpm]$ touch /home/users/arekm/tmp/aa > [arekm@farm rpm]$ ./a.out > ret=-1 Invalid cross-device link Well, that's what we needed to know. The bug: 199 /* 200 * Lock all the participating inodes. Depending upon whether 201 * the target_name exists in the target directory, and 202 * whether the target directory is the same as the source 203 * directory, we can lock from 2 to 4 inodes. 204 */ 205 >>>>> xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL); 206 207 /* 208 * If we are using project inheritance, we only allow renames 209 * into our tree when the project IDs are the same; else the 210 * tree quota mechanism would be circumvented. 211 */ 212 if (unlikely((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) && 213 (target_dp->i_d.di_projid != src_ip->i_d.di_projid))) { 214 error = XFS_ERROR(EXDEV); 215 >>>>>>> xfs_rename_unlock4(inodes, XFS_ILOCK_SHARED); 216 xfs_trans_cancel(tp, cancel_flags); 217 goto std_return; 218 } Is that the unlock of the inodes is using the incorrect lock type for the unlock, (inodes lock XFS_ILOCK_EXCL, unlocked XFS_ILOCK_SHARED) which means they don't get unlocked and the next attempt to do anything with those inodes will hang. Compile-tested-only patch below that should fix the problem. Cheers, Dave. -- Dave Chinner david@fromorbit.com XFS: Fix hang after disallowed rename across directory quota domains When project quota is active and is being used for directory tree quota control, we disallow rename outside the current directory tree. This requires a check to be made after all the inodes involved in the rename are locked. We fail to unlock the inodes correctly if we disallow the rename when the target is outside the current directory tree. This results in a hang on the next access to the inodes involved in failed rename. Reported-by: Arkadiusz Miskiewicz Signed-off-by: Dave Chinner --- fs/xfs/xfs_rename.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/xfs/xfs_rename.c b/fs/xfs/xfs_rename.c index d700dac..c903130 100644 --- a/fs/xfs/xfs_rename.c +++ b/fs/xfs/xfs_rename.c @@ -212,7 +212,7 @@ xfs_rename( if (unlikely((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) && (target_dp->i_d.di_projid != src_ip->i_d.di_projid))) { error = XFS_ERROR(EXDEV); - xfs_rename_unlock4(inodes, XFS_ILOCK_SHARED); + xfs_rename_unlock4(inodes, XFS_ILOCK_EXCL); xfs_trans_cancel(tp, cancel_flags); goto std_return; } From xaiki@cxhome.ath.cx Wed Dec 3 18:00:21 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB400K8e001976 for ; Wed, 3 Dec 2008 18:00:21 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id C5371AC014; Wed, 3 Dec 2008 16:00:11 -0800 (PST) Received: from lagoh (cf-vpn-sw-corp-64-55.corp.sgi.com [134.15.64.55]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id KAA13845; Thu, 4 Dec 2008 10:59:51 +1100 From: Niv Sardi To: Christoph Hellwig Cc: Lachlan McIlroy , xfs@oss.sgi.com Subject: Re: New XFS git tree on oss.sgi.com In-Reply-To: <20081203130414.GB9681@infradead.org> (Christoph Hellwig's message of "Wed, 3 Dec 2008 08:04:14 -0500") References: <492BA7AD.5080007@sgi.com> <20081125140553.GA16553@infradead.org> <492CA245.3000709@sgi.com> <20081126032710.GA19523@infradead.org> <20081203130414.GB9681@infradead.org> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (i486-pc-linux-gnu) Date: Thu, 04 Dec 2008 10:58:48 +1100 Message-ID: <871vwo95fr.fsf@cxhome.ath.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Christoph Hellwig writes: > On Wed, Dec 03, 2008 at 02:48:57PM +1100, Niv Sardi wrote: > >> > Also >> > http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/xfs.git;a=commitdiff;h=ca830fdf6231d0683f4ea4e9223e234c3a509063doesn't seem to be needed. None of those symbols seems to be used by >> > either dmapi or xfsidbg, the only two modules using xfs symbols in the >> > tree. >> >> That's exactly why it's there, the revertion is actually moving from >> what was in ptools to something sane. > > ?? The commit above adds tons of unused exports. But hey, I'll just > submit a patch to sort it out when I get some time.. Yes, I already did that …that's the previous commit… but Lachland wanted the tree not too move too much at first. The patch you want is the exact revert of the commit you pointed out, it'll be checked in soon. Cheers, -- Niv Sardi From billodo@sgi.com Wed Dec 3 18:14:11 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB40EB7s002753 for ; Wed, 3 Dec 2008 18:14:11 -0600 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6EE45AC011 for ; Wed, 3 Dec 2008 16:14:07 -0800 (PST) Received: from lnx-billodo.americas.sgi.com (lnx-billodo.americas.sgi.com [128.162.232.245]) by estes.americas.sgi.com (Postfix) with ESMTP id 1692270001C8; Wed, 3 Dec 2008 18:14:07 -0600 (CST) Received: by lnx-billodo.americas.sgi.com (Postfix, from userid 56393) id 1248717E01F; Wed, 3 Dec 2008 18:19:40 -0600 (CST) Date: Wed, 3 Dec 2008 18:19:40 -0600 From: "Bill O'Donnell" To: Christoph Hellwig Cc: xfs@sgi.com Subject: Re: [PATCH 0/9] CRC support for superblock, ag headers, log and btree blocks Message-ID: <20081204001940.GB2804@sgi.com> References: <20080925225613.GA9822@lst.de> <20081201231005.GA17631@sgi.com> <20081203104409.GA15485@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203104409.GA15485@infradead.org> User-Agent: Mutt/1.5.16 (2007-06-09) On Wed, Dec 03, 2008 at 05:44:09AM -0500, Christoph Hellwig wrote: | On Mon, Dec 01, 2008 at 05:10:05PM -0600, Bill O'Donnell wrote: | > On Fri, Sep 26, 2008 at 12:56:13AM +0200, Christoph Hellwig wrote: | > | Here's an updated crc series for various metadata structures. We're still | > | looking at the magic number in the log recovery case because getting down | > | a buffer type for the other structures wasn't quite as easy as for the | > | btree block. I'll probably look into that again once we're done with all | > | data structures. | > | > Just to be clear, crc only applies to the metadata structures listed in the | > subject line, correct? It wasn't clear to me where you were with the "other | > structures". Maybe it would be more clear if you could provide a simple | > table listing the structures and whether or not crc applies (yet). | | The patchset sent applies to | | sb | agi | agf | btree_block | log buffer | | next patchset later this week will add the inode OK, thanks Christoph- I'll look for it later in the week. BTW, there seems to be some aliasing issue with xfs-oss list at least with my mailer. I dunno, but its converting xfs@oss.sgi.com into xfs@sgi.com. The upshot is that although you cc'd the list in your replies to my posts, those replies aren't getting posted. Cheers- Bill From xaiki@cxhome.ath.cx Wed Dec 3 19:04:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB414qEl005716 for ; Wed, 3 Dec 2008 19:04:52 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 80F2230406D; Wed, 3 Dec 2008 17:04:38 -0800 (PST) Received: from lagoh (cf-vpn-sw-corp-64-55.corp.sgi.com [134.15.64.55]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id MAA15586; Thu, 4 Dec 2008 12:04:28 +1100 From: Niv Sardi To: Christoph Hellwig Cc: xfs@oss.sgi.com Subject: Re: [patch 01/22] fix compile on 32 bit systems References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.658660000@bombadil.infradead.org> Date: Thu, 04 Dec 2008 12:03:22 +1100 In-Reply-To: <20081202160649.658660000@bombadil.infradead.org> (Christoph Hellwig's message of "Tue, 02 Dec 2008 11:04:31 -0500") Message-ID: <87vdu07nvp.fsf@cxhome.ath.cx> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (i486-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Christoph Hellwig writes: […] > +xfs_file_compat_ioctl_invis( ^^^^^^^^^^^ […] > -extern long xfs_file_compat_invis_ioctl(struct file *, unsigned, unsigned long); ^^^^^^^^^^^ Fixed it up, it's in QA now, Cheers, -- Niv Sardi From xaiki@oss.sgi.com Wed Dec 3 20:07:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB427qdq009457 for ; Wed, 3 Dec 2008 20:07:52 -0600 Received: (from xaiki@localhost) by oss.sgi.com (8.12.11.20060308/8.12.11/Submit) id mB427lAY009428; Wed, 3 Dec 2008 20:07:47 -0600 Date: Wed, 3 Dec 2008 20:07:47 -0600 Message-Id: <200812040207.mB427lAY009428@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.28-rc3-1083-gddcd856 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: e5d412f17846b0aea9e5250926f994ab2e4e1006 X-Git-Newrev: ddcd856d81861a523d79d077facd875da1f66792 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated ddcd856 [XFS] fix compile on 32 bit systems from e5d412f17846b0aea9e5250926f994ab2e4e1006 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit ddcd856d81861a523d79d077facd875da1f66792 Author: Christoph Hellwig Date: Wed Dec 3 07:55:34 2008 -0500 [XFS] fix compile on 32 bit systems The recent compat patches make xfs_file.c include xfs_ioctl32.h unconditional, which breaks the build on 32 bit systems which don't have the various compat defintions. Remove the include and move the defintion of xfs_file_compat_ioctl to xfs_ioctl.h so that we can avoid including all the compat defintions in xfs_file.c Signed-off-by: Christoph Hellwig Tested-by: Kamalesh Babulal Signed-off-by: Lachlan McIlroy ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/xfs_file.c | 2 +- fs/xfs/linux-2.6/xfs_ioctl.h | 12 ++++++++++++ fs/xfs/linux-2.6/xfs_ioctl32.h | 3 --- 3 files changed, 13 insertions(+), 4 deletions(-) hooks/post-receive -- XFS development tree From xaiki@cxhome.ath.cx Wed Dec 3 20:25:30 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB42PTuw010792 for ; Wed, 3 Dec 2008 20:25:30 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 48A2530408E; Wed, 3 Dec 2008 18:25:24 -0800 (PST) Received: from lagoh (cf-vpn-sw-corp-64-55.corp.sgi.com [134.15.64.55]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id NAA16814; Thu, 4 Dec 2008 13:25:15 +1100 From: Niv Sardi To: Christoph Hellwig Cc: xfs@oss.sgi.com Subject: Re: [patch 12/22] kill dead inode flags References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.264876000@bombadil.infradead.org> Date: Thu, 04 Dec 2008 13:24:04 +1100 In-Reply-To: <20081202160651.264876000@bombadil.infradead.org> (Christoph Hellwig's message of "Tue, 02 Dec 2008 11:04:42 -0500") Message-ID: <87r64o7k57.fsf@cxhome.ath.cx> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (i486-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Christoph Hellwig writes: > There are a few inode flags around that aren't used anywhere, so remove > them. Also update xfsidbg to display all used inode flags correctly. Thanks for splitting things up, you have your idbg patch somewhere though ? should the reference to it be removed from the commit ? Cheers, -- Niv Sardi From xaiki@oss.sgi.com Wed Dec 3 22:40:25 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB44eP5F018327 for ; Wed, 3 Dec 2008 22:40:25 -0600 Received: (from xaiki@localhost) by oss.sgi.com (8.12.11.20060308/8.12.11/Submit) id mB44eCqI018201; Wed, 3 Dec 2008 22:40:12 -0600 Date: Wed, 3 Dec 2008 22:40:12 -0600 Message-Id: <200812040440.mB44eCqI018201@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.28-rc3-1102-g5a8d0f3 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: ddcd856d81861a523d79d077facd875da1f66792 X-Git-Newrev: 5a8d0f3c7af801c7263fbba39952504d6fc7ff60 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated 5a8d0f3 move inode tracing out of xfs_vnode. 25e41b3 move vn_iowait / vn_iowake into xfs_aops.c 583fa58 kill vn_ioerror f95099b kill xfs_unmount_flush e57481d no explicit xfs_iflush for special inodes during unmount 070c461 use xfs_trans_ijoin in xfs_trans_iget b56757b remove leftovers of shared read-only support e88f11a remove unused m_inode_quiesce member from struct xfs_mount 6bd16ff kill dead inode flags 5efcbb8 cleanup xfs_sb.h feature flag helpers df6771b kill dead quota flags 63ad2a5 remove dead code from sv_t implementation 39e2def reduce l_icloglock roundtrips d9424b3 stop using igrab in xfs_vn_link 5d765b9 kill xfs_buf_iostart 5cafdeb cleanup the inode reclaim path ccd0be6 remove unused prototypes for xfs_ihash_init / xfs_ihash_free 73e6335 remove unused behvavior cruft in xfs_super.h 2234d54 remove useless mnt_want_write call in xfs_write from ddcd856d81861a523d79d077facd875da1f66792 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5a8d0f3c7af801c7263fbba39952504d6fc7ff60 Author: Christoph Hellwig Date: Wed Dec 3 12:20:40 2008 +0100 move inode tracing out of xfs_vnode. Move the inode tracing into xfs_iget.c / xfs_inode.h and kill xfs_vnode.c now that it's empty. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 25e41b3d521f52771354a718042a753a3e77df0a Author: Christoph Hellwig Date: Wed Dec 3 12:20:39 2008 +0100 move vn_iowait / vn_iowake into xfs_aops.c The whole machinery to wait on I/O completion is related to the I/O path and should be there instead of in xfs_vnode.c. Also give the functions more descriptive names. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 583fa586f0e4a8222dd091ce971b85c1364f3d92 Author: Christoph Hellwig Date: Wed Dec 3 12:20:38 2008 +0100 kill vn_ioerror There's just one caller of this helper, and it's much cleaner to just merge the xfs_do_force_shutdown call into it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit f95099ba5ae06b96a9c17ef93cc655f686d79077 Author: Christoph Hellwig Date: Wed Dec 3 12:20:37 2008 +0100 kill xfs_unmount_flush There's almost nothing left in this function, instead remove the IRELE on the real times inodes and the call to XFS_QM_UNMOUNT into xfs_unmountfs. For the regular unmount case that means it now also happenes after dmapi notification, but otherwise there is no difference in behaviour. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit e57481dc269cd3773b22f53bfb869308780a7bf1 Author: Christoph Hellwig Date: Wed Dec 3 12:20:36 2008 +0100 no explicit xfs_iflush for special inodes during unmount Currently we explicitly call xfs_iflush on the quota, real-time and root inodes from xfs_unmount_flush. But we just called xfs_sync_inodes with SYNC_ATTR and do an XFS_bflush aka xfs_flush_buftarg to make sure all inodes are on disk already, so there is no need for these special cases. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 070c4616ec62fc207e2aeef9d0f28af294c651d0 Author: Christoph Hellwig Date: Wed Dec 3 12:20:35 2008 +0100 use xfs_trans_ijoin in xfs_trans_iget Use xfs_trans_ijoin in xfs_trans_iget in case we need to join an inode into a transaction instead of opencoding it. Based on a discussion with and an incomplete patch from Niv Sardi. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit b56757becf8bc62292263a24a23cf55edb4be55f Author: Christoph Hellwig Date: Wed Dec 3 12:20:34 2008 +0100 remove leftovers of shared read-only support We never supported shared read-only filesystems, so remove the dead code left over from IRIX for it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit e88f11abe09d14718b82a991db118c5e485aa897 Author: Christoph Hellwig Date: Wed Dec 3 12:20:33 2008 +0100 remove unused m_inode_quiesce member from struct xfs_mount Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 6bd16ff27060819d16b3e7abe59b6644b349aea3 Author: Christoph Hellwig Date: Wed Dec 3 12:20:32 2008 +0100 kill dead inode flags There are a few inode flags around that aren't used anywhere, so remove them. Also update xfsidbg to display all used inode flags correctly. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5efcbb853bc2f051d720a191268f8dd901fea9c2 Author: Christoph Hellwig Date: Wed Dec 3 12:20:31 2008 +0100 cleanup xfs_sb.h feature flag helpers The various inlines in xfs_sb.h that deal with the superblock version and fature flags were converted from macros a while ago, and this show by the odd coding style full of useless braces and backslashes and the avoidance of conditionals. Clean these up to look like normal C code. Signed-off-by: Christoph Hellwig Reviewed-by: Donald Douwsma Signed-off-by: Niv Sardi commit df6771bde14551eceeacf331666a92735e0773ac Author: Christoph Hellwig Date: Wed Dec 3 12:20:30 2008 +0100 kill dead quota flags Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 63ad2a5c4cf37e3242142eee8a8dcd4a8515302e Author: Christoph Hellwig Date: Wed Dec 3 12:20:29 2008 +0100 remove dead code from sv_t implementation Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 39e2defe73106ca2e1c85e5286038a0a13f49513 Author: Christoph Hellwig Date: Wed Dec 3 12:20:28 2008 +0100 reduce l_icloglock roundtrips All but one caller of xlog_state_want_sync drop and re-acquire l_icloglock around the call to it, just so that xlog_state_want_sync can acquire and drop it. Move all lock operation out of l_icloglock and assert that the lock is held when it is called. Note that it would make sense to extende this scheme to xlog_state_release_iclog, but the locking in there is more complicated and we'd like to keep the atomic_dec_and_lock optmization for those callers not having l_icloglock yet. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit d9424b3c4a1e96f87c6cfd4d8dd2f8d9bbb4dcc5 Author: Christoph Hellwig Date: Wed Dec 3 12:20:27 2008 +0100 stop using igrab in xfs_vn_link ->link is guranteed to get an already reference inode passed so we can do a simple increment of i_count instead of using igrab and thus avoid banging on the global inode_lock. This is what most filesystems already do. Also move the increment after the call to xfs_link to simplify error handling. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5d765b976c3a41faf9a73718fb8cc5833990a8ef Author: Christoph Hellwig Date: Wed Dec 3 12:20:26 2008 +0100 kill xfs_buf_iostart xfs_buf_iostart is a "shared" helper for xfs_buf_read_flags, xfs_bawrite, and xfs_bdwrite - except that there isn't much shared code but rather special cases for each caller. So remove this function and move the functionality to the caller. xfs_bawrite and xfs_bdwrite are now big enough to be moved out of line and the xfs_buf_read_flags is moved into a new helper called _xfs_buf_read. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5cafdeb2891a415a5dbf0ad80f0afedf8369e6bb Author: Christoph Hellwig Date: Wed Dec 3 12:20:25 2008 +0100 cleanup the inode reclaim path Merge xfs_iextract and xfs_idestroy into xfs_ireclaim as they are never called individually. Also rewrite most comments in this area as they were severly out of date. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit ccd0be6cfc6943c4e0b3e3cdb598e0b7354a2d78 Author: Christoph Hellwig Date: Wed Dec 3 12:20:24 2008 +0100 remove unused prototypes for xfs_ihash_init / xfs_ihash_free Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 73e6335c14209e508bec8ca7985d1fbde183bd1f Author: Christoph Hellwig Date: Wed Dec 3 12:20:23 2008 +0100 remove unused behvavior cruft in xfs_super.h Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 2234d54d3d855d6ffae88a24772a9389d6755e0c Author: Christoph Hellwig Date: Wed Dec 3 12:20:22 2008 +0100 remove useless mnt_want_write call in xfs_write When mnt_want_write was introduced a call to it was added around xfs_ichgtime, but there is no need for this because a file can't be open read/write on a r/o mount, and a mount can't degrade r/o while we still have files open for writing. As the mnt_want_write changes were never merged into the CVS tree this patch is for mainline only. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi ----------------------------------------------------------------------- Summary of changes: fs/xfs/Makefile | 2 - fs/xfs/linux-2.6/sv.h | 22 +---- fs/xfs/linux-2.6/xfs_aops.c | 64 ++++++++++++--- fs/xfs/linux-2.6/xfs_aops.h | 3 + fs/xfs/linux-2.6/xfs_buf.c | 84 +++++++++++--------- fs/xfs/linux-2.6/xfs_buf.h | 22 +----- fs/xfs/linux-2.6/xfs_file.c | 10 +-- fs/xfs/linux-2.6/xfs_iops.c | 14 +--- fs/xfs/linux-2.6/xfs_lrw.c | 10 +-- fs/xfs/linux-2.6/xfs_super.c | 37 +--------- fs/xfs/linux-2.6/xfs_super.h | 12 --- fs/xfs/linux-2.6/xfs_sync.c | 2 +- fs/xfs/linux-2.6/xfs_vnode.c | 132 ------------------------------- fs/xfs/linux-2.6/xfs_vnode.h | 64 --------------- fs/xfs/quota/xfs_qm.c | 44 ++--------- fs/xfs/quota/xfs_qm.h | 2 +- fs/xfs/xfs_iget.c | 177 +++++++++++++++++++++++++++++++---------- fs/xfs/xfs_inode.c | 78 +------------------ fs/xfs/xfs_inode.h | 66 ++++++++++++---- fs/xfs/xfs_log.c | 13 ++-- fs/xfs/xfs_mount.c | 36 +++------ fs/xfs/xfs_mount.h | 7 +-- fs/xfs/xfs_quota.h | 8 +- fs/xfs/xfs_sb.h | 166 ++++++++++++++++++++------------------- fs/xfs/xfs_trans_inode.c | 30 +------- fs/xfs/xfs_vfsops.c | 141 --------------------------------- fs/xfs/xfs_vnodeops.c | 7 +- 27 files changed, 424 insertions(+), 829 deletions(-) delete mode 100644 fs/xfs/linux-2.6/xfs_vnode.c delete mode 100644 fs/xfs/xfs_vfsops.c hooks/post-receive -- XFS development tree From donaldd@sgi.com Wed Dec 3 23:36:41 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_25 autolearn=no version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB45afHS022806 for ; Wed, 3 Dec 2008 23:36:41 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay1.corp.sgi.com (Postfix) with SMTP id F01418F8084; Wed, 3 Dec 2008 21:36:36 -0800 (PST) Received: from [134.14.55.208] (snowcrash.melbourne.sgi.com [134.14.55.208]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id QAA19933; Thu, 4 Dec 2008 16:36:34 +1100 Message-ID: <49376C6B.7070100@sgi.com> Date: Thu, 04 Dec 2008 16:36:43 +1100 From: Donald Douwsma User-Agent: Thunderbird 2.0.0.18 (X11/20081125) MIME-Version: 1.0 To: Christoph Hellwig , Lachlan McIlroy , xfs@oss.sgi.com Subject: Re: Assertion failed: atomic_read(&mp->m_active_trans) References: <492BB095.1000104@sgi.com> <4934AAA9.5090405@sgi.com> <20081203104849.GF15485@infradead.org> <20081203213950.GX18236@disturbed> In-Reply-To: <20081203213950.GX18236@disturbed> Content-Type: multipart/mixed; boundary="------------030200010109010408010008" This is a multi-part message in MIME format. --------------030200010109010408010008 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Dave Chinner wrote: > On Wed, Dec 03, 2008 at 05:48:49AM -0500, Christoph Hellwig wrote: >> I'd rather fix it properly. > > Sure, but in the mean time, I'd suggest changing it to a WARN_ON() > rather than an ASSERT(). That way we'll continue to have ppl bug us > about it until the VFS can support read-only remounts without racing > correctly. That sounds like a much better idea. Unfortunately we wont get feedback when people hit this on the root fs unless they have serial consoles (since /var/log/... has gone away by then). > Has that work been dropped on the floor, Christoph? We'vecat > been holding off removing this ASSERT or adding the hack > I did to work around the common case of the assert triggering > based on the fact that the problem in the VFS would be fixed > in the next release. That was the case each release since > 2.6.25 and there doesn't seem to be much progress... > >> Do you guys have a somewhat reliable >> testcase hitting it? > > I used to have one of the xfsqa tests hit it every so often, > but not what you'd call reliably.... Indeed, we dont hit this in regular qa. I guess most qa scripts dont specifically exercise remount readonly wile stressing the filesystem. The few occasions we have hit it were when rebooting in between test runs when the root fs was xfs. Don --------------030200010109010408010008 Content-Type: text/plain; name="warn-if-transactions-are-in-flight-on-remount-ro" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="warn-if-transactions-are-in-flight-on-remount-ro" --- a/fs/xfs/linux-2.6/xfs_sync.c +++ b/fs/xfs/linux-2.6/xfs_sync.c @@ -371,7 +371,7 @@ xfs_quiesce_attr( /* flush inodes and push all remaining buffers out to disk */ xfs_quiesce_fs(mp); - ASSERT_ALWAYS(atomic_read(&mp->m_active_trans) == 0); + WARN_ON(atomic_read(&mp->m_active_trans) == 0); /* Push the superblock and write an unmount record */ error = xfs_log_sbcount(mp, 1); --------------030200010109010408010008-- From lachlan@sgi.com Wed Dec 3 23:39:12 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB45dC44023047 for ; Wed, 3 Dec 2008 23:39:12 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 0A5A530408C for ; Wed, 3 Dec 2008 21:39:07 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id QAA19948 for ; Thu, 4 Dec 2008 16:39:06 +1100 Message-ID: <49376D11.4010507@sgi.com> Date: Thu, 04 Dec 2008 16:39:29 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] Check return value of xfs_buf_get_noaddr() Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit We check the return value of all other calls to xfs_buf_get_noaddr(). Make sense to do it here too. --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c @@ -3034,6 +3034,8 @@ xfs_zero_remaining_bytes( bp = xfs_buf_get_noaddr(mp->m_sb.sb_blocksize, XFS_IS_REALTIME_INODE(ip) ? mp->m_rtdev_targp : mp->m_ddev_targp); + if (!bp) + return ENOMEM; for (offset = startoff; offset <= endoff; offset = lastoffset + 1) { offset_fsb = XFS_B_TO_FSBT(mp, offset); From lachlan@sgi.com Thu Dec 4 00:18:53 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB46IrnU028554 for ; Thu, 4 Dec 2008 00:18:53 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id DD5BC30408D for ; Wed, 3 Dec 2008 22:18:48 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id RAA20606 for ; Thu, 4 Dec 2008 17:18:46 +1100 Message-ID: <4937765D.2030601@sgi.com> Date: Thu, 04 Dec 2008 17:19:09 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] Remove unused variable in ktrace_free() Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit entries_size is probably left over from when we used to pass the size to kmem_free(). --- xfs-fix.orig/fs/xfs/support/ktrace.c +++ xfs-fix/fs/xfs/support/ktrace.c @@ -113,21 +113,16 @@ ktrace_alloc(int nentries, unsigned int void ktrace_free(ktrace_t *ktp) { - int entries_size; - if (ktp == (ktrace_t *)NULL) return; /* * Special treatment for the Vnode trace buffer. */ - if (ktp->kt_nentries == ktrace_zentries) { + if (ktp->kt_nentries == ktrace_zentries) kmem_zone_free(ktrace_ent_zone, ktp->kt_entries); - } else { - entries_size = (int)(ktp->kt_nentries * sizeof(ktrace_entry_t)); - + else kmem_free(ktp->kt_entries); - } kmem_zone_free(ktrace_hdr_zone, ktp); } From lachlan@sgi.com Thu Dec 4 00:27:31 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB46RVoU029105 for ; Thu, 4 Dec 2008 00:27:31 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id A15BEAC012 for ; Wed, 3 Dec 2008 22:27:26 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id RAA20685 for ; Thu, 4 Dec 2008 17:27:24 +1100 Message-ID: <49377863.1070109@sgi.com> Date: Thu, 04 Dec 2008 17:27:47 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] Remove unnecessary assertion Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hit this assert because an inode was tagged with XFS_ICI_RECLAIM_TAG but not XFS_IRECLAIMABLE|XFS_IRECLAIM. This is because xfs_iget_cache_hit() first clears XFS_IRECLAIMABLE and then calls __xfs_inode_clear_reclaim_tag() while only holding the pag_ici_lock in read mode so we can race with xfs_reclaim_inodes_ag(). Looks like xfs_reclaim_inodes_ag() will do the right thing anyway so just remove the assert. Thanks to Christoph for pointing out where the problem was. --- xfs-fix.orig/fs/xfs/linux-2.6/xfs_sync.c +++ xfs-fix/fs/xfs/linux-2.6/xfs_sync.c @@ -707,8 +707,6 @@ restart: break; } - ASSERT(xfs_iflags_test(ip, (XFS_IRECLAIMABLE|XFS_IRECLAIM))); - /* ignore if already under reclaim */ if (xfs_iflags_test(ip, XFS_IRECLAIM)) { read_unlock(&pag->pag_ici_lock); From kamalesh@linux.vnet.ibm.com Thu Dec 4 00:30:37 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=AWL,BAYES_50,J_CHICKENPOX_45, UPPERCASE_75_100 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB46UaxO029306 for ; Thu, 4 Dec 2008 00:30:37 -0600 X-ASG-Debug-ID: 1228372228-47aa01670000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from e23smtp06.au.ibm.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0041B168FDB9 for ; Wed, 3 Dec 2008 22:30:29 -0800 (PST) Received: from e23smtp06.au.ibm.com (E23SMTP06.au.ibm.com [202.81.18.175]) by cuda.sgi.com with ESMTP id Gtq6NbsW27t6kcVd for ; Wed, 03 Dec 2008 22:30:29 -0800 (PST) Received: from d23relay03.au.ibm.com (d23relay03.au.ibm.com [202.81.18.234]) by e23smtp06.au.ibm.com (8.13.1/8.13.1) with ESMTP id mB3Ci3Mx007978 for ; Wed, 3 Dec 2008 23:44:03 +1100 Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138]) by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id mB3Cfjfh4218992 for ; Wed, 3 Dec 2008 23:41:45 +1100 Received: from d23av02.au.ibm.com (loopback [127.0.0.1]) by d23av02.au.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id mB3CfJvu005533 for ; Wed, 3 Dec 2008 23:41:19 +1100 Received: from linux.vnet.ibm.com ([9.124.158.38]) by d23av02.au.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id mB3Cf58M005477 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 3 Dec 2008 23:41:08 +1100 Date: Wed, 3 Dec 2008 18:11:04 +0530 From: Kamalesh Babulal To: Stephen Rothwell Cc: linux-next@vger.kernel.org, LKML , xfs@oss.sgi.com X-ASG-Orig-Subj: next-20081203 build failure, when building xfs_file.o Subject: next-20081203 build failure, when building xfs_file.o Message-ID: <20081203124104.GA5400@linux.vnet.ibm.com> Reply-To: Kamalesh Babulal References: <20081203183602.c06f8c39.sfr@canb.auug.org.au> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <20081203183602.c06f8c39.sfr@canb.auug.org.au> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: E23SMTP06.au.ibm.com[202.81.18.175] X-Barracuda-Start-Time: 1228372233 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.42 X-Barracuda-Spam-Status: No, SCORE=0.42 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_RULE7568M, UPPERCASE_75_100, UPPERCASE_75_100_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11876 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M 0.01 UPPERCASE_75_100 message body is 75-100% uppercase 1.93 UPPERCASE_75_100_2 message body is 75-100% uppercase Hi Stephen, next-20081203 kernel build fails on x86 with build failure In file included from fs/xfs/linux-2.6/xfs_file.c:39: fs/xfs/linux-2.6/xfs_ioctl32.h:50: error: expected specifier-qualifier-list before 'compat_time_t' fs/xfs/linux-2.6/xfs_ioctl32.h:79: error: expected specifier-qualifier-list before 'compat_uptr_t' fs/xfs/linux-2.6/xfs_ioctl32.h:94: error: expected specifier-qualifier-list before 'compat_uptr_t' fs/xfs/linux-2.6/xfs_ioctl32.h:131: error: expected specifier-qualifier-list before 'compat_uptr_t' fs/xfs/linux-2.6/xfs_ioctl32.h:142: error: expected specifier-qualifier-list before 'compat_uptr_t' fs/xfs/linux-2.6/xfs_ioctl32.h:152: error: expected specifier-qualifier-list before 'compat_uptr_t' fs/xfs/linux-2.6/xfs_ioctl32.h:161: error: expected specifier-qualifier-list before 'compat_uptr_t' make[2]: *** [fs/xfs/linux-2.6/xfs_file.o] Error 1 # # Automatically generated make config: don't edit # Linux kernel version: 2.6.28-rc7-next-20081203 # Wed Dec 3 14:49:45 2008 # # CONFIG_64BIT is not set CONFIG_X86_32=y # CONFIG_X86_64 is not set CONFIG_X86=y CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_FAST_CMPXCHG_LOCAL=y CONFIG_MMU=y CONFIG_ZONE_DMA=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_GPIO=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y CONFIG_GENERIC_CALIBRATE_DELAY=y # CONFIG_GENERIC_TIME_VSYSCALL is not set CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEFAULT_IDLE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y # CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y # CONFIG_ZONE_DMA32 is not set CONFIG_ARCH_POPULATES_NODE_MAP=y # CONFIG_AUDIT_ARCH is not set CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_X86_SMP=y CONFIG_USE_GENERIC_SMP_HELPERS=y CONFIG_X86_32_SMP=y CONFIG_X86_HT=y CONFIG_X86_BIOS_REBOOT=y CONFIG_X86_TRAMPOLINE=y CONFIG_KTIME_SCALAR=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y CONFIG_AUDIT_TREE=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_CGROUPS=y CONFIG_CGROUP_DEBUG=y CONFIG_CGROUP_NS=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_DEVICE=y CONFIG_CPUSETS=y CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_GROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_RT_GROUP_SCHED=y CONFIG_USER_SCHED=y # CONFIG_CGROUP_SCHED is not set CONFIG_CGROUP_CPUACCT=y CONFIG_RESOURCE_COUNTERS=y CONFIG_MM_OWNER=y CONFIG_CGROUP_MEM_RES_CTLR=y CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_PROC_PID_CPUSET=y CONFIG_RELAY=y CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_IPC_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_EMBEDDED=y CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_COMPAT_BRK=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_ANON_INODES=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_AIO=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_PCI_QUIRKS=y CONFIG_SLUB_DEBUG=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y CONFIG_MARKERS=y CONFIG_OPROFILE=y CONFIG_OPROFILE_IBS=y CONFIG_HAVE_OPROFILE=y CONFIG_KPROBES=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_KRETPROBES=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBD=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_LSF=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_INTEGRITY=y # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_DEFAULT_AS is not set # CONFIG_DEFAULT_DEADLINE is not set CONFIG_DEFAULT_CFQ=y # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_PREEMPT_NOTIFIERS=y CONFIG_CLASSIC_RCU=y CONFIG_FREEZER=y # # Processor type and features # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_SMP=y CONFIG_X86_FIND_SMP_CONFIG=y CONFIG_X86_MPPARSE=y CONFIG_X86_PC=y # CONFIG_X86_ELAN is not set # CONFIG_X86_VOYAGER is not set # CONFIG_X86_GENERICARCH is not set # CONFIG_X86_VSMP is not set CONFIG_X86_RDC321X=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_PARAVIRT_GUEST=y CONFIG_VMI=y CONFIG_KVM_CLOCK=y CONFIG_KVM_GUEST=y CONFIG_LGUEST_GUEST=y CONFIG_PARAVIRT=y CONFIG_PARAVIRT_CLOCK=y CONFIG_PARAVIRT_DEBUG=y CONFIG_MEMTEST=y # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set CONFIG_M686=y # CONFIG_MPENTIUMII is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMM is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MK8 is not set # CONFIG_MCRUSOE is not set # CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set # CONFIG_MVIAC7 is not set # CONFIG_MPSC is not set # CONFIG_MCORE2 is not set # CONFIG_GENERIC_CPU is not set CONFIG_X86_GENERIC=y CONFIG_X86_CPU=y CONFIG_X86_CMPXCHG=y CONFIG_X86_L1_CACHE_SHIFT=7 CONFIG_X86_XADD=y CONFIG_X86_PPRO_FENCE=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=4 CONFIG_X86_DEBUGCTLMSR=y CONFIG_PROCESSOR_SELECT=y CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_CYRIX_32=y CONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_CENTAUR_32=y CONFIG_CPU_SUP_TRANSMETA_32=y CONFIG_CPU_SUP_UMC_32=y CONFIG_X86_DS=y CONFIG_X86_PTRACE_BTS=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y # CONFIG_IOMMU_HELPER is not set CONFIG_NR_CPUS=8 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y CONFIG_PREEMPT_NONE=y # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_X86_MCE=y CONFIG_X86_MCE_NONFATAL=y CONFIG_X86_MCE_P4THERMAL=y CONFIG_VM86=y CONFIG_TOSHIBA=y CONFIG_I8K=y CONFIG_X86_REBOOTFIXUPS=y CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=y CONFIG_X86_CPUID=y # CONFIG_NOHIGHMEM is not set CONFIG_HIGHMEM4G=y # CONFIG_HIGHMEM64G is not set CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_3G_OPT is not set # CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_2G_OPT is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_HIGHMEM=y # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_SPARSEMEM_STATIC=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_RESOURCES_64BIT=y # CONFIG_PHYS_ADDR_T_64BIT is not set CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_UNEVICTABLE_LRU=y CONFIG_MMU_NOTIFIER=y CONFIG_HIGHPTE=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y CONFIG_X86_RESERVE_LOW_64K=y CONFIG_MATH_EMULATION=y CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_EFI=y CONFIG_SECCOMP=y # CONFIG_HZ_100 is not set CONFIG_HZ_250=y # CONFIG_HZ_300 is not set # CONFIG_HZ_1000 is not set CONFIG_HZ=250 CONFIG_SCHED_HRTICK=y CONFIG_KEXEC=y CONFIG_CRASH_DUMP=y CONFIG_KEXEC_JUMP=y CONFIG_PHYSICAL_START=0x100000 CONFIG_RELOCATABLE=y CONFIG_PHYSICAL_ALIGN=0x100000 CONFIG_HOTPLUG_CPU=y CONFIG_COMPAT_VDSO=y CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE="" CONFIG_CMDLINE_OVERRIDE=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # # Power management and ACPI options # CONFIG_PM=y CONFIG_PM_DEBUG=y CONFIG_PM_VERBOSE=y CONFIG_CAN_PM_TRACE=y CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y CONFIG_PM_SLEEP_SMP=y CONFIG_PM_SLEEP=y CONFIG_SUSPEND=y CONFIG_PM_TEST_SUSPEND=y CONFIG_SUSPEND_FREEZER=y CONFIG_HIBERNATION=y CONFIG_PM_STD_PARTITION="" CONFIG_ACPI=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_PROCFS=y CONFIG_ACPI_PROCFS_POWER=y CONFIG_ACPI_SYSFS_POWER=y CONFIG_ACPI_PROC_EVENT=y CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=y CONFIG_ACPI_BUTTON=y CONFIG_ACPI_VIDEO=y CONFIG_ACPI_FAN=y CONFIG_ACPI_DOCK=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_WMI=y CONFIG_ACPI_ASUS=y CONFIG_ACPI_TOSHIBA=y # CONFIG_ACPI_CUSTOM_DSDT is not set CONFIG_ACPI_BLACKLIST_YEAR=0 CONFIG_ACPI_DEBUG=y CONFIG_ACPI_DEBUG_FUNC_TRACE=y CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_SYSTEM=y CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_SBS=y CONFIG_X86_APM_BOOT=y CONFIG_APM=y CONFIG_APM_IGNORE_USER_SUSPEND=y CONFIG_APM_DO_ENABLE=y CONFIG_APM_CPU_IDLE=y CONFIG_APM_DISPLAY_BLANK=y CONFIG_APM_ALLOW_INTS=y CONFIG_APM_REAL_MODE_POWER_OFF=y # # CPU Frequency scaling # CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_TABLE=y CONFIG_CPU_FREQ_DEBUG=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_STAT_DETAILS=y CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y # # CPUFreq processor drivers # CONFIG_X86_ACPI_CPUFREQ=y CONFIG_X86_POWERNOW_K6=y CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K7_ACPI=y CONFIG_X86_POWERNOW_K8=y CONFIG_X86_POWERNOW_K8_ACPI=y CONFIG_X86_GX_SUSPMOD=y CONFIG_X86_SPEEDSTEP_CENTRINO=y CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y CONFIG_X86_SPEEDSTEP_ICH=y CONFIG_X86_SPEEDSTEP_SMI=y CONFIG_X86_P4_CLOCKMOD=y CONFIG_X86_CPUFREQ_NFORCE2=y CONFIG_X86_LONGRUN=y CONFIG_X86_LONGHAUL=y CONFIG_X86_E_POWERSAVER=y # # shared options # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y CONFIG_X86_SPEEDSTEP_LIB=y CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y # # Bus options (PCI etc.) # CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GOMMCONFIG is not set # CONFIG_PCI_GODIRECT is not set # CONFIG_PCI_GOOLPC is not set CONFIG_PCI_GOANY=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_OLPC=y CONFIG_PCI_DOMAINS=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y CONFIG_PCIEASPM=y CONFIG_PCIEASPM_DEBUG=y CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_PCI_MSI=y CONFIG_PCI_LEGACY=y CONFIG_PCI_DEBUG=y CONFIG_PCI_STUB=y CONFIG_HT_IRQ=y CONFIG_ISA_DMA_API=y CONFIG_ISA=y CONFIG_EISA=y CONFIG_EISA_VLB_PRIMING=y CONFIG_EISA_PCI_EISA=y CONFIG_EISA_VIRTUAL_ROOT=y CONFIG_EISA_NAMES=y CONFIG_MCA=y CONFIG_MCA_LEGACY=y CONFIG_MCA_PROC_FS=y CONFIG_SCx200=y CONFIG_SCx200HR_TIMER=y CONFIG_OLPC=y CONFIG_K8_NB=y CONFIG_PCCARD=y CONFIG_PCMCIA_DEBUG=y CONFIG_PCMCIA=y CONFIG_PCMCIA_LOAD_CIS=y CONFIG_PCMCIA_IOCTL=y CONFIG_CARDBUS=y # # PC-card bridges # CONFIG_YENTA=y CONFIG_YENTA_O2=y CONFIG_YENTA_RICOH=y CONFIG_YENTA_TI=y CONFIG_YENTA_ENE_TUNE=y CONFIG_YENTA_TOSHIBA=y CONFIG_PD6729=y CONFIG_I82092=y CONFIG_I82365=y CONFIG_TCIC=y CONFIG_PCMCIA_PROBE=y CONFIG_PCCARD_NONSTATIC=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_FAKE=y CONFIG_HOTPLUG_PCI_COMPAQ=y CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y CONFIG_HOTPLUG_PCI_IBM=y CONFIG_HOTPLUG_PCI_ACPI=y CONFIG_HOTPLUG_PCI_ACPI_IBM=y CONFIG_HOTPLUG_PCI_CPCI=y CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y CONFIG_HOTPLUG_PCI_SHPC=y # # Executable file formats / Emulations # CONFIG_BINFMT_ELF=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_HAVE_AOUT=y CONFIG_BINFMT_AOUT=y CONFIG_BINFMT_MISC=y CONFIG_HAVE_ATOMIC_IOMAP=y CONFIG_NET=y # # Networking options # CONFIG_NET_NS=y CONFIG_COMPAT_NET_DEV_OPS=y CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y CONFIG_XFRM_USER=y CONFIG_XFRM_SUB_POLICY=y CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y CONFIG_XFRM_IPCOMP=y CONFIG_NET_KEY=y CONFIG_NET_KEY_MIGRATE=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_ASK_IP_FIB_HASH=y # CONFIG_IP_FIB_TRIE is not set CONFIG_IP_FIB_HASH=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_IP_ROUTE_VERBOSE=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_RARP=y CONFIG_NET_IPIP=y CONFIG_NET_IPGRE=y CONFIG_NET_IPGRE_BROADCAST=y CONFIG_IP_MROUTE=y CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y CONFIG_ARPD=y CONFIG_SYN_COOKIES=y CONFIG_INET_AH=y CONFIG_INET_ESP=y CONFIG_INET_IPCOMP=y CONFIG_INET_XFRM_TUNNEL=y CONFIG_INET_TUNNEL=y CONFIG_INET_XFRM_MODE_TRANSPORT=y CONFIG_INET_XFRM_MODE_TUNNEL=y CONFIG_INET_XFRM_MODE_BEET=y CONFIG_INET_LRO=y CONFIG_INET_DIAG=y CONFIG_INET_TCP_DIAG=y CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=y CONFIG_TCP_CONG_CUBIC=y CONFIG_TCP_CONG_WESTWOOD=y CONFIG_TCP_CONG_HTCP=y CONFIG_TCP_CONG_HSTCP=y CONFIG_TCP_CONG_HYBLA=y CONFIG_TCP_CONG_VEGAS=y CONFIG_TCP_CONG_SCALABLE=y CONFIG_TCP_CONG_LP=y CONFIG_TCP_CONG_VENO=y CONFIG_TCP_CONG_YEAH=y CONFIG_TCP_CONG_ILLINOIS=y # CONFIG_DEFAULT_BIC is not set CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_HTCP is not set # CONFIG_DEFAULT_VEGAS is not set # CONFIG_DEFAULT_WESTWOOD is not set # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_TCP_MD5SIG=y CONFIG_IPV6=y CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_INET6_AH=y CONFIG_INET6_ESP=y CONFIG_INET6_IPCOMP=y CONFIG_IPV6_MIP6=y CONFIG_INET6_XFRM_TUNNEL=y CONFIG_INET6_TUNNEL=y CONFIG_INET6_XFRM_MODE_TRANSPORT=y CONFIG_INET6_XFRM_MODE_TUNNEL=y CONFIG_INET6_XFRM_MODE_BEET=y CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y CONFIG_IPV6_SIT=y CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=y CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_PIMSM_V2=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NETFILTER=y CONFIG_NETFILTER_DEBUG=y CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=y # # Core Netfilter Configuration # CONFIG_NETFILTER_NETLINK=y CONFIG_NETFILTER_NETLINK_QUEUE=y CONFIG_NETFILTER_NETLINK_LOG=y CONFIG_NF_CONNTRACK=y CONFIG_NF_CT_ACCT=y CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_DCCP=y CONFIG_NF_CT_PROTO_GRE=y CONFIG_NF_CT_PROTO_SCTP=y CONFIG_NF_CT_PROTO_UDPLITE=y CONFIG_NF_CONNTRACK_AMANDA=y CONFIG_NF_CONNTRACK_FTP=y CONFIG_NF_CONNTRACK_H323=y CONFIG_NF_CONNTRACK_IRC=y CONFIG_NF_CONNTRACK_NETBIOS_NS=y CONFIG_NF_CONNTRACK_PPTP=y CONFIG_NF_CONNTRACK_SANE=y CONFIG_NF_CONNTRACK_SIP=y CONFIG_NF_CONNTRACK_TFTP=y CONFIG_NF_CT_NETLINK=y CONFIG_NETFILTER_TPROXY=y CONFIG_NETFILTER_XTABLES=y CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y CONFIG_NETFILTER_XT_TARGET_CONNMARK=y CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y CONFIG_NETFILTER_XT_TARGET_DSCP=y CONFIG_NETFILTER_XT_TARGET_MARK=y CONFIG_NETFILTER_XT_TARGET_NFLOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_NOTRACK=y CONFIG_NETFILTER_XT_TARGET_RATEEST=y CONFIG_NETFILTER_XT_TARGET_TPROXY=y CONFIG_NETFILTER_XT_TARGET_TRACE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y CONFIG_NETFILTER_XT_TARGET_TCPMSS=y CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y CONFIG_NETFILTER_XT_MATCH_COMMENT=y CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y CONFIG_NETFILTER_XT_MATCH_CONNMARK=y CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y CONFIG_NETFILTER_XT_MATCH_DCCP=y CONFIG_NETFILTER_XT_MATCH_DSCP=y CONFIG_NETFILTER_XT_MATCH_ESP=y CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y CONFIG_NETFILTER_XT_MATCH_HELPER=y CONFIG_NETFILTER_XT_MATCH_IPRANGE=y CONFIG_NETFILTER_XT_MATCH_LENGTH=y CONFIG_NETFILTER_XT_MATCH_LIMIT=y CONFIG_NETFILTER_XT_MATCH_MAC=y CONFIG_NETFILTER_XT_MATCH_MARK=y CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y CONFIG_NETFILTER_XT_MATCH_OWNER=y CONFIG_NETFILTER_XT_MATCH_POLICY=y CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y CONFIG_NETFILTER_XT_MATCH_QUOTA=y CONFIG_NETFILTER_XT_MATCH_RATEEST=y CONFIG_NETFILTER_XT_MATCH_REALM=y CONFIG_NETFILTER_XT_MATCH_RECENT=y CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT=y CONFIG_NETFILTER_XT_MATCH_SCTP=y CONFIG_NETFILTER_XT_MATCH_SOCKET=y CONFIG_NETFILTER_XT_MATCH_STATE=y CONFIG_NETFILTER_XT_MATCH_STATISTIC=y CONFIG_NETFILTER_XT_MATCH_STRING=y CONFIG_NETFILTER_XT_MATCH_TCPMSS=y CONFIG_NETFILTER_XT_MATCH_TIME=y CONFIG_NETFILTER_XT_MATCH_U32=y CONFIG_IP_VS=y CONFIG_IP_VS_IPV6=y CONFIG_IP_VS_DEBUG=y CONFIG_IP_VS_TAB_BITS=12 # # IPVS transport protocol load balancing support # CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_AH_ESP=y CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_AH=y # # IPVS scheduler # CONFIG_IP_VS_RR=y CONFIG_IP_VS_WRR=y CONFIG_IP_VS_LC=y CONFIG_IP_VS_WLC=y CONFIG_IP_VS_LBLC=y CONFIG_IP_VS_LBLCR=y CONFIG_IP_VS_DH=y CONFIG_IP_VS_SH=y CONFIG_IP_VS_SED=y CONFIG_IP_VS_NQ=y # # IPVS application helper # CONFIG_IP_VS_FTP=y # # IP: Netfilter Configuration # CONFIG_NF_DEFRAG_IPV4=y CONFIG_NF_CONNTRACK_IPV4=y CONFIG_NF_CONNTRACK_PROC_COMPAT=y CONFIG_IP_NF_QUEUE=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_MATCH_ADDRTYPE=y CONFIG_IP_NF_MATCH_AH=y CONFIG_IP_NF_MATCH_ECN=y CONFIG_IP_NF_MATCH_TTL=y CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_TARGET_REJECT=y CONFIG_IP_NF_TARGET_LOG=y CONFIG_IP_NF_TARGET_ULOG=y CONFIG_NF_NAT=y CONFIG_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=y CONFIG_IP_NF_TARGET_NETMAP=y CONFIG_IP_NF_TARGET_REDIRECT=y CONFIG_NF_NAT_SNMP_BASIC=y CONFIG_NF_NAT_PROTO_DCCP=y CONFIG_NF_NAT_PROTO_GRE=y CONFIG_NF_NAT_PROTO_UDPLITE=y CONFIG_NF_NAT_PROTO_SCTP=y CONFIG_NF_NAT_FTP=y CONFIG_NF_NAT_IRC=y CONFIG_NF_NAT_TFTP=y CONFIG_NF_NAT_AMANDA=y CONFIG_NF_NAT_PPTP=y CONFIG_NF_NAT_H323=y CONFIG_NF_NAT_SIP=y CONFIG_IP_NF_MANGLE=y CONFIG_IP_NF_TARGET_CLUSTERIP=y CONFIG_IP_NF_TARGET_ECN=y CONFIG_IP_NF_TARGET_TTL=y CONFIG_IP_NF_RAW=y CONFIG_IP_NF_SECURITY=y CONFIG_IP_NF_ARPTABLES=y CONFIG_IP_NF_ARPFILTER=y CONFIG_IP_NF_ARP_MANGLE=y # # IPv6: Netfilter Configuration # CONFIG_NF_CONNTRACK_IPV6=y CONFIG_IP6_NF_QUEUE=y CONFIG_IP6_NF_IPTABLES=y CONFIG_IP6_NF_MATCH_AH=y CONFIG_IP6_NF_MATCH_EUI64=y CONFIG_IP6_NF_MATCH_FRAG=y CONFIG_IP6_NF_MATCH_OPTS=y CONFIG_IP6_NF_MATCH_HL=y CONFIG_IP6_NF_MATCH_IPV6HEADER=y CONFIG_IP6_NF_MATCH_MH=y CONFIG_IP6_NF_MATCH_RT=y CONFIG_IP6_NF_TARGET_LOG=y CONFIG_IP6_NF_FILTER=y CONFIG_IP6_NF_TARGET_REJECT=y CONFIG_IP6_NF_MANGLE=y CONFIG_IP6_NF_TARGET_HL=y CONFIG_IP6_NF_RAW=y CONFIG_IP6_NF_SECURITY=y # # DECnet: Netfilter Configuration # CONFIG_DECNET_NF_GRABULATOR=y CONFIG_BRIDGE_NF_EBTABLES=y CONFIG_BRIDGE_EBT_BROUTE=y CONFIG_BRIDGE_EBT_T_FILTER=y CONFIG_BRIDGE_EBT_T_NAT=y CONFIG_BRIDGE_EBT_802_3=y CONFIG_BRIDGE_EBT_AMONG=y CONFIG_BRIDGE_EBT_ARP=y CONFIG_BRIDGE_EBT_IP=y CONFIG_BRIDGE_EBT_IP6=y CONFIG_BRIDGE_EBT_LIMIT=y CONFIG_BRIDGE_EBT_MARK=y CONFIG_BRIDGE_EBT_PKTTYPE=y CONFIG_BRIDGE_EBT_STP=y CONFIG_BRIDGE_EBT_VLAN=y CONFIG_BRIDGE_EBT_ARPREPLY=y CONFIG_BRIDGE_EBT_DNAT=y CONFIG_BRIDGE_EBT_MARK_T=y CONFIG_BRIDGE_EBT_REDIRECT=y CONFIG_BRIDGE_EBT_SNAT=y CONFIG_BRIDGE_EBT_LOG=y CONFIG_BRIDGE_EBT_ULOG=y CONFIG_BRIDGE_EBT_NFLOG=y CONFIG_IP_DCCP=y CONFIG_INET_DCCP_DIAG=y CONFIG_IP_DCCP_ACKVEC=y # # DCCP CCIDs Configuration (EXPERIMENTAL) # CONFIG_IP_DCCP_CCID2=y CONFIG_IP_DCCP_CCID2_DEBUG=y CONFIG_IP_DCCP_CCID3=y CONFIG_IP_DCCP_CCID3_DEBUG=y CONFIG_IP_DCCP_CCID3_RTO=100 CONFIG_IP_DCCP_TFRC_LIB=y CONFIG_IP_DCCP_TFRC_DEBUG=y # # DCCP Kernel Hacking # CONFIG_IP_DCCP_DEBUG=y CONFIG_NET_DCCPPROBE=y CONFIG_IP_SCTP=y CONFIG_SCTP_DBG_MSG=y CONFIG_SCTP_DBG_OBJCNT=y # CONFIG_SCTP_HMAC_NONE is not set # CONFIG_SCTP_HMAC_SHA1 is not set CONFIG_SCTP_HMAC_MD5=y CONFIG_TIPC=y CONFIG_TIPC_ADVANCED=y CONFIG_TIPC_ZONES=3 CONFIG_TIPC_CLUSTERS=1 CONFIG_TIPC_NODES=255 CONFIG_TIPC_SLAVE_NODES=0 CONFIG_TIPC_PORTS=8191 CONFIG_TIPC_LOG=0 CONFIG_TIPC_DEBUG=y CONFIG_ATM=y CONFIG_ATM_CLIP=y CONFIG_ATM_CLIP_NO_ICMP=y CONFIG_ATM_LANE=y CONFIG_ATM_MPOA=y CONFIG_ATM_BR2684=y CONFIG_ATM_BR2684_IPFILTER=y CONFIG_STP=y CONFIG_GARP=y CONFIG_BRIDGE=y CONFIG_NET_DSA=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_DSA_TAG_TRAILER=y CONFIG_NET_DSA_MV88E6XXX=y CONFIG_NET_DSA_MV88E6060=y CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y CONFIG_NET_DSA_MV88E6131=y CONFIG_NET_DSA_MV88E6123_61_65=y CONFIG_VLAN_8021Q=y CONFIG_VLAN_8021Q_GVRP=y CONFIG_DECNET=y CONFIG_DECNET_ROUTER=y CONFIG_LLC=y CONFIG_LLC2=y CONFIG_IPX=y CONFIG_IPX_INTERN=y CONFIG_ATALK=y CONFIG_DEV_APPLETALK=y CONFIG_LTPC=y CONFIG_COPS=y CONFIG_COPS_DAYNA=y CONFIG_COPS_TANGENT=y CONFIG_IPDDP=y CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP_DECAP=y CONFIG_X25=y CONFIG_LAPB=y CONFIG_ECONET=y CONFIG_ECONET_AUNUDP=y CONFIG_ECONET_NATIVE=y CONFIG_WAN_ROUTER=y CONFIG_NET_SCHED=y # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=y CONFIG_NET_SCH_HTB=y CONFIG_NET_SCH_HFSC=y CONFIG_NET_SCH_ATM=y CONFIG_NET_SCH_PRIO=y CONFIG_NET_SCH_MULTIQ=y CONFIG_NET_SCH_RED=y CONFIG_NET_SCH_SFQ=y CONFIG_NET_SCH_TEQL=y CONFIG_NET_SCH_TBF=y CONFIG_NET_SCH_GRED=y CONFIG_NET_SCH_DSMARK=y CONFIG_NET_SCH_NETEM=y CONFIG_NET_SCH_DRR=y CONFIG_NET_SCH_INGRESS=y # # Classification # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=y CONFIG_NET_CLS_TCINDEX=y CONFIG_NET_CLS_ROUTE4=y CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=y CONFIG_NET_CLS_U32=y CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y CONFIG_NET_CLS_RSVP=y CONFIG_NET_CLS_RSVP6=y CONFIG_NET_CLS_FLOW=y CONFIG_NET_CLS_CGROUP=y CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_CMP=y CONFIG_NET_EMATCH_NBYTE=y CONFIG_NET_EMATCH_U32=y CONFIG_NET_EMATCH_META=y CONFIG_NET_EMATCH_TEXT=y CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=y CONFIG_NET_ACT_GACT=y CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=y CONFIG_NET_ACT_IPT=y CONFIG_NET_ACT_NAT=y CONFIG_NET_ACT_PEDIT=y CONFIG_NET_ACT_SIMP=y CONFIG_NET_ACT_SKBEDIT=y CONFIG_NET_CLS_IND=y CONFIG_NET_SCH_FIFO=y CONFIG_DCB=y # # Network testing # CONFIG_NET_PKTGEN=y CONFIG_NET_TCPPROBE=y CONFIG_HAMRADIO=y # # Packet Radio protocols # CONFIG_AX25=y CONFIG_AX25_DAMA_SLAVE=y CONFIG_NETROM=y CONFIG_ROSE=y # # AX.25 network device drivers # CONFIG_MKISS=y CONFIG_6PACK=y CONFIG_BPQETHER=y CONFIG_SCC=y CONFIG_SCC_DELAY=y CONFIG_SCC_TRXECHO=y CONFIG_BAYCOM_SER_FDX=y CONFIG_BAYCOM_SER_HDX=y CONFIG_BAYCOM_PAR=y CONFIG_BAYCOM_EPP=y CONFIG_YAM=y CONFIG_CAN=y CONFIG_CAN_RAW=y CONFIG_CAN_BCM=y # # CAN Device Drivers # CONFIG_CAN_VCAN=y CONFIG_CAN_DEBUG_DEVICES=y CONFIG_IRDA=y # # IrDA protocols # CONFIG_IRLAN=y CONFIG_IRNET=y CONFIG_IRCOMM=y CONFIG_IRDA_ULTRA=y # # IrDA options # CONFIG_IRDA_CACHE_LAST_LSAP=y CONFIG_IRDA_FAST_RR=y CONFIG_IRDA_DEBUG=y # # Infrared-port device drivers # # # SIR device drivers # CONFIG_IRTTY_SIR=y # # Dongle support # CONFIG_DONGLE=y CONFIG_ESI_DONGLE=y CONFIG_ACTISYS_DONGLE=y CONFIG_TEKRAM_DONGLE=y CONFIG_TOIM3232_DONGLE=y CONFIG_LITELINK_DONGLE=y CONFIG_MA600_DONGLE=y CONFIG_GIRBIL_DONGLE=y CONFIG_MCP2120_DONGLE=y CONFIG_OLD_BELKIN_DONGLE=y CONFIG_ACT200L_DONGLE=y CONFIG_KINGSUN_DONGLE=y CONFIG_KSDAZZLE_DONGLE=y CONFIG_KS959_DONGLE=y # # FIR device drivers # CONFIG_USB_IRDA=y CONFIG_SIGMATEL_FIR=y CONFIG_NSC_FIR=y CONFIG_WINBOND_FIR=y CONFIG_TOSHIBA_FIR=y CONFIG_SMC_IRCC_FIR=y CONFIG_ALI_FIR=y CONFIG_VLSI_FIR=y CONFIG_VIA_FIR=y CONFIG_MCS_FIR=y CONFIG_BT=y CONFIG_BT_L2CAP=y CONFIG_BT_SCO=y CONFIG_BT_RFCOMM=y CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=y CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_CMTP=y CONFIG_BT_HIDP=y # # Bluetooth device drivers # CONFIG_BT_HCIBTUSB=y CONFIG_BT_HCIBTSDIO=y CONFIG_BT_HCIUART=y CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y CONFIG_BT_HCIUART_LL=y CONFIG_BT_HCIBCM203X=y CONFIG_BT_HCIBPA10X=y CONFIG_BT_HCIBFUSB=y CONFIG_BT_HCIDTL1=y CONFIG_BT_HCIBT3C=y CONFIG_BT_HCIBLUECARD=y CONFIG_BT_HCIBTUART=y CONFIG_BT_HCIVHCI=y CONFIG_AF_RXRPC=y CONFIG_AF_RXRPC_DEBUG=y CONFIG_RXKAD=y CONFIG_PHONET=y CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_CFG80211=y CONFIG_CFG80211_REG_DEBUG=y CONFIG_NL80211=y CONFIG_WIRELESS_OLD_REGULATORY=y CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS_EXT_SYSFS=y CONFIG_LIB80211=y CONFIG_LIB80211_CRYPT_WEP=y CONFIG_LIB80211_CRYPT_CCMP=y CONFIG_LIB80211_CRYPT_TKIP=y CONFIG_MAC80211=y # # Rate control algorithm selection # CONFIG_MAC80211_RC_PID=y CONFIG_MAC80211_RC_MINSTREL=y # CONFIG_MAC80211_RC_DEFAULT_PID is not set CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel" CONFIG_MAC80211_MESH=y CONFIG_MAC80211_LEDS=y CONFIG_MAC80211_DEBUGFS=y CONFIG_MAC80211_DEBUG_MENU=y CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT=y CONFIG_MAC80211_NOINLINE=y CONFIG_MAC80211_VERBOSE_DEBUG=y CONFIG_MAC80211_HT_DEBUG=y CONFIG_MAC80211_TKIP_DEBUG=y CONFIG_MAC80211_IBSS_DEBUG=y CONFIG_MAC80211_VERBOSE_PS_DEBUG=y CONFIG_MAC80211_VERBOSE_MPL_DEBUG=y CONFIG_MAC80211_DEBUG_COUNTERS=y CONFIG_MAC80211_VERBOSE_SPECT_MGMT_DEBUG=y CONFIG_RFKILL=y CONFIG_RFKILL_INPUT=y CONFIG_RFKILL_LEDS=y CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y CONFIG_NET_9P_RDMA=y CONFIG_NET_9P_DEBUG=y # # Device Drivers # # # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" CONFIG_DEBUG_DRIVER=y CONFIG_DEBUG_DEVRES=y # CONFIG_SYS_HYPERVISOR is not set CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y CONFIG_MTD=y CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=0 CONFIG_MTD_CONCAT=y CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y CONFIG_MTD_REDBOOT_PARTS_READONLY=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_AR7_PARTS=y # # User Modules And Translation Layers # CONFIG_MTD_CHAR=y CONFIG_HAVE_MTD_OTP=y CONFIG_MTD_BLKDEVS=y CONFIG_MTD_BLOCK=y CONFIG_FTL=y CONFIG_NFTL=y CONFIG_NFTL_RW=y CONFIG_INFTL=y CONFIG_RFD_FTL=y CONFIG_SSFDC=y CONFIG_MTD_OOPS=y # # RAM/ROM/Flash chip drivers # CONFIG_MTD_CFI=y CONFIG_MTD_JEDECPROBE=y CONFIG_MTD_GEN_PROBE=y CONFIG_MTD_CFI_ADV_OPTIONS=y CONFIG_MTD_CFI_NOSWAP=y # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set CONFIG_MTD_CFI_GEOMETRY=y CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y CONFIG_MTD_MAP_BANK_WIDTH_8=y CONFIG_MTD_MAP_BANK_WIDTH_16=y CONFIG_MTD_MAP_BANK_WIDTH_32=y CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y CONFIG_MTD_CFI_I4=y CONFIG_MTD_CFI_I8=y CONFIG_MTD_OTP=y CONFIG_MTD_CFI_INTELEXT=y CONFIG_MTD_CFI_AMDSTD=y CONFIG_MTD_CFI_STAA=y CONFIG_MTD_CFI_UTIL=y CONFIG_MTD_RAM=y CONFIG_MTD_ROM=y CONFIG_MTD_ABSENT=y # # Mapping drivers for chip access # CONFIG_MTD_COMPLEX_MAPPINGS=y CONFIG_MTD_PHYSMAP=y CONFIG_MTD_PHYSMAP_START=0x8000000 CONFIG_MTD_PHYSMAP_LEN=0 CONFIG_MTD_PHYSMAP_BANKWIDTH=2 CONFIG_MTD_SC520CDP=y CONFIG_MTD_NETSC520=y CONFIG_MTD_TS5500=y CONFIG_MTD_SBC_GXX=y CONFIG_MTD_SCx200_DOCFLASH=y CONFIG_MTD_AMD76XROM=y CONFIG_MTD_ICHXROM=y CONFIG_MTD_ESB2ROM=y CONFIG_MTD_CK804XROM=y CONFIG_MTD_SCB2_FLASH=y CONFIG_MTD_NETtel=y CONFIG_MTD_DILNETPC=y CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000 CONFIG_MTD_L440GX=y CONFIG_MTD_PCI=y CONFIG_MTD_INTEL_VR_NOR=y CONFIG_MTD_PLATRAM=y # # Self-contained MTD device drivers # CONFIG_MTD_PMC551=y CONFIG_MTD_PMC551_BUGFIX=y CONFIG_MTD_PMC551_DEBUG=y CONFIG_MTD_DATAFLASH=y CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y CONFIG_MTD_DATAFLASH_OTP=y CONFIG_MTD_M25P80=y CONFIG_M25PXX_USE_FAST_READ=y CONFIG_MTD_SLRAM=y CONFIG_MTD_PHRAM=y CONFIG_MTD_MTDRAM=y CONFIG_MTDRAM_TOTAL_SIZE=4096 CONFIG_MTDRAM_ERASE_SIZE=128 CONFIG_MTDRAM_ABS_POS=0 CONFIG_MTD_BLOCK2MTD=y # # Disk-On-Chip Device Drivers # CONFIG_MTD_DOC2000=y CONFIG_MTD_DOC2001=y CONFIG_MTD_DOC2001PLUS=y CONFIG_MTD_DOCPROBE=y CONFIG_MTD_DOCECC=y CONFIG_MTD_DOCPROBE_ADVANCED=y CONFIG_MTD_DOCPROBE_ADDRESS=0x0000 CONFIG_MTD_DOCPROBE_HIGH=y CONFIG_MTD_DOCPROBE_55AA=y CONFIG_MTD_NAND=y CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_ECC_SMC=y CONFIG_MTD_NAND_MUSEUM_IDS=y CONFIG_MTD_NAND_IDS=y CONFIG_MTD_NAND_DISKONCHIP=y CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y CONFIG_MTD_NAND_CAFE=y CONFIG_MTD_NAND_CS553X=y CONFIG_MTD_NAND_NANDSIM=y CONFIG_MTD_NAND_PLATFORM=y CONFIG_MTD_ALAUDA=y CONFIG_MTD_ONENAND=y CONFIG_MTD_ONENAND_VERIFY_WRITE=y CONFIG_MTD_ONENAND_OTP=y CONFIG_MTD_ONENAND_2X_PROGRAM=y CONFIG_MTD_ONENAND_SIM=y # # UBI - Unsorted block images # CONFIG_MTD_UBI=y CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_RESERVE=1 CONFIG_MTD_UBI_GLUEBI=y # # UBI debugging options # CONFIG_MTD_UBI_DEBUG=y CONFIG_MTD_UBI_DEBUG_MSG=y CONFIG_MTD_UBI_DEBUG_PARANOID=y CONFIG_MTD_UBI_DEBUG_DISABLE_BGT=y CONFIG_MTD_UBI_DEBUG_USERSPACE_IO=y CONFIG_MTD_UBI_DEBUG_EMULATE_BITFLIPS=y CONFIG_MTD_UBI_DEBUG_EMULATE_WRITE_FAILURES=y CONFIG_MTD_UBI_DEBUG_EMULATE_ERASE_FAILURES=y # # Additional UBI debugging messages # CONFIG_MTD_UBI_DEBUG_MSG_BLD=y CONFIG_MTD_UBI_DEBUG_MSG_EBA=y CONFIG_MTD_UBI_DEBUG_MSG_WL=y CONFIG_MTD_UBI_DEBUG_MSG_IO=y CONFIG_PARPORT=y CONFIG_PARPORT_PC=y CONFIG_PARPORT_SERIAL=y CONFIG_PARPORT_PC_FIFO=y CONFIG_PARPORT_PC_SUPERIO=y CONFIG_PARPORT_PC_PCMCIA=y # CONFIG_PARPORT_GSC is not set CONFIG_PARPORT_AX88796=y CONFIG_PARPORT_1284=y CONFIG_PARPORT_NOT_PC=y CONFIG_PNP=y CONFIG_PNP_DEBUG_MESSAGES=y # # Protocols # CONFIG_ISAPNP=y CONFIG_PNPBIOS=y CONFIG_PNPBIOS_PROC_FS=y CONFIG_PNPACPI=y CONFIG_BLK_DEV=y CONFIG_BLK_DEV_FD=y CONFIG_BLK_DEV_XD=y CONFIG_PARIDE=y # # Parallel IDE high-level drivers # CONFIG_PARIDE_PD=y CONFIG_PARIDE_PCD=y CONFIG_PARIDE_PF=y CONFIG_PARIDE_PT=y CONFIG_PARIDE_PG=y # # Parallel IDE protocol modules # CONFIG_PARIDE_ATEN=y CONFIG_PARIDE_BPCK=y CONFIG_PARIDE_BPCK6=y CONFIG_PARIDE_COMM=y CONFIG_PARIDE_DSTR=y CONFIG_PARIDE_FIT2=y CONFIG_PARIDE_FIT3=y CONFIG_PARIDE_EPAT=y CONFIG_PARIDE_EPATC8=y CONFIG_PARIDE_EPIA=y CONFIG_PARIDE_FRIQ=y CONFIG_PARIDE_FRPW=y CONFIG_PARIDE_KBIC=y CONFIG_PARIDE_KTTI=y CONFIG_PARIDE_ON20=y CONFIG_PARIDE_ON26=y CONFIG_BLK_CPQ_DA=y CONFIG_BLK_CPQ_CISS_DA=y CONFIG_CISS_SCSI_TAPE=y CONFIG_BLK_DEV_DAC960=y CONFIG_BLK_DEV_UMEM=y # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=y CONFIG_BLK_DEV_NBD=y CONFIG_BLK_DEV_SX8=y CONFIG_BLK_DEV_UB=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_XIP=y CONFIG_CDROM_PKTCDVD=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD_WCACHE=y CONFIG_ATA_OVER_ETH=y CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_HD=y CONFIG_MISC_DEVICES=y CONFIG_IBM_ASM=y CONFIG_PHANTOM=y CONFIG_EEPROM_93CX6=y CONFIG_SGI_IOC4=y CONFIG_TIFM_CORE=y CONFIG_TIFM_7XX1=y CONFIG_ICS932S401=y CONFIG_ENCLOSURE_SERVICES=y CONFIG_HP_ILO=y CONFIG_C2PORT=y CONFIG_C2PORT_DURAMAR_2150=y CONFIG_HAVE_IDE=y CONFIG_IDE=y # # Please see Documentation/ide/ide.txt for help/info on IDE drives # CONFIG_IDE_TIMINGS=y CONFIG_IDE_ATAPI=y CONFIG_IDE_LEGACY=y CONFIG_BLK_DEV_IDE_SATA=y CONFIG_IDE_GD=y CONFIG_IDE_GD_ATA=y CONFIG_IDE_GD_ATAPI=y CONFIG_BLK_DEV_IDECS=y CONFIG_BLK_DEV_DELKIN=y CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y CONFIG_BLK_DEV_IDETAPE=y CONFIG_BLK_DEV_IDESCSI=y CONFIG_BLK_DEV_IDEACPI=y CONFIG_IDE_TASK_IOCTL=y CONFIG_IDE_PROC_FS=y # # IDE chipset support/bugfixes # CONFIG_IDE_GENERIC=y CONFIG_BLK_DEV_PLATFORM=y CONFIG_BLK_DEV_CMD640=y CONFIG_BLK_DEV_CMD640_ENHANCED=y CONFIG_BLK_DEV_IDEPNP=y CONFIG_BLK_DEV_IDEDMA_SFF=y # # PCI IDE chipsets support # CONFIG_BLK_DEV_IDEPCI=y CONFIG_IDEPCI_PCIBUS_ORDER=y CONFIG_BLK_DEV_OFFBOARD=y CONFIG_BLK_DEV_GENERIC=y CONFIG_BLK_DEV_OPTI621=y CONFIG_BLK_DEV_RZ1000=y CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_AEC62XX=y CONFIG_BLK_DEV_ALI15X3=y CONFIG_BLK_DEV_AMD74XX=y CONFIG_BLK_DEV_ATIIXP=y CONFIG_BLK_DEV_CMD64X=y CONFIG_BLK_DEV_TRIFLEX=y CONFIG_BLK_DEV_CS5520=y CONFIG_BLK_DEV_CS5530=y CONFIG_BLK_DEV_CS5535=y CONFIG_BLK_DEV_HPT366=y CONFIG_BLK_DEV_JMICRON=y CONFIG_BLK_DEV_SC1200=y CONFIG_BLK_DEV_PIIX=y CONFIG_BLK_DEV_IT8213=y CONFIG_BLK_DEV_IT821X=y CONFIG_BLK_DEV_NS87415=y CONFIG_BLK_DEV_PDC202XX_OLD=y CONFIG_BLK_DEV_PDC202XX_NEW=y CONFIG_BLK_DEV_SVWKS=y CONFIG_BLK_DEV_SIIMAGE=y CONFIG_BLK_DEV_SIS5513=y CONFIG_BLK_DEV_SLC90E66=y CONFIG_BLK_DEV_TRM290=y CONFIG_BLK_DEV_VIA82CXXX=y CONFIG_BLK_DEV_TC86C001=y # # Other IDE chipsets support # # # Note: most of these also require special kernel boot parameters # CONFIG_BLK_DEV_4DRIVES=y CONFIG_BLK_DEV_ALI14XX=y CONFIG_BLK_DEV_DTC2278=y CONFIG_BLK_DEV_HT6560B=y CONFIG_BLK_DEV_QD65XX=y CONFIG_BLK_DEV_UMC8672=y CONFIG_BLK_DEV_IDEDMA=y # # SCSI device support # CONFIG_RAID_ATTRS=y CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_TGT=y CONFIG_SCSI_NETLINK=y CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_ST=y CONFIG_CHR_DEV_OSST=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=y CONFIG_CHR_DEV_SCH=y CONFIG_SCSI_ENCLOSURE=y # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports # CONFIG_SCSI_SPI_ATTRS=y CONFIG_SCSI_FC_ATTRS=y CONFIG_SCSI_FC_TGT_ATTRS=y CONFIG_SCSI_ISCSI_ATTRS=y CONFIG_SCSI_SAS_ATTRS=y CONFIG_SCSI_SAS_LIBSAS=y CONFIG_SCSI_SAS_ATA=y CONFIG_SCSI_SAS_HOST_SMP=y CONFIG_SCSI_SAS_LIBSAS_DEBUG=y CONFIG_SCSI_SRP_ATTRS=y CONFIG_SCSI_SRP_TGT_ATTRS=y CONFIG_SCSI_LOWLEVEL=y CONFIG_ISCSI_TCP=y CONFIG_BLK_DEV_3W_XXXX_RAID=y CONFIG_SCSI_3W_9XXX=y CONFIG_SCSI_7000FASST=y CONFIG_SCSI_ACARD=y CONFIG_SCSI_AHA152X=y CONFIG_SCSI_AHA1542=y CONFIG_SCSI_AHA1740=y CONFIG_SCSI_AACRAID=y CONFIG_SCSI_AIC7XXX=y CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 CONFIG_AIC7XXX_RESET_DELAY_MS=5000 CONFIG_AIC7XXX_DEBUG_ENABLE=y CONFIG_AIC7XXX_DEBUG_MASK=0 CONFIG_AIC7XXX_REG_PRETTY_PRINT=y CONFIG_SCSI_AIC7XXX_OLD=y CONFIG_SCSI_AIC79XX=y CONFIG_AIC79XX_CMDS_PER_DEVICE=32 CONFIG_AIC79XX_RESET_DELAY_MS=5000 CONFIG_AIC79XX_DEBUG_ENABLE=y CONFIG_AIC79XX_DEBUG_MASK=0 CONFIG_AIC79XX_REG_PRETTY_PRINT=y CONFIG_SCSI_AIC94XX=y CONFIG_AIC94XX_DEBUG=y CONFIG_SCSI_DPT_I2O=y CONFIG_SCSI_ADVANSYS=y CONFIG_SCSI_IN2000=y CONFIG_SCSI_ARCMSR=y CONFIG_SCSI_ARCMSR_AER=y CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=y CONFIG_MEGARAID_MAILBOX=y CONFIG_MEGARAID_LEGACY=y CONFIG_MEGARAID_SAS=y CONFIG_SCSI_HPTIOP=y CONFIG_SCSI_BUSLOGIC=y CONFIG_SCSI_FLASHPOINT=y CONFIG_SCSI_DMX3191D=y CONFIG_SCSI_DTC3280=y CONFIG_SCSI_EATA=y CONFIG_SCSI_EATA_TAGGED_QUEUE=y CONFIG_SCSI_EATA_LINKED_COMMANDS=y CONFIG_SCSI_EATA_MAX_TAGS=16 CONFIG_SCSI_FUTURE_DOMAIN=y CONFIG_SCSI_FD_MCS=y CONFIG_SCSI_GDTH=y CONFIG_SCSI_GENERIC_NCR5380=y CONFIG_SCSI_GENERIC_NCR5380_MMIO=y CONFIG_SCSI_GENERIC_NCR53C400=y CONFIG_SCSI_IBMMCA=y CONFIG_IBMMCA_SCSI_ORDER_STANDARD=y CONFIG_IBMMCA_SCSI_DEV_RESET=y CONFIG_SCSI_IPS=y CONFIG_SCSI_INITIO=y CONFIG_SCSI_INIA100=y CONFIG_SCSI_PPA=y CONFIG_SCSI_IMM=y CONFIG_SCSI_IZIP_EPP16=y CONFIG_SCSI_IZIP_SLOW_CTR=y CONFIG_SCSI_MVSAS=y CONFIG_SCSI_NCR53C406A=y CONFIG_SCSI_NCR_D700=y CONFIG_SCSI_STEX=y CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 CONFIG_SCSI_SYM53C8XX_MMIO=y CONFIG_SCSI_IPR=y CONFIG_SCSI_IPR_TRACE=y CONFIG_SCSI_IPR_DUMP=y CONFIG_SCSI_NCR_Q720=y CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8 CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32 CONFIG_SCSI_NCR53C8XX_SYNC=20 CONFIG_SCSI_PAS16=y CONFIG_SCSI_QLOGIC_FAS=y CONFIG_SCSI_QLOGIC_1280=y CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA_ISCSI=y CONFIG_SCSI_LPFC=y CONFIG_SCSI_SIM710=y CONFIG_SCSI_SYM53C416=y CONFIG_SCSI_DC395x=y CONFIG_SCSI_DC390T=y CONFIG_SCSI_T128=y CONFIG_SCSI_U14_34F=y CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y CONFIG_SCSI_U14_34F_MAX_TAGS=8 CONFIG_SCSI_ULTRASTOR=y CONFIG_SCSI_NSP32=y CONFIG_SCSI_DEBUG=y CONFIG_SCSI_SRP=y CONFIG_SCSI_LOWLEVEL_PCMCIA=y CONFIG_PCMCIA_AHA152X=m CONFIG_PCMCIA_FDOMAIN=m CONFIG_PCMCIA_NINJA_SCSI=m CONFIG_PCMCIA_QLOGIC=m CONFIG_PCMCIA_SYM53C500=m CONFIG_SCSI_DH=y CONFIG_SCSI_DH_RDAC=y CONFIG_SCSI_DH_HP_SW=y CONFIG_SCSI_DH_EMC=y CONFIG_SCSI_DH_ALUA=y CONFIG_SCSI_OSD_INITIATOR=y CONFIG_SCSI_OSD_ULD=y CONFIG_SCSI_OSD_DEBUG=y CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_ACPI=y CONFIG_SATA_PMP=y CONFIG_SATA_AHCI=y CONFIG_SATA_SIL24=y CONFIG_ATA_SFF=y CONFIG_SATA_SVW=y CONFIG_ATA_PIIX=y CONFIG_SATA_MV=y CONFIG_SATA_NV=y CONFIG_PDC_ADMA=y CONFIG_SATA_QSTOR=y CONFIG_SATA_PROMISE=y CONFIG_SATA_SX4=y CONFIG_SATA_SIL=y CONFIG_SATA_SIS=y CONFIG_SATA_ULI=y CONFIG_SATA_VIA=y CONFIG_SATA_VITESSE=y CONFIG_SATA_INIC162X=y CONFIG_PATA_ACPI=y CONFIG_PATA_ALI=y CONFIG_PATA_AMD=y CONFIG_PATA_ARTOP=y CONFIG_PATA_ATIIXP=y CONFIG_PATA_CMD640_PCI=y CONFIG_PATA_CMD64X=y CONFIG_PATA_CS5520=y CONFIG_PATA_CS5530=y CONFIG_PATA_CS5535=y CONFIG_PATA_CS5536=y CONFIG_PATA_CYPRESS=y CONFIG_PATA_EFAR=y CONFIG_ATA_GENERIC=y CONFIG_PATA_HPT366=y CONFIG_PATA_HPT37X=y CONFIG_PATA_HPT3X2N=y CONFIG_PATA_HPT3X3=y CONFIG_PATA_HPT3X3_DMA=y CONFIG_PATA_ISAPNP=y CONFIG_PATA_IT821X=y CONFIG_PATA_IT8213=y CONFIG_PATA_JMICRON=y CONFIG_PATA_LEGACY=y CONFIG_PATA_TRIFLEX=y CONFIG_PATA_MARVELL=y CONFIG_PATA_MPIIX=y CONFIG_PATA_OLDPIIX=y CONFIG_PATA_NETCELL=y CONFIG_PATA_NINJA32=y CONFIG_PATA_NS87410=y CONFIG_PATA_NS87415=y CONFIG_PATA_OPTI=y CONFIG_PATA_OPTIDMA=y CONFIG_PATA_PCMCIA=y CONFIG_PATA_PDC_OLD=y CONFIG_PATA_QDI=y CONFIG_PATA_RADISYS=y CONFIG_PATA_RZ1000=y CONFIG_PATA_SC1200=y CONFIG_PATA_SERVERWORKS=y CONFIG_PATA_PDC2027X=y CONFIG_PATA_SIL680=y CONFIG_PATA_SIS=y CONFIG_PATA_VIA=y CONFIG_PATA_WINBOND=y CONFIG_PATA_WINBOND_VLB=y CONFIG_PATA_PLATFORM=y CONFIG_PATA_SCH=y CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_AUTODETECT=y CONFIG_MD_LINEAR=y CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y CONFIG_MD_RAID10=y CONFIG_MD_RAID456=y CONFIG_MD_RAID5_RESHAPE=y CONFIG_MD_MULTIPATH=y CONFIG_MD_FAULTY=y CONFIG_BLK_DEV_DM=y CONFIG_DM_DEBUG=y CONFIG_DM_CRYPT=y CONFIG_DM_SNAPSHOT=y CONFIG_DM_MIRROR=y CONFIG_DM_ZERO=y CONFIG_DM_MULTIPATH=y CONFIG_DM_DELAY=y CONFIG_DM_UEVENT=y CONFIG_FUSION=y CONFIG_FUSION_SPI=y CONFIG_FUSION_FC=y CONFIG_FUSION_SAS=y CONFIG_FUSION_MAX_SGE=128 CONFIG_FUSION_CTL=y CONFIG_FUSION_LAN=y CONFIG_FUSION_LOGGING=y # # IEEE 1394 (FireWire) support # # # Enable only one of the two stacks, unless you know what you are doing # CONFIG_FIREWIRE=y CONFIG_FIREWIRE_OHCI=y CONFIG_FIREWIRE_OHCI_DEBUG=y CONFIG_FIREWIRE_SBP2=y CONFIG_IEEE1394=y CONFIG_IEEE1394_OHCI1394=y CONFIG_IEEE1394_PCILYNX=y CONFIG_IEEE1394_SBP2=y CONFIG_IEEE1394_SBP2_PHYS_DMA=y CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y CONFIG_IEEE1394_ETH1394=y CONFIG_IEEE1394_RAWIO=y CONFIG_IEEE1394_VIDEO1394=y CONFIG_IEEE1394_DV1394=y CONFIG_IEEE1394_VERBOSEDEBUG=y CONFIG_I2O=y CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y CONFIG_I2O_EXT_ADAPTEC=y CONFIG_I2O_CONFIG=y CONFIG_I2O_CONFIG_OLD_IOCTL=y CONFIG_I2O_BUS=y CONFIG_I2O_BLOCK=y CONFIG_I2O_SCSI=y CONFIG_I2O_PROC=y CONFIG_MACINTOSH_DRIVERS=y CONFIG_MAC_EMUMOUSEBTN=y CONFIG_NETDEVICES=y CONFIG_IFB=y CONFIG_DUMMY=y CONFIG_BONDING=y CONFIG_MACVLAN=y CONFIG_EQUALIZER=y CONFIG_TUN=y CONFIG_VETH=y CONFIG_NET_SB1000=y CONFIG_ARCNET=y CONFIG_ARCNET_1201=y CONFIG_ARCNET_1051=y CONFIG_ARCNET_RAW=y CONFIG_ARCNET_CAP=y CONFIG_ARCNET_COM90xx=y CONFIG_ARCNET_COM90xxIO=y CONFIG_ARCNET_RIM_I=y CONFIG_ARCNET_COM20020=y CONFIG_ARCNET_COM20020_ISA=y CONFIG_ARCNET_COM20020_PCI=y CONFIG_PHYLIB=y # # MII PHY device drivers # CONFIG_MARVELL_PHY=y CONFIG_DAVICOM_PHY=y CONFIG_QSEMI_PHY=y CONFIG_LXT_PHY=y CONFIG_CICADA_PHY=y CONFIG_VITESSE_PHY=y CONFIG_SMSC_PHY=y CONFIG_BROADCOM_PHY=y CONFIG_ICPLUS_PHY=y CONFIG_REALTEK_PHY=y CONFIG_NATIONAL_PHY=y CONFIG_STE10XP=y CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=y CONFIG_MDIO_GPIO=y CONFIG_NET_ETHERNET=y CONFIG_MII=y CONFIG_HAPPYMEAL=y CONFIG_SUNGEM=y CONFIG_CASSINI=y CONFIG_NET_VENDOR_3COM=y CONFIG_EL1=y CONFIG_EL2=y CONFIG_ELPLUS=y CONFIG_EL16=y CONFIG_EL3=y CONFIG_3C515=y CONFIG_ELMC=y CONFIG_ELMC_II=y CONFIG_VORTEX=y CONFIG_TYPHOON=y CONFIG_LANCE=y CONFIG_NET_VENDOR_SMC=y CONFIG_WD80x3=y CONFIG_ULTRAMCA=y CONFIG_ULTRA=y CONFIG_ULTRA32=y CONFIG_SMC9194=y CONFIG_ENC28J60=y CONFIG_ENC28J60_WRITEVERIFY=y CONFIG_NET_VENDOR_RACAL=y CONFIG_NI52=y CONFIG_NI65=y CONFIG_NET_TULIP=y CONFIG_DE2104X=y CONFIG_TULIP=y CONFIG_TULIP_MWI=y CONFIG_TULIP_MMIO=y CONFIG_TULIP_NAPI=y CONFIG_TULIP_NAPI_HW_MITIGATION=y CONFIG_DE4X5=y CONFIG_WINBOND_840=y CONFIG_DM9102=y CONFIG_ULI526X=y CONFIG_PCMCIA_XIRCOM=y CONFIG_AT1700=y CONFIG_DEPCA=y CONFIG_HP100=y CONFIG_NET_ISA=y CONFIG_E2100=y CONFIG_EWRK3=y CONFIG_EEXPRESS=y CONFIG_EEXPRESS_PRO=y CONFIG_HPLAN_PLUS=y CONFIG_HPLAN=y CONFIG_LP486E=y CONFIG_ETH16I=y CONFIG_NE2000=y CONFIG_ZNET=y CONFIG_SEEQ8005=y CONFIG_NE2_MCA=y CONFIG_IBMLANA=y # CONFIG_IBM_NEW_EMAC_ZMII is not set # CONFIG_IBM_NEW_EMAC_RGMII is not set # CONFIG_IBM_NEW_EMAC_TAH is not set # CONFIG_IBM_NEW_EMAC_EMAC4 is not set # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set CONFIG_NET_PCI=y CONFIG_PCNET32=y CONFIG_AMD8111_ETH=y CONFIG_ADAPTEC_STARFIRE=y CONFIG_AC3200=y CONFIG_APRICOT=y CONFIG_B44=y CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y CONFIG_FORCEDETH=y CONFIG_FORCEDETH_NAPI=y CONFIG_CS89x0=y CONFIG_E100=y CONFIG_LNE390=y CONFIG_FEALNX=y CONFIG_NATSEMI=y CONFIG_NE2K_PCI=y CONFIG_NE3210=y CONFIG_ES3210=y CONFIG_8139CP=y CONFIG_8139TOO=y CONFIG_8139TOO_PIO=y CONFIG_8139TOO_TUNE_TWISTER=y CONFIG_8139TOO_8129=y CONFIG_8139_OLD_RX_RESET=y CONFIG_R6040=y CONFIG_SIS900=y CONFIG_EPIC100=y CONFIG_SUNDANCE=y CONFIG_SUNDANCE_MMIO=y CONFIG_TLAN=y CONFIG_VIA_RHINE=y CONFIG_VIA_RHINE_MMIO=y CONFIG_SC92031=y CONFIG_NET_POCKET=y CONFIG_ATP=y CONFIG_DE600=y CONFIG_DE620=y CONFIG_ATL2=y CONFIG_NETDEV_1000=y CONFIG_ACENIC=y CONFIG_ACENIC_OMIT_TIGON_I=y CONFIG_DL2K=y CONFIG_E1000=y CONFIG_E1000E=y CONFIG_IP1000=y CONFIG_IGB=y CONFIG_IGB_LRO=y CONFIG_IGB_DCA=y CONFIG_NS83820=y CONFIG_HAMACHI=y CONFIG_YELLOWFIN=y CONFIG_R8169=y CONFIG_R8169_VLAN=y CONFIG_SIS190=y CONFIG_SKGE=y CONFIG_SKGE_DEBUG=y CONFIG_SKY2=y CONFIG_SKY2_DEBUG=y CONFIG_VIA_VELOCITY=y CONFIG_TIGON3=y CONFIG_BNX2=y CONFIG_QLA3XXX=y CONFIG_ATL1=y CONFIG_ATL1E=y CONFIG_JME=y CONFIG_NETDEV_10000=y CONFIG_CHELSIO_T1=y CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T3=y CONFIG_ENIC=y CONFIG_IXGBE=y CONFIG_IXGBE_DCA=y CONFIG_IXGBE_DCB=y CONFIG_IXGB=y CONFIG_S2IO=y CONFIG_MYRI10GE=y CONFIG_MYRI10GE_DCA=y CONFIG_NETXEN_NIC=y CONFIG_NIU=y CONFIG_MLX4_EN=y CONFIG_MLX4_CORE=y CONFIG_MLX4_DEBUG=y CONFIG_TEHUTI=y CONFIG_BNX2X=y CONFIG_QLGE=y CONFIG_SFC=y CONFIG_SFC_MTD=y CONFIG_TR=y CONFIG_IBMTR=y CONFIG_IBMOL=y CONFIG_IBMLS=y CONFIG_3C359=y CONFIG_TMS380TR=y CONFIG_TMSPCI=y CONFIG_SKISA=y CONFIG_PROTEON=y CONFIG_ABYSS=y CONFIG_MADGEMC=y CONFIG_SMCTR=y # # Wireless LAN # CONFIG_WLAN_PRE80211=y CONFIG_STRIP=y CONFIG_ARLAN=y CONFIG_WAVELAN=y CONFIG_PCMCIA_WAVELAN=y CONFIG_PCMCIA_NETWAVE=y CONFIG_WLAN_80211=y CONFIG_PCMCIA_RAYCS=y CONFIG_LIBERTAS=y CONFIG_LIBERTAS_USB=y CONFIG_LIBERTAS_CS=y CONFIG_LIBERTAS_SDIO=y CONFIG_LIBERTAS_DEBUG=y CONFIG_LIBERTAS_THINFIRM=y CONFIG_LIBERTAS_THINFIRM_USB=y CONFIG_AIRO=y CONFIG_HERMES=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_PLX_HERMES=y CONFIG_TMD_HERMES=y CONFIG_NORTEL_HERMES=y CONFIG_PCI_HERMES=y CONFIG_PCMCIA_HERMES=y CONFIG_PCMCIA_SPECTRUM=y CONFIG_ATMEL=y CONFIG_PCI_ATMEL=y CONFIG_PCMCIA_ATMEL=y CONFIG_AIRO_CS=y CONFIG_PCMCIA_WL3501=y CONFIG_PRISM54=y CONFIG_USB_ZD1201=y CONFIG_USB_NET_RNDIS_WLAN=y CONFIG_RTL8180=y CONFIG_RTL8187=y CONFIG_ADM8211=y CONFIG_MAC80211_HWSIM=y CONFIG_P54_COMMON=y CONFIG_P54_USB=y CONFIG_P54_PCI=y CONFIG_ATH5K=y CONFIG_ATH5K_DEBUG=y CONFIG_ATH9K=y CONFIG_IPW2100=y CONFIG_IPW2100_MONITOR=y CONFIG_IPW2100_DEBUG=y CONFIG_IPW2200=y CONFIG_IPW2200_MONITOR=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y CONFIG_IPW2200_DEBUG=y CONFIG_LIBIPW=y CONFIG_LIBIPW_DEBUG=y CONFIG_IWLWIFI=y CONFIG_IWLCORE=y CONFIG_IWLWIFI_LEDS=y CONFIG_IWLWIFI_RFKILL=y CONFIG_IWLWIFI_DEBUG=y CONFIG_IWLWIFI_DEBUGFS=y CONFIG_IWLAGN=y CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y CONFIG_IWLAGN_LEDS=y CONFIG_IWL4965=y CONFIG_IWL5000=y CONFIG_IWL3945=y CONFIG_IWL3945_RFKILL=y CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y CONFIG_IWL3945_LEDS=y CONFIG_IWL3945_DEBUG=y CONFIG_HOSTAP=y CONFIG_HOSTAP_FIRMWARE=y CONFIG_HOSTAP_FIRMWARE_NVRAM=y CONFIG_HOSTAP_PLX=y CONFIG_HOSTAP_PCI=y CONFIG_HOSTAP_CS=y CONFIG_B43=y CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y CONFIG_B43_PCMCIA=y CONFIG_B43_PIO=y CONFIG_B43_LEDS=y CONFIG_B43_RFKILL=y CONFIG_B43_DEBUG=y CONFIG_B43_FORCE_PIO=y CONFIG_B43LEGACY=y CONFIG_B43LEGACY_PCI_AUTOSELECT=y CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y CONFIG_B43LEGACY_LEDS=y CONFIG_B43LEGACY_RFKILL=y CONFIG_B43LEGACY_DEBUG=y CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y # CONFIG_B43LEGACY_DMA_MODE is not set # CONFIG_B43LEGACY_PIO_MODE is not set CONFIG_ZD1211RW=y CONFIG_ZD1211RW_DEBUG=y CONFIG_RT2X00=y CONFIG_RT2400PCI=y CONFIG_RT2500PCI=y CONFIG_RT61PCI=y CONFIG_RT2500USB=y CONFIG_RT73USB=y CONFIG_RT2X00_LIB_PCI=y CONFIG_RT2X00_LIB_USB=y CONFIG_RT2X00_LIB=y CONFIG_RT2X00_LIB_FIRMWARE=y CONFIG_RT2X00_LIB_CRYPTO=y CONFIG_RT2X00_LIB_RFKILL=y CONFIG_RT2X00_LIB_LEDS=y CONFIG_RT2X00_LIB_DEBUGFS=y CONFIG_RT2X00_DEBUG=y # # USB Network Adapters # CONFIG_USB_CATC=y CONFIG_USB_KAWETH=y CONFIG_USB_PEGASUS=y CONFIG_USB_RTL8150=y CONFIG_USB_USBNET=y CONFIG_USB_NET_AX8817X=y CONFIG_USB_NET_CDCETHER=y CONFIG_USB_NET_DM9601=y CONFIG_USB_NET_SMSC95XX=y CONFIG_USB_NET_GL620A=y CONFIG_USB_NET_NET1080=y CONFIG_USB_NET_PLUSB=y CONFIG_USB_NET_MCS7830=y CONFIG_USB_NET_RNDIS_HOST=y CONFIG_USB_NET_CDC_SUBSET=y CONFIG_USB_ALI_M5632=y CONFIG_USB_AN2720=y CONFIG_USB_BELKIN=y CONFIG_USB_ARMLINUX=y CONFIG_USB_EPSON2888=y CONFIG_USB_KC2190=y CONFIG_USB_NET_ZAURUS=y CONFIG_USB_HSO=y CONFIG_NET_PCMCIA=y CONFIG_PCMCIA_3C589=y CONFIG_PCMCIA_3C574=y CONFIG_PCMCIA_FMVJ18X=y CONFIG_PCMCIA_PCNET=y CONFIG_PCMCIA_NMCLAN=y CONFIG_PCMCIA_SMC91C92=y CONFIG_PCMCIA_XIRC2PS=y CONFIG_PCMCIA_AXNET=y CONFIG_ARCNET_COM20020_CS=y CONFIG_WAN=y CONFIG_HOSTESS_SV11=m CONFIG_COSA=m CONFIG_LANMEDIA=y CONFIG_SEALEVEL_4021=m CONFIG_HDLC=y CONFIG_HDLC_RAW=y CONFIG_HDLC_RAW_ETH=y CONFIG_HDLC_CISCO=y CONFIG_HDLC_FR=y CONFIG_HDLC_PPP=y CONFIG_HDLC_X25=y CONFIG_PCI200SYN=y CONFIG_WANXL=y CONFIG_PC300TOO=y CONFIG_N2=y CONFIG_C101=y CONFIG_FARSYNC=y CONFIG_DSCC4=m CONFIG_DSCC4_PCISYNC=y CONFIG_DSCC4_PCI_RST=y CONFIG_DLCI=y CONFIG_DLCI_MAX=8 CONFIG_SDLA=y CONFIG_WAN_ROUTER_DRIVERS=y CONFIG_CYCLADES_SYNC=y CONFIG_CYCLOMX_X25=y CONFIG_LAPBETHER=y CONFIG_X25_ASY=y CONFIG_SBNI=y CONFIG_SBNI_MULTILINE=y CONFIG_ATM_DRIVERS=y CONFIG_ATM_DUMMY=y CONFIG_ATM_TCP=y CONFIG_ATM_LANAI=y CONFIG_ATM_ENI=y CONFIG_ATM_ENI_DEBUG=y CONFIG_ATM_ENI_TUNE_BURST=y CONFIG_ATM_ENI_BURST_TX_16W=y CONFIG_ATM_ENI_BURST_TX_8W=y CONFIG_ATM_ENI_BURST_TX_4W=y CONFIG_ATM_ENI_BURST_TX_2W=y CONFIG_ATM_ENI_BURST_RX_16W=y CONFIG_ATM_ENI_BURST_RX_8W=y CONFIG_ATM_ENI_BURST_RX_4W=y CONFIG_ATM_ENI_BURST_RX_2W=y CONFIG_ATM_FIRESTREAM=y CONFIG_ATM_ZATM=y CONFIG_ATM_ZATM_DEBUG=y CONFIG_ATM_NICSTAR=y CONFIG_ATM_NICSTAR_USE_SUNI=y CONFIG_ATM_NICSTAR_USE_IDT77105=y CONFIG_ATM_IDT77252=y CONFIG_ATM_IDT77252_DEBUG=y CONFIG_ATM_IDT77252_RCV_ALL=y CONFIG_ATM_IDT77252_USE_SUNI=y CONFIG_ATM_AMBASSADOR=y CONFIG_ATM_AMBASSADOR_DEBUG=y CONFIG_ATM_HORIZON=y CONFIG_ATM_HORIZON_DEBUG=y CONFIG_ATM_IA=y CONFIG_ATM_IA_DEBUG=y CONFIG_ATM_FORE200E=y CONFIG_ATM_FORE200E_USE_TASKLET=y CONFIG_ATM_FORE200E_TX_RETRY=16 CONFIG_ATM_FORE200E_DEBUG=0 CONFIG_ATM_HE=y CONFIG_ATM_HE_USE_SUNI=y CONFIG_FDDI=y CONFIG_DEFXX=y CONFIG_DEFXX_MMIO=y CONFIG_SKFP=y CONFIG_HIPPI=y CONFIG_ROADRUNNER=y CONFIG_ROADRUNNER_LARGE_RINGS=y CONFIG_PLIP=y CONFIG_PPP=y CONFIG_PPP_MULTILINK=y CONFIG_PPP_FILTER=y CONFIG_PPP_ASYNC=y CONFIG_PPP_SYNC_TTY=y CONFIG_PPP_DEFLATE=y CONFIG_PPP_BSDCOMP=y CONFIG_PPP_MPPE=y CONFIG_PPPOE=y CONFIG_PPPOATM=y CONFIG_PPPOL2TP=y CONFIG_SLIP=y CONFIG_SLIP_COMPRESSED=y CONFIG_SLHC=y CONFIG_SLIP_SMART=y CONFIG_SLIP_MODE_SLIP6=y CONFIG_NET_FC=y CONFIG_NETCONSOLE=y CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y CONFIG_VIRTIO_NET=y CONFIG_ISDN=y CONFIG_MISDN=y CONFIG_MISDN_DSP=y CONFIG_MISDN_L1OIP=y # # mISDN hardware drivers # CONFIG_MISDN_HFCPCI=y CONFIG_MISDN_HFCMULTI=y CONFIG_ISDN_I4L=y CONFIG_ISDN_PPP=y CONFIG_ISDN_PPP_VJ=y CONFIG_ISDN_MPP=y CONFIG_IPPP_FILTER=y CONFIG_ISDN_PPP_BSDCOMP=y CONFIG_ISDN_AUDIO=y CONFIG_ISDN_TTY_FAX=y CONFIG_ISDN_X25=y # # ISDN feature submodules # CONFIG_ISDN_DIVERSION=y # # ISDN4Linux hardware drivers # # # Passive cards # CONFIG_ISDN_DRV_HISAX=y # # D-channel protocol features # CONFIG_HISAX_EURO=y CONFIG_DE_AOC=y CONFIG_HISAX_NO_SENDCOMPLETE=y CONFIG_HISAX_NO_LLC=y CONFIG_HISAX_NO_KEYPAD=y CONFIG_HISAX_1TR6=y CONFIG_HISAX_NI1=y CONFIG_HISAX_MAX_CARDS=8 # # HiSax supported cards # CONFIG_HISAX_16_0=y CONFIG_HISAX_16_3=y CONFIG_HISAX_TELESPCI=y CONFIG_HISAX_S0BOX=y CONFIG_HISAX_AVM_A1=y CONFIG_HISAX_FRITZPCI=y CONFIG_HISAX_AVM_A1_PCMCIA=y CONFIG_HISAX_ELSA=y CONFIG_HISAX_IX1MICROR2=y CONFIG_HISAX_DIEHLDIVA=y CONFIG_HISAX_ASUSCOM=y CONFIG_HISAX_TELEINT=y CONFIG_HISAX_HFCS=y CONFIG_HISAX_SEDLBAUER=y CONFIG_HISAX_SPORTSTER=y CONFIG_HISAX_MIC=y CONFIG_HISAX_NETJET=y CONFIG_HISAX_NETJET_U=y CONFIG_HISAX_NICCY=y CONFIG_HISAX_ISURF=y CONFIG_HISAX_HSTSAPHIR=y CONFIG_HISAX_BKM_A4T=y CONFIG_HISAX_SCT_QUADRO=y CONFIG_HISAX_GAZEL=y CONFIG_HISAX_HFC_PCI=y CONFIG_HISAX_W6692=y CONFIG_HISAX_HFC_SX=y CONFIG_HISAX_ENTERNOW_PCI=y CONFIG_HISAX_DEBUG=y # # HiSax PCMCIA card service modules # CONFIG_HISAX_SEDLBAUER_CS=y CONFIG_HISAX_ELSA_CS=y CONFIG_HISAX_AVM_A1_CS=y CONFIG_HISAX_TELES_CS=y # # HiSax sub driver modules # CONFIG_HISAX_ST5481=y CONFIG_HISAX_HFCUSB=y CONFIG_HISAX_HFC4S8S=y CONFIG_HISAX_FRITZ_PCIPNP=y CONFIG_HISAX_HDLC=y # # Active cards # CONFIG_ISDN_DRV_ICN=y CONFIG_ISDN_DRV_PCBIT=y CONFIG_ISDN_DRV_SC=y CONFIG_ISDN_DRV_ACT2000=y CONFIG_HYSDN=m CONFIG_HYSDN_CAPI=y CONFIG_ISDN_DRV_GIGASET=y CONFIG_GIGASET_BASE=y CONFIG_GIGASET_M105=y CONFIG_GIGASET_M101=y CONFIG_GIGASET_DEBUG=y CONFIG_GIGASET_UNDOCREQ=y CONFIG_ISDN_CAPI=y CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y CONFIG_CAPI_TRACE=y CONFIG_ISDN_CAPI_MIDDLEWARE=y CONFIG_ISDN_CAPI_CAPI20=y CONFIG_ISDN_CAPI_CAPIFS_BOOL=y CONFIG_ISDN_CAPI_CAPIFS=y CONFIG_ISDN_CAPI_CAPIDRV=y # # CAPI hardware drivers # CONFIG_CAPI_AVM=y CONFIG_ISDN_DRV_AVMB1_B1ISA=y CONFIG_ISDN_DRV_AVMB1_B1PCI=y CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y CONFIG_ISDN_DRV_AVMB1_T1ISA=y CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=y CONFIG_ISDN_DRV_AVMB1_AVM_CS=y CONFIG_ISDN_DRV_AVMB1_T1PCI=y CONFIG_ISDN_DRV_AVMB1_C4=y CONFIG_CAPI_EICON=y CONFIG_ISDN_DIVAS=y CONFIG_ISDN_DIVAS_BRIPCI=y CONFIG_ISDN_DIVAS_PRIPCI=y CONFIG_ISDN_DIVAS_DIVACAPI=y CONFIG_ISDN_DIVAS_USERIDI=y CONFIG_ISDN_DIVAS_MAINT=m CONFIG_PHONE=y CONFIG_PHONE_IXJ=y CONFIG_PHONE_IXJ_PCMCIA=y # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_POLLDEV=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_JOYDEV=y CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVBUG=y # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_SUNKBD=y CONFIG_KEYBOARD_LKKBD=y CONFIG_KEYBOARD_XTKBD=y CONFIG_KEYBOARD_NEWTON=y CONFIG_KEYBOARD_STOWAWAY=y CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_MOUSE_PS2_TOUCHKIT=y CONFIG_MOUSE_PS2_OLPC=y CONFIG_MOUSE_SERIAL=y CONFIG_MOUSE_APPLETOUCH=y CONFIG_MOUSE_BCM5974=y CONFIG_MOUSE_INPORT=y CONFIG_MOUSE_ATIXL=y CONFIG_MOUSE_LOGIBM=y CONFIG_MOUSE_PC110PAD=y CONFIG_MOUSE_VSXXXAA=y CONFIG_MOUSE_GPIO=y CONFIG_INPUT_JOYSTICK=y CONFIG_JOYSTICK_ANALOG=y CONFIG_JOYSTICK_A3D=y CONFIG_JOYSTICK_ADI=y CONFIG_JOYSTICK_COBRA=y CONFIG_JOYSTICK_GF2K=y CONFIG_JOYSTICK_GRIP=y CONFIG_JOYSTICK_GRIP_MP=y CONFIG_JOYSTICK_GUILLEMOT=y CONFIG_JOYSTICK_INTERACT=y CONFIG_JOYSTICK_SIDEWINDER=y CONFIG_JOYSTICK_TMDC=y CONFIG_JOYSTICK_IFORCE=y CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_IFORCE_232=y CONFIG_JOYSTICK_WARRIOR=y CONFIG_JOYSTICK_MAGELLAN=y CONFIG_JOYSTICK_SPACEORB=y CONFIG_JOYSTICK_SPACEBALL=y CONFIG_JOYSTICK_STINGER=y CONFIG_JOYSTICK_TWIDJOY=y CONFIG_JOYSTICK_ZHENHUA=y CONFIG_JOYSTICK_DB9=y CONFIG_JOYSTICK_GAMECON=y CONFIG_JOYSTICK_TURBOGRAFX=y CONFIG_JOYSTICK_JOYDUMP=y CONFIG_JOYSTICK_XPAD=y CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=y CONFIG_TABLET_USB_AIPTEK=y CONFIG_TABLET_USB_GTCO=y CONFIG_TABLET_USB_KBTAB=y CONFIG_TABLET_USB_WACOM=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=y CONFIG_TOUCHSCREEN_FUJITSU=y CONFIG_TOUCHSCREEN_GUNZE=y CONFIG_TOUCHSCREEN_ELO=y CONFIG_TOUCHSCREEN_MTOUCH=y CONFIG_TOUCHSCREEN_INEXIO=y CONFIG_TOUCHSCREEN_MK712=y CONFIG_TOUCHSCREEN_HTCPEN=y CONFIG_TOUCHSCREEN_PENMOUNT=y CONFIG_TOUCHSCREEN_TOUCHRIGHT=y CONFIG_TOUCHSCREEN_TOUCHWIN=y CONFIG_TOUCHSCREEN_UCB1400=y CONFIG_TOUCHSCREEN_WM97XX=y CONFIG_TOUCHSCREEN_WM9705=y CONFIG_TOUCHSCREEN_WM9712=y CONFIG_TOUCHSCREEN_WM9713=y CONFIG_TOUCHSCREEN_USB_COMPOSITE=y CONFIG_TOUCHSCREEN_USB_EGALAX=y CONFIG_TOUCHSCREEN_USB_PANJIT=y CONFIG_TOUCHSCREEN_USB_3M=y CONFIG_TOUCHSCREEN_USB_ITM=y CONFIG_TOUCHSCREEN_USB_ETURBO=y CONFIG_TOUCHSCREEN_USB_GUNZE=y CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y CONFIG_TOUCHSCREEN_USB_IRTOUCH=y CONFIG_TOUCHSCREEN_USB_IDEALTEK=y CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y CONFIG_TOUCHSCREEN_USB_GOTOP=y CONFIG_TOUCHSCREEN_TOUCHIT213=y CONFIG_INPUT_MISC=y CONFIG_INPUT_PCSPKR=y CONFIG_INPUT_APANEL=y CONFIG_INPUT_WISTRON_BTNS=y CONFIG_INPUT_ATLAS_BTNS=y CONFIG_INPUT_ATI_REMOTE=y CONFIG_INPUT_ATI_REMOTE2=y CONFIG_INPUT_KEYSPAN_REMOTE=y CONFIG_INPUT_POWERMATE=y CONFIG_INPUT_YEALINK=y CONFIG_INPUT_CM109=y CONFIG_INPUT_UINPUT=y # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y CONFIG_SERIO_CT82C710=y CONFIG_SERIO_PARKBD=y CONFIG_SERIO_PCIPS2=y CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=y CONFIG_GAMEPORT=y CONFIG_GAMEPORT_NS558=y CONFIG_GAMEPORT_L4=y CONFIG_GAMEPORT_EMU10K1=y CONFIG_GAMEPORT_FM801=y # # Character devices # CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_DEVKMEM=y CONFIG_SERIAL_NONSTANDARD=y CONFIG_COMPUTONE=y CONFIG_ROCKETPORT=y CONFIG_CYCLADES=y CONFIG_CYZ_INTR=y CONFIG_DIGIEPCA=y CONFIG_MOXA_INTELLIO=y CONFIG_MOXA_SMARTIO=y CONFIG_ISI=y CONFIG_SYNCLINK=y CONFIG_SYNCLINKMP=y CONFIG_SYNCLINK_GT=y CONFIG_N_HDLC=y CONFIG_RISCOM8=y CONFIG_SPECIALIX=y CONFIG_SX=y CONFIG_RIO=y CONFIG_RIO_OLDPCI=y CONFIG_STALDRV=y CONFIG_STALLION=y CONFIG_ISTALLION=y CONFIG_NOZOMI=y # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_PNP=y CONFIG_SERIAL_8250_CS=y CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_FOURPORT=y CONFIG_SERIAL_8250_ACCENT=y CONFIG_SERIAL_8250_BOCA=y CONFIG_SERIAL_8250_EXAR_ST16C554=y CONFIG_SERIAL_8250_HUB6=y CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DETECT_IRQ=y CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_MCA=y # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_CONSOLE_POLL=y CONFIG_SERIAL_JSM=y CONFIG_UNIX98_PTYS=y CONFIG_DEVPTS_MULTIPLE_INSTANCES=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 CONFIG_PRINTER=y CONFIG_LP_CONSOLE=y CONFIG_PPDEV=y CONFIG_HVC_DRIVER=y CONFIG_VIRTIO_CONSOLE=y CONFIG_IPMI_HANDLER=y CONFIG_IPMI_PANIC_EVENT=y CONFIG_IPMI_PANIC_STRING=y CONFIG_IPMI_DEVICE_INTERFACE=y CONFIG_IPMI_SI=y CONFIG_IPMI_WATCHDOG=y CONFIG_IPMI_POWEROFF=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_INTEL=y CONFIG_HW_RANDOM_AMD=y CONFIG_HW_RANDOM_GEODE=y CONFIG_HW_RANDOM_VIA=y CONFIG_HW_RANDOM_VIRTIO=y CONFIG_NVRAM=y CONFIG_DTLK=y CONFIG_R3964=y CONFIG_APPLICOM=y CONFIG_SONYPI=y # # PCMCIA character devices # CONFIG_SYNCLINK_CS=y CONFIG_CARDMAN_4000=y CONFIG_CARDMAN_4040=y CONFIG_IPWIRELESS=y CONFIG_MWAVE=y CONFIG_SCx200_GPIO=y CONFIG_PC8736x_GPIO=y CONFIG_NSC_GPIO=y CONFIG_CS5535_GPIO=y CONFIG_RAW_DRIVER=y CONFIG_MAX_RAW_DEVS=256 CONFIG_HPET=y CONFIG_HPET_MMAP=y CONFIG_HANGCHECK_TIMER=y CONFIG_TCG_TPM=y CONFIG_TCG_TIS=y CONFIG_TCG_NSC=y CONFIG_TCG_ATMEL=y CONFIG_TCG_INFINEON=y CONFIG_TELCLOCK=y CONFIG_DEVPORT=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOPCA=y # # I2C Hardware Bus support # # # PC SMBus host controller drivers # CONFIG_I2C_ALI1535=y CONFIG_I2C_ALI1563=y CONFIG_I2C_ALI15X3=y CONFIG_I2C_AMD756=y CONFIG_I2C_AMD756_S4882=y CONFIG_I2C_AMD8111=y CONFIG_I2C_I801=y CONFIG_I2C_ISCH=y CONFIG_I2C_PIIX4=y CONFIG_I2C_NFORCE2=y CONFIG_I2C_NFORCE2_S4985=y CONFIG_I2C_SIS5595=y CONFIG_I2C_SIS630=y CONFIG_I2C_SIS96X=y CONFIG_I2C_VIA=y CONFIG_I2C_VIAPRO=y # # I2C system bus drivers (mostly embedded / system-on-chip) # CONFIG_I2C_GPIO=y CONFIG_I2C_OCORES=y CONFIG_I2C_SIMTEC=y # # External I2C/SMBus adapter drivers # CONFIG_I2C_PARPORT=y CONFIG_I2C_PARPORT_LIGHT=y CONFIG_I2C_TAOS_EVM=y CONFIG_I2C_TINY_USB=y # # Graphics adapter I2C/DDC channel drivers # CONFIG_I2C_VOODOO3=y # # Other I2C/SMBus bus drivers # CONFIG_I2C_PCA_ISA=y CONFIG_I2C_PCA_PLATFORM=y CONFIG_I2C_STUB=m CONFIG_SCx200_I2C=y CONFIG_SCx200_I2C_SCL=12 CONFIG_SCx200_I2C_SDA=13 CONFIG_SCx200_ACB=y # # Miscellaneous I2C Chip support # CONFIG_DS1682=y CONFIG_AT24=y CONFIG_SENSORS_EEPROM=y CONFIG_SENSORS_PCF8591=y CONFIG_TPS65010=y CONFIG_SENSORS_MAX6875=y CONFIG_SENSORS_TSL2550=y CONFIG_I2C_DEBUG_CORE=y CONFIG_I2C_DEBUG_ALGO=y CONFIG_I2C_DEBUG_BUS=y CONFIG_I2C_DEBUG_CHIP=y CONFIG_SPI=y CONFIG_SPI_DEBUG=y CONFIG_SPI_MASTER=y # # SPI Master Controller Drivers # CONFIG_SPI_BITBANG=y CONFIG_SPI_BUTTERFLY=y CONFIG_SPI_LM70_LLP=y # # SPI Protocol Masters # CONFIG_SPI_AT25=y CONFIG_SPI_SPIDEV=y CONFIG_SPI_TLE62X0=y CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y CONFIG_DEBUG_GPIO=y CONFIG_GPIO_SYSFS=y # # Memory mapped GPIO expanders: # # # I2C GPIO expanders: # CONFIG_GPIO_MAX732X=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCF857X=y CONFIG_GPIO_TWL4030=y # # PCI GPIO expanders: # # # SPI GPIO expanders: # CONFIG_GPIO_MAX7301=y CONFIG_GPIO_MCP23S08=y CONFIG_W1=y CONFIG_W1_CON=y # # 1-wire Bus Masters # CONFIG_W1_MASTER_MATROX=y CONFIG_W1_MASTER_DS2490=y CONFIG_W1_MASTER_DS2482=y CONFIG_W1_MASTER_GPIO=y # # 1-wire Slaves # CONFIG_W1_SLAVE_THERM=y CONFIG_W1_SLAVE_SMEM=y CONFIG_W1_SLAVE_DS2433=y CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2760=y CONFIG_W1_SLAVE_BQ27000=y CONFIG_POWER_SUPPLY=y CONFIG_POWER_SUPPLY_DEBUG=y CONFIG_PDA_POWER=y CONFIG_WM8350_POWER=y CONFIG_BATTERY_DS2760=y CONFIG_BATTERY_OLPC=y CONFIG_BATTERY_WM97XX=y CONFIG_BATTERY_BQ27x00=y CONFIG_HWMON=y CONFIG_HWMON_VID=y CONFIG_SENSORS_ABITUGURU=y CONFIG_SENSORS_ABITUGURU3=y CONFIG_SENSORS_AD7414=y CONFIG_SENSORS_AD7418=y CONFIG_SENSORS_ADCXX=y CONFIG_SENSORS_ADM1021=y CONFIG_SENSORS_ADM1025=y CONFIG_SENSORS_ADM1026=y CONFIG_SENSORS_ADM1029=y CONFIG_SENSORS_ADM1031=y CONFIG_SENSORS_ADM9240=y CONFIG_SENSORS_ADT7462=y CONFIG_SENSORS_ADT7470=y CONFIG_SENSORS_ADT7473=y CONFIG_SENSORS_K8TEMP=y CONFIG_SENSORS_ASB100=y CONFIG_SENSORS_ATXP1=y CONFIG_SENSORS_DS1621=y CONFIG_SENSORS_I5K_AMB=y CONFIG_SENSORS_F71805F=y CONFIG_SENSORS_F71882FG=y CONFIG_SENSORS_F75375S=y CONFIG_SENSORS_FSCHER=y CONFIG_SENSORS_FSCPOS=y CONFIG_SENSORS_FSCHMD=y CONFIG_SENSORS_GL518SM=y CONFIG_SENSORS_GL520SM=y CONFIG_SENSORS_CORETEMP=y CONFIG_SENSORS_IBMAEM=y CONFIG_SENSORS_IBMPEX=y CONFIG_SENSORS_IT87=y CONFIG_SENSORS_LM63=y CONFIG_SENSORS_LM70=y CONFIG_SENSORS_LM75=y CONFIG_SENSORS_LM77=y CONFIG_SENSORS_LM78=y CONFIG_SENSORS_LM80=y CONFIG_SENSORS_LM83=y CONFIG_SENSORS_LM85=y CONFIG_SENSORS_LM87=y CONFIG_SENSORS_LM90=y CONFIG_SENSORS_LM92=y CONFIG_SENSORS_LM93=y CONFIG_SENSORS_LTC4245=y CONFIG_SENSORS_MAX1111=y CONFIG_SENSORS_MAX1619=y CONFIG_SENSORS_MAX6650=y CONFIG_SENSORS_PC87360=y CONFIG_SENSORS_PC87427=y CONFIG_SENSORS_SIS5595=y CONFIG_SENSORS_DME1737=y CONFIG_SENSORS_SMSC47M1=y CONFIG_SENSORS_SMSC47M192=y CONFIG_SENSORS_SMSC47B397=y CONFIG_SENSORS_ADS7828=y CONFIG_SENSORS_THMC50=y CONFIG_SENSORS_VIA686A=y CONFIG_SENSORS_VT1211=y CONFIG_SENSORS_VT8231=y CONFIG_SENSORS_W83781D=y CONFIG_SENSORS_W83791D=y CONFIG_SENSORS_W83792D=y CONFIG_SENSORS_W83793=y CONFIG_SENSORS_W83L785TS=y CONFIG_SENSORS_W83L786NG=y CONFIG_SENSORS_W83627HF=y CONFIG_SENSORS_W83627EHF=y CONFIG_SENSORS_HDAPS=y CONFIG_SENSORS_LIS3LV02D=y CONFIG_SENSORS_APPLESMC=y CONFIG_HWMON_DEBUG_CHIP=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_WATCHDOG=y CONFIG_WATCHDOG_NOWAYOUT=y # # Watchdog Device Drivers # CONFIG_SOFT_WATCHDOG=y CONFIG_WM8350_WATCHDOG=y CONFIG_ACQUIRE_WDT=y CONFIG_ADVANTECH_WDT=y CONFIG_ALIM1535_WDT=y CONFIG_ALIM7101_WDT=y CONFIG_SC520_WDT=y CONFIG_EUROTECH_WDT=y CONFIG_IB700_WDT=y CONFIG_IBMASR=y CONFIG_WAFER_WDT=y CONFIG_I6300ESB_WDT=y CONFIG_ITCO_WDT=y CONFIG_ITCO_VENDOR_SUPPORT=y CONFIG_IT8712F_WDT=y CONFIG_IT87_WDT=y CONFIG_HP_WATCHDOG=y CONFIG_SC1200_WDT=y CONFIG_SCx200_WDT=y CONFIG_PC87413_WDT=y CONFIG_RDC321X_WDT=y CONFIG_60XX_WDT=y CONFIG_SBC8360_WDT=y CONFIG_SBC7240_WDT=y CONFIG_CPU5_WDT=y CONFIG_SMSC_SCH311X_WDT=y CONFIG_SMSC37B787_WDT=y CONFIG_W83627HF_WDT=y CONFIG_W83697HF_WDT=y CONFIG_W83697UG_WDT=y CONFIG_W83877F_WDT=y CONFIG_W83977F_WDT=y CONFIG_MACHZ_WDT=y CONFIG_SBC_EPX_C3_WATCHDOG=y # # ISA-based Watchdog Cards # CONFIG_PCWATCHDOG=y CONFIG_MIXCOMWD=y CONFIG_WDT=y CONFIG_WDT_501=y # # PCI-based Watchdog Cards # CONFIG_PCIPCWATCHDOG=y CONFIG_WDTPCI=y CONFIG_WDT_501_PCI=y # # USB-based Watchdog Cards # CONFIG_USBPCWATCHDOG=y CONFIG_SSB_POSSIBLE=y # # Sonics Silicon Backplane # CONFIG_SSB=y CONFIG_SSB_SPROM=y CONFIG_SSB_BLOCKIO=y CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y CONFIG_SSB_B43_PCI_BRIDGE=y CONFIG_SSB_PCMCIAHOST_POSSIBLE=y CONFIG_SSB_PCMCIAHOST=y CONFIG_SSB_SILENT=y CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y # # Multifunction device drivers # # CONFIG_MFD_CORE is not set CONFIG_MFD_SM501=y CONFIG_MFD_SM501_GPIO=y CONFIG_HTC_PASIC3=y CONFIG_UCB1400_CORE=y CONFIG_TWL4030_CORE=y # CONFIG_MFD_TMIO is not set CONFIG_PMIC_DA903X=y CONFIG_MFD_WM8400=y CONFIG_MFD_WM8350=y CONFIG_MFD_WM8350_I2C=y CONFIG_REGULATOR=y CONFIG_REGULATOR_DEBUG=y # CONFIG_REGULATOR_FIXED_VOLTAGE is not set CONFIG_REGULATOR_VIRTUAL_CONSUMER=y CONFIG_REGULATOR_BQ24022=y CONFIG_REGULATOR_WM8350=y CONFIG_REGULATOR_WM8400=y CONFIG_REGULATOR_DA903X=y # # Multimedia devices # # # Multimedia core support # CONFIG_VIDEO_DEV=y CONFIG_VIDEO_V4L2_COMMON=y CONFIG_VIDEO_ALLOW_V4L1=y CONFIG_VIDEO_V4L1_COMPAT=y CONFIG_DVB_CORE=y CONFIG_VIDEO_MEDIA=y # # Multimedia drivers # CONFIG_VIDEO_SAA7146=y CONFIG_VIDEO_SAA7146_VV=y CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_TUNER=y CONFIG_MEDIA_TUNER_CUSTOMIZE=y CONFIG_MEDIA_TUNER_SIMPLE=y CONFIG_MEDIA_TUNER_TDA8290=y CONFIG_MEDIA_TUNER_TDA827X=y CONFIG_MEDIA_TUNER_TDA18271=y CONFIG_MEDIA_TUNER_TDA9887=y CONFIG_MEDIA_TUNER_TEA5761=y CONFIG_MEDIA_TUNER_TEA5767=y CONFIG_MEDIA_TUNER_MT20XX=y CONFIG_MEDIA_TUNER_MT2060=y CONFIG_MEDIA_TUNER_MT2266=y CONFIG_MEDIA_TUNER_MT2131=y CONFIG_MEDIA_TUNER_QT1010=y CONFIG_MEDIA_TUNER_XC2028=y CONFIG_MEDIA_TUNER_XC5000=y CONFIG_MEDIA_TUNER_MXL5005S=y CONFIG_MEDIA_TUNER_MXL5007T=y CONFIG_VIDEO_V4L2=y CONFIG_VIDEO_V4L1=y CONFIG_VIDEOBUF_GEN=y CONFIG_VIDEOBUF_DMA_SG=y CONFIG_VIDEOBUF_VMALLOC=y CONFIG_VIDEOBUF_DVB=y CONFIG_VIDEO_BTCX=y CONFIG_VIDEO_IR=y CONFIG_VIDEO_TVEEPROM=y CONFIG_VIDEO_TUNER=y CONFIG_VIDEO_CAPTURE_DRIVERS=y CONFIG_VIDEO_ADV_DEBUG=y CONFIG_VIDEO_FIXED_MINOR_RANGES=y CONFIG_VIDEO_HELPER_CHIPS_AUTO=y CONFIG_VIDEO_IR_I2C=y CONFIG_VIDEO_TVAUDIO=y CONFIG_VIDEO_TDA7432=y CONFIG_VIDEO_TDA9840=y CONFIG_VIDEO_TDA9875=y CONFIG_VIDEO_TEA6415C=y CONFIG_VIDEO_TEA6420=y CONFIG_VIDEO_MSP3400=y CONFIG_VIDEO_CS5345=y CONFIG_VIDEO_CS53L32A=y CONFIG_VIDEO_M52790=y CONFIG_VIDEO_WM8775=y CONFIG_VIDEO_WM8739=y CONFIG_VIDEO_VP27SMPX=y CONFIG_VIDEO_BT819=y CONFIG_VIDEO_BT856=y CONFIG_VIDEO_KS0127=y CONFIG_VIDEO_OV7670=y CONFIG_VIDEO_SAA7110=y CONFIG_VIDEO_SAA7111=y CONFIG_VIDEO_SAA7114=y CONFIG_VIDEO_SAA711X=y CONFIG_VIDEO_SAA717X=y CONFIG_VIDEO_TVP5150=y CONFIG_VIDEO_VPX3220=y CONFIG_VIDEO_CX25840=y CONFIG_VIDEO_CX2341X=y CONFIG_VIDEO_SAA7127=y CONFIG_VIDEO_SAA7185=y CONFIG_VIDEO_ADV7170=y CONFIG_VIDEO_ADV7175=y CONFIG_VIDEO_UPD64031A=y CONFIG_VIDEO_UPD64083=y CONFIG_VIDEO_VIVI=y CONFIG_VIDEO_BT848=y CONFIG_VIDEO_BT848_DVB=y CONFIG_VIDEO_SAA6588=y CONFIG_VIDEO_PMS=y CONFIG_VIDEO_BWQCAM=y CONFIG_VIDEO_CQCAM=y CONFIG_VIDEO_W9966=y CONFIG_VIDEO_CPIA=y CONFIG_VIDEO_CPIA_PP=y CONFIG_VIDEO_CPIA_USB=y CONFIG_VIDEO_CPIA2=y CONFIG_VIDEO_SAA5246A=y CONFIG_VIDEO_SAA5249=y CONFIG_VIDEO_STRADIS=y CONFIG_VIDEO_ZORAN=y CONFIG_VIDEO_ZORAN_DC30=y CONFIG_VIDEO_ZORAN_ZR36060=y CONFIG_VIDEO_ZORAN_BUZ=y CONFIG_VIDEO_ZORAN_DC10=y CONFIG_VIDEO_ZORAN_LML33=y CONFIG_VIDEO_ZORAN_LML33R10=y CONFIG_VIDEO_ZORAN_AVS6EYES=y CONFIG_VIDEO_MEYE=y CONFIG_VIDEO_SAA7134=y CONFIG_VIDEO_SAA7134_ALSA=y CONFIG_VIDEO_SAA7134_DVB=y CONFIG_VIDEO_MXB=y CONFIG_VIDEO_HEXIUM_ORION=y CONFIG_VIDEO_HEXIUM_GEMINI=y CONFIG_VIDEO_CX88=y CONFIG_VIDEO_CX88_ALSA=y CONFIG_VIDEO_CX88_BLACKBIRD=y CONFIG_VIDEO_CX88_DVB=y CONFIG_VIDEO_CX88_VP3054=y CONFIG_VIDEO_CX23885=y CONFIG_VIDEO_AU0828=y CONFIG_VIDEO_IVTV=y CONFIG_VIDEO_FB_IVTV=y CONFIG_VIDEO_CX18=y CONFIG_VIDEO_CAFE_CCIC=y CONFIG_SOC_CAMERA=y CONFIG_SOC_CAMERA_MT9M001=y CONFIG_MT9M001_PCA9536_SWITCH=y CONFIG_SOC_CAMERA_MT9M111=y CONFIG_SOC_CAMERA_MT9V022=y CONFIG_MT9V022_PCA9536_SWITCH=y CONFIG_SOC_CAMERA_PLATFORM=y CONFIG_V4L_USB_DRIVERS=y CONFIG_USB_VIDEO_CLASS=y CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y CONFIG_USB_GSPCA=y CONFIG_USB_M5602=y CONFIG_USB_GSPCA_CONEX=y CONFIG_USB_GSPCA_ETOMS=y CONFIG_USB_GSPCA_FINEPIX=y CONFIG_USB_GSPCA_MARS=y CONFIG_USB_GSPCA_OV519=y CONFIG_USB_GSPCA_PAC207=y CONFIG_USB_GSPCA_PAC7311=y CONFIG_USB_GSPCA_SONIXB=y CONFIG_USB_GSPCA_SONIXJ=y CONFIG_USB_GSPCA_SPCA500=y CONFIG_USB_GSPCA_SPCA501=y CONFIG_USB_GSPCA_SPCA505=y CONFIG_USB_GSPCA_SPCA506=y CONFIG_USB_GSPCA_SPCA508=y CONFIG_USB_GSPCA_SPCA561=y CONFIG_USB_GSPCA_STK014=y CONFIG_USB_GSPCA_SUNPLUS=y CONFIG_USB_GSPCA_T613=y CONFIG_USB_GSPCA_TV8532=y CONFIG_USB_GSPCA_VC032X=y CONFIG_USB_GSPCA_ZC3XX=y CONFIG_VIDEO_PVRUSB2=y CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y CONFIG_VIDEO_EM28XX=y CONFIG_VIDEO_EM28XX_ALSA=y CONFIG_VIDEO_EM28XX_DVB=y CONFIG_VIDEO_USBVISION=y CONFIG_VIDEO_USBVIDEO=y CONFIG_USB_VICAM=y CONFIG_USB_IBMCAM=y CONFIG_USB_KONICAWC=y CONFIG_USB_QUICKCAM_MESSENGER=y CONFIG_USB_ET61X251=y CONFIG_VIDEO_OVCAMCHIP=y CONFIG_USB_W9968CF=y CONFIG_USB_OV511=y CONFIG_USB_SE401=y CONFIG_USB_SN9C102=y CONFIG_USB_STV680=y CONFIG_USB_ZC0301=y CONFIG_USB_PWC=y CONFIG_USB_PWC_DEBUG=y CONFIG_USB_ZR364XX=y CONFIG_USB_STKWEBCAM=y CONFIG_USB_S2255=y CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_CADET=y CONFIG_RADIO_RTRACK=y CONFIG_RADIO_RTRACK_PORT=20f CONFIG_RADIO_RTRACK2=y CONFIG_RADIO_RTRACK2_PORT=30c CONFIG_RADIO_AZTECH=y CONFIG_RADIO_AZTECH_PORT=350 CONFIG_RADIO_GEMTEK=y CONFIG_RADIO_GEMTEK_PORT=34c CONFIG_RADIO_GEMTEK_PROBE=y CONFIG_RADIO_GEMTEK_PCI=y CONFIG_RADIO_MAXIRADIO=y CONFIG_RADIO_MAESTRO=y CONFIG_RADIO_SF16FMI=y CONFIG_RADIO_SF16FMR2=y CONFIG_RADIO_TERRATEC=y CONFIG_RADIO_TERRATEC_PORT=590 CONFIG_RADIO_TRUST=y CONFIG_RADIO_TRUST_PORT=350 CONFIG_RADIO_TYPHOON=y CONFIG_RADIO_TYPHOON_PROC_FS=y CONFIG_RADIO_TYPHOON_PORT=316 CONFIG_RADIO_TYPHOON_MUTEFREQ=87500 CONFIG_RADIO_ZOLTRIX=y CONFIG_RADIO_ZOLTRIX_PORT=20c CONFIG_USB_DSBR=y CONFIG_USB_SI470X=y CONFIG_USB_MR800=y CONFIG_DVB_CAPTURE_DRIVERS=y # # Supported SAA7146 based PCI Adapters # CONFIG_TTPCI_EEPROM=y CONFIG_DVB_AV7110=y CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=y CONFIG_DVB_BUDGET=y CONFIG_DVB_BUDGET_CI=y CONFIG_DVB_BUDGET_AV=y CONFIG_DVB_BUDGET_PATCH=y # # Supported USB Adapters # CONFIG_DVB_USB=y CONFIG_DVB_USB_DEBUG=y CONFIG_DVB_USB_A800=y CONFIG_DVB_USB_DIBUSB_MB=y CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y CONFIG_DVB_USB_DIBUSB_MC=y CONFIG_DVB_USB_DIB0700=y CONFIG_DVB_USB_UMT_010=y CONFIG_DVB_USB_CXUSB=y CONFIG_DVB_USB_M920X=y CONFIG_DVB_USB_GL861=y CONFIG_DVB_USB_AU6610=y CONFIG_DVB_USB_DIGITV=y CONFIG_DVB_USB_VP7045=y CONFIG_DVB_USB_VP702X=y CONFIG_DVB_USB_GP8PSK=y CONFIG_DVB_USB_NOVA_T_USB2=y CONFIG_DVB_USB_TTUSB2=y CONFIG_DVB_USB_DTT200U=y CONFIG_DVB_USB_OPERA1=y CONFIG_DVB_USB_AF9005=y CONFIG_DVB_USB_AF9005_REMOTE=y CONFIG_DVB_USB_DW2102=y CONFIG_DVB_USB_CINERGY_T2=y CONFIG_DVB_USB_ANYSEE=y CONFIG_DVB_USB_DTV5100=y CONFIG_DVB_USB_AF9015=y CONFIG_DVB_TTUSB_BUDGET=y CONFIG_DVB_TTUSB_DEC=y CONFIG_DVB_SIANO_SMS1XXX=y CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y # # Supported FlexCopII (B2C2) Adapters # CONFIG_DVB_B2C2_FLEXCOP=y CONFIG_DVB_B2C2_FLEXCOP_PCI=y CONFIG_DVB_B2C2_FLEXCOP_USB=y CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y # # Supported BT878 Adapters # CONFIG_DVB_BT8XX=y # # Supported Pluto2 Adapters # CONFIG_DVB_PLUTO2=y # # Supported SDMC DM1105 Adapters # CONFIG_DVB_DM1105=y CONFIG_DVB_FIREDTV=y # # Supported DVB Frontends # # # Customise DVB Frontends # CONFIG_DVB_FE_CUSTOMISE=y # # DVB-S (satellite) frontends # CONFIG_DVB_CX24110=y CONFIG_DVB_CX24123=y CONFIG_DVB_MT312=y CONFIG_DVB_S5H1420=y CONFIG_DVB_STV0288=y CONFIG_DVB_STB6000=y CONFIG_DVB_STV0299=y CONFIG_DVB_TDA8083=y CONFIG_DVB_TDA10086=y CONFIG_DVB_VES1X93=y CONFIG_DVB_TUNER_ITD1000=y CONFIG_DVB_TDA826X=y CONFIG_DVB_TUA6100=y CONFIG_DVB_CX24116=y CONFIG_DVB_SI21XX=y # # DVB-T (terrestrial) frontends # CONFIG_DVB_SP8870=y CONFIG_DVB_SP887X=y CONFIG_DVB_CX22700=y CONFIG_DVB_CX22702=y CONFIG_DVB_DRX397XD=y CONFIG_DVB_L64781=y CONFIG_DVB_TDA1004X=y CONFIG_DVB_NXT6000=y CONFIG_DVB_MT352=y CONFIG_DVB_ZL10353=y CONFIG_DVB_DIB3000MB=y CONFIG_DVB_DIB3000MC=y CONFIG_DVB_DIB7000M=y CONFIG_DVB_DIB7000P=y CONFIG_DVB_TDA10048=y # # DVB-C (cable) frontends # CONFIG_DVB_VES1820=y CONFIG_DVB_TDA10021=y CONFIG_DVB_TDA10023=y CONFIG_DVB_STV0297=y # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # CONFIG_DVB_NXT200X=y CONFIG_DVB_OR51211=y CONFIG_DVB_OR51132=y CONFIG_DVB_BCM3510=y CONFIG_DVB_LGDT330X=y CONFIG_DVB_S5H1409=y CONFIG_DVB_AU8522=y CONFIG_DVB_S5H1411=y # # Digital terrestrial only tuners/PLL # CONFIG_DVB_PLL=y CONFIG_DVB_TUNER_DIB0070=y # # SEC control devices for DVB-S # CONFIG_DVB_LNBP21=y CONFIG_DVB_ISL6405=y CONFIG_DVB_ISL6421=y CONFIG_DVB_LGS8GL5=y # # Tools to develop new frontends # CONFIG_DVB_DUMMY_FE=y CONFIG_DVB_AF9013=y CONFIG_DAB=y CONFIG_USB_DABUSB=y # # Graphics support # CONFIG_AGP=y CONFIG_AGP_ALI=y CONFIG_AGP_ATI=y CONFIG_AGP_AMD=y CONFIG_AGP_AMD64=y CONFIG_AGP_INTEL=y CONFIG_AGP_NVIDIA=y CONFIG_AGP_SIS=y CONFIG_AGP_SWORKS=y CONFIG_AGP_VIA=y CONFIG_AGP_EFFICEON=y CONFIG_DRM=y CONFIG_DRM_TDFX=y CONFIG_DRM_R128=y CONFIG_DRM_RADEON=y CONFIG_DRM_I810=y CONFIG_DRM_I830=y # CONFIG_DRM_I915 is not set CONFIG_DRM_MGA=y CONFIG_DRM_SIS=y CONFIG_DRM_VIA=y CONFIG_DRM_SAVAGE=y CONFIG_VGASTATE=y CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y CONFIG_FIRMWARE_EDID=y CONFIG_FB_DDC=y CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set CONFIG_FB_SYS_FILLRECT=y CONFIG_FB_SYS_COPYAREA=y CONFIG_FB_SYS_IMAGEBLIT=y CONFIG_FB_FOREIGN_ENDIAN=y CONFIG_FB_BOTH_ENDIAN=y # CONFIG_FB_BIG_ENDIAN is not set # CONFIG_FB_LITTLE_ENDIAN is not set CONFIG_FB_SYS_FOPS=y CONFIG_FB_DEFERRED_IO=y CONFIG_FB_HECUBA=y CONFIG_FB_SVGALIB=y # CONFIG_FB_MACMODES is not set CONFIG_FB_BACKLIGHT=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # CONFIG_FB_CIRRUS=y CONFIG_FB_PM2=y CONFIG_FB_PM2_FIFO_DISCONNECT=y CONFIG_FB_CYBER2000=y CONFIG_FB_ARC=y CONFIG_FB_ASILIANT=y CONFIG_FB_IMSTT=y CONFIG_FB_VGA16=y CONFIG_FB_UVESA=y CONFIG_FB_VESA=y CONFIG_FB_EFI=y CONFIG_FB_N411=y CONFIG_FB_HGA=y CONFIG_FB_HGA_ACCEL=y CONFIG_FB_S1D13XXX=y CONFIG_FB_NVIDIA=y CONFIG_FB_NVIDIA_I2C=y CONFIG_FB_NVIDIA_DEBUG=y CONFIG_FB_NVIDIA_BACKLIGHT=y CONFIG_FB_RIVA=y CONFIG_FB_RIVA_I2C=y CONFIG_FB_RIVA_DEBUG=y CONFIG_FB_RIVA_BACKLIGHT=y CONFIG_FB_I810=y CONFIG_FB_I810_GTF=y CONFIG_FB_I810_I2C=y CONFIG_FB_LE80578=y CONFIG_FB_CARILLO_RANCH=y CONFIG_FB_INTEL=y CONFIG_FB_INTEL_DEBUG=y CONFIG_FB_INTEL_I2C=y CONFIG_FB_MATROX=y CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=y CONFIG_FB_MATROX_MAVEN=y CONFIG_FB_MATROX_MULTIHEAD=y CONFIG_FB_RADEON=y CONFIG_FB_RADEON_I2C=y CONFIG_FB_RADEON_BACKLIGHT=y CONFIG_FB_RADEON_DEBUG=y CONFIG_FB_ATY128=y CONFIG_FB_ATY128_BACKLIGHT=y CONFIG_FB_ATY=y CONFIG_FB_ATY_CT=y CONFIG_FB_ATY_GENERIC_LCD=y CONFIG_FB_ATY_GX=y CONFIG_FB_ATY_BACKLIGHT=y CONFIG_FB_S3=y CONFIG_FB_SAVAGE=y CONFIG_FB_SAVAGE_I2C=y CONFIG_FB_SAVAGE_ACCEL=y CONFIG_FB_SIS=y CONFIG_FB_SIS_300=y CONFIG_FB_SIS_315=y CONFIG_FB_VIA=y CONFIG_FB_NEOMAGIC=y CONFIG_FB_KYRO=y CONFIG_FB_3DFX=y CONFIG_FB_3DFX_ACCEL=y CONFIG_FB_VOODOO1=y CONFIG_FB_VT8623=y CONFIG_FB_CYBLA=y CONFIG_FB_TRIDENT=y CONFIG_FB_TRIDENT_ACCEL=y CONFIG_FB_ARK=y CONFIG_FB_PM3=y CONFIG_FB_CARMINE=y CONFIG_FB_CARMINE_DRAM_EVAL=y # CONFIG_CARMINE_DRAM_CUSTOM is not set CONFIG_FB_GEODE=y CONFIG_FB_GEODE_LX=y CONFIG_FB_GEODE_GX=y CONFIG_FB_GEODE_GX1=y CONFIG_FB_SM501=y CONFIG_FB_VIRTUAL=y CONFIG_FB_METRONOME=y CONFIG_FB_MB862XX=y CONFIG_FB_MB862XX_PCI_GDC=y CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_LTV350QV=y CONFIG_LCD_ILI9320=y CONFIG_LCD_TDO24M=y CONFIG_LCD_VGG2432A4=y CONFIG_LCD_PLATFORM=y CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_CORGI=y CONFIG_BACKLIGHT_PROGEAR=y CONFIG_BACKLIGHT_CARILLO_RANCH=y CONFIG_BACKLIGHT_DA903X=y CONFIG_BACKLIGHT_MBP_NVIDIA=y CONFIG_BACKLIGHT_SAHARA=y # # Display device support # CONFIG_DISPLAY_SUPPORT=y # # Display hardware drivers # # # Console display driver support # CONFIG_VGA_CONSOLE=y CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 CONFIG_MDA_CONSOLE=y CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y CONFIG_FONTS=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y CONFIG_FONT_6x11=y CONFIG_FONT_7x14=y CONFIG_FONT_PEARL_8x8=y CONFIG_FONT_ACORN_8x8=y CONFIG_FONT_MINI_4x6=y CONFIG_FONT_SUN8x16=y CONFIG_FONT_SUN12x22=y CONFIG_FONT_10x18=y CONFIG_LOGO=y CONFIG_LOGO_LINUX_MONO=y CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_CLUT224=y CONFIG_SOUND=y CONFIG_SOUND_OSS_CORE=y CONFIG_SND=y CONFIG_SND_TIMER=y CONFIG_SND_PCM=y CONFIG_SND_HWDEP=y CONFIG_SND_RAWMIDI=y CONFIG_SND_JACK=y CONFIG_SND_SEQUENCER=y CONFIG_SND_SEQ_DUMMY=y CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=y CONFIG_SND_PCM_OSS=y CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_SEQUENCER_OSS=y CONFIG_SND_HRTIMER=y CONFIG_SND_SEQ_HRTIMER_DEFAULT=y CONFIG_SND_DYNAMIC_MINORS=y CONFIG_SND_SUPPORT_OLD_API=y CONFIG_SND_VERBOSE_PROCFS=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y CONFIG_SND_DEBUG_VERBOSE=y CONFIG_SND_PCM_XRUN_DEBUG=y CONFIG_SND_VMASTER=y CONFIG_SND_MPU401_UART=y CONFIG_SND_OPL3_LIB=y CONFIG_SND_OPL4_LIB=y CONFIG_SND_VX_LIB=y CONFIG_SND_AC97_CODEC=y CONFIG_SND_DRIVERS=y CONFIG_SND_PCSP=y CONFIG_SND_DUMMY=y CONFIG_SND_VIRMIDI=y CONFIG_SND_MTPAV=y CONFIG_SND_MTS64=y CONFIG_SND_SERIAL_U16550=y CONFIG_SND_MPU401=y CONFIG_SND_PORTMAN2X4=y CONFIG_SND_AC97_POWER_SAVE=y CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 CONFIG_SND_WSS_LIB=y CONFIG_SND_SB_COMMON=y CONFIG_SND_SB8_DSP=y CONFIG_SND_SB16_DSP=y CONFIG_SND_ISA=y CONFIG_SND_ADLIB=y CONFIG_SND_AD1816A=y CONFIG_SND_AD1848=y CONFIG_SND_ALS100=y CONFIG_SND_AZT2320=y CONFIG_SND_CMI8330=y CONFIG_SND_CS4231=y CONFIG_SND_CS4232=y CONFIG_SND_CS4236=y CONFIG_SND_DT019X=y CONFIG_SND_ES968=y CONFIG_SND_ES1688=y CONFIG_SND_ES18XX=y CONFIG_SND_SC6000=y CONFIG_SND_GUSCLASSIC=y CONFIG_SND_GUSEXTREME=y CONFIG_SND_GUSMAX=y CONFIG_SND_INTERWAVE=y CONFIG_SND_INTERWAVE_STB=y CONFIG_SND_OPL3SA2=y CONFIG_SND_OPTI92X_AD1848=y CONFIG_SND_OPTI92X_CS4231=y CONFIG_SND_OPTI93X=y CONFIG_SND_MIRO=y CONFIG_SND_SB8=y CONFIG_SND_SB16=y CONFIG_SND_SBAWE=y CONFIG_SND_SB16_CSP=y CONFIG_SND_SGALAXY=y CONFIG_SND_SSCAPE=y CONFIG_SND_WAVEFRONT=y CONFIG_SND_PCI=y CONFIG_SND_AD1889=y CONFIG_SND_ALS300=y CONFIG_SND_ALS4000=y CONFIG_SND_ALI5451=y CONFIG_SND_ATIIXP=y CONFIG_SND_ATIIXP_MODEM=y CONFIG_SND_AU8810=y CONFIG_SND_AU8820=y CONFIG_SND_AU8830=y CONFIG_SND_AW2=y CONFIG_SND_AZT3328=y CONFIG_SND_BT87X=y CONFIG_SND_BT87X_OVERCLOCK=y CONFIG_SND_CA0106=y CONFIG_SND_CMIPCI=y CONFIG_SND_OXYGEN_LIB=y CONFIG_SND_OXYGEN=y CONFIG_SND_CS4281=y CONFIG_SND_CS46XX=y CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=y CONFIG_SND_CS5535AUDIO=y CONFIG_SND_DARLA20=y CONFIG_SND_GINA20=y CONFIG_SND_LAYLA20=y CONFIG_SND_DARLA24=y CONFIG_SND_GINA24=y CONFIG_SND_LAYLA24=y CONFIG_SND_MONA=y CONFIG_SND_MIA=y CONFIG_SND_ECHO3G=y CONFIG_SND_INDIGO=y CONFIG_SND_INDIGOIO=y CONFIG_SND_INDIGODJ=y CONFIG_SND_EMU10K1=y CONFIG_SND_EMU10K1X=y CONFIG_SND_ENS1370=y CONFIG_SND_ENS1371=y CONFIG_SND_ES1938=y CONFIG_SND_ES1968=y CONFIG_SND_FM801=y CONFIG_SND_FM801_TEA575X_BOOL=y CONFIG_SND_FM801_TEA575X=y CONFIG_SND_HDA_INTEL=y CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_CODEC_REALTEK=y CONFIG_SND_HDA_CODEC_ANALOG=y CONFIG_SND_HDA_CODEC_SIGMATEL=y CONFIG_SND_HDA_CODEC_VIA=y CONFIG_SND_HDA_CODEC_ATIHDMI=y CONFIG_SND_HDA_CODEC_NVHDMI=y CONFIG_SND_HDA_CODEC_INTELHDMI=y CONFIG_SND_HDA_ELD=y CONFIG_SND_HDA_CODEC_CONEXANT=y CONFIG_SND_HDA_CODEC_CMEDIA=y CONFIG_SND_HDA_CODEC_SI3054=y CONFIG_SND_HDA_GENERIC=y CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_HDSP=y CONFIG_SND_HDSPM=y CONFIG_SND_HIFIER=y CONFIG_SND_ICE1712=y CONFIG_SND_ICE1724=y CONFIG_SND_INTEL8X0=y CONFIG_SND_INTEL8X0M=y CONFIG_SND_KORG1212=y CONFIG_SND_MAESTRO3=y CONFIG_SND_MIXART=y CONFIG_SND_NM256=y CONFIG_SND_PCXHR=y CONFIG_SND_RIPTIDE=y CONFIG_SND_RME32=y CONFIG_SND_RME96=y CONFIG_SND_RME9652=y CONFIG_SND_SIS7019=y CONFIG_SND_SONICVIBES=y CONFIG_SND_TRIDENT=y CONFIG_SND_VIA82XX=y CONFIG_SND_VIA82XX_MODEM=y CONFIG_SND_VIRTUOSO=y CONFIG_SND_VX222=y CONFIG_SND_YMFPCI=y CONFIG_SND_SPI=y CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=y CONFIG_SND_USB_USX2Y=y CONFIG_SND_USB_CAIAQ=y CONFIG_SND_USB_CAIAQ_INPUT=y CONFIG_SND_USB_US122L=y CONFIG_SND_PCMCIA=y CONFIG_SND_VXPOCKET=y CONFIG_SND_PDAUDIOCF=y CONFIG_SND_SOC=y CONFIG_SND_SOC_ALL_CODECS=y CONFIG_SND_SOC_AD73311=y CONFIG_SND_SOC_AK4535=y CONFIG_SND_SOC_CS4270=y CONFIG_SND_SOC_L3=y CONFIG_SND_SOC_PCM3008=y CONFIG_SND_SOC_SSM2602=y CONFIG_SND_SOC_TLV320AIC23=y CONFIG_SND_SOC_TLV320AIC26=y CONFIG_SND_SOC_TLV320AIC3X=y CONFIG_SND_SOC_TWL4030=y CONFIG_SND_SOC_UDA134X=y CONFIG_SND_SOC_UDA1380=y CONFIG_SND_SOC_WM8510=y CONFIG_SND_SOC_WM8580=y CONFIG_SND_SOC_WM8728=y CONFIG_SND_SOC_WM8731=y CONFIG_SND_SOC_WM8750=y CONFIG_SND_SOC_WM8753=y CONFIG_SND_SOC_WM8900=y CONFIG_SND_SOC_WM8903=y CONFIG_SND_SOC_WM8971=y CONFIG_SND_SOC_WM8990=y CONFIG_SOUND_PRIME=y CONFIG_SOUND_MSNDCLAS=m CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" CONFIG_SOUND_MSNDPIN=m CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" CONFIG_SOUND_OSS=y CONFIG_SOUND_TRACEINIT=y CONFIG_SOUND_DMAP=y CONFIG_SOUND_SSCAPE=y CONFIG_SOUND_VMIDI=y CONFIG_SOUND_TRIX=y CONFIG_SOUND_MSS=y CONFIG_SOUND_MPU401=y CONFIG_SOUND_PAS=y CONFIG_PAS_JOYSTICK=y CONFIG_SOUND_PSS=y CONFIG_PSS_MIXER=y CONFIG_SOUND_SB=y CONFIG_SOUND_YM3812=y CONFIG_SOUND_UART6850=y CONFIG_SOUND_AEDSP16=y CONFIG_SC6600=y CONFIG_SC6600_JOY=y CONFIG_SC6600_CDROM=4 CONFIG_SC6600_CDROMBASE=0 CONFIG_SOUND_KAHLUA=y CONFIG_AC97_BUS=y CONFIG_HID_SUPPORT=y CONFIG_HID=y CONFIG_HID_DEBUG=y CONFIG_HIDRAW=y # # USB Input Devices # CONFIG_USB_HID=y CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y # # Special HID drivers # CONFIG_HID_COMPAT=y CONFIG_HID_A4TECH=y CONFIG_HID_APPLE=y CONFIG_HID_BELKIN=y CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y CONFIG_HID_CYPRESS=y CONFIG_HID_EZKEY=y CONFIG_HID_GYRATION=y CONFIG_HID_LOGITECH=y CONFIG_LOGITECH_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_HID_MICROSOFT=y CONFIG_HID_MONTEREY=y CONFIG_HID_NTRIG=y CONFIG_HID_PANTHERLORD=y CONFIG_PANTHERLORD_FF=y CONFIG_HID_PETALYNX=y CONFIG_HID_SAMSUNG=y CONFIG_HID_SONY=y CONFIG_HID_SUNPLUS=y CONFIG_THRUSTMASTER_FF=y CONFIG_ZEROPLUS_FF=y CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_USB=y CONFIG_USB_DEBUG=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y # # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICE_CLASS=y CONFIG_USB_DYNAMIC_MINORS=y CONFIG_USB_SUSPEND=y # CONFIG_USB_OTG is not set CONFIG_USB_OTG_WHITELIST=y CONFIG_USB_OTG_BLACKLIST_HUB=y CONFIG_USB_MON=y CONFIG_USB_WUSB=y CONFIG_USB_WUSB_CBAF=y CONFIG_USB_WUSB_CBAF_DEBUG=y # # USB Host Controller Drivers # CONFIG_USB_C67X00_HCD=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y CONFIG_USB_OXU210HP_HCD=y CONFIG_USB_ISP116X_HCD=y CONFIG_USB_ISP1760_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_SSB=y # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_UHCI_HCD=y CONFIG_USB_U132_HCD=y CONFIG_USB_SL811_HCD=y CONFIG_USB_SL811_CS=y CONFIG_USB_R8A66597_HCD=y CONFIG_USB_WHCI_HCD=y CONFIG_USB_HWA_HCD=y # CONFIG_USB_GADGET_MUSB_HDRC is not set # # USB Device Class drivers # CONFIG_USB_ACM=y CONFIG_USB_PRINTER=y CONFIG_USB_WDM=y CONFIG_USB_TMC=y # # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; # # # see USB_STORAGE Help for more information # CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_DEBUG=y CONFIG_USB_STORAGE_DATAFAB=y CONFIG_USB_STORAGE_FREECOM=y CONFIG_USB_STORAGE_ISD200=y CONFIG_USB_STORAGE_DPCM=y CONFIG_USB_STORAGE_USBAT=y CONFIG_USB_STORAGE_SDDR09=y CONFIG_USB_STORAGE_SDDR55=y CONFIG_USB_STORAGE_JUMPSHOT=y CONFIG_USB_STORAGE_ALAUDA=y CONFIG_USB_STORAGE_ONETOUCH=y CONFIG_USB_STORAGE_KARMA=y # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set CONFIG_USB_LIBUSUAL=y # # USB Imaging devices # CONFIG_USB_MDC800=y CONFIG_USB_MICROTEK=y # # USB port drivers # CONFIG_USB_USS720=y CONFIG_USB_SERIAL=y CONFIG_USB_SERIAL_CONSOLE=y CONFIG_USB_EZUSB=y CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_AIRCABLE=y CONFIG_USB_SERIAL_ARK3116=y CONFIG_USB_SERIAL_BELKIN=y CONFIG_USB_SERIAL_CH341=y CONFIG_USB_SERIAL_WHITEHEAT=y CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y CONFIG_USB_SERIAL_CP2101=y CONFIG_USB_SERIAL_CYPRESS_M8=y CONFIG_USB_SERIAL_EMPEG=y CONFIG_USB_SERIAL_FTDI_SIO=y CONFIG_USB_SERIAL_FUNSOFT=y CONFIG_USB_SERIAL_VISOR=y CONFIG_USB_SERIAL_IPAQ=y CONFIG_USB_SERIAL_IR=y CONFIG_USB_SERIAL_EDGEPORT=y CONFIG_USB_SERIAL_EDGEPORT_TI=y CONFIG_USB_SERIAL_GARMIN=y CONFIG_USB_SERIAL_IPW=y CONFIG_USB_SERIAL_IUU=y CONFIG_USB_SERIAL_KEYSPAN_PDA=y CONFIG_USB_SERIAL_KEYSPAN=y CONFIG_USB_SERIAL_KEYSPAN_MPR=y CONFIG_USB_SERIAL_KEYSPAN_USA28=y CONFIG_USB_SERIAL_KEYSPAN_USA28X=y CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y CONFIG_USB_SERIAL_KEYSPAN_USA19=y CONFIG_USB_SERIAL_KEYSPAN_USA18X=y CONFIG_USB_SERIAL_KEYSPAN_USA19W=y CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y CONFIG_USB_SERIAL_KEYSPAN_USA49W=y CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y CONFIG_USB_SERIAL_KLSI=y CONFIG_USB_SERIAL_KOBIL_SCT=y CONFIG_USB_SERIAL_MCT_U232=y CONFIG_USB_SERIAL_MOS7720=y CONFIG_USB_SERIAL_MOS7840=y CONFIG_USB_SERIAL_MOTOROLA=y CONFIG_USB_SERIAL_NAVMAN=y CONFIG_USB_SERIAL_PL2303=y CONFIG_USB_SERIAL_OTI6858=y CONFIG_USB_SERIAL_SPCP8X5=y CONFIG_USB_SERIAL_HP4X=y CONFIG_USB_SERIAL_SAFE=y CONFIG_USB_SERIAL_SAFE_PADDED=y CONFIG_USB_SERIAL_SIERRAWIRELESS=y CONFIG_USB_SERIAL_TI=y CONFIG_USB_SERIAL_CYBERJACK=y CONFIG_USB_SERIAL_XIRCOM=y CONFIG_USB_SERIAL_OPTION=y CONFIG_USB_SERIAL_OMNINET=y CONFIG_USB_SERIAL_OPTICON=y CONFIG_USB_SERIAL_DEBUG=y # # USB Miscellaneous drivers # CONFIG_USB_EMI62=y CONFIG_USB_EMI26=y CONFIG_USB_ADUTUX=y CONFIG_USB_SEVSEG=y CONFIG_USB_RIO500=y CONFIG_USB_LEGOTOWER=y CONFIG_USB_LCD=y CONFIG_USB_BERRY_CHARGE=y CONFIG_USB_LED=y CONFIG_USB_CYPRESS_CY7C63=y CONFIG_USB_CYTHERM=y CONFIG_USB_PHIDGET=y CONFIG_USB_PHIDGETKIT=y CONFIG_USB_PHIDGETMOTORCONTROL=y CONFIG_USB_PHIDGETSERVO=y CONFIG_USB_IDMOUSE=y CONFIG_USB_FTDI_ELAN=y CONFIG_USB_APPLEDISPLAY=y CONFIG_USB_SISUSBVGA=y CONFIG_USB_SISUSBVGA_CON=y CONFIG_USB_LD=y CONFIG_USB_TRANCEVIBRATOR=y CONFIG_USB_IOWARRIOR=y CONFIG_USB_TEST=y CONFIG_USB_ISIGHTFW=y CONFIG_USB_VST=y CONFIG_USB_ATM=y CONFIG_USB_SPEEDTOUCH=y CONFIG_USB_CXACRU=y CONFIG_USB_UEAGLEATM=y CONFIG_USB_XUSBATM=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DEBUG=y CONFIG_USB_GADGET_DEBUG_FILES=y CONFIG_USB_GADGET_DEBUG_FS=y CONFIG_USB_GADGET_VBUS_DRAW=2 CONFIG_USB_GADGET_SELECTED=y # CONFIG_USB_GADGET_AT91 is not set # CONFIG_USB_GADGET_ATMEL_USBA is not set # CONFIG_USB_GADGET_FSL_USB2 is not set # CONFIG_USB_GADGET_LH7A40X is not set # CONFIG_USB_GADGET_OMAP is not set # CONFIG_USB_GADGET_PXA25X is not set # CONFIG_USB_GADGET_PXA27X is not set # CONFIG_USB_GADGET_S3C2410 is not set # CONFIG_USB_GADGET_IMX is not set CONFIG_USB_GADGET_M66592=y CONFIG_USB_M66592=y # CONFIG_USB_GADGET_AMD5536UDC is not set # CONFIG_USB_GADGET_FSL_QE is not set # CONFIG_USB_GADGET_CI13XXX is not set # CONFIG_USB_GADGET_NET2280 is not set # CONFIG_USB_GADGET_GOKU is not set # CONFIG_USB_GADGET_DUMMY_HCD is not set CONFIG_USB_GADGET_DUALSPEED=y # CONFIG_USB_ZERO is not set CONFIG_USB_ETH=y CONFIG_USB_ETH_RNDIS=y # CONFIG_USB_GADGETFS is not set # CONFIG_USB_FILE_STORAGE is not set # CONFIG_USB_G_SERIAL is not set # CONFIG_USB_MIDI_GADGET is not set # CONFIG_USB_G_PRINTER is not set # CONFIG_USB_CDC_COMPOSITE is not set # # OTG and related infrastructure # CONFIG_USB_OTG_UTILS=y CONFIG_USB_GPIO_VBUS=y CONFIG_UWB=y CONFIG_UWB_HWA=y CONFIG_UWB_WHCI=y CONFIG_UWB_WLP=y CONFIG_UWB_I1480U=y CONFIG_UWB_I1480U_WLP=y CONFIG_MMC=y CONFIG_MMC_DEBUG=y CONFIG_MMC_UNSAFE_RESUME=y # # MMC/SD/SDIO Card Drivers # CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_SDIO_UART=y CONFIG_MMC_TEST=y # # MMC/SD/SDIO Host Controller Drivers # CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PCI=y CONFIG_MMC_RICOH_MMC=y CONFIG_MMC_WBSD=y CONFIG_MMC_TIFM_SD=y CONFIG_MMC_SDRICOH_CS=y CONFIG_MEMSTICK=y CONFIG_MEMSTICK_DEBUG=y # # MemoryStick drivers # CONFIG_MEMSTICK_UNSAFE_RESUME=y CONFIG_MSPRO_BLOCK=y # # MemoryStick Host Controller Drivers # CONFIG_MEMSTICK_TIFM_MS=y CONFIG_MEMSTICK_JMICRON_38X=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # # LED drivers # CONFIG_LEDS_NET48XX=y CONFIG_LEDS_WRAP=y CONFIG_LEDS_ALIX2=y CONFIG_LEDS_PCA9532=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_HP_DISK=y CONFIG_LEDS_CLEVO_MAIL=y CONFIG_LEDS_PCA955X=y CONFIG_LEDS_DA903X=y # # LED Triggers # CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_IDE_DISK=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_LEDS_TRIGGER_BACKLIGHT=y CONFIG_LEDS_TRIGGER_DEFAULT_ON=y CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y CONFIG_INFINIBAND=y CONFIG_INFINIBAND_USER_MAD=y CONFIG_INFINIBAND_USER_ACCESS=y CONFIG_INFINIBAND_USER_MEM=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_MTHCA=y CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_AMSO1100=y CONFIG_INFINIBAND_AMSO1100_DEBUG=y CONFIG_INFINIBAND_CXGB3=y CONFIG_INFINIBAND_CXGB3_DEBUG=y CONFIG_MLX4_INFINIBAND=y CONFIG_INFINIBAND_NES=y CONFIG_INFINIBAND_NES_DEBUG=y CONFIG_INFINIBAND_IPOIB=y CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y CONFIG_INFINIBAND_SRP=y CONFIG_INFINIBAND_ISER=y CONFIG_EDAC=y # # Reporting subsystems # CONFIG_EDAC_DEBUG=y CONFIG_EDAC_MM_EDAC=y CONFIG_EDAC_AMD76X=y CONFIG_EDAC_E7XXX=y CONFIG_EDAC_E752X=y CONFIG_EDAC_I82875P=y CONFIG_EDAC_I82975X=y CONFIG_EDAC_I3000=y CONFIG_EDAC_X38=y CONFIG_EDAC_I82860=y CONFIG_EDAC_R82600=y CONFIG_EDAC_I5000=y CONFIG_EDAC_I5100=y CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" CONFIG_RTC_DEBUG=y # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y CONFIG_RTC_INTF_DEV_UIE_EMUL=y CONFIG_RTC_DRV_TEST=y # # I2C RTC drivers # CONFIG_RTC_DRV_DS1307=y CONFIG_RTC_DRV_DS1374=y CONFIG_RTC_DRV_DS1672=y CONFIG_RTC_DRV_MAX6900=y CONFIG_RTC_DRV_RS5C372=y CONFIG_RTC_DRV_ISL1208=y CONFIG_RTC_DRV_X1205=y CONFIG_RTC_DRV_PCF8563=y CONFIG_RTC_DRV_PCF8583=y CONFIG_RTC_DRV_M41T80=y CONFIG_RTC_DRV_M41T80_WDT=y CONFIG_RTC_DRV_TWL4030=y CONFIG_RTC_DRV_S35390A=y CONFIG_RTC_DRV_FM3130=y CONFIG_RTC_DRV_RX8581=y # # SPI RTC drivers # CONFIG_RTC_DRV_M41T94=y CONFIG_RTC_DRV_DS1305=y CONFIG_RTC_DRV_DS1390=y CONFIG_RTC_DRV_MAX6902=y CONFIG_RTC_DRV_R9701=y CONFIG_RTC_DRV_RS5C348=y CONFIG_RTC_DRV_DS3234=y # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1286=y CONFIG_RTC_DRV_DS1511=y CONFIG_RTC_DRV_DS1553=y CONFIG_RTC_DRV_DS1742=y CONFIG_RTC_DRV_STK17TA8=y CONFIG_RTC_DRV_M48T86=y CONFIG_RTC_DRV_M48T35=y CONFIG_RTC_DRV_M48T59=y CONFIG_RTC_DRV_BQ4802=y CONFIG_RTC_DRV_V3020=y CONFIG_RTC_DRV_WM8350=y # # on-CPU RTC drivers # CONFIG_DMADEVICES=y # # DMA Devices # CONFIG_INTEL_IOATDMA=y CONFIG_DMA_ENGINE=y # # DMA Clients # CONFIG_NET_DMA=y CONFIG_DMATEST=y CONFIG_DCA=y CONFIG_AUXDISPLAY=y CONFIG_KS0108=y CONFIG_KS0108_PORT=0x378 CONFIG_KS0108_DELAY=2 CONFIG_CFAG12864B=y CONFIG_CFAG12864B_RATE=20 CONFIG_UIO=y CONFIG_UIO_CIF=y CONFIG_UIO_PDRV=y CONFIG_UIO_PDRV_GENIRQ=y CONFIG_UIO_SMX=y CONFIG_UIO_SERCOS3=y CONFIG_STAGING=y CONFIG_STAGING_EXCLUDE_BUILD=y CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=y CONFIG_FUJITSU_LAPTOP=y CONFIG_FUJITSU_LAPTOP_DEBUG=y CONFIG_TC1100_WMI=y CONFIG_HP_WMI=y CONFIG_MSI_LAPTOP=y CONFIG_PANASONIC_LAPTOP=y CONFIG_COMPAL_LAPTOP=y CONFIG_SONY_LAPTOP=y CONFIG_SONYPI_COMPAT=y CONFIG_THINKPAD_ACPI=y CONFIG_THINKPAD_ACPI_DEBUG=y CONFIG_THINKPAD_ACPI_BAY=y CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y CONFIG_INTEL_MENLOW=y CONFIG_EEEPC_LAPTOP=y # # Firmware Drivers # CONFIG_EDD=y CONFIG_EDD_OFF=y CONFIG_FIRMWARE_MEMMAP=y CONFIG_EFI_VARS=y CONFIG_DELL_RBU=y CONFIG_DCDBAS=y CONFIG_DMIID=y CONFIG_ISCSI_IBFT_FIND=y CONFIG_ISCSI_IBFT=y # # File systems # CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y CONFIG_EXT2_FS_XIP=y CONFIG_EXT3_FS=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4DEV_COMPAT=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y CONFIG_FS_XIP=y CONFIG_JBD=y CONFIG_JBD_DEBUG=y CONFIG_JBD2=y CONFIG_JBD2_DEBUG=y CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=y CONFIG_REISERFS_CHECK=y CONFIG_REISERFS_PROC_INFO=y CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y CONFIG_JFS_FS=y CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_SECURITY=y CONFIG_JFS_DEBUG=y CONFIG_JFS_STATISTICS=y CONFIG_FS_POSIX_ACL=y CONFIG_FILE_LOCKING=y CONFIG_XFS_FS=y CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_RT=y CONFIG_XFS_DEBUG=y CONFIG_GFS2_FS=y CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_OCFS2_FS=y CONFIG_OCFS2_FS_O2CB=y CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y CONFIG_OCFS2_FS_STATS=y CONFIG_OCFS2_DEBUG_MASKLOG=y CONFIG_OCFS2_DEBUG_FS=y CONFIG_OCFS2_FS_POSIX_ACL=y CONFIG_DNOTIFY=y CONFIG_INOTIFY=y CONFIG_INOTIFY_USER=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y CONFIG_PRINT_QUOTA_WARNING=y CONFIG_QUOTA_TREE=y CONFIG_QFMT_V1=y CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=y CONFIG_GENERIC_ACL=y # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=y CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_NTFS_FS=y CONFIG_NTFS_DEBUG=y CONFIG_NTFS_RW=y # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_CONFIGFS_FS=y # # Miscellaneous filesystems # CONFIG_ADFS_FS=y CONFIG_ADFS_FS_RW=y CONFIG_AFFS_FS=y CONFIG_ECRYPT_FS=y CONFIG_HFS_FS=y CONFIG_HFSPLUS_FS=y CONFIG_BEFS_FS=y CONFIG_BEFS_DEBUG=y CONFIG_BFS_FS=y CONFIG_EFS_FS=y CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y CONFIG_JFFS2_FS_WBUF_VERIFY=y CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_FS_XATTR=y CONFIG_JFFS2_FS_POSIX_ACL=y CONFIG_JFFS2_FS_SECURITY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_LZO=y CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RUBIN=y # CONFIG_JFFS2_CMODE_NONE is not set CONFIG_JFFS2_CMODE_PRIORITY=y # CONFIG_JFFS2_CMODE_SIZE is not set # CONFIG_JFFS2_CMODE_FAVOURLZO is not set CONFIG_UBIFS_FS=y CONFIG_UBIFS_FS_XATTR=y CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y CONFIG_UBIFS_FS_DEBUG=y CONFIG_UBIFS_FS_DEBUG_MSG_LVL=0 CONFIG_UBIFS_FS_DEBUG_CHKS=y CONFIG_CRAMFS=y CONFIG_VXFS_FS=y CONFIG_MINIX_FS=y CONFIG_OMFS_FS=y CONFIG_HPFS_FS=y CONFIG_QNX4FS_FS=y CONFIG_ROMFS_FS=y CONFIG_SYSV_FS=y CONFIG_UFS_FS=y CONFIG_UFS_FS_WRITE=y CONFIG_UFS_DEBUG=y CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y CONFIG_NFSD=y CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y CONFIG_SUNRPC_XPRT_RDMA=y CONFIG_SUNRPC_REGISTER_V4=y CONFIG_RPCSEC_GSS_KRB5=y CONFIG_RPCSEC_GSS_SPKM3=y CONFIG_SMB_FS=y CONFIG_SMB_NLS_DEFAULT=y CONFIG_SMB_NLS_REMOTE="cp437" CONFIG_CIFS=y CONFIG_CIFS_STATS=y CONFIG_CIFS_STATS2=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_DEBUG2=y CONFIG_CIFS_EXPERIMENTAL=y CONFIG_CIFS_DFS_UPCALL=y CONFIG_NCP_FS=y CONFIG_NCPFS_PACKET_SIGNING=y CONFIG_NCPFS_IOCTL_LOCKING=y CONFIG_NCPFS_STRONG=y CONFIG_NCPFS_NFS_NS=y CONFIG_NCPFS_OS2_NS=y CONFIG_NCPFS_SMALLDOS=y CONFIG_NCPFS_NLS=y CONFIG_NCPFS_EXTRAS=y CONFIG_CODA_FS=y CONFIG_AFS_FS=y CONFIG_AFS_DEBUG=y CONFIG_9P_FS=y # # Partition Types # CONFIG_PARTITION_ADVANCED=y CONFIG_ACORN_PARTITION=y CONFIG_ACORN_PARTITION_CUMANA=y CONFIG_ACORN_PARTITION_EESOX=y CONFIG_ACORN_PARTITION_ICS=y CONFIG_ACORN_PARTITION_ADFS=y CONFIG_ACORN_PARTITION_POWERTEC=y CONFIG_ACORN_PARTITION_RISCIX=y CONFIG_OSF_PARTITION=y CONFIG_AMIGA_PARTITION=y CONFIG_ATARI_PARTITION=y CONFIG_MAC_PARTITION=y CONFIG_MSDOS_PARTITION=y CONFIG_BSD_DISKLABEL=y CONFIG_MINIX_SUBPARTITION=y CONFIG_SOLARIS_X86_PARTITION=y CONFIG_UNIXWARE_DISKLABEL=y CONFIG_LDM_PARTITION=y CONFIG_LDM_DEBUG=y CONFIG_SGI_PARTITION=y CONFIG_ULTRIX_PARTITION=y CONFIG_SUN_PARTITION=y CONFIG_KARMA_PARTITION=y CONFIG_EFI_PARTITION=y CONFIG_SYSV68_PARTITION=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=y CONFIG_NLS_CODEPAGE_775=y CONFIG_NLS_CODEPAGE_850=y CONFIG_NLS_CODEPAGE_852=y CONFIG_NLS_CODEPAGE_855=y CONFIG_NLS_CODEPAGE_857=y CONFIG_NLS_CODEPAGE_860=y CONFIG_NLS_CODEPAGE_861=y CONFIG_NLS_CODEPAGE_862=y CONFIG_NLS_CODEPAGE_863=y CONFIG_NLS_CODEPAGE_864=y CONFIG_NLS_CODEPAGE_865=y CONFIG_NLS_CODEPAGE_866=y CONFIG_NLS_CODEPAGE_869=y CONFIG_NLS_CODEPAGE_936=y CONFIG_NLS_CODEPAGE_950=y CONFIG_NLS_CODEPAGE_932=y CONFIG_NLS_CODEPAGE_949=y CONFIG_NLS_CODEPAGE_874=y CONFIG_NLS_ISO8859_8=y CONFIG_NLS_CODEPAGE_1250=y CONFIG_NLS_CODEPAGE_1251=y CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_NLS_ISO8859_3=y CONFIG_NLS_ISO8859_4=y CONFIG_NLS_ISO8859_5=y CONFIG_NLS_ISO8859_6=y CONFIG_NLS_ISO8859_7=y CONFIG_NLS_ISO8859_9=y CONFIG_NLS_ISO8859_13=y CONFIG_NLS_ISO8859_14=y CONFIG_NLS_ISO8859_15=y CONFIG_NLS_KOI8_R=y CONFIG_NLS_KOI8_U=y CONFIG_NLS_UTF8=y CONFIG_DLM=y CONFIG_DLM_DEBUG=y # # Kernel hacking # CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_PRINTK_TIME=y CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 CONFIG_MAGIC_SYSRQ=y CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y CONFIG_HEADERS_CHECK=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_SHIRQ=y CONFIG_DETECT_SOFTLOCKUP=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y CONFIG_DEBUG_OBJECTS=y CONFIG_DEBUG_OBJECTS_SELFTEST=y CONFIG_DEBUG_OBJECTS_FREE=y CONFIG_DEBUG_OBJECTS_TIMERS=y CONFIG_SLUB_DEBUG_ON=y CONFIG_SLUB_STATS=y CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_PI_LIST=y CONFIG_RT_MUTEX_TESTER=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y CONFIG_LOCKDEP=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_LOCKDEP=y CONFIG_TRACE_IRQFLAGS=y CONFIG_DEBUG_SPINLOCK_SLEEP=y CONFIG_DEBUG_LOCKING_API_SELFTESTS=y CONFIG_STACKTRACE=y CONFIG_DEBUG_KOBJECT=y CONFIG_DEBUG_HIGHMEM=y CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_VM=y CONFIG_DEBUG_VIRTUAL=y CONFIG_DEBUG_WRITECOUNT=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DEBUG_LIST=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_NOTIFIERS=y CONFIG_FRAME_POINTER=y CONFIG_BOOT_PRINTK_DELAY=y CONFIG_RCU_TORTURE_TEST=y CONFIG_RCU_TORTURE_TEST_RUNNABLE=y CONFIG_RCU_CPU_STALL_DETECTOR=y CONFIG_KPROBES_SANITY_TEST=y CONFIG_BACKTRACE_SELF_TEST=y CONFIG_DEBUG_BLOCK_EXT_DEVT=y CONFIG_LKDTM=y CONFIG_FAULT_INJECTION=y CONFIG_FAILSLAB=y CONFIG_FAIL_PAGE_ALLOC=y CONFIG_FAIL_MAKE_REQUEST=y CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAULT_INJECTION_DEBUG_FS=y CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y CONFIG_LATENCYTOP=y CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_NOP_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_RET_TRACER=y CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_TRACER_MAX_TRACE=y CONFIG_RING_BUFFER=y CONFIG_TRACING=y # # Tracers # CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_RET_TRACER=y CONFIG_IRQSOFF_TRACER=y CONFIG_SYSPROF_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_CONTEXT_SWITCH_TRACER=y CONFIG_BOOT_TRACER=y CONFIG_TRACE_BRANCH_PROFILING=y CONFIG_PROFILE_ALL_BRANCHES=y CONFIG_TRACING_BRANCHES=y CONFIG_BRANCH_TRACER=y CONFIG_STACK_TRACER=y CONFIG_DYNAMIC_FTRACE=y CONFIG_FTRACE_MCOUNT_RECORD=y CONFIG_PROVIDE_OHCI1394_DMA_INIT=y CONFIG_FIREWIRE_OHCI_REMOTE_DMA=y CONFIG_KMEMTRACE=y CONFIG_BUILD_DOCSRC=y CONFIG_DYNAMIC_PRINTK_DEBUG=y CONFIG_SAMPLES=y CONFIG_SAMPLE_MARKERS=m CONFIG_SAMPLE_TRACEPOINTS=m CONFIG_SAMPLE_KOBJECT=y CONFIG_SAMPLE_KPROBES=m CONFIG_SAMPLE_KRETPROBES=m CONFIG_HAVE_ARCH_KGDB=y CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_KGDB_TESTS=y CONFIG_KGDB_TESTS_ON_BOOT=y CONFIG_KGDB_TESTS_BOOT_STRING="V1F100" CONFIG_STRICT_DEVMEM=y CONFIG_X86_VERBOSE_BOOTUP=y CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_DEBUG_STACK_USAGE=y CONFIG_DEBUG_PAGEALLOC=y CONFIG_DEBUG_PER_CPU_MAPS=y CONFIG_X86_PTDUMP=y CONFIG_DEBUG_RODATA=y CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_NX_TEST=m CONFIG_4KSTACKS=y CONFIG_DOUBLEFAULT=y CONFIG_MMIOTRACE=y CONFIG_MMIOTRACE_TEST=m CONFIG_IO_DELAY_TYPE_0X80=0 CONFIG_IO_DELAY_TYPE_0XED=1 CONFIG_IO_DELAY_TYPE_UDELAY=2 CONFIG_IO_DELAY_TYPE_NONE=3 CONFIG_IO_DELAY_0X80=y # CONFIG_IO_DELAY_0XED is not set # CONFIG_IO_DELAY_UDELAY is not set # CONFIG_IO_DELAY_NONE is not set CONFIG_DEFAULT_IO_DELAY_TYPE=0 CONFIG_DEBUG_BOOT_PARAMS=y CONFIG_CPA_DEBUG=y CONFIG_OPTIMIZE_INLINING=y # # Security options # CONFIG_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_FILE_CAPABILITIES=y CONFIG_SECURITY_ROOTPLUG=y CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 CONFIG_SECURITY_SELINUX_DISABLE=y CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE=19 CONFIG_SECURITY_SMACK=y CONFIG_XOR_BLOCKS=y CONFIG_ASYNC_CORE=y CONFIG_ASYNC_MEMCPY=y CONFIG_ASYNC_XOR=y CONFIG_CRYPTO=y # # Crypto core or helper # CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_AUTHENC=y CONFIG_CRYPTO_TEST=m # # Authenticated Encryption with Associated Data # CONFIG_CRYPTO_CCM=y CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_SEQIV=y # # Block modes # CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=y CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_XTS=y # # Hash modes # CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=y # # Digest # CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32C_INTEL=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_RMD128=y CONFIG_CRYPTO_RMD160=y CONFIG_CRYPTO_RMD256=y CONFIG_CRYPTO_RMD320=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_TGR192=y CONFIG_CRYPTO_WP512=y # # Ciphers # CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_AES_586=y CONFIG_CRYPTO_ANUBIS=y CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_CAMELLIA=y CONFIG_CRYPTO_CAST5=y CONFIG_CRYPTO_CAST6=y CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_FCRYPT=y CONFIG_CRYPTO_KHAZAD=y CONFIG_CRYPTO_SALSA20=y CONFIG_CRYPTO_SALSA20_586=y CONFIG_CRYPTO_SEED=y CONFIG_CRYPTO_SERPENT=y CONFIG_CRYPTO_TEA=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_TWOFISH_COMMON=y CONFIG_CRYPTO_TWOFISH_586=y # # Compression # CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_LZO=y # # Random Number Generation # CONFIG_CRYPTO_ANSI_CPRNG=y CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=y CONFIG_CRYPTO_DEV_PADLOCK_AES=y CONFIG_CRYPTO_DEV_PADLOCK_SHA=y CONFIG_CRYPTO_DEV_GEODE=y CONFIG_CRYPTO_DEV_HIFN_795X=y CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_HAVE_KVM=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=y CONFIG_KVM_INTEL=y CONFIG_KVM_AMD=y CONFIG_KVM_TRACE=y CONFIG_LGUEST=y CONFIG_VIRTIO=y CONFIG_VIRTIO_RING=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_BALLOON=y # # Library routines # CONFIG_BITREVERSE=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_FIND_NEXT_BIT=y CONFIG_GENERIC_FIND_LAST_BIT=y CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=y CONFIG_CRC32=y CONFIG_CRC7=y CONFIG_LIBCRC32C=y CONFIG_AUDIT_GENERIC=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_REED_SOLOMON=y CONFIG_REED_SOLOMON_DEC16=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=y CONFIG_TEXTSEARCH_BM=y CONFIG_TEXTSEARCH_FSM=y CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_CHECK_SIGNATURE=y CONFIG_CPUMASK_OFFSTACK=y -- Thanks & Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. From lachlan@sgi.com Thu Dec 4 00:33:02 2008 Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB46X1IF029514 for ; Thu, 4 Dec 2008 00:33:02 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay3.corp.sgi.com (Postfix) with SMTP id 27342AC016 for ; Wed, 3 Dec 2008 22:32:59 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id RAA20821 for ; Thu, 4 Dec 2008 17:32:58 +1100 Message-ID: <493779B1.3010703@sgi.com> Date: Thu, 04 Dec 2008 17:33:21 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [Fwd: [PATCH] Fix race in xfs_write() between direct and buffered I/O with DMAPI] Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit ping. (forwarding message since my mailer eats the patch when replying). -------- Original Message -------- Subject: [PATCH] Fix race in xfs_write() between direct and buffered I/O with DMAPI Date: Mon, 22 Sep 2008 17:06:24 +1000 From: Lachlan McIlroy Reply-To: lachlan@sgi.com To: xfs-dev , xfs-oss The iolock is dropped and re-acquired around the call to XFS_SEND_NAMESP(). While the iolock is released the file can become cached. We then 'goto retry' and - if we are doing direct I/O - mapping->nrpages may now be non zero but need_i_mutex will be zero and we will hit the WARN_ON(). Since we have dropped the I/O lock then the file size may have also changed so what we need to do here is 'goto start' like we do for the XFS_SEND_DATA() DMAPI event. We also need to update the filesize before releasing the iolock so that needs to be done before the XFS_SEND_NAMESP event. If we drop the iolock before setting the filesize we could race with a truncate. --- a/fs/xfs/linux-2.6/xfs_lrw.c 2008-09-22 15:47:38.000000000 +1000 +++ b/fs/xfs/linux-2.6/xfs_lrw.c 2008-09-22 15:50:56.000000000 +1000 @@ -707,7 +707,6 @@ start: } } -retry: /* We can write back this queue in page reclaim */ current->backing_dev_info = mapping->backing_dev_info; @@ -763,6 +762,17 @@ retry: if (ret == -EIOCBQUEUED && !(ioflags & IO_ISAIO)) ret = wait_on_sync_kiocb(iocb); + isize = i_size_read(inode); + if (unlikely(ret < 0 && ret != -EFAULT && *offset > isize)) + *offset = isize; + + if (*offset > xip->i_size) { + xfs_ilock(xip, XFS_ILOCK_EXCL); + if (*offset > xip->i_size) + xip->i_size = *offset; + xfs_iunlock(xip, XFS_ILOCK_EXCL); + } + if (ret == -ENOSPC && DM_EVENT_ENABLED(xip, DM_EVENT_NOSPACE) && !(ioflags & IO_INVIS)) { xfs_iunlock(xip, iolock); @@ -776,20 +786,7 @@ retry: xfs_ilock(xip, iolock); if (error) goto out_unlock_internal; - pos = xip->i_size; - ret = 0; - goto retry; - } - - isize = i_size_read(inode); - if (unlikely(ret < 0 && ret != -EFAULT && *offset > isize)) - *offset = isize; - - if (*offset > xip->i_size) { - xfs_ilock(xip, XFS_ILOCK_EXCL); - if (*offset > xip->i_size) - xip->i_size = *offset; - xfs_iunlock(xip, XFS_ILOCK_EXCL); + goto start; } error = -ret; From lachlan@sgi.com Thu Dec 4 00:58:48 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB46wmLH031041 for ; Thu, 4 Dec 2008 00:58:48 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 37B6830408C for ; Wed, 3 Dec 2008 22:58:46 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id RAA21190 for ; Thu, 4 Dec 2008 17:58:44 +1100 Message-ID: <49377FBC.5020501@sgi.com> Date: Thu, 04 Dec 2008 17:59:08 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] Use the incore inode size in xfs_file_readdir() Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit We should be using the incore inode size here not the linux inode size. The incore inode size is always up to date for directories whereas the linux inode size is not updated for directories. We've hit assertions in xfs_bmap() and traced it back to the linux inode size being zero here but the incore size being correct. --- xfs-fix.orig/fs/xfs/linux-2.6/xfs_file.c +++ xfs-fix/fs/xfs/linux-2.6/xfs_file.c @@ -254,7 +254,7 @@ xfs_file_readdir( * point we can change the ->readdir prototype to include the * buffer size. */ - bufsize = (size_t)min_t(loff_t, PAGE_SIZE, inode->i_size); + bufsize = (size_t)min_t(loff_t, PAGE_SIZE, ip->i_d.di_size); error = xfs_readdir(ip, dirent, bufsize, (xfs_off_t *)&filp->f_pos, filldir); From lachlan@sgi.com Thu Dec 4 01:05:50 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB475oqd031481 for ; Thu, 4 Dec 2008 01:05:50 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 7130B304085 for ; Wed, 3 Dec 2008 23:05:46 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id SAA21339 for ; Thu, 4 Dec 2008 18:05:44 +1100 Message-ID: <4937815F.5010500@sgi.com> Date: Thu, 04 Dec 2008 18:06:07 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] Fix bug in xlogitm idbg command Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Print out the correct field for the back pointer in the xlogitm idbg command. --- a/fs/xfs/xfsidbg.c 2008-12-04 13:57:45.000000000 +1100 +++ b/fs/xfs/xfsidbg.c 2008-12-03 17:16:55.000000000 +1100 @@ -6373,7 +6250,7 @@ xfsidbg_xlogitem(xfs_log_item_t *lip) printflags((uint)(lip->li_flags), li_flags,"log"); kdb_printf("\n"); kdb_printf("ail forw 0x%p ail back 0x%p lsn %s\ndesc %p ops 0x%p", - lip->li_ail.next, lip->li_ail.next, + lip->li_ail.next, lip->li_ail.prev, xfs_fmtlsn(&(lip->li_lsn)), lip->li_desc, lip->li_ops); kdb_printf(" iodonefunc &0x%p\n", lip->li_cb); if (lip->li_type == XFS_LI_BUF) { From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 01:07:27 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB477Pxx031668 for ; Thu, 4 Dec 2008 01:07:27 -0600 X-ASG-Debug-ID: 1228374444-04a100140000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F015B168FE0D; Wed, 3 Dec 2008 23:07:24 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id CVPFFLfvABQZFDiU; Wed, 03 Dec 2008 23:07:24 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L88J2-00070t-K5; Thu, 04 Dec 2008 07:07:24 +0000 Date: Thu, 4 Dec 2008 02:07:24 -0500 From: Christoph Hellwig To: Lachlan McIlroy Cc: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Fix bug in xlogitm idbg command Subject: Re: [PATCH] Fix bug in xlogitm idbg command Message-ID: <20081204070724.GA29531@infradead.org> References: <4937815F.5010500@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4937815F.5010500@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228374444 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 06:06:07PM +1100, Lachlan McIlroy wrote: > Print out the correct field for the back pointer in the > xlogitm idbg command. Looks good. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 01:08:28 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB478SRB031801 for ; Thu, 4 Dec 2008 01:08:28 -0600 X-ASG-Debug-ID: 1228374507-47ab02b70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1B56616904BF; Wed, 3 Dec 2008 23:08:27 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id gawwSX1jjU8HCsNG; Wed, 03 Dec 2008 23:08:27 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L88K3-00029n-Pf; Thu, 04 Dec 2008 07:08:27 +0000 Date: Thu, 4 Dec 2008 02:08:27 -0500 From: Christoph Hellwig To: Lachlan McIlroy Cc: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Use the incore inode size in xfs_file_readdir() Subject: Re: [PATCH] Use the incore inode size in xfs_file_readdir() Message-ID: <20081204070827.GB29531@infradead.org> References: <49377FBC.5020501@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49377FBC.5020501@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228374508 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 05:59:08PM +1100, Lachlan McIlroy wrote: > We should be using the incore inode size here not the linux inode > size. The incore inode size is always up to date for directories > whereas the linux inode size is not updated for directories. > > We've hit assertions in xfs_bmap() and traced it back to the linux > inode size being zero here but the incore size being correct. Heh. Looks good, but you can still call ->readdir with a 0 inode size, so you might want to check for that (actualyl I think other pathes are goign to take care of it, but..) From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 01:09:08 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4798pv031880 for ; Thu, 4 Dec 2008 01:09:08 -0600 X-ASG-Debug-ID: 1228374547-4d0e02370000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6DD3216904D0; Wed, 3 Dec 2008 23:09:07 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id sb7jAY5hNNBtZ13x; Wed, 03 Dec 2008 23:09:07 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L88Kh-0003o8-37; Thu, 04 Dec 2008 07:09:07 +0000 Date: Thu, 4 Dec 2008 02:09:07 -0500 From: Christoph Hellwig To: Lachlan McIlroy Cc: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Remove unused variable in ktrace_free() Subject: Re: [PATCH] Remove unused variable in ktrace_free() Message-ID: <20081204070907.GD29531@infradead.org> References: <4937765D.2030601@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4937765D.2030601@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228374547 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 05:19:09PM +1100, Lachlan McIlroy wrote: > entries_size is probably left over from when we used to pass the > size to kmem_free(). Looks good. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 01:09:22 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB479LM4031913 for ; Thu, 4 Dec 2008 01:09:22 -0600 X-ASG-Debug-ID: 1228374561-04a400260000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4F04C16904DC for ; Wed, 3 Dec 2008 23:09:21 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id hwIMVcvLYaq1qUXT for ; Wed, 03 Dec 2008 23:09:21 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L88KQ-00035s-E6; Thu, 04 Dec 2008 07:08:50 +0000 Date: Thu, 4 Dec 2008 02:08:50 -0500 From: Christoph Hellwig To: Lachlan McIlroy Cc: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Remove unnecessary assertion Subject: Re: [PATCH] Remove unnecessary assertion Message-ID: <20081204070850.GC29531@infradead.org> References: <49377863.1070109@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49377863.1070109@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228374561 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 05:27:47PM +1100, Lachlan McIlroy wrote: > Hit this assert because an inode was tagged with XFS_ICI_RECLAIM_TAG but > not XFS_IRECLAIMABLE|XFS_IRECLAIM. This is because xfs_iget_cache_hit() > first clears XFS_IRECLAIMABLE and then calls __xfs_inode_clear_reclaim_tag() > while only holding the pag_ici_lock in read mode so we can race with > xfs_reclaim_inodes_ag(). Looks like xfs_reclaim_inodes_ag() will do the > right thing anyway so just remove the assert. > > Thanks to Christoph for pointing out where the problem was. Yeah, given that I ran with this patch for a while you have my ACK for it. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 01:09:35 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB479YoS032009 for ; Thu, 4 Dec 2008 01:09:35 -0600 X-ASG-Debug-ID: 1228374574-47ab02c70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5013916904E6; Wed, 3 Dec 2008 23:09:34 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 6LlR81vrr9CaHTGZ; Wed, 03 Dec 2008 23:09:34 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L88L7-0005zG-Ve; Thu, 04 Dec 2008 07:09:33 +0000 Date: Thu, 4 Dec 2008 02:09:33 -0500 From: Christoph Hellwig To: Lachlan McIlroy Cc: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Check return value of xfs_buf_get_noaddr() Subject: Re: [PATCH] Check return value of xfs_buf_get_noaddr() Message-ID: <20081204070933.GE29531@infradead.org> References: <49376D11.4010507@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49376D11.4010507@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228374574 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 04:39:29PM +1100, Lachlan McIlroy wrote: > We check the return value of all other calls to xfs_buf_get_noaddr(). > Make sense to do it here too. Looks good. From lachlan@sgi.com Thu Dec 4 01:18:16 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB47IF1h000961 for ; Thu, 4 Dec 2008 01:18:16 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id EC518304081 for ; Wed, 3 Dec 2008 23:18:12 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id SAA21577 for ; Thu, 4 Dec 2008 18:18:05 +1100 Message-ID: <49378444.9040108@sgi.com> Date: Thu, 04 Dec 2008 18:18:28 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [Fwd: [PATCH] Fix speculative allocation beyond eof] Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit ping. Anyone have any objections to this? -------- Original Message -------- Subject: [PATCH] Fix speculative allocation beyond eof Date: Tue, 23 Sep 2008 13:14:44 +1000 From: Lachlan McIlroy Reply-To: lachlan@sgi.com To: xfs-dev , xfs-oss Speculative allocation beyond eof doesn't work properly. It was broken some time ago after a code cleanup that moved what is now xfs_iomap_eof_align_last_fsb() and xfs_iomap_eof_want_preallocate() out of xfs_iomap_write_delay() into separate functions. The code used to use the current file size in various checks but got changed to be max(file_size, i_new_size). Since i_new_size is the result of 'offset + count' then in xfs_iomap_eof_want_preallocate() the check for '(offset + count) <= isize' will always be true. ie if 'offset + count' is > ip->i_size then isize will be i_new_size and equal to 'offset + count'. This change fixes all the places that used to use the current file size. --- a/fs/xfs/xfs_iomap.c 2008-09-23 12:52:12.000000000 +1000 +++ b/fs/xfs/xfs_iomap.c 2008-09-23 12:51:29.000000000 +1000 @@ -290,7 +290,6 @@ STATIC int xfs_iomap_eof_align_last_fsb( xfs_mount_t *mp, xfs_inode_t *ip, - xfs_fsize_t isize, xfs_extlen_t extsize, xfs_fileoff_t *last_fsb) { @@ -306,14 +305,14 @@ xfs_iomap_eof_align_last_fsb( * stripe width and we are allocating past the allocation eof. */ else if (mp->m_swidth && (mp->m_flags & XFS_MOUNT_SWALLOC) && - (isize >= XFS_FSB_TO_B(mp, mp->m_swidth))) + (ip->i_size >= XFS_FSB_TO_B(mp, mp->m_swidth))) new_last_fsb = roundup_64(*last_fsb, mp->m_swidth); /* * Roundup the allocation request to a stripe unit (m_dalign) boundary * if the file size is >= stripe unit size, and we are allocating past * the allocation eof. */ - else if (mp->m_dalign && (isize >= XFS_FSB_TO_B(mp, mp->m_dalign))) + else if (mp->m_dalign && (ip->i_size >= XFS_FSB_TO_B(mp, mp->m_dalign))) new_last_fsb = roundup_64(*last_fsb, mp->m_dalign); /* @@ -403,7 +402,6 @@ xfs_iomap_write_direct( xfs_filblks_t count_fsb, resaligned; xfs_fsblock_t firstfsb; xfs_extlen_t extsz, temp; - xfs_fsize_t isize; int nimaps; int bmapi_flag; int quota_flag; @@ -426,15 +424,10 @@ xfs_iomap_write_direct( rt = XFS_IS_REALTIME_INODE(ip); extsz = xfs_get_extsz_hint(ip); - isize = ip->i_size; - if (ip->i_new_size > isize) - isize = ip->i_new_size; - offset_fsb = XFS_B_TO_FSBT(mp, offset); last_fsb = XFS_B_TO_FSB(mp, ((xfs_ufsize_t)(offset + count))); - if ((offset + count) > isize) { - error = xfs_iomap_eof_align_last_fsb(mp, ip, isize, extsz, - &last_fsb); + if ((offset + count) > ip->i_size) { + error = xfs_iomap_eof_align_last_fsb(mp, ip, extsz, &last_fsb); if (error) goto error_out; } else { @@ -559,7 +552,6 @@ STATIC int xfs_iomap_eof_want_preallocate( xfs_mount_t *mp, xfs_inode_t *ip, - xfs_fsize_t isize, xfs_off_t offset, size_t count, int ioflag, @@ -573,7 +565,7 @@ xfs_iomap_eof_want_preallocate( int n, error, imaps; *prealloc = 0; - if ((ioflag & BMAPI_SYNC) || (offset + count) <= isize) + if ((ioflag & BMAPI_SYNC) || (offset + count) <= ip->i_size) return 0; /* @@ -617,7 +609,6 @@ xfs_iomap_write_delay( xfs_fileoff_t ioalign; xfs_fsblock_t firstblock; xfs_extlen_t extsz; - xfs_fsize_t isize; int nimaps; xfs_bmbt_irec_t imap[XFS_WRITE_IMAPS]; int prealloc, fsynced = 0; @@ -637,11 +628,7 @@ xfs_iomap_write_delay( offset_fsb = XFS_B_TO_FSBT(mp, offset); retry: - isize = ip->i_size; - if (ip->i_new_size > isize) - isize = ip->i_new_size; - - error = xfs_iomap_eof_want_preallocate(mp, ip, isize, offset, count, + error = xfs_iomap_eof_want_preallocate(mp, ip, offset, count, ioflag, imap, XFS_WRITE_IMAPS, &prealloc); if (error) return error; @@ -655,8 +642,7 @@ retry: } if (prealloc || extsz) { - error = xfs_iomap_eof_align_last_fsb(mp, ip, isize, extsz, - &last_fsb); + error = xfs_iomap_eof_align_last_fsb(mp, ip, extsz, &last_fsb); if (error) return error; } From lachlan@sgi.com Thu Dec 4 01:26:56 2008 Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB47Quti001600 for ; Thu, 4 Dec 2008 01:26:56 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay2.corp.sgi.com (Postfix) with SMTP id 6A93D304081 for ; Wed, 3 Dec 2008 23:26:54 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id SAA21605 for ; Thu, 4 Dec 2008 18:26:52 +1100 Message-ID: <49378654.2050707@sgi.com> Date: Thu, 04 Dec 2008 18:27:16 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] Remove XFS_BUF_SHUT() and friends Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Code does nothing so remove it. --- a/fs/xfs/linux-2.6/xfs_buf.h 2008-12-04 14:24:12.000000000 +1100 +++ b/fs/xfs/linux-2.6/xfs_buf.h 2008-12-04 14:24:22.000000000 +1100 @@ -311,10 +311,6 @@ extern void xfs_buf_trace(xfs_buf_t *, c #define XFS_BUF_UNORDERED(bp) ((bp)->b_flags &= ~XBF_ORDERED) #define XFS_BUF_ISORDERED(bp) ((bp)->b_flags & XBF_ORDERED) -#define XFS_BUF_SHUT(bp) do { } while (0) -#define XFS_BUF_UNSHUT(bp) do { } while (0) -#define XFS_BUF_ISSHUT(bp) (0) - #define XFS_BUF_HOLD(bp) xfs_buf_hold(bp) #define XFS_BUF_READ(bp) ((bp)->b_flags |= XBF_READ) #define XFS_BUF_UNREAD(bp) ((bp)->b_flags &= ~XBF_READ) --- a/fs/xfs/xfs_buf_item.c 2008-12-04 14:24:12.000000000 +1100 +++ b/fs/xfs/xfs_buf_item.c 2008-12-04 14:13:32.000000000 +1100 @@ -998,21 +1000,7 @@ xfs_buf_iodone_callbacks( xfs_buf_do_callbacks(bp, lip); XFS_BUF_SET_FSPRIVATE(bp, NULL); XFS_BUF_CLR_IODONE_FUNC(bp); - - /* - * XFS_SHUT flag gets set when we go thru the - * entire buffer cache and deliberately start - * throwing away delayed write buffers. - * Since there's no biowait done on those, - * we should just brelse them. - */ - if (XFS_BUF_ISSHUT(bp)) { - XFS_BUF_UNSHUT(bp); - xfs_buf_relse(bp); - } else { - xfs_biodone(bp); - } - + xfs_biodone(bp); return; } --- a/fs/xfs/xfs_inode.c 2008-12-04 14:24:12.000000000 +1100 +++ b/fs/xfs/xfs_inode.c 2008-12-04 14:21:54.000000000 +1100 @@ -3089,7 +3089,6 @@ cluster_corrupt_out: XFS_BUF_CLR_BDSTRAT_FUNC(bp); XFS_BUF_UNDONE(bp); XFS_BUF_STALE(bp); - XFS_BUF_SHUT(bp); XFS_BUF_ERROR(bp,EIO); xfs_biodone(bp); } else { From lachlan@sgi.com Thu Dec 4 01:48:39 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_35, J_CHICKENPOX_66 autolearn=no version=3.3.0-rupdated Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB47mXcP003069 for ; Thu, 4 Dec 2008 01:48:39 -0600 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by relay1.corp.sgi.com (Postfix) with SMTP id A43978F8081 for ; Wed, 3 Dec 2008 23:48:26 -0800 (PST) Received: from [134.14.55.78] (redback.melbourne.sgi.com [134.14.55.78]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id SAA21936 for ; Thu, 4 Dec 2008 18:48:25 +1100 Message-ID: <49378B60.1060603@sgi.com> Date: Thu, 04 Dec 2008 18:48:48 +1100 From: Lachlan McIlroy Reply-To: lachlan@sgi.com User-Agent: Thunderbird 2.0.0.18 (X11/20081105) MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] Fix off by one error in page_region_mask() Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit final is calculated to be the last bit to set (ie inclusive) but when we do the mask shifting final really needs to be first bit not to set. For example if first and final are both bit 0 (ie only first bit to be set) then mask is completely shifted and becomes all zeroes. Or if first is 0 and final is 63 then the mask is shifted one bit when it shouldn't be shifted at all. --- xfs-fix.orig/fs/xfs/linux-2.6/xfs_buf.c +++ xfs-fix/fs/xfs/linux-2.6/xfs_buf.c @@ -129,15 +129,17 @@ page_region_mask( int first, final; first = BTOPR(offset); - final = BTOPRT(offset + length - 1); - first = min(first, final); + final = BTOPRT(offset + length); + + if (first >= final) + return 0UL; mask = ~0UL; mask <<= BITS_PER_LONG - (final - first); mask >>= BITS_PER_LONG - (final); ASSERT(offset + length <= PAGE_CACHE_SIZE); - ASSERT((final - first) < BITS_PER_LONG && (final - first) >= 0); + ASSERT((final - first) <= BITS_PER_LONG && (final - first) > 0); return mask; } From arekm@maven.pl Thu Dec 4 02:13:12 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB48DB4B004362 for ; Thu, 4 Dec 2008 02:13:12 -0600 X-ASG-Debug-ID: 1228378389-32b600b20000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from main.carme.maven.pl (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 06D8D1691381 for ; Thu, 4 Dec 2008 00:13:09 -0800 (PST) Received: from main.carme.maven.pl (main.carme.maven.pl [193.239.45.138]) by cuda.sgi.com with ESMTP id JjC3I8rFan4MQ5fL for ; Thu, 04 Dec 2008 00:13:09 -0800 (PST) Received: from [83.238.65.58] (port=2065 helo=maven.pl ident=matrix157) by main.carme.maven.pl with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1L89Ke-000x3l-GT; Thu, 04 Dec 2008 09:13:08 +0100 Received: from arekm by maven.pl with local (Exim 4.69) (envelope-from ) id 1L89Kc-0004QF-R0; Thu, 04 Dec 2008 09:13:08 +0100 From: Arkadiusz Miskiewicz To: Dave Chinner X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Date: Thu, 4 Dec 2008 09:13:06 +0100 User-Agent: PLD Linux KMail/1.9.10 Cc: xfs@oss.sgi.com References: <200812021949.55463.arekm@maven.pl> <200812032242.29326.arekm@maven.pl> <20081203220934.GA32301@disturbed> In-Reply-To: <20081203220934.GA32301@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <200812040913.06733.arekm@maven.pl> X-Barracuda-Connect: main.carme.maven.pl[193.239.45.138] X-Barracuda-Start-Time: 1228378390 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11882 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by oss.sgi.com id mB48DB4B004362 On Wednesday 03 of December 2008, Dave Chinner wrote: > On Wed, Dec 03, 2008 at 10:42:29PM +0100, Arkadiusz Miskiewicz wrote: > > On Wednesday 03 of December 2008, Dave Chinner wrote: > > [arekm@farm rpm]$ touch /home/users/arekm/tmp/aa > > [arekm@farm rpm]$ ./a.out > > ret=-1 Invalid cross-device link > > Well, that's what we needed to know. The bug: > > 199 /* > 200 * Lock all the participating inodes. Depending upon whether > 201 * the target_name exists in the target directory, and > 202 * whether the target directory is the same as the source > 203 * directory, we can lock from 2 to 4 inodes. > 204 */ > 205 >>>>> xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL); > 206 > 207 /* > 208 * If we are using project inheritance, we only allow renames > 209 * into our tree when the project IDs are the same; else the > 210 * tree quota mechanism would be circumvented. > 211 */ > 212 if (unlikely((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) > && 213 (target_dp->i_d.di_projid != > src_ip->i_d.di_projid))) { 214 error = XFS_ERROR(EXDEV); > 215 >>>>>>> xfs_rename_unlock4(inodes, XFS_ILOCK_SHARED); > 216 xfs_trans_cancel(tp, cancel_flags); > 217 goto std_return; > 218 } > > Is that the unlock of the inodes is using the incorrect lock > type for the unlock, (inodes lock XFS_ILOCK_EXCL, unlocked > XFS_ILOCK_SHARED) which means they don't get unlocked and the next attempt > to do anything with those inodes will hang. > > Compile-tested-only patch below that should fix the problem. It fixes the problem for me. Thanks! I hope that it will reach stable@ team for 2.6.27.9. > Cheers, > > Dave. -- Arkadiusz MiÅ›kiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/ From geert@linux-m68k.org Thu Dec 4 03:02:24 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB492MLg007984 for ; Thu, 4 Dec 2008 03:02:24 -0600 X-ASG-Debug-ID: 1228381338-32b701dc0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from monty.telenet-ops.be (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 87DE41690991 for ; Thu, 4 Dec 2008 01:02:18 -0800 (PST) Received: from monty.telenet-ops.be (monty.telenet-ops.be [195.130.132.56]) by cuda.sgi.com with ESMTP id xn71vdVpA8jmprEc for ; Thu, 04 Dec 2008 01:02:18 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by monty.telenet-ops.be (Postfix) with SMTP id 039435404B; Thu, 4 Dec 2008 10:02:18 +0100 (CET) Received: from anakin.of.borg (d54C15368.access.telenet.be [84.193.83.104]) by monty.telenet-ops.be (Postfix) with ESMTP id 476875402B; Thu, 4 Dec 2008 10:02:17 +0100 (CET) Received: from anakin.of.borg (localhost [127.0.0.1]) by anakin.of.borg (8.14.3/8.14.3/Debian-5) with ESMTP id mB492G0P025675 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 4 Dec 2008 10:02:16 +0100 Received: from localhost (geert@localhost) by anakin.of.borg (8.14.3/8.14.3/Submit) with ESMTP id mB492FBn025672; Thu, 4 Dec 2008 10:02:15 +0100 X-Authentication-Warning: anakin.of.borg: geert owned process doing -bs Date: Thu, 4 Dec 2008 10:02:15 +0100 (CET) From: Geert Uytterhoeven Sender: geert@linux-m68k.org To: Eric Sandeen , Christoph Hellwig , Lachlan McIlroy cc: Stephen Rothwell , xfs@oss.sgi.com, linux-next@vger.kernel.org, LKML X-ASG-Orig-Subj: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Subject: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) In-Reply-To: <20081203183602.c06f8c39.sfr@canb.auug.org.au> Message-ID: References: <20081203183602.c06f8c39.sfr@canb.auug.org.au> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: monty.telenet-ops.be[195.130.132.56] X-Barracuda-Start-Time: 1228381339 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11886 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, 3 Dec 2008, Stephen Rothwell wrote: > Status of my local build tests will be at > http://kisskb.ellerman.id.au/linux-next . If maintainers want to give > advice about cross compilers/configs that work, we are always open to add > more builds. On m68k (32-bit only, no compat32), XFS fails to build in linux-next: | fs/xfs/linux-2.6/xfs_ioctl32.h:50: error: syntax error before 'compat_time_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:52: error: syntax error before '}' token | fs/xfs/linux-2.6/xfs_ioctl32.h:63: error: syntax error before 'compat_xfs_bstime_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:65: error: syntax error before 'bs_ctime' | fs/xfs/linux-2.6/xfs_ioctl32.h:76: error: syntax error before '}' token | fs/xfs/linux-2.6/xfs_ioctl32.h:79: error: syntax error before 'compat_uptr_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:81: error: syntax error before 'ubuffer' | fs/xfs/linux-2.6/xfs_ioctl32.h:82: error: syntax error before 'ocount' | fs/xfs/linux-2.6/xfs_ioctl32.h:94: error: syntax error before 'compat_uptr_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:96: error: syntax error before 'ihandle' | fs/xfs/linux-2.6/xfs_ioctl32.h:98: error: syntax error before 'ohandle' | fs/xfs/linux-2.6/xfs_ioctl32.h:99: error: syntax error before 'ohandlen' | fs/xfs/linux-2.6/xfs_ioctl32.h:121: error: syntax error before 'compat_xfs_bstat_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:127: error: field 'hreq' has incomplete type | fs/xfs/linux-2.6/xfs_ioctl32.h:131: error: syntax error before 'compat_uptr_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:142: error: syntax error before 'compat_uptr_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:146: error: syntax error before '}' token | fs/xfs/linux-2.6/xfs_ioctl32.h:149: error: field 'hreq' has incomplete type | fs/xfs/linux-2.6/xfs_ioctl32.h:152: error: syntax error before 'compat_uptr_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:159: error: field 'hreq' has incomplete type | fs/xfs/linux-2.6/xfs_ioctl32.h:161: error: syntax error before 'compat_uptr_t' | distcc[28223] ERROR: compile fs/xfs/linux-2.6/xfs_file.c on localhost failed (http://kisskb.ellerman.id.au/kisskb/buildresult/58941/) or (with a different compiler): | In file included from fs/xfs/linux-2.6/xfs_file.c:39: | fs/xfs/linux-2.6/xfs_ioctl32.h:50: error: expected specifier-qualifier-list before 'compat_time_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:79: error: expected specifier-qualifier-list before 'compat_uptr_t' | fs/xfs/linux-2.6/xfs_ioctl32.h:94: error: expected specifier-qualifier-list before 'compat_uptr_t' | make[2]: *** [fs/xfs/linux-2.6/xfs_file.o] Error 1 git bisect run says: ffae263a640b736a7206a0d7bd14ab44eb58cd28 is first bad commit commit ffae263a640b736a7206a0d7bd14ab44eb58cd28 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:07 2008 -0600 [XFS] Move compat ioctl structs & numbers into xfs_ioctl32.h This makes the c file less cluttered and a bit more readable. Consistently name the ioctl number macros with "_32" and the compatibility stuctures with "_compat." Rename the helpers which simply copy in the arg with "_copyin" for easy identification. Finally, for a few of the existing helpers, modify them so that they directly call the native ioctl helper after userspace argument fixup. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 06:13:41 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4CDfnK024829 for ; Thu, 4 Dec 2008 06:13:41 -0600 X-ASG-Debug-ID: 1228392820-2657007f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4EE5E16954C3; Thu, 4 Dec 2008 04:13:40 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id l1TVtkWIOdCNOTYp; Thu, 04 Dec 2008 04:13:40 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8D5G-0006pP-T3; Thu, 04 Dec 2008 12:13:30 +0000 Date: Thu, 4 Dec 2008 07:13:30 -0500 From: Christoph Hellwig To: Geert Uytterhoeven Cc: Eric Sandeen , Christoph Hellwig , Lachlan McIlroy , Stephen Rothwell , linux-next@vger.kernel.org, LKML , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Subject: Re: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Message-ID: <20081204121330.GA18815@infradead.org> References: <20081203183602.c06f8c39.sfr@canb.auug.org.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228392820 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 10:02:15AM +0100, Geert Uytterhoeven wrote: > On Wed, 3 Dec 2008, Stephen Rothwell wrote: > > Status of my local build tests will be at > > http://kisskb.ellerman.id.au/linux-next . If maintainers want to give > > advice about cross compilers/configs that work, we are always open to add > > more builds. > > On m68k (32-bit only, no compat32), XFS fails to build in linux-next: Yeah, it's broken on all 32bit platforms. Today's xfs tree has a fix for it. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 06:32:08 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4CW7Rl026865 for ; Thu, 4 Dec 2008 06:32:08 -0600 X-ASG-Debug-ID: 1228393927-265200f50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2F5651695450 for ; Thu, 4 Dec 2008 04:32:07 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id f7vk1HhxuK0Y8aNb for ; Thu, 04 Dec 2008 04:32:07 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8DNG-0001q6-Ig; Thu, 04 Dec 2008 12:32:06 +0000 Date: Thu, 4 Dec 2008 07:32:06 -0500 From: Christoph Hellwig To: Arkadiusz Miskiewicz , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Message-ID: <20081204123206.GA6935@infradead.org> References: <200812021949.55463.arekm@maven.pl> <200812031406.41882.arekm@maven.pl> <20081203213028.GW18236@disturbed> <200812032242.29326.arekm@maven.pl> <20081203220934.GA32301@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203220934.GA32301@disturbed> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228393927 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 09:09:34AM +1100, Dave Chinner wrote: > Is that the unlock of the inodes is using the incorrect lock > type for the unlock, (inodes lock XFS_ILOCK_EXCL, unlocked XFS_ILOCK_SHARED) > which means they don't get unlocked and the next attempt to do anything > with those inodes will hang. > > Compile-tested-only patch below that should fix the problem. Yeah, that also explains why my patch fixes it :) I'd say let's put yours into 2.6.28 and -stable, and I'll rediff mine ontop for the 2.6.29 queue. I'll also write a testcase for xfsqa based on Arkadiusz's report. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 06:34:11 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4CYAjl027100 for ; Thu, 4 Dec 2008 06:34:11 -0600 X-ASG-Debug-ID: 1228394049-40e6036a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id BF1241695465; Thu, 4 Dec 2008 04:34:09 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id TTyanDZFBNaxU5tW; Thu, 04 Dec 2008 04:34:09 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8DPE-0001v5-5n; Thu, 04 Dec 2008 12:34:08 +0000 Date: Thu, 4 Dec 2008 07:34:08 -0500 From: Christoph Hellwig To: Niv Sardi Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: New XFS git tree on oss.sgi.com Subject: Re: New XFS git tree on oss.sgi.com Message-ID: <20081204123408.GB7085@infradead.org> References: <492BA7AD.5080007@sgi.com> <20081125140553.GA16553@infradead.org> <492CA245.3000709@sgi.com> <20081126032710.GA19523@infradead.org> <20081203130414.GB9681@infradead.org> <871vwo95fr.fsf@cxhome.ath.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <871vwo95fr.fsf@cxhome.ath.cx> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228394049 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 10:58:48AM +1100, Niv Sardi wrote: > Christoph Hellwig writes: > > > On Wed, Dec 03, 2008 at 02:48:57PM +1100, Niv Sardi wrote: > > > >> > Also > >> > http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/xfs.git;a=commitdiff;h=ca830fdf6231d0683f4ea4e9223e234c3a509063doesn't seem to be needed. None of those symbols seems to be used by > >> > either dmapi or xfsidbg, the only two modules using xfs symbols in the > >> > tree. > >> > >> That's exactly why it's there, the revertion is actually moving from > >> what was in ptools to something sane. > > > > ?? The commit above adds tons of unused exports. But hey, I'll just > > submit a patch to sort it out when I get some time.. > > Yes, I already did that ???that's the previous commit??? but Lachland wanted > the tree not too move too much at first. > The patch you want is the exact revert of the commit you pointed out, > it'll be checked in soon. Ah, makes sense. Thanks for the clarification. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 06:34:18 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4CYHMq027118 for ; Thu, 4 Dec 2008 06:34:18 -0600 X-ASG-Debug-ID: 1228394056-265700ff0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 23B4A169546F for ; Thu, 4 Dec 2008 04:34:17 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id ouSAvoll9MdKz0jB for ; Thu, 04 Dec 2008 04:34:17 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8DOs-0001uJ-2K; Thu, 04 Dec 2008 12:33:46 +0000 Date: Thu, 4 Dec 2008 07:33:46 -0500 From: Christoph Hellwig To: Christoph Hellwig , Lachlan McIlroy , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Assertion failed: atomic_read(&mp->m_active_trans) Subject: Re: Assertion failed: atomic_read(&mp->m_active_trans) Message-ID: <20081204123346.GA7085@infradead.org> References: <492BB095.1000104@sgi.com> <4934AAA9.5090405@sgi.com> <20081203104849.GF15485@infradead.org> <20081203213950.GX18236@disturbed> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081203213950.GX18236@disturbed> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228394057 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 08:39:50AM +1100, Dave Chinner wrote: > On Wed, Dec 03, 2008 at 05:48:49AM -0500, Christoph Hellwig wrote: > > I'd rather fix it properly. > > Sure, but in the mean time, I'd suggest changing it to a WARN_ON() > rather than an ASSERT(). That way we'll continue to have ppl bug us > about it until the VFS can support read-only remounts without racing > correctly. Makes sense. > Has that work been dropped on the floor, Christoph? We've > been holding off removing this ASSERT or adding the hack > I did to work around the common case of the assert triggering > based on the fact that the problem in the VFS would be fixed > in the next release. That was the case each release since > 2.6.25 and there doesn't seem to be much progress... Yeah, once we got the r/o bind mounts which introduces the infrastructure to deal with people dropped that ball and we never fixed it. But I just heard from Al that he's looking into some major surgery for the remount path, which should include this in the second or third batch. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 06:35:05 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4CZ4d0027217 for ; Thu, 4 Dec 2008 06:35:05 -0600 X-ASG-Debug-ID: 1228394103-265e01160000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1F8CD169547A for ; Thu, 4 Dec 2008 04:35:03 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 9s37BjKw1SAn4CI6 for ; Thu, 04 Dec 2008 04:35:03 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8DPc-0001vQ-Up; Thu, 04 Dec 2008 12:34:32 +0000 Date: Thu, 4 Dec 2008 07:34:32 -0500 From: Christoph Hellwig To: Niv Sardi Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 01/22] fix compile on 32 bit systems Subject: Re: [patch 01/22] fix compile on 32 bit systems Message-ID: <20081204123432.GC7085@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.658660000@bombadil.infradead.org> <87vdu07nvp.fsf@cxhome.ath.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87vdu07nvp.fsf@cxhome.ath.cx> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228394104 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 12:03:22PM +1100, Niv Sardi wrote: > Christoph Hellwig writes: > [???] > > +xfs_file_compat_ioctl_invis( > ^^^^^^^^^^^ > [???] > > -extern long xfs_file_compat_invis_ioctl(struct file *, unsigned, unsigned long); > ^^^^^^^^^^^ > > Fixed it up, it's in QA now, Doh, thanks. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 06:36:17 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4CaGrK027364 for ; Thu, 4 Dec 2008 06:36:17 -0600 X-ASG-Debug-ID: 1228394175-26bb01160000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id ECDC31B2D1EE for ; Thu, 4 Dec 2008 04:36:15 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 5ea2TBdLFZG4fnOH for ; Thu, 04 Dec 2008 04:36:15 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8DQn-0002PL-3y; Thu, 04 Dec 2008 12:35:45 +0000 Date: Thu, 4 Dec 2008 07:35:45 -0500 From: Christoph Hellwig To: Niv Sardi Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 12/22] kill dead inode flags Subject: Re: [patch 12/22] kill dead inode flags Message-ID: <20081204123545.GD7085@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160651.264876000@bombadil.infradead.org> <87r64o7k57.fsf@cxhome.ath.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87r64o7k57.fsf@cxhome.ath.cx> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228394175 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 01:24:04PM +1100, Niv Sardi wrote: > Christoph Hellwig writes: > > > There are a few inode flags around that aren't used anywhere, so remove > > them. Also update xfsidbg to display all used inode flags correctly. > > Thanks for splitting things up, you have your idbg patch somewhere > though ? should the reference to it be removed from the commit ? No, sorry. When I ported things to the new tree I lost those changes. Given that I do all work on the master branch don't expect fixes for these bits unless it's specificly for the -dev branch (e.g. dmapi). From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 06:50:15 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4CoD4G029040 for ; Thu, 4 Dec 2008 06:50:15 -0600 X-ASG-Debug-ID: 1228395012-265f01690000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 38C961695674; Thu, 4 Dec 2008 04:50:12 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id gfeTGQmMNIfrvV3D; Thu, 04 Dec 2008 04:50:12 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8Deg-0003tO-JV; Thu, 04 Dec 2008 12:50:06 +0000 Date: Thu, 4 Dec 2008 07:50:06 -0500 From: Christoph Hellwig To: Stephen Rothwell Cc: Christoph Hellwig , Geert Uytterhoeven , Eric Sandeen , Christoph Hellwig , Lachlan McIlroy , linux-next@vger.kernel.org, LKML , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Subject: Re: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Message-ID: <20081204125006.GA13411@infradead.org> References: <20081203183602.c06f8c39.sfr@canb.auug.org.au> <20081204121330.GA18815@infradead.org> <20081204234603.b5a28cd6.sfr@canb.auug.org.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081204234603.b5a28cd6.sfr@canb.auug.org.au> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228395013 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 11:46:03PM +1100, Stephen Rothwell wrote: > fs/xfs/linux-2.6/xfs_file.c:365: error: 'xfs_file_compat_invis_ioctl' undeclared here (not in a function) > > Eric mentioned that your patch "had a problem of its own", so I assumed > that was it and left it removed from today's linux-next. Yeah, but Niv fixed it up and the correct version is not in the xfs git tree. From sfr@canb.auug.org.au Thu Dec 4 06:51:45 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4CpjIG029146 for ; Thu, 4 Dec 2008 06:51:45 -0600 X-ASG-Debug-ID: 1228395102-265801a10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from smtps.tip.net.au (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 263C016956C7 for ; Thu, 4 Dec 2008 04:51:43 -0800 (PST) Received: from smtps.tip.net.au (chilli.pcug.org.au [203.10.76.44]) by cuda.sgi.com with ESMTP id K7ABDKyHvH1QhRH1 for ; Thu, 04 Dec 2008 04:51:43 -0800 (PST) Received: from ash.ozlabs.ibm.com (ta-1-1.tip.net.au [203.11.71.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by smtps.tip.net.au (Postfix) with ESMTP id 2DB43368007; Thu, 4 Dec 2008 23:46:08 +1100 (EST) Date: Thu, 4 Dec 2008 23:46:03 +1100 From: Stephen Rothwell To: Christoph Hellwig Cc: Geert Uytterhoeven , Eric Sandeen , Christoph Hellwig , Lachlan McIlroy , linux-next@vger.kernel.org, LKML , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Subject: Re: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Message-Id: <20081204234603.b5a28cd6.sfr@canb.auug.org.au> In-Reply-To: <20081204121330.GA18815@infradead.org> References: <20081203183602.c06f8c39.sfr@canb.auug.org.au> <20081204121330.GA18815@infradead.org> X-Mailer: Sylpheed 2.5.0 (GTK+ 2.12.11; i486-pc-linux-gnu) Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Thu__4_Dec_2008_23_46_03_+1100_Y4i_FBnC6Lw+PbDs" X-Barracuda-Connect: chilli.pcug.org.au[203.10.76.44] X-Barracuda-Start-Time: 1228395104 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11901 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --Signature=_Thu__4_Dec_2008_23_46_03_+1100_Y4i_FBnC6Lw+PbDs Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Christoph, On Thu, 4 Dec 2008 07:13:30 -0500 Christoph Hellwig wro= te: > > On Thu, Dec 04, 2008 at 10:02:15AM +0100, Geert Uytterhoeven wrote: > > On Wed, 3 Dec 2008, Stephen Rothwell wrote: > > > Status of my local build tests will be at > > > http://kisskb.ellerman.id.au/linux-next . If maintainers want to give > > > advice about cross compilers/configs that work, we are always open to= add > > > more builds. > >=20 > > On m68k (32-bit only, no compat32), XFS fails to build in linux-next: >=20 > Yeah, it's broken on all 32bit platforms. Today's xfs tree has a fix > for it. I tried that tree but got this error from a powerpc ppc64_defconfig build (which is 64 bit): fs/xfs/linux-2.6/xfs_file.c:365: error: 'xfs_file_compat_invis_ioctl' undec= lared here (not in a function) Eric mentioned that your patch "had a problem of its own", so I assumed that was it and left it removed from today's linux-next. --=20 Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ --Signature=_Thu__4_Dec_2008_23_46_03_+1100_Y4i_FBnC6Lw+PbDs Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkk30QsACgkQjjKRsyhoI8x5WACgmRsYcHOOMlUMk0zCz8iRXkm5 OB4An3bYWlAaP8j5dF+vffc9iKvlEtmh =YjVi -----END PGP SIGNATURE----- --Signature=_Thu__4_Dec_2008_23_46_03_+1100_Y4i_FBnC6Lw+PbDs-- From 0xa1f00@gmail.com Thu Dec 4 07:03:17 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4D3HWL030071 for ; Thu, 4 Dec 2008 07:03:17 -0600 X-ASG-Debug-ID: 1228395795-265e01da0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from rv-out-0506.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 95ED116938BC for ; Thu, 4 Dec 2008 05:03:16 -0800 (PST) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.225]) by cuda.sgi.com with ESMTP id 9rqoeNJCcCXiCBnB for ; Thu, 04 Dec 2008 05:03:16 -0800 (PST) Received: by rv-out-0506.google.com with SMTP id f9so3925799rvb.7 for ; Thu, 04 Dec 2008 05:03:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=fbQR/A+1wD34MJi0dyW8Wlljj9P4pUanmJEjbcGiRQw=; b=PM3vgfxMWnHp3i4a70QOLPb/mp04zs4QTrUeqHwE9mrhIct/hs1Kxg+Xd1WgD+/j0f Edhd99BjyWiWgXWX+grmu8/d2o/h6DTSrquTvE6txT4NG9esuyzm7UehMd4YSOOw+GN7 hxkk/gDjsHi032pIikWccl1vPV/1n5kZLAuyE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=Qncr8+SQngN5oaE/xLgx85g1Ihiy3CzU1uQqHnWAVif3YCswlOrKBPb/+mSNaEgzWQ K8kEtK7A5YY40GnNvYPN1ByBHRYuzu4fkmeQRzdl4VvZowDksERfQR9G4oE7saxn3F02 WF9JdPGktw7ksOMNSZxNYXeU6fMw7RE7H3eN0= Received: by 10.141.142.15 with SMTP id u15mr6921379rvn.112.1228395795463; Thu, 04 Dec 2008 05:03:15 -0800 (PST) Received: by 10.140.141.11 with HTTP; Thu, 4 Dec 2008 05:03:15 -0800 (PST) Message-ID: <416c461f0812040503g13083bdbl7a9b716f17d2adc0@mail.gmail.com> Date: Fri, 5 Dec 2008 00:03:15 +1100 From: "Niv Sardi" Sender: 0xa1f00@gmail.com To: "Christoph Hellwig" X-ASG-Orig-Subj: Re: [patch 01/22] fix compile on 32 bit systems Subject: Re: [patch 01/22] fix compile on 32 bit systems Cc: xfs@oss.sgi.com In-Reply-To: <20081204123432.GC7085@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.658660000@bombadil.infradead.org> <87vdu07nvp.fsf@cxhome.ath.cx> <20081204123432.GC7085@infradead.org> X-Google-Sender-Auth: 7762d9c83eda4838 X-Barracuda-Connect: rv-out-0506.google.com[209.85.198.225] X-Barracuda-Start-Time: 1228395796 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11901 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Oh well, lachland allready checked it in like that... On Thu, Dec 4, 2008 at 11:34 PM, Christoph Hellwig wrote: > On Thu, Dec 04, 2008 at 12:03:22PM +1100, Niv Sardi wrote: >> Christoph Hellwig writes: >> [???] >> > +xfs_file_compat_ioctl_invis( >> ^^^^^^^^^^^ >> [???] >> > -extern long xfs_file_compat_invis_ioctl(struct file *, unsigned, unsigned long); >> ^^^^^^^^^^^ >> >> Fixed it up, it's in QA now, > > Doh, thanks. > > -- Niv Sardi From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 07:11:26 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4DBQAs030697 for ; Thu, 4 Dec 2008 07:11:26 -0600 X-ASG-Debug-ID: 1228396285-2631027b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 66DB91BEF19D for ; Thu, 4 Dec 2008 05:11:25 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id k69feAxaboHbtXpf for ; Thu, 04 Dec 2008 05:11:25 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8DzI-0005NT-W2; Thu, 04 Dec 2008 13:11:25 +0000 Date: Thu, 4 Dec 2008 08:11:24 -0500 From: Christoph Hellwig To: Niv Sardi Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [patch 01/22] fix compile on 32 bit systems Subject: Re: [patch 01/22] fix compile on 32 bit systems Message-ID: <20081204131124.GA7276@infradead.org> References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.658660000@bombadil.infradead.org> <87vdu07nvp.fsf@cxhome.ath.cx> <20081204123432.GC7085@infradead.org> <416c461f0812040503g13083bdbl7a9b716f17d2adc0@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <416c461f0812040503g13083bdbl7a9b716f17d2adc0@mail.gmail.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228396285 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Fri, Dec 05, 2008 at 12:03:15AM +1100, Niv Sardi wrote: > Oh well, lachland allready checked it in like that... Just put in my add FMODE_NOCMTIME patch in, it removes all that invis file operations crap :) Seriously, it's already been reviewed on -fsdevel anyway. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 07:26:46 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4DQk70032418 for ; Thu, 4 Dec 2008 07:26:46 -0600 X-ASG-Debug-ID: 1228397205-26ba02f30000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A51201BEECE3; Thu, 4 Dec 2008 05:26:45 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id MjAFfKDYBJCZDdWi; Thu, 04 Dec 2008 05:26:45 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8EE9-00077J-6U; Thu, 04 Dec 2008 13:26:45 +0000 Date: Thu, 4 Dec 2008 08:26:45 -0500 From: Christoph Hellwig To: Timothy Shimmin Cc: Dave Chinner , Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: New XFS git tree on oss.sgi.com Subject: Re: New XFS git tree on oss.sgi.com Message-ID: <20081204132645.GA32664@infradead.org> References: <492BA7AD.5080007@sgi.com> <20081125081644.GA20644@infradead.org> <492C9FB9.3090204@sgi.com> <20081126020009.GF6291@disturbed> <492CC287.3070709@sgi.com> <20081126040840.GG6291@disturbed> <492CE189.2000304@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <492CE189.2000304@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228397205 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Wed, Nov 26, 2008 at 04:41:29PM +1100, Timothy Shimmin wrote: > I was just thinking that if an external developer is working on a clone of > say the master branch and they have a fix, that they might post a patch > and say where sgi can pull from (the developer's tree) to receive the patch(es) > as an easier way to bring stuff in. So do you want git trees or not now? I spent quite some time to set up a tree for my last set of patches, but what got in was slightly different, so when I pulles I got a merge and duplicates in my tree and had to git-reset to a point before my patches. If you do apply from the list anyway I can avoid that overhead. From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 07:28:19 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00,SUBJ_FRIEND autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4DSITt032548 for ; Thu, 4 Dec 2008 07:28:19 -0600 X-ASG-Debug-ID: 1228397297-26ba03030000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F1B8B1BEECF9 for ; Thu, 4 Dec 2008 05:28:17 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id kmTEF7vc0QjEW9f4 for ; Thu, 04 Dec 2008 05:28:17 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8EF8-00078T-Ry; Thu, 04 Dec 2008 13:27:46 +0000 Date: Thu, 4 Dec 2008 08:27:46 -0500 From: Christoph Hellwig To: Lachlan McIlroy Cc: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Remove XFS_BUF_SHUT() and friends Subject: Re: [PATCH] Remove XFS_BUF_SHUT() and friends Message-ID: <20081204132746.GA27400@infradead.org> References: <49378654.2050707@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49378654.2050707@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228397297 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 06:27:16PM +1100, Lachlan McIlroy wrote: > Code does nothing so remove it. Looks good to me. Does anyone remember why this flag was set on IRIX? From 0xa1f00@gmail.com Thu Dec 4 07:47:26 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4DlOrD002492 for ; Thu, 4 Dec 2008 07:47:26 -0600 X-ASG-Debug-ID: 1228398443-263103d50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from rv-out-0708.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D886D167DA45 for ; Thu, 4 Dec 2008 05:47:23 -0800 (PST) Received: from rv-out-0708.google.com (rv-out-0708.google.com [209.85.198.245]) by cuda.sgi.com with ESMTP id Yt1gYUjVGnvHvpzJ for ; Thu, 04 Dec 2008 05:47:23 -0800 (PST) Received: by rv-out-0708.google.com with SMTP id f25so3791578rvb.32 for ; Thu, 04 Dec 2008 05:47:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=qfiewm2FjlzOt1zSV3hnzJVNYXtn9/9Vme7GFKAyYrU=; b=Ns1oARDmT47oyEnxjIQgzts3Il2PmBYwmIabsPPcrOnvfH7dH+1UPd75JBqhFQvtij scTgHQ7Y3yBO7htRSZ05GEKQTcy9xRB0d5ubrHp36UzTeMEAg+Gh3ZtIavUrurCSghpr 1EeJ7V++U6z+HKOLqCSTq8ELDesCEjOOLVYvs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=LJtTiqyHNB8vnq6iG1Z88JomxNUCz8S3Inf1ux4N7xvQXQqDqS2Vb6kHYE1eKPkje0 Sxb6e8AXsTwEjr/FQV2W84SGhLM+nx478Jk1Vcw+YTPyPMmHS2Y3LgNUAx8Du1llOSeA 5EKqCAmUB8Jocno9oczRxA8BdxJX/mtVe9pwI= Received: by 10.140.147.5 with SMTP id u5mr6954942rvd.14.1228398028316; Thu, 04 Dec 2008 05:40:28 -0800 (PST) Received: by 10.140.141.11 with HTTP; Thu, 4 Dec 2008 05:40:28 -0800 (PST) Message-ID: <416c461f0812040540q569321f6scf5f4716b6abcaee@mail.gmail.com> Date: Fri, 5 Dec 2008 00:40:28 +1100 From: "Niv Sardi" Sender: 0xa1f00@gmail.com To: "Christoph Hellwig" X-ASG-Orig-Subj: Re: [patch 01/22] fix compile on 32 bit systems Subject: Re: [patch 01/22] fix compile on 32 bit systems Cc: xfs@oss.sgi.com In-Reply-To: <20081204131124.GA7276@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20081202160430.775774000@bombadil.infradead.org> <20081202160649.658660000@bombadil.infradead.org> <87vdu07nvp.fsf@cxhome.ath.cx> <20081204123432.GC7085@infradead.org> <416c461f0812040503g13083bdbl7a9b716f17d2adc0@mail.gmail.com> <20081204131124.GA7276@infradead.org> X-Google-Sender-Auth: d7b373e25c9c5d0d X-Barracuda-Connect: rv-out-0708.google.com[209.85.198.245] X-Barracuda-Start-Time: 1228398443 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11903 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Bissectable commits my dear christoph, bissectable commits =) Mark told me I should make you happy and put lots of patches of yours in if you put them in nice git trees for us =) just send to list. On Fri, Dec 5, 2008 at 12:11 AM, Christoph Hellwig wrote: > On Fri, Dec 05, 2008 at 12:03:15AM +1100, Niv Sardi wrote: >> Oh well, lachland allready checked it in like that... > > Just put in my add FMODE_NOCMTIME patch in, it removes all that invis > file operations crap :) Seriously, it's already been reviewed on > -fsdevel anyway. > > -- Niv Sardi From hch@lst.de Thu Dec 4 07:48:20 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4DmKZt002598 for ; Thu, 4 Dec 2008 07:48:20 -0600 X-ASG-Debug-ID: 1228398498-26ba03e50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from verein.lst.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A83271BEF4BA for ; Thu, 4 Dec 2008 05:48:18 -0800 (PST) Received: from verein.lst.de (verein.lst.de [213.95.11.210]) by cuda.sgi.com with ESMTP id KZGayJeTZVdOP8Y0 for ; Thu, 04 Dec 2008 05:48:18 -0800 (PST) Received: from verein.lst.de (localhost [127.0.0.1]) by verein.lst.de (8.12.3/8.12.3/Debian-7.1) with ESMTP id mB4DNRIF013041 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Thu, 4 Dec 2008 14:23:27 +0100 Received: (from hch@localhost) by verein.lst.de (8.12.3/8.12.3/Debian-6.6) id mB4DNRpj013039; Thu, 4 Dec 2008 14:23:27 +0100 Date: Thu, 4 Dec 2008 14:23:27 +0100 From: Christoph Hellwig To: Christoph Hellwig Cc: Stephen Rothwell , Geert Uytterhoeven , Eric Sandeen , Christoph Hellwig , Lachlan McIlroy , linux-next@vger.kernel.org, LKML , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Subject: Re: XFS breakage on m68k (was: Re: linux-next: Tree for December 3) Message-ID: <20081204132327.GA12971@lst.de> References: <20081203183602.c06f8c39.sfr@canb.auug.org.au> <20081204121330.GA18815@infradead.org> <20081204234603.b5a28cd6.sfr@canb.auug.org.au> <20081204125006.GA13411@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081204125006.GA13411@infradead.org> User-Agent: Mutt/1.3.28i X-Scanned-By: MIMEDefang 2.39 X-Barracuda-Connect: verein.lst.de[213.95.11.210] X-Barracuda-Start-Time: 1228398499 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11903 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Dec 04, 2008 at 07:50:06AM -0500, Christoph Hellwig wrote: > Yeah, but Niv fixed it up and the correct version is not in the xfs git > tree. Hah, he noticed the bug but the wrong version got checked in anyway. Here's the fix (for todays xfs tree): -- [XFS] Fix compile with CONFIG_COMPAT enabled Signed-off-by: Christoph Hellwig Index: xfs/fs/xfs/linux-2.6/xfs_ioctl.h =================================================================== --- xfs.orig/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-04 14:19:32.000000000 +0100 +++ xfs/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-04 14:19:38.000000000 +0100 @@ -74,7 +74,7 @@ xfs_file_compat_ioctl( unsigned long arg); extern long -xfs_file_compat_ioctl_invis( +xfs_file_compat_invis_ioctl( struct file *file, unsigned int cmd, unsigned long arg); From andi@firstfloor.org Thu Dec 4 08:09:14 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4E9B2R005045 for ; Thu, 4 Dec 2008 08:09:14 -0600 X-ASG-Debug-ID: 1228399749-31d600790000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from one.firstfloor.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 70C101BEF682 for ; Thu, 4 Dec 2008 06:09:09 -0800 (PST) Received: from one.firstfloor.org (one.firstfloor.org [213.235.205.2]) by cuda.sgi.com with ESMTP id Xu52A9uZYDg5OA2V for ; Thu, 04 Dec 2008 06:09:09 -0800 (PST) Received: by one.firstfloor.org (Postfix, from userid 503) id C76061B90084; Thu, 4 Dec 2008 15:20:15 +0100 (CET) Date: Thu, 4 Dec 2008 15:20:15 +0100 From: Andi Kleen To: Mikulas Patocka Cc: Andi Kleen , linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Message-ID: <20081204142015.GQ6703@one.firstfloor.org> References: <20081204100050.GN6703@one.firstfloor.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i X-Barracuda-Connect: one.firstfloor.org[213.235.205.2] X-Barracuda-Start-Time: 1228399750 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0020 1.0000 -2.0077 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.01 X-Barracuda-Spam-Status: No, SCORE=-2.01 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11905 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- > the 1st write request ends with success > the 2nd write request ends with -EOPNOTSUPP > the 3rd write request ends with success > > --- when you first see -EOPNOTSUPP, you have already corrupted filesystem > (the 3rd write passed while the filesystem expected that it would be There's no passing of requests during pvmove. It's a really strong barrier. > finished after the 2nd write) and you are in an interrupt context, where > you can't reissue -EOPNOTSUPP request. So what do you want to do? The barrier aware file systems I know of just resubmit synchronously when a barrier fails. -Andi From mpatocka@redhat.com Thu Dec 4 08:17:10 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4EHAFq006731 for ; Thu, 4 Dec 2008 08:17:10 -0600 X-ASG-Debug-ID: 1228400228-280301460000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5C992169574F for ; Thu, 4 Dec 2008 06:17:08 -0800 (PST) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id 1FnzrhodoUTQHSCv for ; Thu, 04 Dec 2008 06:17:08 -0800 (PST) X-ASG-Whitelist: Barracuda Reputation Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id mB4EH6WD019492; Thu, 4 Dec 2008 09:17:06 -0500 Received: from hs20-bc2-1.build.redhat.com (hs20-bc2-1.build.redhat.com [10.10.28.34]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB4EH4nN025783; Thu, 4 Dec 2008 09:17:04 -0500 Received: from hs20-bc2-1.build.redhat.com (localhost.localdomain [127.0.0.1]) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1) with ESMTP id mB4EH4jK012458; Thu, 4 Dec 2008 09:17:04 -0500 Received: from localhost (mpatocka@localhost) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1/Submit) with ESMTP id mB4EH4Qp012452; Thu, 4 Dec 2008 09:17:04 -0500 X-Authentication-Warning: hs20-bc2-1.build.redhat.com: mpatocka owned process doing -bs Date: Thu, 4 Dec 2008 09:17:04 -0500 (EST) From: Mikulas Patocka X-X-Sender: mpatocka@hs20-bc2-1.build.redhat.com To: Andi Kleen cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.) In-Reply-To: <20081204142015.GQ6703@one.firstfloor.org> Message-ID: References: <20081204100050.GN6703@one.firstfloor.org> <20081204142015.GQ6703@one.firstfloor.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1228400229 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, 4 Dec 2008, Andi Kleen wrote: > > the 1st write request ends with success > > the 2nd write request ends with -EOPNOTSUPP > > the 3rd write request ends with success > > > > --- when you first see -EOPNOTSUPP, you have already corrupted filesystem > > (the 3rd write passed while the filesystem expected that it would be > > There's no passing of requests during pvmove. It's a really strong > barrier. You start pvmove. The filesystem doesn't know about pvmove. The next time filesystem does somethig, it submits these 3 requests and the 2nd fill unexpectedly fail. So the fact that pvmove drains the request queue won't help you. > > finished after the 2nd write) and you are in an interrupt context, where > > you can't reissue -EOPNOTSUPP request. So what do you want to do? > > The barrier aware file systems I know of just resubmit synchronously when > a barrier fails. ... and produce structure corruption for certain period in time, because the writes meant to be ordered are submitted unordered. Mikulas > -Andi > From andi@firstfloor.org Thu Dec 4 08:47:09 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4El8LQ009563 for ; Thu, 4 Dec 2008 08:47:09 -0600 X-ASG-Debug-ID: 1228402024-262402720000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from one.firstfloor.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 680D716958E3 for ; Thu, 4 Dec 2008 06:47:05 -0800 (PST) Received: from one.firstfloor.org (one.firstfloor.org [213.235.205.2]) by cuda.sgi.com with ESMTP id aA5drg6wBmeZvBAu for ; Thu, 04 Dec 2008 06:47:05 -0800 (PST) Received: by one.firstfloor.org (Postfix, from userid 503) id 259481AD0021; Thu, 4 Dec 2008 15:58:10 +0100 (CET) Date: Thu, 4 Dec 2008 15:58:10 +0100 From: Andi Kleen To: Mikulas Patocka Cc: Andi Kleen , linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Message-ID: <20081204145810.GR6703@one.firstfloor.org> References: <20081204100050.GN6703@one.firstfloor.org> <20081204142015.GQ6703@one.firstfloor.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i X-Barracuda-Connect: one.firstfloor.org[213.235.205.2] X-Barracuda-Start-Time: 1228402027 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11907 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- > You start pvmove. The filesystem doesn't know about pvmove. > > The next time filesystem does somethig, it submits these 3 requests and > the 2nd fill unexpectedly fail. Again the file systems handle failing barriers and they expect it. > > So the fact that pvmove drains the request queue won't help you. Help you against what? > > > > finished after the 2nd write) and you are in an interrupt context, where > > > you can't reissue -EOPNOTSUPP request. So what do you want to do? > > > > The barrier aware file systems I know of just resubmit synchronously when > > a barrier fails. > > ... and produce structure corruption for certain period in time, because > the writes meant to be ordered are submitted unordered. No there is nothing unordered. The file system path typically looks like commit of a transaction if (i have never seen a barrier failing) write block with barrier if (EOPNOTSUPP) { record failure submit synchronously } } else submit synchronously So if a pvmove barrier fails it will just submit synchronously. The write block with barrier bit varies, jbd/gfs2 do it synchronously too and xfs does it asynchronously (with io done callbacks), but in both cases they handle an EOPNOTSUPP comming out in the final io done. When the pvmove migrates from no barrier support to barrier support there won't be any barrier on the file system for the time of the current mount, but that's also fine. -Andi From sandeen@sandeen.net Thu Dec 4 09:29:39 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4FTc4I012076 for ; Thu, 4 Dec 2008 09:29:39 -0600 X-ASG-Debug-ID: 1228404577-5d5f02280000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2A5121695A66; Thu, 4 Dec 2008 07:29:37 -0800 (PST) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id qR8D9EdN7tP6VA0N; Thu, 04 Dec 2008 07:29:37 -0800 (PST) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id mB4FTb2q007273; Thu, 4 Dec 2008 10:29:37 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB4FTa95011764; Thu, 4 Dec 2008 10:29:36 -0500 Received: from neon.msp.redhat.com (neon.msp.redhat.com [10.15.80.10]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id mB4FTZpC009325; Thu, 4 Dec 2008 10:29:36 -0500 Message-ID: <4937F75F.8070302@sandeen.net> Date: Thu, 04 Dec 2008 09:29:35 -0600 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.18 (X11/20081119) MIME-Version: 1.0 To: lachlan@sgi.com CC: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Remove unused variable in ktrace_free() Subject: Re: [PATCH] Remove unused variable in ktrace_free() References: <4937765D.2030601@sgi.com> In-Reply-To: <4937765D.2030601@sgi.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1228404578 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11911 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Lachlan McIlroy wrote: > entries_size is probably left over from when we used to pass the > size to kmem_free(). Reviewed-by: Eric Sandeen > --- xfs-fix.orig/fs/xfs/support/ktrace.c > +++ xfs-fix/fs/xfs/support/ktrace.c > @@ -113,21 +113,16 @@ ktrace_alloc(int nentries, unsigned int > void > ktrace_free(ktrace_t *ktp) > { > - int entries_size; > - > if (ktp == (ktrace_t *)NULL) > return; > > /* > * Special treatment for the Vnode trace buffer. > */ > - if (ktp->kt_nentries == ktrace_zentries) { > + if (ktp->kt_nentries == ktrace_zentries) > kmem_zone_free(ktrace_ent_zone, ktp->kt_entries); > - } else { > - entries_size = (int)(ktp->kt_nentries * sizeof(ktrace_entry_t)); > - > + else > kmem_free(ktp->kt_entries); > - } > > kmem_zone_free(ktrace_hdr_zone, ktp); > } > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sandeen@sandeen.net Thu Dec 4 09:44:49 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_35, J_CHICKENPOX_66 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4FinZY012792 for ; Thu, 4 Dec 2008 09:44:49 -0600 X-ASG-Debug-ID: 1228405487-248600bb0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0A35016965D9; Thu, 4 Dec 2008 07:44:47 -0800 (PST) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id I9RWhmEYHZ8Wx2Og; Thu, 04 Dec 2008 07:44:47 -0800 (PST) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id mB4FikKR010713; Thu, 4 Dec 2008 10:44:46 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB4FikEi016585; Thu, 4 Dec 2008 10:44:46 -0500 Received: from neon.msp.redhat.com (neon.msp.redhat.com [10.15.80.10]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id mB4FijMr011951; Thu, 4 Dec 2008 10:44:45 -0500 Message-ID: <4937FAED.7060503@sandeen.net> Date: Thu, 04 Dec 2008 09:44:45 -0600 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.18 (X11/20081119) MIME-Version: 1.0 To: lachlan@sgi.com CC: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Fix off by one error in page_region_mask() Subject: Re: [PATCH] Fix off by one error in page_region_mask() References: <49378B60.1060603@sgi.com> In-Reply-To: <49378B60.1060603@sgi.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1228405488 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11911 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Lachlan McIlroy wrote: > final is calculated to be the last bit to set (ie inclusive) but when we > do the mask shifting final really needs to be first bit not to set. > > For example if first and final are both bit 0 (ie only first bit to be set) > then mask is completely shifted and becomes all zeroes. > > Or if first is 0 and final is 63 then the mask is shifted one bit when it > shouldn't be shifted at all. Lachlan, what's the end result of this bug? What's the broken behavior? Thanks, -Eric > --- xfs-fix.orig/fs/xfs/linux-2.6/xfs_buf.c > +++ xfs-fix/fs/xfs/linux-2.6/xfs_buf.c > @@ -129,15 +129,17 @@ page_region_mask( > int first, final; > > first = BTOPR(offset); > - final = BTOPRT(offset + length - 1); > - first = min(first, final); > + final = BTOPRT(offset + length); > + > + if (first >= final) > + return 0UL; > > mask = ~0UL; > mask <<= BITS_PER_LONG - (final - first); > mask >>= BITS_PER_LONG - (final); > > ASSERT(offset + length <= PAGE_CACHE_SIZE); > - ASSERT((final - first) < BITS_PER_LONG && (final - first) >= 0); > + ASSERT((final - first) <= BITS_PER_LONG && (final - first) > 0); > > return mask; > } > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sandeen@sandeen.net Thu Dec 4 10:26:52 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4GQpEc016009 for ; Thu, 4 Dec 2008 10:26:52 -0600 X-ASG-Debug-ID: 1228408010-24bd020d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id CF8D31658DE4; Thu, 4 Dec 2008 08:26:50 -0800 (PST) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id aAW9WAy0JdCCd93i; Thu, 04 Dec 2008 08:26:50 -0800 (PST) Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id mB4FSGrv007076; Thu, 4 Dec 2008 10:28:18 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB4FSFEq011364; Thu, 4 Dec 2008 10:28:16 -0500 Received: from neon.msp.redhat.com (neon.msp.redhat.com [10.15.80.10]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id mB4FSEZV009125; Thu, 4 Dec 2008 10:28:15 -0500 Message-ID: <4937F70E.4060600@sandeen.net> Date: Thu, 04 Dec 2008 09:28:14 -0600 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.18 (X11/20081119) MIME-Version: 1.0 To: lachlan@sgi.com CC: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] Check return value of xfs_buf_get_noaddr() Subject: Re: [PATCH] Check return value of xfs_buf_get_noaddr() References: <49376D11.4010507@sgi.com> In-Reply-To: <49376D11.4010507@sgi.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1228408010 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11914 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Lachlan McIlroy wrote: > We check the return value of all other calls to xfs_buf_get_noaddr(). > Make sense to do it here too. > > --- a/fs/xfs/xfs_vnodeops.c > +++ b/fs/xfs/xfs_vnodeops.c > @@ -3034,6 +3034,8 @@ xfs_zero_remaining_bytes( > bp = xfs_buf_get_noaddr(mp->m_sb.sb_blocksize, > XFS_IS_REALTIME_INODE(ip) ? > mp->m_rtdev_targp : mp->m_ddev_targp); > + if (!bp) > + return ENOMEM; Maybe + return XFS_ERROR(ENOMEM); -Eric > for (offset = startoff; offset <= endoff; offset = lastoffset + 1) { > offset_fsb = XFS_B_TO_FSBT(mp, offset); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From andi@firstfloor.org Thu Dec 4 11:43:04 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_22 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4Hh45J020875 for ; Thu, 4 Dec 2008 11:43:04 -0600 X-ASG-Debug-ID: 1228412582-30a101320000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from one.firstfloor.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8E6EC16982F9 for ; Thu, 4 Dec 2008 09:43:02 -0800 (PST) Received: from one.firstfloor.org (one.firstfloor.org [213.235.205.2]) by cuda.sgi.com with ESMTP id x1GBTiZ7dOtzTh5f for ; Thu, 04 Dec 2008 09:43:02 -0800 (PST) Received: by one.firstfloor.org (Postfix, from userid 503) id 6AE671AD0021; Thu, 4 Dec 2008 18:48:38 +0100 (CET) Date: Thu, 4 Dec 2008 18:48:38 +0100 From: Andi Kleen To: Mikulas Patocka Cc: Andi Kleen , linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Message-ID: <20081204174838.GS6703@one.firstfloor.org> References: <20081204100050.GN6703@one.firstfloor.org> <20081204142015.GQ6703@one.firstfloor.org> <20081204145810.GR6703@one.firstfloor.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i X-Barracuda-Connect: one.firstfloor.org[213.235.205.2] X-Barracuda-Start-Time: 1228412583 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11918 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Dec 04, 2008 at 11:45:44AM -0500, Mikulas Patocka wrote: > > No there is nothing unordered. The file system path typically looks like > > > > commit of a transaction > > if (i have never seen a barrier failing) > > write block with barrier > > if (EOPNOTSUPP) { > > record failure > > submit synchronously > > } > > } else > > submit synchronously > > > > If you view this as a "right" way of using barriers, then you can drop It's the way the file systems do it. If you don't believe me feel free to read the code for yourself. > barrier support at all and replace this code sequence with: > > flush disk cache > submit write synchronously > flush disk cache > > --- because synchronous barriers bring you no performance advantage over > the above sequence. Remember this is done by a commit thread in a journaling file system. Commits are ordered so the thread cannot really order out of order anyways. And yes the barriers are essentially a way to flush the cache regularly for selected commits. The alternative (if you want to guarantee transaction order) would be to disable the write cache completely and do it synchronous on each IO. > > > So if a pvmove barrier fails it will just submit synchronously. > > > > The write block with barrier bit varies, jbd/gfs2 do it synchronously > > too and xfs does it asynchronously (with io done callbacks), but > > And how does xfs preserve write ordering, if the barrier asynchronously > fails with -EOPNOTSUPP and there are other writes submitted after the > barrier? >From the high level journaling perspective they are not asynchronous I think. Just the low level xfs_buf interface happens to use the asynchronous callbacks instead of calling into the block layer directly like jbd et.al. do. -Andi From SRS0+f5e6b4c98b71a692776a+1929+infradead.org+hch@bombadil.srs.infradead.org Thu Dec 4 11:53:16 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_22 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4HrGMK021890 for ; Thu, 4 Dec 2008 11:53:16 -0600 X-ASG-Debug-ID: 1228413195-06f902f90000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bombadil.infradead.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 918C31697A41 for ; Thu, 4 Dec 2008 09:53:15 -0800 (PST) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 7vMTs5HRHgMrAmLf for ; Thu, 04 Dec 2008 09:53:15 -0800 (PST) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.68 #1 (Red Hat Linux)) id 1L8INv-0001HJ-Ej; Thu, 04 Dec 2008 17:53:07 +0000 Date: Thu, 4 Dec 2008 12:53:07 -0500 From: Christoph Hellwig To: Andi Kleen Cc: Mikulas Patocka , Andi Kleen , linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Message-ID: <20081204175306.GA24196@infradead.org> References: <20081204100050.GN6703@one.firstfloor.org> <20081204142015.GQ6703@one.firstfloor.org> <20081204145810.GR6703@one.firstfloor.org> <20081204174838.GS6703@one.firstfloor.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081204174838.GS6703@one.firstfloor.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1228413195 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, Dec 04, 2008 at 06:48:38PM +0100, Andi Kleen wrote: > I think. Just the low level xfs_buf interface happens to use the asynchronous > callbacks instead of calling into the block layer directly like jbd et.al. > do. Only delwri buffers are delayed in XFS, but the journaling code only uses async buffers which *synchronously* call into the block layer, but just don't wait for it to complete.. From mpatocka@redhat.com Thu Dec 4 13:30:45 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4JUib4028122 for ; Thu, 4 Dec 2008 13:30:45 -0600 X-ASG-Debug-ID: 1228419041-19d1006e0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0C9C316A348C for ; Thu, 4 Dec 2008 11:30:41 -0800 (PST) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id 0Ge2zuAhoMFeCbba for ; Thu, 04 Dec 2008 11:30:41 -0800 (PST) X-ASG-Whitelist: Barracuda Reputation Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id mB4GjmLS014507; Thu, 4 Dec 2008 11:45:48 -0500 Received: from hs20-bc2-1.build.redhat.com (hs20-bc2-1.build.redhat.com [10.10.28.34]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB4GjieA006255; Thu, 4 Dec 2008 11:45:47 -0500 Received: from hs20-bc2-1.build.redhat.com (localhost.localdomain [127.0.0.1]) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1) with ESMTP id mB4GjiXn004025; Thu, 4 Dec 2008 11:45:44 -0500 Received: from localhost (mpatocka@localhost) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1/Submit) with ESMTP id mB4GjitO004019; Thu, 4 Dec 2008 11:45:44 -0500 X-Authentication-Warning: hs20-bc2-1.build.redhat.com: mpatocka owned process doing -bs Date: Thu, 4 Dec 2008 11:45:44 -0500 (EST) From: Mikulas Patocka X-X-Sender: mpatocka@hs20-bc2-1.build.redhat.com To: Andi Kleen cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.) In-Reply-To: <20081204145810.GR6703@one.firstfloor.org> Message-ID: References: <20081204100050.GN6703@one.firstfloor.org> <20081204142015.GQ6703@one.firstfloor.org> <20081204145810.GR6703@one.firstfloor.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1228419044 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com > > > > finished after the 2nd write) and you are in an interrupt context, where > > > > you can't reissue -EOPNOTSUPP request. So what do you want to do? > > > > > > The barrier aware file systems I know of just resubmit synchronously when > > > a barrier fails. > > > > ... and produce structure corruption for certain period in time, because > > the writes meant to be ordered are submitted unordered. > > No there is nothing unordered. The file system path typically looks like > > commit of a transaction > if (i have never seen a barrier failing) > write block with barrier > if (EOPNOTSUPP) { > record failure > submit synchronously > } > } else > submit synchronously > If you view this as a "right" way of using barriers, then you can drop barrier support at all and replace this code sequence with: flush disk cache submit write synchronously flush disk cache --- because synchronous barriers bring you no performance advantage over the above sequence. > So if a pvmove barrier fails it will just submit synchronously. > > The write block with barrier bit varies, jbd/gfs2 do it synchronously > too and xfs does it asynchronously (with io done callbacks), but And how does xfs preserve write ordering, if the barrier asynchronously fails with -EOPNOTSUPP and there are other writes submitted after the barrier? > in both cases they handle an EOPNOTSUPP comming out in the final > io done. Mikulas From mpatocka@redhat.com Thu Dec 4 13:34:47 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4JYkYg028350 for ; Thu, 4 Dec 2008 13:34:47 -0600 X-ASG-Debug-ID: 1228419284-260402c20000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2BD441BEFB6E for ; Thu, 4 Dec 2008 11:34:44 -0800 (PST) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id rX9vcF3VyE3SWQH2 for ; Thu, 04 Dec 2008 11:34:44 -0800 (PST) X-ASG-Whitelist: Barracuda Reputation Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id mB4E0IO8013484; Thu, 4 Dec 2008 09:00:18 -0500 Received: from hs20-bc2-1.build.redhat.com (hs20-bc2-1.build.redhat.com [10.10.28.34]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB4E0DlC014631; Thu, 4 Dec 2008 09:00:17 -0500 Received: from hs20-bc2-1.build.redhat.com (localhost.localdomain [127.0.0.1]) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1) with ESMTP id mB4E0DEX009882; Thu, 4 Dec 2008 09:00:13 -0500 Received: from localhost (mpatocka@localhost) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1/Submit) with ESMTP id mB4E0DdY009876; Thu, 4 Dec 2008 09:00:13 -0500 X-Authentication-Warning: hs20-bc2-1.build.redhat.com: mpatocka owned process doing -bs Date: Thu, 4 Dec 2008 09:00:13 -0500 (EST) From: Mikulas Patocka X-X-Sender: mpatocka@hs20-bc2-1.build.redhat.com To: Andi Kleen , linux-kernel@vger.kernel.org, xfs@oss.sgi.com cc: Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Device loses barrier support (was: Fixed patch for simple barriers.) In-Reply-To: <20081204100050.GN6703@one.firstfloor.org> Message-ID: References: <20081204100050.GN6703@one.firstfloor.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1228419286 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, 4 Dec 2008, Andi Kleen wrote: > On Thu, Dec 04, 2008 at 12:09:56AM -0500, Mikulas Patocka wrote: > > > > BTW. how is this patch supposed to work with pvmove? I.e. you advertise to > > a filesystem that you support barriers, then the user runs pvmove and you > > drop barrier support while the filesystem is mounted - that will confuse > > the filesystem and maybe produce a data corruption. I wouldn't recommend > > File systems handle this generally. Also the pvmove itself will > act as a barrier. > > -Andi How do you want to handle this? Imagine: the filesystem submits a 1st write request the filesystem submits a 2nd write barrier request the filesystem submits a 3rd write request ... time passes ... the 1st write request ends with success the 2nd write request ends with -EOPNOTSUPP the 3rd write request ends with success --- when you first see -EOPNOTSUPP, you have already corrupted filesystem (the 3rd write passed while the filesystem expected that it would be finished after the 2nd write) and you are in an interrupt context, where you can't reissue -EOPNOTSUPP request. So what do you want to do? Possible ways how to solve it: 1) Wait synchronously for barriers, don't issue any other writes while barrier is pending. - this basically supresses any performance advantage barriers could have. Ext3 is doing this. - this solion is right. But if this is "the way it should be done", you could rip barriers from the kernel completely and replace them with a simple call to flush hardware cache. In this use scenario, they have no advantage over a simple call to flush cache. 2) Resubmit the failed -EOPNOTSUPP request from a thread. - this is what XFS is doing. Bad for code complexity (there must be a special thread just to catch failed IOs). Also, it still produces corrupted filesystem for a brief period of time. 3) Fail barriers only synchronously? (so that the caller can detect missing barrier support before issuing other writes) - unimplemntable in device mapper, if the device is suspended, it queues bios. 4) Disallow losing barrier support? - for me it looks like a sensible solution. Mikulas From mpatocka@redhat.com Thu Dec 4 13:53:16 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4JrGYq029736 for ; Thu, 4 Dec 2008 13:53:16 -0600 X-ASG-Debug-ID: 1228420394-260403750000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6379516A304E for ; Thu, 4 Dec 2008 11:53:14 -0800 (PST) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id l4b7II07Rcsl3UCv for ; Thu, 04 Dec 2008 11:53:14 -0800 (PST) X-ASG-Whitelist: Barracuda Reputation Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id mB4JbdXL017027; Thu, 4 Dec 2008 14:37:39 -0500 Received: from hs20-bc2-1.build.redhat.com (hs20-bc2-1.build.redhat.com [10.10.28.34]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB4JbbF0030320; Thu, 4 Dec 2008 14:37:37 -0500 Received: from hs20-bc2-1.build.redhat.com (localhost.localdomain [127.0.0.1]) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1) with ESMTP id mB4Jbbna031065; Thu, 4 Dec 2008 14:37:37 -0500 Received: from localhost (mpatocka@localhost) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1/Submit) with ESMTP id mB4Jbadj031059; Thu, 4 Dec 2008 14:37:37 -0500 X-Authentication-Warning: hs20-bc2-1.build.redhat.com: mpatocka owned process doing -bs Date: Thu, 4 Dec 2008 14:37:36 -0500 (EST) From: Mikulas Patocka X-X-Sender: mpatocka@hs20-bc2-1.build.redhat.com To: Andi Kleen cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.) In-Reply-To: <20081204174838.GS6703@one.firstfloor.org> Message-ID: References: <20081204100050.GN6703@one.firstfloor.org> <20081204142015.GQ6703@one.firstfloor.org> <20081204145810.GR6703@one.firstfloor.org> <20081204174838.GS6703@one.firstfloor.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1228420395 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com On Thu, 4 Dec 2008, Andi Kleen wrote: > On Thu, Dec 04, 2008 at 11:45:44AM -0500, Mikulas Patocka wrote: > > > No there is nothing unordered. The file system path typically looks like > > > > > > commit of a transaction > > > if (i have never seen a barrier failing) > > > write block with barrier > > > if (EOPNOTSUPP) { > > > record failure > > > submit synchronously > > > } > > > } else > > > submit synchronously > > > > > > > If you view this as a "right" way of using barriers, then you can drop > > It's the way the file systems do it. If you don't believe me feel > free to read the code for yourself. > > > barrier support at all and replace this code sequence with: > > > > flush disk cache > > submit write synchronously > > flush disk cache > > > > --- because synchronous barriers bring you no performance advantage over > > the above sequence. > > Remember this is done by a commit thread in a journaling file system. > Commits are ordered so the thread cannot really order out of order > anyways. And yes the barriers are essentially a way to flush the cache > regularly for selected commits. The alternative (if you > want to guarantee transaction order) would be to disable > the write cache completely and do it synchronous on each IO. Some times ago, I used barriers the asynchronous way in the spadfs filesystem and they helped very much. The commit logic is: - take the transaction lock (it prevents any updates) - write remaining dirty buffers (but don't wait) - submit barrier write to move to new transaction (but don't wait) - drop the transaction lock - eventually wait for completion of writes (if this was issued by fsync or sync) or don't wait at all if it was issued by other things (periodic syncer, emergency sync to reclaim free space or so). The advantage of this approach is that the lock is held for very small time, no IOs are really waited for inside the lock. So it doesn't block concurrent activity while someone is committing. Note, that after the lock is dropped, anyone can for example call mark_buffer_dirty, but writing of the new buffer won't be reordered with the barrier write that is already pending in the queue, so consistency is maintained. I somehow got the idea that this was the reason why barriers are implemented the way they are and that this was their intended mode of operation. Note that you can't achieve the same thing (don't wait inside the lock) if you submit barriers synchronously or if you use non-barrier writes and disk cache flushes. If you are pushing what you are pushing --- barriers allowing to return EOPNOTSUPP anytime --- then asynchronous barrier submits can no longer be used, because by the time EOPNOTSUPP is detected, the filesystem is already corrupted. Also, read Documentation/block/barrier.txt and see what you are breaking in the document: "all requests queued after the barrier request must be started only after the barrier request is finished (again, made it to the physical medium)." "Preceding requests are processed before the barrier and following requests after." --- you are going to break these rules. If the barrier can return -EOPNOTSUPP anytime, the following request will be finished before the barrier write is finished. (because the barrier write must be resubmitted without barrier) Basically, if you allow randomly failed barriers, you can drop barriers at all and replace them with blkdev_issue_flush(); write&wait_synchronous(); blkdev_issue_flush(). There is no more reason to maintain complicated logic of barriers, if you cripple them to the unusable point when they randomly fail. Another thing: I'm wondering, where in fsync() does Linux wait for hardware disk cache to be flushed? Isn't there a bug that fsync() will return before the cache is flushed? I couldn't really find it. The last thing do_fsync calls is filemap_fdatawait and it doesn't do cache flush (blkdev_issue_flush). Mikulas From david@fromorbit.com Thu Dec 4 15:34:08 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4LY7eJ004022 for ; Thu, 4 Dec 2008 15:34:08 -0600 X-ASG-Debug-ID: 1228426445-19ed004a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ipmail05.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AFCB116A87B2 for ; Thu, 4 Dec 2008 13:34:05 -0800 (PST) Received: from ipmail05.adl2.internode.on.net (ipmail05.adl2.internode.on.net [203.16.214.145]) by cuda.sgi.com with ESMTP id ZXeRlCqR0jqDmTm8 for ; Thu, 04 Dec 2008 13:34:05 -0800 (PST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAC/aN0l5LJfT/2dsb2JhbADRD4MF X-IronPort-AV: E=Sophos;i="4.33,716,1220193000"; d="scan'208";a="269576521" Received: from ppp121-44-151-211.lns10.syd7.internode.on.net (HELO disturbed) ([121.44.151.211]) by ipmail05.adl2.internode.on.net with ESMTP; 05 Dec 2008 08:04:03 +1030 Received: from dave by disturbed with local (Exim 4.69) (envelope-from ) id 1L8Lph-0005R9-VM; Fri, 05 Dec 2008 08:34:01 +1100 Date: Fri, 5 Dec 2008 08:34:01 +1100 From: Dave Chinner To: Christoph Hellwig Cc: Arkadiusz Miskiewicz , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Message-ID: <20081204213401.GC32301@disturbed> Mail-Followup-To: Christoph Hellwig , Arkadiusz Miskiewicz , xfs@oss.sgi.com References: <200812021949.55463.arekm@maven.pl> <200812031406.41882.arekm@maven.pl> <20081203213028.GW18236@disturbed> <200812032242.29326.arekm@maven.pl> <20081203220934.GA32301@disturbed> <20081204123206.GA6935@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081204123206.GA6935@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-Barracuda-Connect: ipmail05.adl2.internode.on.net[203.16.214.145] X-Barracuda-Start-Time: 1228426446 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11933 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Dec 04, 2008 at 07:32:06AM -0500, Christoph Hellwig wrote: > On Thu, Dec 04, 2008 at 09:09:34AM +1100, Dave Chinner wrote: > > Is that the unlock of the inodes is using the incorrect lock > > type for the unlock, (inodes lock XFS_ILOCK_EXCL, unlocked XFS_ILOCK_SHARED) > > which means they don't get unlocked and the next attempt to do anything > > with those inodes will hang. > > > > Compile-tested-only patch below that should fix the problem. > > Yeah, that also explains why my patch fixes it :) I'd say let's put > yours into 2.6.28 and -stable, and I'll rediff mine ontop for the 2.6.29 > queue. I'll also write a testcase for xfsqa based on Arkadiusz's > report. I agree that this is probably the best approach - your fix is the better long term solution, I think. SGI folk, can we get my patch pushed to linus and stable ASAP? Probably be an idea to add a: Tested-by: Arkadiusz Miskiewicz tag to it as well to make it easy for the stable review process.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From arekm@maven.pl Thu Dec 4 15:44:37 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4LibXQ004667 for ; Thu, 4 Dec 2008 15:44:37 -0600 X-ASG-Debug-ID: 1228427075-524801eb0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from main.carme.maven.pl (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A379B16A8A52 for ; Thu, 4 Dec 2008 13:44:35 -0800 (PST) Received: from main.carme.maven.pl (main.carme.maven.pl [193.239.45.138]) by cuda.sgi.com with ESMTP id I8At4vALCB2TL83S for ; Thu, 04 Dec 2008 13:44:35 -0800 (PST) Received: from chello089076027073.chello.pl ([89.76.27.73]:4909 helo=maven.pl) by main.carme.maven.pl with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1L8LuX-0003W0-Qr for xfs@oss.sgi.com; Thu, 04 Dec 2008 22:39:01 +0100 Received: from arekm by maven.pl with local (Exim 4.69) (envelope-from ) id 1L8Lu2-0000st-HL for xfs@oss.sgi.com; Thu, 04 Dec 2008 22:38:31 +0100 From: Arkadiusz Miskiewicz To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfs_quota tool exit status + bugzilla problem Subject: Re: [PATCH] xfs_quota tool exit status + bugzilla problem Date: Thu, 4 Dec 2008 22:38:30 +0100 User-Agent: PLD Linux KMail/1.9.10 References: <200804201213.52772.arekm@maven.pl> In-Reply-To: <200804201213.52772.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2" Content-Disposition: inline Message-Id: <200812042238.30505.arekm@maven.pl> X-Barracuda-Connect: main.carme.maven.pl[193.239.45.138] X-Barracuda-Start-Time: 1228427075 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0784 1.0000 -1.5233 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.52 X-Barracuda-Spam-Status: No, SCORE=-1.52 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11933 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by oss.sgi.com id mB4LibXQ004667 On Sunday 20 of April 2008, Arkadiusz Miskiewicz wrote: > Hello, > > Could anyone review and commit > http://oss.sgi.com/bugzilla/show_bug.cgi?id=781 ? > > The second thing is - please change bugzilla configuration to allow email > address changes. Right now it's not possible to change email to new one > (and in my case old email used no longer works). > > Thanks, A few months ping? -- Arkadiusz Mi¶kiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/ From andi@firstfloor.org Thu Dec 4 16:04:44 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4M4hr7006370 for ; Thu, 4 Dec 2008 16:04:44 -0600 X-ASG-Debug-ID: 1228428281-19ea011c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from one.firstfloor.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7201B16A8D36 for ; Thu, 4 Dec 2008 14:04:42 -0800 (PST) Received: from one.firstfloor.org (one.firstfloor.org [213.235.205.2]) by cuda.sgi.com with ESMTP id 7KWKacA261CX108a for ; Thu, 04 Dec 2008 14:04:42 -0800 (PST) Received: by one.firstfloor.org (Postfix, from userid 503) id 9E4D51AD0021; Thu, 4 Dec 2008 23:15:51 +0100 (CET) Date: Thu, 4 Dec 2008 23:15:51 +0100 From: Andi Kleen To: Mikulas Patocka Cc: Andi Kleen , linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.) Message-ID: <20081204221551.GV6703@one.firstfloor.org> References: <20081204100050.GN6703@one.firstfloor.org> <20081204142015.GQ6703@one.firstfloor.org> <20081204145810.GR6703@one.firstfloor.org> <20081204174838.GS6703@one.firstfloor.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i X-Barracuda-Connect: one.firstfloor.org[213.235.205.2] X-Barracuda-Start-Time: 1228428282 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11935 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- > If you are pushing what you are pushing --- barriers allowing to return > EOPNOTSUPP anytime --- then asynchronous barrier submits can no longer be > used, because by the time EOPNOTSUPP is detected, the filesystem is > already corrupted. Chris Mason pointed out that this can actually already happen. From a quick review this can happen in MD raid1 at least (their barriers_work flag is pretty similar to the DM implementation I did). So everyone has to handle this already anyways. > I'm wondering, where in fsync() does Linux wait for hardware disk cache to > be flushed? Isn't there a bug that fsync() will return before the cache is > flushed? I couldn't really find it. The last thing do_fsync calls is > filemap_fdatawait and it doesn't do cache flush (blkdev_issue_flush). At least in fsync() on journaling fs the metadata update should push it. -Andi -- ak@linux.intel.com From mpatocka@redhat.com Thu Dec 4 17:08:40 2008 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mB4N8erM010804 for ; Thu, 4 Dec 2008 17:08:40 -0600 X-ASG-Debug-ID: 1228432118-06c900ba0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6767816AE1CD for ; Thu, 4 Dec 2008 15:08:39 -0800 (PST) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id towRRRbtIkh9V46d for ; Thu, 04 Dec 2008 15:08:39 -0800 (PST) X-ASG-Whitelist: Barracuda Reputation Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id mB4N8aBt020166; Thu, 4 Dec 2008 18:08:36 -0500 Received: from hs20-bc2-1.build.redhat.com (hs20-bc2-1.build.redhat.com [10.10.28.34]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB4N8Y2F002150; Thu, 4 Dec 2008 18:08:34 -0500 Received: from hs20-bc2-1.build.redhat.com (localhost.localdomain [127.0.0.1]) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1) with ESMTP id mB4N8YTc031238; Thu, 4 Dec 2008 18:08:34 -0500 Received: from localhost (mpatocka@localhost) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1/Submit) with ESMTP id mB4N8X2J031232; Thu, 4 Dec 2008 18:08:34 -0500 X-Authentication-Warning: hs20-bc2-1.build.redhat.com: mpatocka owned process doing -bs Date: Thu, 4 Dec 2008 18:08:33 -0500 (EST) From: Mikulas Patocka X-X-Sender: mpatocka@hs20-bc2-1.build.redhat.com To: Andi Kleen cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Alasdair G Kergon , Andi Kleen , Milan Broz X-ASG-Orig-Subj: Re: Device loses barrier supp