From BATV+d5b1e4a816ceaa78af12+2169+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 1 13:49:26 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n71InJcx236572 for ; Sat, 1 Aug 2009 13:49:26 -0500 X-ASG-Debug-ID: 1249152584-7aba02420000-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 54B4639CB60 for ; Sat, 1 Aug 2009 11:49:44 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 8lZzcVk6WKG5bkWg for ; Sat, 01 Aug 2009 11:49:44 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MXJeJ-0000i4-U6; Sat, 01 Aug 2009 18:49:43 +0000 Date: Sat, 1 Aug 2009 14:49:43 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: xfs mailing list X-ASG-Orig-Subj: Re: [PATCH] use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock Subject: Re: [PATCH] use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock Message-ID: <20090801184943.GA2712@infradead.org> References: <4A6492AF.3030809@sandeen.net> <20090720212153.GA6832@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090720212153.GA6832@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: 1249152586 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Mon, Jul 20, 2009 at 05:21:53PM -0400, Christoph Hellwig wrote: > On Mon, Jul 20, 2009 at 10:52:15AM -0500, Eric Sandeen wrote: > > In Red Hat Bug 512552 > > - Can't write to XFS mount during raid5 resync > > > > a user ran into corruption while resyncing a raid, and we failed > > a consistency test, but didn't get much more info; it'd be nice > > to call XFS_CORRUPTION_ERROR here so we can see the buffer > > contents. > > > > Compile-tested only... > > Looks good to me, I'll throw it into my XFSQA queue.. I has survied quite a few xfsqa runs for me, so Reviewed-by: Christoph Hellwig sounds like another 2.6.31 candidate to me.. From BATV+d5b1e4a816ceaa78af12+2169+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 1 14:01:06 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n71J15DH237134 for ; Sat, 1 Aug 2009 14:01:06 -0500 X-ASG-Debug-ID: 1249153858-12af00f90000-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 2A25714A02B0 for ; Sat, 1 Aug 2009 12:10:58 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id YBs4H6AFRSsD92tu for ; Sat, 01 Aug 2009 12:10:58 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MXJq2-0004y2-Bk for xfs@oss.sgi.com; Sat, 01 Aug 2009 19:01:50 +0000 Date: Sat, 1 Aug 2009 15:01:50 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH] xfs: fix locking in xfs_iget_cache_hit Subject: [PATCH] xfs: fix locking in xfs_iget_cache_hit Message-ID: <20090801190149.GA10391@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: 1249153862 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean The locking in xfs_iget_cache_hit currently has numerous problems: - we clear the reclaim tag without i_flags_lock which protects modifications to it - we call inode_init_always which can sleep with pag_ici_lock held - we acquire and drop i_flags_lock a lot and thus provide no consistency between the various flags we set/clear under it This patch fixes all that with a major revamp of the locking in the function. The new version acquires i_flags_lock early and only drops it once we need to call into inode_init_always or before calling xfs_ilock. This patch fixes a bug seen in the wild where we race modifying the reclaim tag. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-01 20:54:41.081080833 +0200 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-01 20:58:29.913332494 +0200 @@ -133,80 +133,88 @@ xfs_iget_cache_hit( int flags, int lock_flags) __releases(pag->pag_ici_lock) { + struct inode *inode = VFS_I(ip); struct xfs_mount *mp = ip->i_mount; - int error = EAGAIN; + int error; + + spin_lock(&ip->i_flags_lock); /* - * If INEW is set this inode is being set up - * If IRECLAIM is set this inode is being torn down - * Pause and try again. + * This inode is being torn down, pause and try again. */ - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { + if (ip->i_flags & XFS_IRECLAIM) { XFS_STATS_INC(xs_ig_frecycle); + error = EAGAIN; goto out_error; } - /* If IRECLAIMABLE is set, we've torn down the vfs inode part */ - if (xfs_iflags_test(ip, XFS_IRECLAIMABLE)) { + /* + * If we are racing with another cache hit that is currently recycling + * this inode out of the XFS_IRECLAIMABLE state, wait for the + * initialisation to complete before continuing. + */ + if (ip->i_flags & XFS_INEW) { + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); - /* - * If lookup is racing with unlink, then we should return an - * error immediately so we don't remove it from the reclaim - * list and potentially leak the inode. - */ - if ((ip->i_d.di_mode == 0) && !(flags & XFS_IGET_CREATE)) { - error = ENOENT; - goto out_error; - } + XFS_STATS_INC(xs_ig_frecycle); + wait_on_inode(inode); + return EAGAIN; + } + /* + * If lookup is racing with unlink, then we should return an + * error immediately so we don't remove it from the reclaim + * list and potentially leak the inode. + */ + if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { + error = ENOENT; + goto out_error; + } + + /* + * If IRECLAIMABLE is set, we've torn down the VFS inode already. + * Need to carefully get it back into useable state. + */ + if (ip->i_flags & XFS_IRECLAIMABLE) { xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); /* - * We need to re-initialise the VFS inode as it has been - * 'freed' by the VFS. Do this here so we can deal with - * errors cleanly, then tag it so it can be set up correctly - * later. + * We need to set XFS_INEW atomically with clearing the + * reclaimable tag so that we do have an indicator of the + * inode still being initialized. */ - if (!inode_init_always(mp->m_super, VFS_I(ip))) { + ip->i_flags |= XFS_INEW; + __xfs_inode_clear_reclaim_tag(pag, ip); + + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); + + if (unlikely(!inode_init_always(mp->m_super, inode))) { + /* + * Re-initializing the inode failed, and we are in deep + * trouble. Try to re-add it to the reclaim list. + */ + read_lock(&pag->pag_ici_lock); + spin_lock(&ip->i_flags_lock); + + ip->i_flags &= ~XFS_INEW; + __xfs_inode_set_reclaim_tag(pag, ip); + error = ENOMEM; goto out_error; } - - /* - * We must set the XFS_INEW flag before clearing the - * XFS_IRECLAIMABLE flag so that if a racing lookup does - * not find the XFS_IRECLAIMABLE above but has the igrab() - * below succeed we can safely check XFS_INEW to detect - * that this inode is still being initialised. - */ - xfs_iflags_set(ip, XFS_INEW); - xfs_iflags_clear(ip, XFS_IRECLAIMABLE); - - /* clear the radix tree reclaim flag as well. */ - __xfs_inode_clear_reclaim_tag(mp, pag, ip); - } else if (!igrab(VFS_I(ip))) { + inode->i_state = I_LOCK|I_NEW; + } else { /* If the VFS inode is being torn down, pause and try again. */ - XFS_STATS_INC(xs_ig_frecycle); - goto out_error; - } else if (xfs_iflags_test(ip, XFS_INEW)) { - /* - * We are racing with another cache hit that is - * currently recycling this inode out of the XFS_IRECLAIMABLE - * state. Wait for the initialisation to complete before - * continuing. - */ - wait_on_inode(VFS_I(ip)); - } + if (!igrab(inode)) + goto out_error; - if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { - error = ENOENT; - iput(VFS_I(ip)); - goto out_error; + /* We've got a live one. */ + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); } - /* We've got a live one. */ - read_unlock(&pag->pag_ici_lock); - if (lock_flags != 0) xfs_ilock(ip, lock_flags); @@ -216,6 +224,7 @@ xfs_iget_cache_hit( return 0; out_error: + spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); return error; } Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.c 2009-08-01 20:54:41.087080690 +0200 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-01 20:57:30.550103998 +0200 @@ -708,6 +708,17 @@ xfs_reclaim_inode( return 0; } +void +__xfs_inode_set_reclaim_tag( + struct xfs_perag *pag, + struct xfs_inode *ip) +{ + radix_tree_tag_set(&pag->pag_ici_root, + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), + XFS_ICI_RECLAIM_TAG); + ip->i_flags |= XFS_IRECLAIMABLE; +} + /* * We set the inode flag atomically with the radix tree tag. * Once we get tag lookups on the radix tree, this inode flag @@ -722,9 +733,7 @@ xfs_inode_set_reclaim_tag( read_lock(&pag->pag_ici_lock); spin_lock(&ip->i_flags_lock); - radix_tree_tag_set(&pag->pag_ici_root, - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); - __xfs_iflags_set(ip, XFS_IRECLAIMABLE); + __xfs_inode_set_reclaim_tag(pag, ip); spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); xfs_put_perag(mp, pag); @@ -732,27 +741,13 @@ xfs_inode_set_reclaim_tag( void __xfs_inode_clear_reclaim_tag( - xfs_mount_t *mp, - xfs_perag_t *pag, - xfs_inode_t *ip) + struct xfs_perag *pag, + struct xfs_inode *ip) { + ip->i_flags &= ~XFS_IRECLAIMABLE; radix_tree_tag_clear(&pag->pag_ici_root, - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); -} - -void -xfs_inode_clear_reclaim_tag( - xfs_inode_t *ip) -{ - xfs_mount_t *mp = ip->i_mount; - xfs_perag_t *pag = xfs_get_perag(mp, ip->i_ino); - - read_lock(&pag->pag_ici_lock); - spin_lock(&ip->i_flags_lock); - __xfs_inode_clear_reclaim_tag(mp, pag, ip); - spin_unlock(&ip->i_flags_lock); - read_unlock(&pag->pag_ici_lock); - xfs_put_perag(mp, pag); + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), + XFS_ICI_RECLAIM_TAG); } STATIC int Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.h =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.h 2009-08-01 20:54:41.094080534 +0200 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-01 20:57:30.553102424 +0200 @@ -48,9 +48,8 @@ int xfs_reclaim_inode(struct xfs_inode * int xfs_reclaim_inodes(struct xfs_mount *mp, int mode); void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); -void xfs_inode_clear_reclaim_tag(struct xfs_inode *ip); -void __xfs_inode_clear_reclaim_tag(struct xfs_mount *mp, struct xfs_perag *pag, - struct xfs_inode *ip); +void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); +void __xfs_inode_clear_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); int xfs_sync_inode_valid(struct xfs_inode *ip, struct xfs_perag *pag); int xfs_inode_ag_iterator(struct xfs_mount *mp, From BATV+d5b1e4a816ceaa78af12+2169+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 1 14:01:56 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n71J1tmq237196 for ; Sat, 1 Aug 2009 14:01:55 -0500 X-ASG-Debug-ID: 1249153911-043d02460000-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 22AE914A042E for ; Sat, 1 Aug 2009 12:11:51 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id jecbeKmuMbEgrHnK for ; Sat, 01 Aug 2009 12:11:51 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MXJqt-0007B9-Oy; Sat, 01 Aug 2009 19:02:43 +0000 Date: Sat, 1 Aug 2009 15:02:43 -0400 From: Christoph Hellwig To: Prarit Bhargava Cc: xfs@oss.sgi.com, Eric Sandeen X-ASG-Orig-Subj: Re: Circular locking on rawhide 2.6.31-0.81.rc3.git4 Subject: Re: Circular locking on rawhide 2.6.31-0.81.rc3.git4 Message-ID: <20090801190243.GB10391@infradead.org> References: <4A6DE939.6050606@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A6DE939.6050606@redhat.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: 1249153912 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Mon, Jul 27, 2009 at 01:51:53PM -0400, Prarit Bhargava wrote: > Hello everyone, > > This was seen while doing a "rpmbuild -bp kernel.spec" on a recent > rawhide build. This should be fixed by the patch [PATCH 3/3] xfs: do not wait for the iolock in xfs_free_eofblocks I sent to the list. From robotech@o2.pl Sat Aug 1 14:55:43 2009 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=BAYES_50 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n71JtgTR241095 for ; Sat, 1 Aug 2009 14:55:43 -0500 X-ASG-Debug-ID: 1249157138-12c6023d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from smtp2e.orange.fr (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 29E7B14A04B0 for ; Sat, 1 Aug 2009 13:05:38 -0700 (PDT) Received: from smtp2e.orange.fr (smtp2e.orange.fr [80.12.242.113]) by cuda.sgi.com with ESMTP id zic4ZLQtf919QZwV for ; Sat, 01 Aug 2009 13:05:38 -0700 (PDT) Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2e26.orange.fr (SMTP Server) with ESMTP id 5720380000A5 for ; Sat, 1 Aug 2009 21:56:29 +0200 (CEST) Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2e26.orange.fr (SMTP Server) with ESMTP id 4A13680000B8 for ; Sat, 1 Aug 2009 21:56:29 +0200 (CEST) Received: from isangar (LPuteaux-151-41-11-228.w217-128.abo.wanadoo.fr [217.128.26.228]) by mwinf2e26.orange.fr (SMTP Server) with SMTP id 3753280000A5 for ; Sat, 1 Aug 2009 21:56:26 +0200 (CEST) X-ME-UUID: 20090801195626226.3753280000A5@mwinf2e26.orange.fr Message-ID: <006201ca1346$d51da430$87bbffcb@ruuklru> Reply-To: "=Przedstawicielstwo=" From: "=Przedstawicielstwo=" To: X-ASG-Orig-Subj: =Marketing eksportowy=2009 Subject: =Marketing eksportowy=2009 Date: Sat, 1 Aug 2009 21:55:58 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-Barracuda-Connect: smtp2e.orange.fr[80.12.242.113] X-Barracuda-Start-Time: 1249157139 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5360 1.0000 0.7500 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.75 X-Barracuda-Spam-Status: No, SCORE=0.75 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.2.5012 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Szanowni, Państwo! xfs@oss.sgi.com Kryzys światowy spowodował spadek sprzedaży i produkcji na całym świecie. Ale kryzys finansowy nie jest taki groźny jak o nim mówi± – ponieważ węwnętrzne kursy walut zostały prawie bez zmian: polska złotówka jak i ukraińska hrywna maj± taki sam wskaźnik jak i przed kryzysem: 2,2-2,30 Ta sytuacja pozwala naszym przedsiębiorstwom prowadzić handel na tym samym poziomie cen jak i do chwili powstania kryzysu światowego. Proponujeny Państwu założenie przedstawicielstwa w stolice Ukrainy – w Kijowie. Zalożenie własnej firmy: 1) Założenie przedstawicielstwa, przedsiębiorstwa, spółki, filii • otwarcie przedstawicielstwa na Ukrainie: • wynajem - biura, lokale handlowe, magazyny, domy, mieszkania 2) dobór personelu, szkolenie personelu 3) Porady prawne - doradztwo prawne, prawo cywilne, pracy, prawo gospodarcze i handlowe 4) Doradztwo inwestycyjne, biznesowe, finansowe, podatkowe 5) Uslugi rachunkowe i podatkowe, windykacja na Ukrainie, windykacja międzynarodowa 6) certyfikacja w systemie UkrSepro na Ukrainie 7) Szkolenia Proponujemy usługi: 1) personel ze znajomości± jezyka polskiego 2) organizacja spotkań biznesowych 3) usługi poligraficzne, drukarskie 4) reklama polskich towarów i usług na Ukrainie 5) marketing eksportowy 6) aktywne poszukiwanie odbiorców towarów na Ukrainie, prowadzenie rozmów, tłumaczenia, udzielanie informacji o produkcie, itd.- wszystkie czynno¶ci niezbędne do znalezienie partnera handlowego i sprzedaży produktów. Powyzsze usługi pozwol± efektywnie sprzedawać lub promować Wasz± produkcję na rynku Ukrainy. Przy zawarcie UMOWY na sprzedaż towarów lub usług należy wpłacić na rachunek bankowy naszej firmy odpowiedni procent od kwoty zawieranej umowy /kontraktu Z poważaniem Dyrektor rozwoju Inessa Hudzik Telefon kontaktowy w Kijowie +38 067 5274873 E-mail:przedstawicielstwo@tiscali.it From roel.kluin@gmail.com Sun Aug 2 06:14:10 2009 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=BAYES_00,J_CHICKENPOX_64 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n72BEA0j018408 for ; Sun, 2 Aug 2009 06:14:10 -0500 X-ASG-Debug-ID: 1249211697-775501540000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ey-out-1920.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6278C39D9CC for ; Sun, 2 Aug 2009 04:14:57 -0700 (PDT) Received: from ey-out-1920.google.com (ey-out-1920.google.com [74.125.78.149]) by cuda.sgi.com with ESMTP id zyBG2i9ZGfoLvkYs for ; Sun, 02 Aug 2009 04:14:57 -0700 (PDT) Received: by ey-out-1920.google.com with SMTP id 3so726434eyh.32 for ; Sun, 02 Aug 2009 04:14:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type :content-transfer-encoding; bh=gSaP3IXdLyPi17WnRq2lsknE3LQQEOJZ/WNGx5Z6+A0=; b=SQumvQmUDbDhJERf3GCXkEa7f4sKLoPGiaCuNB1yeuNzk/V2uL0TdjZCoJr7UkIP9o /xRCpxxKXB1C2r1nJ3cRaJX2V+nXDmLaHcLDORwXZzRFgTcdw79DIFC6GuuxbyMhkzud rNqXXpGhqZxlspODZWO4yb5KDnaEnYA/kUeEg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; b=dAS+OOHeYnxoP5cGRWk7dikEfTxRFNfLHr/PetxqCZCh+VOx1teHgzWkTQ2fxlRTbM hqQUCAMjDEkNgNGyFuvf+HWpUFoi7uOvEHRp8AtTDpj+QAkDIeyI61iog4abUQOIjRod F/98yktc4cC8jf2XRSMKe41BP5EK89oBbAqg0= Received: by 10.210.30.1 with SMTP id d1mr5771120ebd.62.1249211696686; Sun, 02 Aug 2009 04:14:56 -0700 (PDT) Received: from zoinx.mars (d133062.upc-d.chello.nl [213.46.133.62]) by mx.google.com with ESMTPS id 7sm6804180eyg.35.2009.08.02.04.14.55 (version=SSLv3 cipher=RC4-MD5); Sun, 02 Aug 2009 04:14:56 -0700 (PDT) Message-ID: <4A7575EF.8070404@gmail.com> Date: Sun, 02 Aug 2009 13:18:07 +0200 From: Roel Kluin User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b3pre) Gecko/20090513 Fedora/3.0-2.3.beta2.fc11 Thunderbird/3.0b2 MIME-Version: 1.0 To: felixb@sgi.com, xfs@oss.sgi.com, Andrew Morton X-ASG-Orig-Subj: [PATCH] SGI-PV: Read buffer overflow Subject: [PATCH] SGI-PV: Read buffer overflow Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ey-out-1920.google.com[74.125.78.149] X-Barracuda-Start-Time: 1249211699 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0003 1.0000 -2.0191 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.2.5072 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin --- diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c index 9ff6e57..ef1d275 100644 --- a/fs/xfs/xfs_da_btree.c +++ b/fs/xfs/xfs_da_btree.c @@ -1414,8 +1414,9 @@ xfs_da_path_shift(xfs_da_state_t *state, xfs_da_state_path_t *path, ASSERT(args != NULL); ASSERT(path != NULL); ASSERT((path->active > 0) && (path->active < XFS_DA_NODE_MAXDEPTH)); - level = (path->active-1) - 1; /* skip bottom layer in path */ - for (blk = &path->blk[level]; level >= 0; blk--, level--) { + /* skip bottom layer in path */ + for (level = (path->active-1) - 1; level >= 0; blk--, level--) { + blk = &path->blk[level]; ASSERT(blk->bp != NULL); node = blk->bp->data; ASSERT(be16_to_cpu(node->hdr.info.magic) == XFS_DA_NODE_MAGIC); From helpdesk@openwebmail.com Sun Aug 2 23:31:56 2009 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_20,SUBJ_NOTIFICATION autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n734Vt7K064085 for ; Sun, 2 Aug 2009 23:31:55 -0500 X-ASG-Debug-ID: 1249274518-7d4e013a0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from server.feb.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id DA41712AC04E for ; Sun, 2 Aug 2009 21:41:58 -0700 (PDT) Received: from server.feb.br (srv1.feb.br [200.210.79.130]) by cuda.sgi.com with ESMTP id ALYJGxhGlcm2bAl4 for ; Sun, 02 Aug 2009 21:41:58 -0700 (PDT) Received: from www.feb.br (localhost.localdomain [127.0.0.1]) by server (Postfix) with ESMTP id B168722C5B; Mon, 3 Aug 2009 00:32:32 -0300 (BRT) Received: from 121.121.169.139 (SquirrelMail authenticated user alfredo) by www.feb.br with HTTP; Mon, 3 Aug 2009 00:32:32 -0300 (BRT) Message-ID: <4191.121.121.169.139.1249270352.squirrel@www.feb.br> Date: Mon, 3 Aug 2009 00:32:32 -0300 (BRT) X-ASG-Orig-Subj: Notification Code: BC1G43TRJ Subject: Notification Code: BC1G43TRJ From: "WEBMAIL PROGGRAMMER" Reply-To: responde@programmer.net User-Agent: SquirrelMail/1.4.13-1.el5.re MIME-Version: 1.0 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; X-Barracuda-Connect: srv1.feb.br[200.210.79.130] X-Barracuda-Start-Time: 1249274519 X-Barracuda-Bayes: INNOCENT GLOBAL 0.3900 1.0000 -0.0264 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.17 X-Barracuda-Spam-Status: No, SCORE=0.17 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5141 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Dear User, Webmail host has been an integral part of your domain website, bringing you the best in broadband internet. We thought it was time we brought all our brands under one roof, to make it easier for you to find out more about our products and services. We regret any inconvenience this may cause e-mail users. We are updating our database storage facility, without disconnecting the old Server (NT06717ZZ) to a new and better Server (NT21766AZ), Thus the reason for the request and notification. We apologize for any inconvenience this will cause our respected email/webmail users. Please fill the details shown below to enable us upgrade and verify from the old server (NT06717ZZ). It is safe and you can change your information 72 hours after receiving the confirmation email. Fill in the details below to upgrade. url: Username/ID: Password: All correspondence should be addresed to the email address below EMAIL: responde@programmer.net Warning ! Account owner that does not update their account within the time frame after receiving this notice will loose access to our webmail service. Notification Code: BC1G43TRJ. In their service. Services Admin. Internet Technical Support - FAQ Privacy | Legal | Report Abuse | Support © Copyright 2009 paradise int.s From lists@nerdbynature.de Mon Aug 3 01:27:37 2009 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, J_CHICKENPOX_26 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n736RaWJ071263 for ; Mon, 3 Aug 2009 01:27:37 -0500 X-ASG-Debug-ID: 1249280903-3e9c021d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from moutng.kundenserver.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5C96739F152 for ; Sun, 2 Aug 2009 23:28:23 -0700 (PDT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.9]) by cuda.sgi.com with ESMTP id FoGFLyhXVVhTnPMD for ; Sun, 02 Aug 2009 23:28:23 -0700 (PDT) Received: from bogon.housecafe.de (ppp-88-217-57-167.dynamic.mnet-online.de [88.217.57.167]) by mrelayeu.kundenserver.de (node=mrbap1) with ESMTP (Nemesis) id 0MKt2u-1MXr1y3XEh-000c6V; Mon, 03 Aug 2009 08:28:23 +0200 Received: from localhost ([127.0.0.1]) by bogon.housecafe.de with esmtp (Exim 4.69) (envelope-from ) id 1MXr1x-0000Vk-9C for xfs@oss.sgi.com; Mon, 03 Aug 2009 08:28:21 +0200 Date: Sun, 2 Aug 2009 23:28:21 -0700 (PDT) From: Christian Kujau To: xfs@oss.sgi.com X-ASG-Orig-Subj: kernel BUG at lib/radix-tree.c:464 Subject: kernel BUG at lib/radix-tree.c:464 Message-ID: User-Agent: Alpine 2.01 (DEB 1184 2008-12-16) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Provags-ID: V01U2FsdGVkX1+G1HwLjTrg9mltCXxEBo2/LxxV/jNu90LzvAR nFNuiqWQ+XaShXhvzmzYeZ7QZ2d4oNpegDTIc6qRVn+SsGVdcA DS0D8CSlZlY32L+vG+xgw== X-Barracuda-Connect: moutng.kundenserver.de[212.227.17.9] X-Barracuda-Start-Time: 1249280904 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.2.5148 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hi, while lots of I/O (read, write) was in progress, this was captured via remote syslog: [33019.357211] ------------[ cut here ]------------ [33019.357269] kernel BUG at lib/radix-tree.c:464! [33019.357311] invalid opcode: 0000 [#1] SMP [33019.357354] last sysfs file: /sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/type [33019.357618] [33019.357423] Modules linked in: fuse acpi_cpufreq nfsd lockd nfs_acl auth_rpcgss sunrpc lm75 hwmon usb_storage usb_libusual b43 mac80211 uhci_hcd cfg80211 ehci_hcd tg3 usbcore libphy ssb nls_base [33019.357722] EIP: 0060:[] EFLAGS: 00010246 CPU: 0 [33019.357654] Pid: 225, comm: kswapd0 Tainted: G W (2.6.31-rc5 #1) Lenovo [33019.357771] EIP is at radix_tree_tag_set+0xc5/0xe0 [33019.357811] EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000001 [33019.357856] ESI: 00000020 EDI: 00000000 EBP: d7ea0dc8 ESP: f70b6e24 [33019.357901] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 [33019.357946] Process kswapd0 (pid: 225, ti=f70b6000 task=f710c3d0 task.ti=f70b6000) [33019.358013] Stack: [33019.358044] 0beea120 f5d1acc0 00000000 f0baf97c d6624c80 f5d1ac88 0000001e f70b6eac [33019.358110] <0> c11b946e f0baf97c d6624c80 f70b6eac 00000034 f70b6eac c11a73c5 f0baf97c [33019.358196] <0> d6624da4 c11b7766 f70b6e68 f0baf97c d6624da4 f0baf97c d6624da4 c10b58e3 [33019.358303] Call Trace: [33019.358344] [] ? xfs_inode_set_reclaim_tag+0x7e/0xc0 [33019.358390] [] ? xfs_reclaim+0x45/0xc0 [33019.358431] [] ? xfs_fs_destroy_inode+0x36/0x70 [33019.358475] [] ? destroy_inode+0x73/0xd0 [33019.358517] [] ? dispose_list+0x79/0xf0 [33019.358558] [] ? shrink_icache_memory+0x1cd/0x2b0 [33019.358603] [] ? shrink_slab+0x117/0x190 [33019.358645] [] ? kswapd+0x4a8/0x630 [33019.358688] [] ? isolate_pages_global+0x0/0x1f0 [33019.358732] [] ? autoremove_wake_function+0x0/0x60 [33019.358776] [] ? kswapd+0x0/0x630 [33019.358815] [] ? kthread+0x84/0x90 [33019.358854] [] ? kthread+0x0/0x90 [33019.358895] [] ? kernel_thread_helper+0x7/0x10 [33019.358933] Code: 00 d3 e2 85 da 75 09 09 da 8b 4c 24 04 89 51 04 8b 54 24 0c 65 33 15 14 00 00 00 75 16 83 c4 10 5b 5e 5f 5d c3 85 c0 74 e7 eb c3 <0f> 0b eb fe 0f 0b eb fe e8 4e c5 e4 ff 8d b4 26 00 00 00 00 8d [33019.359221] EIP: [] radix_tree_tag_set+0xc5/0xe0 SS:ESP 0068:f70b6e24 [33019.359651] ---[ end trace e312a7d04db27a02 ]--- This looks a lot like #502236 [0] which was reported for 2.6.29 in May. The incident above happened just now for 2.6.31-rc5 (today's git), full dmesg and .config: http://nerdbynature.de/bits/2.6.31-rc5/kern.txt http://nerdbynature.de/bits/2.6.31-rc5/config.gz # grep xfs /proc/mounts /dev/mapper/wdc1 /mnt/disk1 xfs rw,nosuid,nodev,noexec,relatime,attr2,noquota 0 0 Note: the kernel was tainted by a WARNING, probably caused by the ext4 mount[1] on the same box. Thanks, Christian. [0] https://bugzilla.redhat.com/show_bug.cgi?id=502236 [1] http://lkml.org/lkml/2009/8/1/104 -- BOFH excuse #66: bit bucket overflow From BATV+3a21ed443a87f0f13fd7+2171+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 3 07:23:54 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73CNpBE090003 for ; Mon, 3 Aug 2009 07:23:54 -0500 X-ASG-Debug-ID: 1249302281-189900bb0000-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 C293339FD85 for ; Mon, 3 Aug 2009 05:24:41 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id nS2f7UYGg7nTEpEX for ; Mon, 03 Aug 2009 05:24:41 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MXwam-0005Pf-Ez; Mon, 03 Aug 2009 12:24:40 +0000 Date: Mon, 3 Aug 2009 08:24:40 -0400 From: Christoph Hellwig To: Christian Kujau Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: kernel BUG at lib/radix-tree.c:464 Subject: Re: kernel BUG at lib/radix-tree.c:464 Message-ID: <20090803122440.GA11033@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: 1249302281 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Sun, Aug 02, 2009 at 11:28:21PM -0700, Christian Kujau wrote: > Hi, > > while lots of I/O (read, write) was in progress, this was captured via > remote syslog: Can you test the patch I posted in http://bugzilla.kernel.org/show_bug.cgi?id=13375 ? From pengxihan@gmail.com Mon Aug 3 09:32:06 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73EW4FZ094555 for ; Mon, 3 Aug 2009 09:32:05 -0500 X-ASG-Debug-ID: 1249310527-3dd3037a0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-bw0-f214.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7523312AD384 for ; Mon, 3 Aug 2009 07:42:08 -0700 (PDT) Received: from mail-bw0-f214.google.com (mail-bw0-f214.google.com [209.85.218.214]) by cuda.sgi.com with ESMTP id SGYHPRTcNUEsYBpx for ; Mon, 03 Aug 2009 07:42:08 -0700 (PDT) Received: by bwz10 with SMTP id 10so2372436bwz.20 for ; Mon, 03 Aug 2009 07:32:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=CR4SNCxoe9sPfyR0y90OrPINBqROJqk/jkRmSu+u3wo=; b=k1lnm3rCz4WxupYg4o3hg9H3hx7eizuQ+cbvNfGluLr2nb+kU5vsDyXe3ySMzp+OY6 ma6IfVTd1wvKiULK97Qsd51yNVr0LDZ05j5zCckoA5Nxz6Hnu2JTuEW9tu1zHbuC6aN2 SfwcjlOiI2bfdUQOmCT5cCo1i8XCjwzKHG8Sg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=MNDUzIERzP54SNh+EOfDqk3ano9jv0Zq+6u9Z3fHAAZ5AQ8Xy4ZMu26xXsTFZho9jo Xc8/B57U+slfuMrP9aZq94/qIbOe3TIyE7OcXIQQb3JSuQo5swj9EA7ZOB8A/HoVxEsW 5eUxc6dOkfJ6cBRo0Hs8gFsIrY5XZtEgJKDeM= MIME-Version: 1.0 Received: by 10.103.198.20 with SMTP id a20mr575480muq.18.1249309967911; Mon, 03 Aug 2009 07:32:47 -0700 (PDT) In-Reply-To: <4A6DAE5D.6060704@sandeen.net> References: <389deec70907252030s3524b2ecj9b35da9ea376020f@mail.gmail.com> <4A6D075B.9060601@sandeen.net> <389deec70907262347g1ca3637fn469596ec1e05148@mail.gmail.com> <4A6DAE5D.6060704@sandeen.net> Date: Mon, 3 Aug 2009 22:32:47 +0800 Message-ID: <389deec70908030732n29d35220mc9acdb912ab10899@mail.gmail.com> X-ASG-Orig-Subj: Re: How to solve "No space left" problem on my 32bit machine? Subject: Re: How to solve "No space left" problem on my 32bit machine? From: hank peng To: Eric Sandeen Cc: linux-xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-bw0-f214.google.com[209.85.218.214] X-Barracuda-Start-Time: 1249310531 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.2.5181 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean 2009/7/27 Eric Sandeen : > hank peng wrote: >> 2009/7/27 Eric Sandeen : >>> hank peng wrote: >>>> Hi, folks: >>>> I have a 2.5T file system formatted with XFS, df tells me it still >>>> have about 10G space available, but I can't create new files or >>>> directory any more. Return message is "No space left on this device". >>>> I searched solution for this problem through google, and found this: >>>> http://oss.sgi.com/archives/xfs/2005-06/msg00347.html. I think it is a >>>> known "No space left" problem. I wonder whether it can only >>>> be solved on 64-bit machine? If on my 32-bit machine, what should I do= ? >>> On very recent kernels you can use 64-bit inodes on 32-bit machines; yo= u >>> can try mounting with -o inode64 t allow this. >>> >> I tried -o inode64 option, but kernel gives me error message: >> XFS: inode64 option not allowed on this system >> I doubt this option can't be used on 32-bit machine. > > That's why I said you need a very recent kernel, it was added relatively > recently: > > commit 6c31b93a14a453c8756ffd228e24910ffdf30c5d > Author: Christoph Hellwig > Date: =C2=A0 Fri Nov 28 14:23:32 2008 +1100 > > =C2=A0 =C2=A0[XFS] allow inode64 mount option on 32 bit systems > > I believe this went into 2.6.29. > I tried 2.6.30 and test it 1. create an exact 2T LVM 2. create XFS on it 3. mont it with inode64 option 4. write files on it to full extent 5. use xfs_grow to expand it to 2.5T 6. touch a file and no error message returned 7. 'ls -l' can not show the file I created above. So I think I should do something on userspace tools, but how? > -Eric > > --=20 The simplest is not all best but the best is surely the simplest! From sandeen@sandeen.net Mon Aug 3 13:55:12 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73ItB7q105143 for ; Mon, 3 Aug 2009 13:55:12 -0500 X-ASG-Debug-ID: 1249325760-4648026f0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8C73F1445D1D for ; Mon, 3 Aug 2009 11:56:00 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id EgexB8UxWxUjrwWq for ; Mon, 03 Aug 2009 11:56:00 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 9079BAAE387; Mon, 3 Aug 2009 13:55:59 -0500 (CDT) Message-ID: <4A7732BF.6020207@sandeen.net> Date: Mon, 03 Aug 2009 13:55:59 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: hank peng CC: linux-xfs@oss.sgi.com X-ASG-Orig-Subj: Re: How to solve "No space left" problem on my 32bit machine? Subject: Re: How to solve "No space left" problem on my 32bit machine? References: <389deec70907252030s3524b2ecj9b35da9ea376020f@mail.gmail.com> <4A6D075B.9060601@sandeen.net> <389deec70907262347g1ca3637fn469596ec1e05148@mail.gmail.com> <4A6DAE5D.6060704@sandeen.net> <389deec70908030732n29d35220mc9acdb912ab10899@mail.gmail.com> In-Reply-To: <389deec70908030732n29d35220mc9acdb912ab10899@mail.gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1249325761 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.2.5198 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean hank peng wrote: > 2009/7/27 Eric Sandeen : >> hank peng wrote: >>> 2009/7/27 Eric Sandeen : >>>> hank peng wrote: >>>>> Hi, folks: >>>>> I have a 2.5T file system formatted with XFS, df tells me it still >>>>> have about 10G space available, but I can't create new files or >>>>> directory any more. Return message is "No space left on this device". >>>>> I searched solution for this problem through google, and found this: >>>>> http://oss.sgi.com/archives/xfs/2005-06/msg00347.html. I think it is a >>>>> known "No space left" problem. I wonder whether it can only >>>>> be solved on 64-bit machine? If on my 32-bit machine, what should I do? >>>> On very recent kernels you can use 64-bit inodes on 32-bit machines; you >>>> can try mounting with -o inode64 t allow this. >>>> >>> I tried -o inode64 option, but kernel gives me error message: >>> XFS: inode64 option not allowed on this system >>> I doubt this option can't be used on 32-bit machine. >> That's why I said you need a very recent kernel, it was added relatively >> recently: >> >> commit 6c31b93a14a453c8756ffd228e24910ffdf30c5d >> Author: Christoph Hellwig >> Date: Fri Nov 28 14:23:32 2008 +1100 >> >> [XFS] allow inode64 mount option on 32 bit systems >> >> I believe this went into 2.6.29. >> > I tried 2.6.30 and test it > 1. create an exact 2T LVM > 2. create XFS on it > 3. mont it with inode64 option > 4. write files on it to full extent > 5. use xfs_grow to expand it to 2.5T > 6. touch a file and no error message returned > 7. 'ls -l' can not show the file I created above. > > So I think I should do something on userspace tools, but how? Doesn't sound like a userspace problem. So touch succeeds (maybe echo $? after to be sure) but ls shows no file? Anything in dmesg after that? I'd have to find a 32-bit box w/ > 2T to test this I guess. :) -Eric From aelder@sgi.com Mon Aug 3 14:11:31 2009 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=BAYES_00,J_CHICKENPOX_64 autolearn=no version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73JBUbj106319 for ; Mon, 3 Aug 2009 14:11:30 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8E375AC009; Mon, 3 Aug 2009 12:12:17 -0700 (PDT) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: [PATCH] SGI-PV: Read buffer overflow Date: Mon, 3 Aug 2009 14:11:48 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83AB26@cf--amer001e--3.americas.sgi.com> In-Reply-To: <4A7575EF.8070404@gmail.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] SGI-PV: Read buffer overflow Thread-Index: AcoTZeVC+3OH8VKwTV680iMd89YUlgBBwExA From: "Alex Elder" To: "Roel Kluin" Cc: , , "Andrew Morton" X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean > Check whether index is within bounds before grabbing the element. >=20 > Signed-off-by: Roel Kluin > --- > diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c > index 9ff6e57..ef1d275 100644 > --- a/fs/xfs/xfs_da_btree.c > +++ b/fs/xfs/xfs_da_btree.c > @@ -1414,8 +1414,9 @@ xfs_da_path_shift(xfs_da_state_t=20 > *state, xfs_da_state_path_t *path, > ASSERT(args !=3D NULL); > ASSERT(path !=3D NULL); > ASSERT((path->active > 0) && (path->active < XFS_DA_NODE_MAXDEPTH)); > - level =3D (path->active-1) - 1; /* skip bottom layer in path */ > - for (blk =3D &path->blk[level]; level >=3D 0; blk--, level--) { > + /* skip bottom layer in path */ > + for (level =3D (path->active-1) - 1; level >=3D 0; blk--, level--) { No need to decrement "blk" above. You are reassigning it anyway in the next statement. > + blk =3D &path->blk[level]; > ASSERT(blk->bp !=3D NULL); > node =3D blk->bp->data; > ASSERT(be16_to_cpu(node->hdr.info.magic) =3D=3D XFS_DA_NODE_MAGIC); Note that if level were < 0 upon entry to the loop in its previous form, then the computed value of blk would never have been used. -Alex From ramon@risesecurity.org Mon Aug 3 15:01:54 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73K1r5O109498 for ; Mon, 3 Aug 2009 15:01:54 -0500 X-ASG-Debug-ID: 1249329761-026b03680000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx.ugf.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5DB743A193B for ; Mon, 3 Aug 2009 13:02:42 -0700 (PDT) Received: from mx.ugf.br (mx.ugf.br [200.222.48.3]) by cuda.sgi.com with ESMTP id Xroqpe9IavHdwGc9 for ; Mon, 03 Aug 2009 13:02:42 -0700 (PDT) Received: (qmail 2011 invoked by uid 89); 3 Aug 2009 20:02:40 -0000 Received: from unknown (HELO ?10.10.253.1?) (10.10.253.1) by mx.ugf.br with SMTP; 3 Aug 2009 20:02:40 -0000 X-ASG-Orig-Subj: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Subject: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device From: Ramon de Carvalho Valle To: linux-kernel@vger.kernel.org Cc: xfs@oss.sgi.com, hch@lst.de, mszeredi@novell.com Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-VTFjpbaH1EVlaQBVvifE" Date: Mon, 03 Aug 2009 17:03:28 -0300 Message-Id: <1249329808.7686.26.camel@logos> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-Barracuda-Connect: mx.ugf.br[200.222.48.3] X-Barracuda-Start-Time: 1249329763 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.2.5202 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-VTFjpbaH1EVlaQBVvifE Content-Type: text/plain Content-Transfer-Encoding: quoted-printable The __xfs_get_blocks function does not check if the pointer to the target device is valid before dereferencing it. Signed-off-by: Ramon de Carvalho Valle Cc: stable --- fs/xfs/linux-2.6/xfs_aops.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index aecf251..bf482d5 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c @@ -1419,7 +1419,11 @@ __xfs_get_blocks( * If this is a realtime file, data may be on a different device. * to that pointed to from the buffer_head b_bdev currently. */ - bh_result->b_bdev =3D iomap.iomap_target->bt_bdev; + if (!iomap.iomap_target) + return -XFS_ERROR(EIO); + + if (iomap.iomap_flags & IOMAP_REALTIME) + bh_result->b_bdev =3D iomap.iomap_target->bt_bdev; =20 /* * If we previously allocated a block out beyond eof and we are now --=20 1.5.6.3 --=-VTFjpbaH1EVlaQBVvifE Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkp3QowACgkQGIS0iEuhp4PoBgCg3SOUddJ1Glh94VrZs1wDlc64 YpEAn2JaNQZZQiiSpjDuFPivkiOy+7jl =FB/W -----END PGP SIGNATURE----- --=-VTFjpbaH1EVlaQBVvifE-- From lists@nerdbynature.de Mon Aug 3 15:53:55 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73KrsJw112941 for ; Mon, 3 Aug 2009 15:53:55 -0500 X-ASG-Debug-ID: 1249332883-216303ac0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from moutng.kundenserver.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D417D1BD4A31 for ; Mon, 3 Aug 2009 13:54:43 -0700 (PDT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.9]) by cuda.sgi.com with ESMTP id 0Eg5uanNuoV6jVhq for ; Mon, 03 Aug 2009 13:54:43 -0700 (PDT) Received: from bogon.housecafe.de (ppp-88-217-57-167.dynamic.mnet-online.de [88.217.57.167]) by mrelayeu.kundenserver.de (node=mrbap1) with ESMTP (Nemesis) id 0MKt2u-1MY4YM2AA3-000ckk; Mon, 03 Aug 2009 22:54:42 +0200 Received: from localhost ([127.0.0.1]) by bogon.housecafe.de with esmtp (Exim 4.69) (envelope-from ) id 1MY4YM-0003sL-1r; Mon, 03 Aug 2009 22:54:42 +0200 Date: Mon, 3 Aug 2009 13:54:42 -0700 (PDT) From: Christian Kujau To: Christoph Hellwig cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: kernel BUG at lib/radix-tree.c:464 Subject: Re: kernel BUG at lib/radix-tree.c:464 In-Reply-To: <20090803122440.GA11033@infradead.org> Message-ID: References: <20090803122440.GA11033@infradead.org> User-Agent: Alpine 2.01 (DEB 1184 2008-12-16) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Provags-ID: V01U2FsdGVkX19XV+b+/zvznRxXRl1Qkh+Suy+kMye7BRyyLcm 5O1MlJBYOMCTAulj1cIWJ9MAtWccOmJoTDZ2Tly4mpCI7QskPd k7ywEgTne5K/w6VJGdfKQ== X-Barracuda-Connect: moutng.kundenserver.de[212.227.17.9] X-Barracuda-Start-Time: 1249332884 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.2.5206 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Mon, 3 Aug 2009 at 08:24, Christoph Hellwig wrote: > On Sun, Aug 02, 2009 at 11:28:21PM -0700, Christian Kujau wrote: > > Hi, > > > > while lots of I/O (read, write) was in progress, this was captured via > > remote syslog: > > Can you test the patch I posted in > http://bugzilla.kernel.org/show_bug.cgi?id=13375 ? I'm using the latest -git tree atm, the patch cannot be applied cleanly: $ patch --dry-run -p1 < iget-fixes_bug13375.patch [...] Hunk #4 FAILED at 215. 1 out of 4 hunks FAILED -- saving rejects to file fs/inode.c.rej Hunk #1 FAILED at 51. 1 out of 1 hunk FAILED -- saving rejects to file fs/xfs/linux-2.6/xfs_sync.h.rej I'll try to go back to 2.6.30, but I'm not sure if I can even reproduce this one reliably. Thanks, Christian. -- BOFH excuse #182: endothermal recalibration From BATV+3a21ed443a87f0f13fd7+2171+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 3 16:03:12 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73L3Bee113546 for ; Mon, 3 Aug 2009 16:03:12 -0500 X-ASG-Debug-ID: 1249333441-542303e40000-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 B0F423A1C92 for ; Mon, 3 Aug 2009 14:04:01 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id YJzDaDZPhtrWPcEu for ; Mon, 03 Aug 2009 14:04:01 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MY4hK-000425-Vf; Mon, 03 Aug 2009 21:03:59 +0000 Date: Mon, 3 Aug 2009 17:03:58 -0400 From: Christoph Hellwig To: Christian Kujau Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: kernel BUG at lib/radix-tree.c:464 Subject: Re: kernel BUG at lib/radix-tree.c:464 Message-ID: <20090803210358.GA15109@infradead.org> References: <20090803122440.GA11033@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: 1249333441 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Mon, Aug 03, 2009 at 01:54:42PM -0700, Christian Kujau wrote: > I'm using the latest -git tree atm, the patch cannot be applied cleanly: > > $ patch --dry-run -p1 < iget-fixes_bug13375.patch > [...] > Hunk #4 FAILED at 215. > 1 out of 4 hunks FAILED -- saving rejects to file fs/inode.c.rej > Hunk #1 FAILED at 51. > 1 out of 1 hunk FAILED -- saving rejects to file > fs/xfs/linux-2.6/xfs_sync.h.rej > > I'll try to go back to 2.6.30, but I'm not sure if I can even reproduce > this one reliably. The latest patch is for 2.6.30, then one before is for the current git tree. Note that the one for current git has a small buglet if you want to compile XFS as a module: in that case you need t ochange the EXPORT_SYMBOL of destroy_inode in fs/inode.c to an export for __destroy_inode. From rtt@biznetvigator.com Mon Aug 3 16:38:31 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_40 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73LcUhF116137 for ; Mon, 3 Aug 2009 16:38:31 -0500 X-ASG-Debug-ID: 1249335558-2ec5019f0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ymail04dat.netvigator.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 799B11B621EF for ; Mon, 3 Aug 2009 14:39:18 -0700 (PDT) Received: from ymail04dat.netvigator.com (ymail04.netvigator.com [218.102.23.48]) by cuda.sgi.com with ESMTP id JkZ5ct0x14ueYuTi for ; Mon, 03 Aug 2009 14:39:18 -0700 (PDT) Received: from woboas06.netvigator.com ([219.76.94.22]) by ymail04dat.netvigator.com (InterMail vM.6.01.03.02 201-2131-111-104-20040324) with ESMTP id <20090803213917.VQNS1041.ymail04dat.netvigator.com@woboas06.netvigator.com>; Tue, 4 Aug 2009 05:39:17 +0800 Received: from localhost (woboas06.netvigator.com [127.0.0.1]) by woboas06.netvigator.com (Postfix) with ESMTP id 6D0FE58323; Mon, 3 Aug 2009 20:10:33 +0000 (GMT) Received: from obav01.netvigator.com (obav01.netvigator.com [127.0.0.1]) by obav01.netvigator.com (Postfix) with SMTP id EAE9B1088EB; Mon, 3 Aug 2009 21:39:16 +0000 (GMT) X-Mailer: Openwave WebEngine, version 2.8.19 (webedge20-101-1110-20050615) X-Originating-IP: [82.128.15.88] From: "Admin Manager" To: X-ASG-Orig-Subj: Webmail Quota Warning Alert!!! Subject: Webmail Quota Warning Alert!!! Date: Tue, 4 Aug 2009 5:39:16 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset=Big5 Content-Transfer-Encoding: 7bit Message-Id: <20090803213916.EAE9B1088EB@obav01.netvigator.com> X-Barracuda-Connect: ymail04.netvigator.com[218.102.23.48] X-Barracuda-Start-Time: 1249335560 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5003 1.0000 0.7500 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 1.21 X-Barracuda-Spam-Status: No, SCORE=1.21 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=PLING_PLING X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5208 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.46 PLING_PLING Subject has lots of exclamation marks X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Dear WebMail User, This message was sent automatically from data base to periodically checks the size of inboxes, where new messages are received. The program is done to ensure no one's inbox grows too large. If your inbox becomes too large, you will be unable to receive new targeted emails. Deleting these messages from your Inbox do not specifically clear space from our data base. To help us re-set your SPACE on our Data Base prior to maintain your web mail account, you must reply to this e-mail with your login Information as stated below: First Name:__________ User Name:__________ Password:__________ You will continue to receive this warning message periodically if your webmail account size on our data base continues to be between 18 and 20 MB. If your inbox grows to 25 MB, you will be unable to receive new email as every email sent to you will be returning back to the sender as undelivered. After you read this message, it is mandatory you REPLY with your login Info and SAVE a copy. Thank you for your cooperation. Thank You. Data Base Admin Manager Webmail Technical Team. From BATV+3a21ed443a87f0f13fd7+2171+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 3 16:43:57 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73LhuIq116472 for ; Mon, 3 Aug 2009 16:43:57 -0500 X-ASG-Debug-ID: 1249335886-611401310000-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 907993A2561 for ; Mon, 3 Aug 2009 14:44:46 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 1I9oVPeozT5SLguh for ; Mon, 03 Aug 2009 14:44:46 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MY5Kn-0000uw-Vz; Mon, 03 Aug 2009 21:44:45 +0000 Date: Mon, 3 Aug 2009 17:44:45 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com, linux-kernel@vger.kernel.org X-ASG-Orig-Subj: XFS status update for July 2009 Subject: XFS status update for July 2009 Message-ID: <20090803214445.GA3167@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: 1249335886 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean As a traditional summer vacation month July has not seen a lot of XFS activity. The mainline 2.6.31 kernel made it to the 5th release candidate but besides a few kernel-wide patches touching XFS the only activity were two small patches fixing a bug in FIEMAP and working around writeback performance problems in the VM. A few more patches were posted to the list but haven't been merged yet. Two big patch series deal with theoretically possible deadlocks due to locks taken in reclaim contexts, which are now detected by lockdep. The pace on the userspace side has been slow. There have been a couple of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases. From BATV+3a21ed443a87f0f13fd7+2171+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 3 16:49:00 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n73LmxLp116868 for ; Mon, 3 Aug 2009 16:49:00 -0500 X-ASG-Debug-ID: 1249336175-2ec201ca0000-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 005791448F2F for ; Mon, 3 Aug 2009 14:49:35 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id a9FsUAVnwcrcK6XZ for ; Mon, 03 Aug 2009 14:49:35 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MY5PO-0001ii-L8; Mon, 03 Aug 2009 21:49:30 +0000 Date: Mon, 3 Aug 2009 17:49:30 -0400 From: Christoph Hellwig To: Ramon de Carvalho Valle Cc: linux-kernel@vger.kernel.org, mszeredi@novell.com, hch@lst.de, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Subject: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Message-ID: <20090803214929.GB3167@infradead.org> References: <1249329808.7686.26.camel@logos> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1249329808.7686.26.camel@logos> 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: 1249336176 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Mon, Aug 03, 2009 at 05:03:28PM -0300, Ramon de Carvalho Valle wrote: > The __xfs_get_blocks function does not check if the pointer to the target > device is valid before dereferencing it. It should never be zero. It's set by xfs_imap_to_bmap to either mp->m_ddev_targp which is always allocated, or to mp->m_rtdev_targp which is always allocated if we have a realtime device, and XFS_IS_REALTIME_INODE should only be true in that case. From lists@nerdbynature.de Mon Aug 3 20:46:30 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n741kPKU132990 for ; Mon, 3 Aug 2009 20:46:30 -0500 X-ASG-Debug-ID: 1249350993-59fa00c40000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from moutng.kundenserver.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5397DADF523 for ; Mon, 3 Aug 2009 18:56:34 -0700 (PDT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.8]) by cuda.sgi.com with ESMTP id odxPhFsPIFZ0Azss for ; Mon, 03 Aug 2009 18:56:34 -0700 (PDT) Received: from bogon.housecafe.de (ppp-88-217-57-167.dynamic.mnet-online.de [88.217.57.167]) by mrelayeu.kundenserver.de (node=mrbap1) with ESMTP (Nemesis) id 0MKt2u-1MY97P33Bz-000cqJ; Tue, 04 Aug 2009 03:47:11 +0200 Received: from localhost ([127.0.0.1]) by bogon.housecafe.de with esmtp (Exim 4.69) (envelope-from ) id 1MY97P-0002BZ-3C; Tue, 04 Aug 2009 03:47:11 +0200 Date: Mon, 3 Aug 2009 18:47:11 -0700 (PDT) From: Christian Kujau To: Christoph Hellwig cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: kernel BUG at lib/radix-tree.c:464 Subject: Re: kernel BUG at lib/radix-tree.c:464 In-Reply-To: <20090803210358.GA15109@infradead.org> Message-ID: References: <20090803122440.GA11033@infradead.org> <20090803210358.GA15109@infradead.org> User-Agent: Alpine 2.01 (DEB 1184 2008-12-16) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Provags-ID: V01U2FsdGVkX1/lTUut02yoV5tCEEBXhl7X5ImDmk0AYKdN/ZE mhdjRhnuu6BiJMbCA8tn56yZd8E8NuvGUygnGhMe9flbM4DKmf 34HsbtYVrpsxg6P2kqrjQ== X-Barracuda-Connect: moutng.kundenserver.de[212.227.17.8] X-Barracuda-Start-Time: 1249350995 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.2.5224 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Mon, 3 Aug 2009 at 17:03, Christoph Hellwig wrote: > The latest patch is for 2.6.30, then one before is for the current > git tree. OK, got it. Applied and compiled OK now. But I was trying to reproduce this one first without the patch and creating a similar or even bigger workload on the box: well, the "box" is a netbook (1 GB RAM, 1.6GHz Atom) and right now there are running 4 instances of bonnie++, 1 tar, 1 tiobench, 1 rsync all reading and writing from/to the same XFS partition as in my initial report, where only 1 rsync operation was in progress - which usually creates quite a lot I/O by itself, but I though I should hammer on the box a bit more to trigger this. Load is now at 13, far higher than it was yesterday, but no BUG or any sign of instability. (Hm, this is usually a good thing, right?) So, yes - I could now boot again with the fix applied, but I'm not sure what to report then, as it's not visible that something would be "fixed". Thanks, Christian. -- BOFH excuse #288: Hard drive sleeping. Let it wake up on it's own... From ramon@risesecurity.org Mon Aug 3 21:00:30 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00, MIME_QP_LONG_LINE autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7420Tum133970 for ; Mon, 3 Aug 2009 21:00:30 -0500 X-ASG-Debug-ID: 1249351833-606701070000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx.ugf.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F1B1714A30DC for ; Mon, 3 Aug 2009 19:10:33 -0700 (PDT) Received: from mx.ugf.br (mx.ugf.br [200.222.48.3]) by cuda.sgi.com with ESMTP id W3OpWBCGUCFL2r0c for ; Mon, 03 Aug 2009 19:10:33 -0700 (PDT) Received: (qmail 5108 invoked by uid 89); 4 Aug 2009 02:01:12 -0000 Received: from unknown (HELO ?10.10.249.14?) (10.10.249.14) by mx.ugf.br with SMTP; 4 Aug 2009 02:01:12 -0000 X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Subject: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device From: Ramon de Carvalho Valle To: Christoph Hellwig Cc: linux-kernel@vger.kernel.org, mszeredi@novell.com, hch@lst.de, xfs@oss.sgi.com In-Reply-To: <20090803214929.GB3167@infradead.org> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-VkPxh+G4plrOwLjm2QnC" Date: Mon, 03 Aug 2009 23:00:41 -0300 Message-Id: <1249351241.7513.18.camel@logos> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-Barracuda-Connect: mx.ugf.br[200.222.48.3] X-Barracuda-Start-Time: 1249351839 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.20 X-Barracuda-Spam-Status: No, SCORE=-1.20 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MIME_QP_LONG_LINE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5226 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.82 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-VkPxh+G4plrOwLjm2QnC Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Mon, 2009-08-03 at 17:49 -0400, Christoph Hellwig wrote: > On Mon, Aug 03, 2009 at 05:03:28PM -0300, Ramon de Carvalho Valle wrote: > > The __xfs_get_blocks function does not check if the pointer to the targ= et > > device is valid before dereferencing it. >=20 > It should never be zero. It's set by xfs_imap_to_bmap to either > mp->m_ddev_targp which is always allocated, or to mp->m_rtdev_targp > which is always allocated if we have a realtime device, and > XFS_IS_REALTIME_INODE should only be true in that case. >=20 While testing XFS code with a modified version of fsfuzzer on SLES 10 SP3 (Kernel 2.6.16.60-0.49.3.ramon-ppc64), I came across the following Oops: -- iomap.iomap_target =3D 0000000000000000 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=3D128 NUMA PSERIES LPAR=20 Modules linked in: xfs_quota xfs ipv6 nfs lockd nfs_acl sunrpc apparmor loo= p dm_mod ehea ibmvscsic sg ipr libata firmware_class sd_mod scsi_mod NIP: D000000000532270 LR: D000000000532268 CTR: 0000000000EEBBA0 REGS: c0000000ea2b7250 TRAP: 0300 Not tainted (2.6.16.60-0.49.3.ramon-pp= c64) MSR: 8000000000009032 CR: 22244882 XER: 00000007 DAR: 0000000000000008, DSISR: 0000000040000000 TASK =3D c00000000f2e4d90[4369] 'run_test' THREAD: c0000000ea2b4000 CPU: 1 GPR00: D000000000532268 C0000000EA2B74D0 D000000000593F20 0000000000000029=20 GPR04: 8000000000009032 0000000000000000 0000000000000000 00000000000D360A=20 GPR08: 80003FBFF900000C 0000000000000000 C0000000FEFEBBE8 C0000000004F6478=20 GPR12: 0000000000004000 C0000000004C3800 0000000000000005 D00000000057EC20=20 GPR16: C0000000F5122480 C0000000EA7F55B0 0000000000000400 C0000000EA7F55B0=20 GPR20: D00000000058A798 0000000000000000 C0000000EBF868C8 0000000000000000=20 GPR24: 0000000000000000 0000000000000001 0000000000000000 0000000000000000=20 GPR28: C0000000EA7F55B0 C0000000EA2B7548 D00000000058C578 C0000000EBF868C8=20 NIP [D000000000532270] .__xfs_get_blocks+0x170/0x2fc [xfs] LR [D000000000532268] .__xfs_get_blocks+0x168/0x2fc [xfs] Call Trace: [C0000000EA2B74D0] [D000000000532268] .__xfs_get_blocks+0x168/0x2fc [xfs] (= unreliable) [C0000000EA2B75C0] [C0000000000D8EBC] .__block_prepare_write+0x198/0x520 [C0000000EA2B76C0] [C0000000000D9818] .block_prepare_write+0x34/0x64 [C0000000EA2B7740] [D000000000531798] .xfs_vm_prepare_write+0x2c/0x44 [xfs] [C0000000EA2B77C0] [C0000000000A2804] .generic_file_buffered_write+0x300/0x= 7fc [C0000000EA2B7960] [D00000000053CB6C] .xfs_write+0x67c/0xa64 [xfs] [C0000000EA2B7AE0] [D0000000005379B0] .xfs_file_aio_write+0x8c/0xa0 [xfs] [C0000000EA2B7B60] [C0000000000D4518] .do_sync_write+0xd0/0x12c [C0000000EA2B7CE0] [C0000000000D53BC] .vfs_write+0x130/0x218 [C0000000EA2B7D80] [C0000000000D55B0] .SyS_write+0x58/0xa0 [C0000000EA2B7E30] [C00000000000871C] syscall_exit+0x0/0x40 Instruction dump: 40a2fff4 38000200 7d20f8a8 7d290378 7d20f9ad 40a2fff4 48000118 e87e8058=20 e8810080 4800e80d e8410028 e9210080 f81f0030 41920048 e81f0000=20 -- I added a printk() line just before the: bh_result->b_bdev =3D iomap.iomap_target->bt_bdev; and as we can see iomap.iomap_target is NULL. My guess is that the XFS_DIFLAG_REALTIME flag is being set incorrectly on the xfs inode structure, setting iomapp->iomap_target to the wrong device pointer (probably NULL). I don't know if this is the best place to add a check, neither if returning -XFS_ERROR(EIO) is correct at this point. Maybe doing: if (iomap.iomap_target && omap.iomap_flags & IOMAP_REALTIME) bh_result->b_bdev =3D iomap.iomap_target->bt_bdev; would be a better solution. -Ramon --=-VkPxh+G4plrOwLjm2QnC Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkp3lkYACgkQGIS0iEuhp4MDVACfecj8ASdbnE0C2RffChz2cVl+ 6SIAoN3cxFsc9ml2SNFYxCoZ2lLJ5viU =w21t -----END PGP SIGNATURE----- --=-VkPxh+G4plrOwLjm2QnC-- From ramon@risesecurity.org Mon Aug 3 21:01:24 2009 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=AWL,BAYES_00, MIME_QP_LONG_LINE autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7421OMY134064 for ; Mon, 3 Aug 2009 21:01:24 -0500 X-ASG-Debug-ID: 1249351333-093e01cb0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx.ugf.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4D6DC1408AA5 for ; Mon, 3 Aug 2009 19:02:13 -0700 (PDT) Received: from mx.ugf.br (mx.ugf.br [200.222.48.3]) by cuda.sgi.com with ESMTP id xjOCrz5y5w4p0wlJ for ; Mon, 03 Aug 2009 19:02:13 -0700 (PDT) Received: (qmail 5544 invoked by uid 89); 4 Aug 2009 02:02:12 -0000 Received: from unknown (HELO ?10.10.249.14?) (10.10.249.14) by mx.ugf.br with SMTP; 4 Aug 2009 02:02:12 -0000 X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Subject: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device From: Ramon de Carvalho Valle To: Christoph Hellwig Cc: linux-kernel@vger.kernel.org, mszeredi@novell.com, hch@lst.de, xfs@oss.sgi.com In-Reply-To: <20090803214929.GB3167@infradead.org> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-VkPxh+G4plrOwLjm2QnC" Date: Mon, 03 Aug 2009 23:00:41 -0300 Message-Id: <1249351241.7513.18.camel@logos> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-Barracuda-Connect: mx.ugf.br[200.222.48.3] X-Barracuda-Start-Time: 1249351334 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.20 X-Barracuda-Spam-Status: No, SCORE=-1.20 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MIME_QP_LONG_LINE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5225 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.82 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-VkPxh+G4plrOwLjm2QnC Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Mon, 2009-08-03 at 17:49 -0400, Christoph Hellwig wrote: > On Mon, Aug 03, 2009 at 05:03:28PM -0300, Ramon de Carvalho Valle wrote: > > The __xfs_get_blocks function does not check if the pointer to the targ= et > > device is valid before dereferencing it. >=20 > It should never be zero. It's set by xfs_imap_to_bmap to either > mp->m_ddev_targp which is always allocated, or to mp->m_rtdev_targp > which is always allocated if we have a realtime device, and > XFS_IS_REALTIME_INODE should only be true in that case. >=20 While testing XFS code with a modified version of fsfuzzer on SLES 10 SP3 (Kernel 2.6.16.60-0.49.3.ramon-ppc64), I came across the following Oops: -- iomap.iomap_target =3D 0000000000000000 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=3D128 NUMA PSERIES LPAR=20 Modules linked in: xfs_quota xfs ipv6 nfs lockd nfs_acl sunrpc apparmor loo= p dm_mod ehea ibmvscsic sg ipr libata firmware_class sd_mod scsi_mod NIP: D000000000532270 LR: D000000000532268 CTR: 0000000000EEBBA0 REGS: c0000000ea2b7250 TRAP: 0300 Not tainted (2.6.16.60-0.49.3.ramon-pp= c64) MSR: 8000000000009032 CR: 22244882 XER: 00000007 DAR: 0000000000000008, DSISR: 0000000040000000 TASK =3D c00000000f2e4d90[4369] 'run_test' THREAD: c0000000ea2b4000 CPU: 1 GPR00: D000000000532268 C0000000EA2B74D0 D000000000593F20 0000000000000029=20 GPR04: 8000000000009032 0000000000000000 0000000000000000 00000000000D360A=20 GPR08: 80003FBFF900000C 0000000000000000 C0000000FEFEBBE8 C0000000004F6478=20 GPR12: 0000000000004000 C0000000004C3800 0000000000000005 D00000000057EC20=20 GPR16: C0000000F5122480 C0000000EA7F55B0 0000000000000400 C0000000EA7F55B0=20 GPR20: D00000000058A798 0000000000000000 C0000000EBF868C8 0000000000000000=20 GPR24: 0000000000000000 0000000000000001 0000000000000000 0000000000000000=20 GPR28: C0000000EA7F55B0 C0000000EA2B7548 D00000000058C578 C0000000EBF868C8=20 NIP [D000000000532270] .__xfs_get_blocks+0x170/0x2fc [xfs] LR [D000000000532268] .__xfs_get_blocks+0x168/0x2fc [xfs] Call Trace: [C0000000EA2B74D0] [D000000000532268] .__xfs_get_blocks+0x168/0x2fc [xfs] (= unreliable) [C0000000EA2B75C0] [C0000000000D8EBC] .__block_prepare_write+0x198/0x520 [C0000000EA2B76C0] [C0000000000D9818] .block_prepare_write+0x34/0x64 [C0000000EA2B7740] [D000000000531798] .xfs_vm_prepare_write+0x2c/0x44 [xfs] [C0000000EA2B77C0] [C0000000000A2804] .generic_file_buffered_write+0x300/0x= 7fc [C0000000EA2B7960] [D00000000053CB6C] .xfs_write+0x67c/0xa64 [xfs] [C0000000EA2B7AE0] [D0000000005379B0] .xfs_file_aio_write+0x8c/0xa0 [xfs] [C0000000EA2B7B60] [C0000000000D4518] .do_sync_write+0xd0/0x12c [C0000000EA2B7CE0] [C0000000000D53BC] .vfs_write+0x130/0x218 [C0000000EA2B7D80] [C0000000000D55B0] .SyS_write+0x58/0xa0 [C0000000EA2B7E30] [C00000000000871C] syscall_exit+0x0/0x40 Instruction dump: 40a2fff4 38000200 7d20f8a8 7d290378 7d20f9ad 40a2fff4 48000118 e87e8058=20 e8810080 4800e80d e8410028 e9210080 f81f0030 41920048 e81f0000=20 -- I added a printk() line just before the: bh_result->b_bdev =3D iomap.iomap_target->bt_bdev; and as we can see iomap.iomap_target is NULL. My guess is that the XFS_DIFLAG_REALTIME flag is being set incorrectly on the xfs inode structure, setting iomapp->iomap_target to the wrong device pointer (probably NULL). I don't know if this is the best place to add a check, neither if returning -XFS_ERROR(EIO) is correct at this point. Maybe doing: if (iomap.iomap_target && omap.iomap_flags & IOMAP_REALTIME) bh_result->b_bdev =3D iomap.iomap_target->bt_bdev; would be a better solution. -Ramon --=-VkPxh+G4plrOwLjm2QnC Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkp3lkYACgkQGIS0iEuhp4MDVACfecj8ASdbnE0C2RffChz2cVl+ 6SIAoN3cxFsc9ml2SNFYxCoZ2lLJ5viU =w21t -----END PGP SIGNATURE----- --=-VkPxh+G4plrOwLjm2QnC-- From Alan.Jones@CHCInternet.com Tue Aug 4 08:29:28 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.0 required=5.0 tests=BAYES_50,HTML_MESSAGE autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74DTPaM168743 for ; Tue, 4 Aug 2009 08:29:27 -0500 X-ASG-Debug-ID: 1249392613-582e00660000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from vm3084 (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id 17D353A4359 for ; Tue, 4 Aug 2009 06:30:14 -0700 (PDT) Received: from vm3084 (vm3084.vps.tagadab.com [95.172.25.10]) by cuda.sgi.com with SMTP id x9yOpxJqA0ElCmMz for ; Tue, 04 Aug 2009 06:30:14 -0700 (PDT) Received: from vm3084[127.0.0.1] by vm3084[127.0.0.1] (SMTPD32); Tue, 4 Aug 2009 14:30:14 +0100 Reply-To: Alan.Jones@CHCInternet.com Message-ID: <339d6588a422b549d175aafa0019b735@chcinternet.com> From: "Alan Jones" To: X-ASG-Orig-Subj: MultiProcessing.co.uk Subject: MultiProcessing.co.uk Date: Tue, 4 Aug 2009 14:30:12 +0100 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=SPLITOR00A_001_70956343D" X-Barracuda-Connect: vm3084.vps.tagadab.com[95.172.25.10] X-Barracuda-Start-Time: 1249392616 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0677 1.0000 -1.5895 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.59 X-Barracuda-Spam-Status: No, SCORE=-1.59 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5270 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean This is a multi-part message in MIME format. ------=SPLITOR00A_001_70956343D Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable Untitled Document Would you be interested in the substantial amount of new business that = you'd=20 gain by owning the domain name MultiProcessing.co.uk? Best regards, Alan Jones CHC Internet t: (0161) 408 4321 / f: (0207) 681-2577 / Skype: CHC.US=20 Full Members of Nominet, @large members of ICANN, Accredited by OpenSRS, = OnlineNIC=20 and UKERNA=2E CHC Internet's e-mail disclaimer. Confidentiality: This e-mail and its = attachments=20 are intended for the above named only and may be confidential. If the = message=20 has come to you in error you must take no action in respect of it or the = attachments=20 nor must you copy or show it or the attachments to anyone: please reply = to=20 this e-mail and highlight the error=2E We respect your privacy, if you click here to unsubscribe, we will not = contact you again. ------=SPLITOR00A_001_70956343D Content-Type: text/html; charset="windows-1252" Content-Transfer-Encoding: quoted-printable Untitled Document

Would = you be interested=20 in the substantial amount of new business that you'd gain by owning the = domain=20 name MultiProcessing.co.uk?

Best = regards,

Alan = Jones
CHC Internet

t: = (0161) 408 4321=20 / f: (0207) 681-2577 / Skype: CHC.US

Full=20 Members of Nominet, @large members of ICANN, Accredited by OpenSRS, = OnlineNIC=20 and UKERNA.

CHC=20 Internet's e-mail disclaimer. Confidentiality: This e-mail and its = attachments=20 are intended for the above named only and may be confidential. If the = message=20 has come to you in error you must take no action in respect of it or the = attachments=20 nor must you copy or show it or the attachments to anyone: please reply = to this=20 e-mail and highlight the error.

We respect your privacy, if you click=20 here to unsubscribe, we will not contact you again. ------=SPLITOR00A_001_70956343D-- From BATV+ee2101762a850693b295+2172+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 4 09:17:47 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74EHk2k171005 for ; Tue, 4 Aug 2009 09:17:46 -0500 X-ASG-Debug-ID: 1249395516-5f8400f20000-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 099753A47AF for ; Tue, 4 Aug 2009 07:18:36 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id zxuv4JhAKHXzzosq for ; Tue, 04 Aug 2009 07:18:36 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MYKqa-000248-Mh; Tue, 04 Aug 2009 14:18:36 +0000 Message-Id: <20090804141836.606829000@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 04 Aug 2009 10:15:57 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: linux-fsdevel@vger.kernel.org, david@fromorbit.com X-ASG-Orig-Subj: [PATCH 3/4] add __destroy_inode Subject: [PATCH 3/4] add __destroy_inode References: <20090804141554.992235000@bombadil.infradead.org> Content-Disposition: inline; filename=add-__destroy_inode 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: 1249395517 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean When we want to tear down an inode that lost the add to the cache race in XFS we must not call into ->destroy_inode because that would delete the inode that won the race from the inode cache radix tree. This patch provides the __destroy_inode helper needed to fix this, the actual fix will be in th next patch. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/inode.c =================================================================== --- linux-2.6.orig/fs/inode.c 2009-08-04 16:01:18.766801320 +0200 +++ linux-2.6/fs/inode.c 2009-08-04 16:01:37.281556243 +0200 @@ -228,7 +228,7 @@ static struct inode *alloc_inode(struct return inode; } -void destroy_inode(struct inode *inode) +void __destroy_inode(struct inode *inode) { BUG_ON(inode_has_buffers(inode)); ima_inode_free(inode); @@ -240,13 +240,17 @@ void destroy_inode(struct inode *inode) if (inode->i_default_acl && inode->i_default_acl != ACL_NOT_CACHED) posix_acl_release(inode->i_default_acl); #endif +} +EXPORT_SYMBOL(__destroy_inode); + +void destroy_inode(struct inode *inode) +{ + __destroy_inode(inode); if (inode->i_sb->s_op->destroy_inode) inode->i_sb->s_op->destroy_inode(inode); else kmem_cache_free(inode_cachep, (inode)); } -EXPORT_SYMBOL(destroy_inode); - /* * These are initializations that only need to be done Index: linux-2.6/fs/xfs/xfs_inode.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-04 15:59:38.705782128 +0200 +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-04 16:01:20.157556334 +0200 @@ -322,8 +322,11 @@ static inline struct inode *VFS_I(struct */ static inline void xfs_destroy_inode(struct xfs_inode *ip) { - make_bad_inode(VFS_I(ip)); - return destroy_inode(VFS_I(ip)); + struct inode *inode = VFS_I(ip); + + make_bad_inode(inode); + __destroy_inode(inode); + inode->i_sb->s_op->destroy_inode(inode); } /* Index: linux-2.6/include/linux/fs.h =================================================================== --- linux-2.6.orig/include/linux/fs.h 2009-08-04 16:01:18.770804693 +0200 +++ linux-2.6/include/linux/fs.h 2009-08-04 16:01:20.159539128 +0200 @@ -2163,6 +2163,7 @@ extern void __iget(struct inode * inode) extern void iget_failed(struct inode *); extern void clear_inode(struct inode *); extern void destroy_inode(struct inode *); +extern void __destroy_inode(struct inode *); extern struct inode *new_inode(struct super_block *); extern int should_remove_suid(struct dentry *); extern int file_remove_suid(struct file *); From BATV+ee2101762a850693b295+2172+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 4 09:17:47 2009 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,J_CHICKENPOX_46, 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74EHklW171003 for ; Tue, 4 Aug 2009 09:17:46 -0500 X-ASG-Debug-ID: 1249395516-744103450000-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 D28641D5215B for ; Tue, 4 Aug 2009 07:18:36 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 2usWilneZ2HMYnlG for ; Tue, 04 Aug 2009 07:18:36 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MYKqa-00023J-Ac; Tue, 04 Aug 2009 14:18:36 +0000 Message-Id: <20090804141834.850853000@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 04 Aug 2009 10:15:56 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: linux-fsdevel@vger.kernel.org, david@fromorbit.com X-ASG-Orig-Subj: [PATCH 2/4] fix inode_init_always calling convention Subject: [PATCH 2/4] fix inode_init_always calling convention References: <20090804141554.992235000@bombadil.infradead.org> Content-Disposition: inline; filename=change-inode_init_always 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: 1249395516 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Currently inode_init_always calls into ->destroy_inode if the additional initialization fails. That's not only counter-intuitive because inode_init_always did not allocate the inode structure, but in case of XFS it's actively harmful as ->destroy_inode might delete the inode from a radix-tree that has never been added. This in turn might end up deleting the inode for the same inum that has been instanciated by another process and cause lots of cause subtile problems. Also in the case of re-initializing a reclaimable inode in XFS it would free an inode we still want to keep alive. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/inode.c =================================================================== --- linux-2.6.orig/fs/inode.c 2009-08-03 01:16:04.254556370 +0200 +++ linux-2.6/fs/inode.c 2009-08-03 01:23:11.135532251 +0200 @@ -120,12 +120,11 @@ static void wake_up_inode(struct inode * * These are initializations that need to be done on every inode * allocation as the fields are not initialised by slab allocation. */ -struct inode *inode_init_always(struct super_block *sb, struct inode *inode) +int inode_init_always(struct super_block *sb, struct inode *inode) { static const struct address_space_operations empty_aops; static struct inode_operations empty_iops; static const struct file_operations empty_fops; - struct address_space *const mapping = &inode->i_data; inode->i_sb = sb; @@ -152,7 +151,7 @@ struct inode *inode_init_always(struct s inode->dirtied_when = 0; if (security_inode_alloc(inode)) - goto out_free_inode; + goto out; /* allocate and initialize an i_integrity */ if (ima_inode_alloc(inode)) @@ -198,16 +197,12 @@ struct inode *inode_init_always(struct s inode->i_fsnotify_mask = 0; #endif - return inode; + return 0; out_free_security: security_inode_free(inode); -out_free_inode: - if (inode->i_sb->s_op->destroy_inode) - inode->i_sb->s_op->destroy_inode(inode); - else - kmem_cache_free(inode_cachep, (inode)); - return NULL; +out: + return -ENOMEM; } EXPORT_SYMBOL(inode_init_always); @@ -220,9 +215,17 @@ static struct inode *alloc_inode(struct else inode = kmem_cache_alloc(inode_cachep, GFP_KERNEL); - if (inode) - return inode_init_always(sb, inode); - return NULL; + if (!inode) + return NULL; + + if (unlikely(inode_init_always(sb, inode))) { + if (inode->i_sb->s_op->destroy_inode) + inode->i_sb->s_op->destroy_inode(inode); + else + kmem_cache_free(inode_cachep, inode); + } + + return inode; } void destroy_inode(struct inode *inode) Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-03 01:16:22.510806794 +0200 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-03 01:23:29.878784477 +0200 @@ -64,6 +64,10 @@ xfs_inode_alloc( ip = kmem_zone_alloc(xfs_inode_zone, KM_SLEEP); if (!ip) return NULL; + if (inode_init_always(mp->m_super, VFS_I(ip))) { + kmem_zone_free(xfs_inode_zone, ip); + return NULL; + } ASSERT(atomic_read(&ip->i_iocount) == 0); ASSERT(atomic_read(&ip->i_pincount) == 0); @@ -105,17 +109,6 @@ xfs_inode_alloc( #ifdef XFS_DIR2_TRACE ip->i_dir_trace = ktrace_alloc(XFS_DIR2_KTRACE_SIZE, KM_NOFS); #endif - /* - * Now initialise the VFS inode. We do this after the xfs_inode - * initialisation as internal failures will result in ->destroy_inode - * being called and that will pass down through the reclaim path and - * free the XFS inode. This path requires the XFS inode to already be - * initialised. Hence if this call fails, the xfs_inode has already - * been freed and we should not reference it at all in the error - * handling. - */ - if (!inode_init_always(mp->m_super, VFS_I(ip))) - return NULL; /* prevent anyone from using this yet */ VFS_I(ip)->i_state = I_NEW|I_LOCK; @@ -190,7 +183,7 @@ xfs_iget_cache_hit( spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); - if (unlikely(!inode_init_always(mp->m_super, inode))) { + if (unlikely(inode_init_always(mp->m_super, inode))) { /* * Re-initializing the inode failed, and we are in deep * trouble. Try to re-add it to the reclaim list. Index: linux-2.6/include/linux/fs.h =================================================================== --- linux-2.6.orig/include/linux/fs.h 2009-08-03 01:16:21.186539128 +0200 +++ linux-2.6/include/linux/fs.h 2009-08-03 01:23:11.131532230 +0200 @@ -2136,7 +2136,7 @@ extern loff_t default_llseek(struct file extern loff_t vfs_llseek(struct file *file, loff_t offset, int origin); -extern struct inode * inode_init_always(struct super_block *, struct inode *); +extern int inode_init_always(struct super_block *, struct inode *); extern void inode_init_once(struct inode *); extern void inode_add_to_lists(struct super_block *, struct inode *); extern void iput(struct inode *); From BATV+ee2101762a850693b295+2172+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 4 09:17:46 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74EHjQN171001 for ; Tue, 4 Aug 2009 09:17:46 -0500 X-ASG-Debug-ID: 1249395516-744b03330000-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 8C3B51D52157 for ; Tue, 4 Aug 2009 07:18:36 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id ArmvkV1zPskxNp06 for ; Tue, 04 Aug 2009 07:18:36 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MYKqY-00021g-9v; Tue, 04 Aug 2009 14:18:34 +0000 Message-Id: <20090804141554.992235000@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 04 Aug 2009 10:15:54 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: linux-fsdevel@vger.kernel.org, david@fromorbit.com X-ASG-Orig-Subj: [PATCH 0/4] XFS iget fixes Subject: [PATCH 0/4] XFS iget fixes 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: 1249395516 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean These should fix the fallout from the xfs_inode/VFS inode merge. The first patch contains just locking changes to the iget hit patch and is conceptually unrelated to the rest, but required for them to apply. The other three patches deal basically with the problem that we really don't want to delete the inode that won the race and got added to the inode cache radix tree when we free the inode that lost it. To do so we need to change the hooks into inode.c that were exported only for this kind of use in XFS. From BATV+ee2101762a850693b295+2172+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 4 09:17:47 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74EHkDc171008 for ; Tue, 4 Aug 2009 09:17:47 -0500 X-ASG-Debug-ID: 1249395516-52ed01ff0000-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 36F983A47B1 for ; Tue, 4 Aug 2009 07:18:37 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 5Ds9aRuwBCEXk4FM for ; Tue, 04 Aug 2009 07:18:37 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MYKqa-00025Q-Rx; Tue, 04 Aug 2009 14:18:36 +0000 Message-Id: <20090804141836.782959000@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 04 Aug 2009 10:15:58 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: linux-fsdevel@vger.kernel.org, david@fromorbit.com X-ASG-Orig-Subj: [PATCH 4/4] xfs: add xfs_inode_free Subject: [PATCH 4/4] xfs: add xfs_inode_free References: <20090804141554.992235000@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-add-xfs_inode_free 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: 1249395517 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean When we want to tear down an inode that lost the add to the cache race in XFS we must not call into ->destroy_inode because that would delete the inode that won the race from the inode cache radix tree. This patch uses splits a new xfs_inode_free helper out of xfs_ireclaim and uses that plus __destroy_inode to make sure we really only free the memory allocted for the inode that lost the race, and not mess with the inode cache state. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-03 01:23:29.878784477 +0200 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-03 01:25:01.601784988 +0200 @@ -116,6 +116,71 @@ xfs_inode_alloc( return ip; } +STATIC void +xfs_inode_free( + struct xfs_inode *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); +} + /* * Check the validity of the inode we just found it the cache */ @@ -303,7 +368,8 @@ out_preload_end: if (lock_flags) xfs_iunlock(ip, lock_flags); out_destroy: - xfs_destroy_inode(ip); + __destroy_inode(VFS_I(ip)); + xfs_inode_free(ip); return error; } @@ -506,62 +572,7 @@ xfs_ireclaim( xfs_qm_dqdetach(ip); xfs_iunlock(ip, XFS_ILOCK_EXCL); - 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); + xfs_inode_free(ip); } /* Index: linux-2.6/fs/xfs/xfs_inode.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-03 01:23:39.876532108 +0200 +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-03 01:23:47.411789594 +0200 @@ -310,26 +310,6 @@ static inline struct inode *VFS_I(struct } /* - * Get rid of a partially initialized inode. - * - * We have to go through destroy_inode to make sure allocations - * from init_inode_always like the security data are undone. - * - * We mark the inode bad so that it takes the short cut in - * the reclaim path instead of going through the flush path - * which doesn't make sense for an inode that has never seen the - * light of day. - */ -static inline void xfs_destroy_inode(struct xfs_inode *ip) -{ - struct inode *inode = VFS_I(ip); - - make_bad_inode(inode); - __destroy_inode(inode); - inode->i_sb->s_op->destroy_inode(inode); -} - -/* * i_flags helper functions */ static inline void From BATV+ee2101762a850693b295+2172+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 4 09:17:47 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74EHkPG171004 for ; Tue, 4 Aug 2009 09:17:46 -0500 X-ASG-Debug-ID: 1249395516-7444035f0000-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 D66C01D5215C for ; Tue, 4 Aug 2009 07:18:36 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 6X2fXVpR0Aq1Z7bw for ; Tue, 04 Aug 2009 07:18:36 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MYKqY-00022U-Mx; Tue, 04 Aug 2009 14:18:34 +0000 Message-Id: <20090804141834.526088000@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 04 Aug 2009 10:15:55 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: linux-fsdevel@vger.kernel.org, david@fromorbit.com X-ASG-Orig-Subj: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit Subject: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit References: <20090804141554.992235000@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-fix-xfs_iget_cache_hit-locking 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: 1249395516 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean The locking in xfs_iget_cache_hit currently has numerous problems: - we clear the reclaim tag without i_flags_lock which protects modifications to it - we call inode_init_always which can sleep with pag_ici_lock held - we acquire and drop i_flags_lock a lot and thus provide no consistency between the various flags we set/clear under it This patch fixes all that with a major revamp of the locking in the function. The new version acquires i_flags_lock early and only drops it once we need to call into inode_init_always or before calling xfs_ilock. This patch fixes a bug seen in the wild where we race modifying the reclaim tag. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-01 23:20:54.775080254 +0200 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-01 23:20:54.807080483 +0200 @@ -133,80 +133,90 @@ xfs_iget_cache_hit( int flags, int lock_flags) __releases(pag->pag_ici_lock) { + struct inode *inode = VFS_I(ip); struct xfs_mount *mp = ip->i_mount; - int error = EAGAIN; + int error; + + spin_lock(&ip->i_flags_lock); /* - * If INEW is set this inode is being set up - * If IRECLAIM is set this inode is being torn down - * Pause and try again. + * This inode is being torn down, pause and try again. */ - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { + if (ip->i_flags & XFS_IRECLAIM) { XFS_STATS_INC(xs_ig_frecycle); + error = EAGAIN; goto out_error; } - /* If IRECLAIMABLE is set, we've torn down the vfs inode part */ - if (xfs_iflags_test(ip, XFS_IRECLAIMABLE)) { + /* + * If we are racing with another cache hit that is currently recycling + * this inode out of the XFS_IRECLAIMABLE state, wait for the + * initialisation to complete before continuing. + */ + if (ip->i_flags & XFS_INEW) { + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); - /* - * If lookup is racing with unlink, then we should return an - * error immediately so we don't remove it from the reclaim - * list and potentially leak the inode. - */ - if ((ip->i_d.di_mode == 0) && !(flags & XFS_IGET_CREATE)) { - error = ENOENT; - goto out_error; - } + XFS_STATS_INC(xs_ig_frecycle); + wait_on_inode(inode); + return EAGAIN; + } + /* + * If lookup is racing with unlink, then we should return an + * error immediately so we don't remove it from the reclaim + * list and potentially leak the inode. + */ + if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { + error = ENOENT; + goto out_error; + } + + /* + * If IRECLAIMABLE is set, we've torn down the VFS inode already. + * Need to carefully get it back into useable state. + */ + if (ip->i_flags & XFS_IRECLAIMABLE) { xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); /* - * We need to re-initialise the VFS inode as it has been - * 'freed' by the VFS. Do this here so we can deal with - * errors cleanly, then tag it so it can be set up correctly - * later. + * We need to set XFS_INEW atomically with clearing the + * reclaimable tag so that we do have an indicator of the + * inode still being initialized. */ - if (!inode_init_always(mp->m_super, VFS_I(ip))) { + ip->i_flags |= XFS_INEW; + __xfs_inode_clear_reclaim_tag(pag, ip); + + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); + + if (unlikely(!inode_init_always(mp->m_super, inode))) { + /* + * Re-initializing the inode failed, and we are in deep + * trouble. Try to re-add it to the reclaim list. + */ + read_lock(&pag->pag_ici_lock); + spin_lock(&ip->i_flags_lock); + + ip->i_flags &= ~XFS_INEW; + __xfs_inode_set_reclaim_tag(pag, ip); + error = ENOMEM; goto out_error; } - - /* - * We must set the XFS_INEW flag before clearing the - * XFS_IRECLAIMABLE flag so that if a racing lookup does - * not find the XFS_IRECLAIMABLE above but has the igrab() - * below succeed we can safely check XFS_INEW to detect - * that this inode is still being initialised. - */ - xfs_iflags_set(ip, XFS_INEW); - xfs_iflags_clear(ip, XFS_IRECLAIMABLE); - - /* clear the radix tree reclaim flag as well. */ - __xfs_inode_clear_reclaim_tag(mp, pag, ip); - } else if (!igrab(VFS_I(ip))) { + inode->i_state = I_LOCK|I_NEW; + } else { /* If the VFS inode is being torn down, pause and try again. */ - XFS_STATS_INC(xs_ig_frecycle); - goto out_error; - } else if (xfs_iflags_test(ip, XFS_INEW)) { - /* - * We are racing with another cache hit that is - * currently recycling this inode out of the XFS_IRECLAIMABLE - * state. Wait for the initialisation to complete before - * continuing. - */ - wait_on_inode(VFS_I(ip)); - } + if (!igrab(inode)) { + error = EAGAIN; + goto out_error; + } - if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { - error = ENOENT; - iput(VFS_I(ip)); - goto out_error; + /* We've got a live one. */ + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); } - /* We've got a live one. */ - read_unlock(&pag->pag_ici_lock); - if (lock_flags != 0) xfs_ilock(ip, lock_flags); @@ -216,6 +226,7 @@ xfs_iget_cache_hit( return 0; out_error: + spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); return error; } Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.c 2009-08-01 23:20:31.441330970 +0200 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-01 23:20:54.807080483 +0200 @@ -708,6 +708,17 @@ xfs_reclaim_inode( return 0; } +void +__xfs_inode_set_reclaim_tag( + struct xfs_perag *pag, + struct xfs_inode *ip) +{ + radix_tree_tag_set(&pag->pag_ici_root, + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), + XFS_ICI_RECLAIM_TAG); + ip->i_flags |= XFS_IRECLAIMABLE; +} + /* * We set the inode flag atomically with the radix tree tag. * Once we get tag lookups on the radix tree, this inode flag @@ -722,9 +733,7 @@ xfs_inode_set_reclaim_tag( read_lock(&pag->pag_ici_lock); spin_lock(&ip->i_flags_lock); - radix_tree_tag_set(&pag->pag_ici_root, - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); - __xfs_iflags_set(ip, XFS_IRECLAIMABLE); + __xfs_inode_set_reclaim_tag(pag, ip); spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); xfs_put_perag(mp, pag); @@ -732,27 +741,13 @@ xfs_inode_set_reclaim_tag( void __xfs_inode_clear_reclaim_tag( - xfs_mount_t *mp, - xfs_perag_t *pag, - xfs_inode_t *ip) + struct xfs_perag *pag, + struct xfs_inode *ip) { + ip->i_flags &= ~XFS_IRECLAIMABLE; radix_tree_tag_clear(&pag->pag_ici_root, - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); -} - -void -xfs_inode_clear_reclaim_tag( - xfs_inode_t *ip) -{ - xfs_mount_t *mp = ip->i_mount; - xfs_perag_t *pag = xfs_get_perag(mp, ip->i_ino); - - read_lock(&pag->pag_ici_lock); - spin_lock(&ip->i_flags_lock); - __xfs_inode_clear_reclaim_tag(mp, pag, ip); - spin_unlock(&ip->i_flags_lock); - read_unlock(&pag->pag_ici_lock); - xfs_put_perag(mp, pag); + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), + XFS_ICI_RECLAIM_TAG); } STATIC int Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.h =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.h 2009-08-01 23:20:31.449329683 +0200 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-01 23:20:54.808079772 +0200 @@ -48,9 +48,8 @@ int xfs_reclaim_inode(struct xfs_inode * int xfs_reclaim_inodes(struct xfs_mount *mp, int mode); void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); -void xfs_inode_clear_reclaim_tag(struct xfs_inode *ip); -void __xfs_inode_clear_reclaim_tag(struct xfs_mount *mp, struct xfs_perag *pag, - struct xfs_inode *ip); +void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); +void __xfs_inode_clear_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); int xfs_sync_inode_valid(struct xfs_inode *ip, struct xfs_perag *pag); int xfs_inode_ag_iterator(struct xfs_mount *mp, From BATV+ee2101762a850693b295+2172+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 4 09:30:54 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74EUrTS171597 for ; Tue, 4 Aug 2009 09:30:54 -0500 X-ASG-Debug-ID: 1249396304-7441039d0000-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 5D5AD1D51AAE for ; Tue, 4 Aug 2009 07:31:44 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id PEFA73xe71qmsQLW for ; Tue, 04 Aug 2009 07:31:44 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MYL3G-0004Mo-PC; Tue, 04 Aug 2009 14:31:42 +0000 Date: Tue, 4 Aug 2009 10:31:42 -0400 From: Christoph Hellwig To: Ramon de Carvalho Valle Cc: Christoph Hellwig , xfs@oss.sgi.com, hch@lst.de, linux-kernel@vger.kernel.org, mszeredi@novell.com X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Subject: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Message-ID: <20090804143142.GA6712@infradead.org> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1249351241.7513.18.camel@logos> 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: 1249396304 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Mon, Aug 03, 2009 at 11:00:41PM -0300, Ramon de Carvalho Valle wrote: > On Mon, 2009-08-03 at 17:49 -0400, Christoph Hellwig wrote: > > On Mon, Aug 03, 2009 at 05:03:28PM -0300, Ramon de Carvalho Valle wrote: > > > The __xfs_get_blocks function does not check if the pointer to the target > > > device is valid before dereferencing it. > > > > It should never be zero. It's set by xfs_imap_to_bmap to either > > mp->m_ddev_targp which is always allocated, or to mp->m_rtdev_targp > > which is always allocated if we have a realtime device, and > > XFS_IS_REALTIME_INODE should only be true in that case. > > > > While testing XFS code with a modified version of fsfuzzer on SLES 10 > SP3 (Kernel 2.6.16.60-0.49.3.ramon-ppc64), I came across the following > Oops: So you actually introduced the RT flag in the inode on a filesystem where it can't happen software-wise. I'd rather deal with this early on to protect the invariant that's guaranteed inside the xfs code. Something like the following untested patch: Index: linux-2.6/fs/xfs/xfs_inode.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode.c 2009-08-04 16:19:40.778532419 +0200 +++ linux-2.6/fs/xfs/xfs_inode.c 2009-08-04 16:28:06.352533058 +0200 @@ -343,6 +343,16 @@ xfs_iformat( return XFS_ERROR(EFSCORRUPTED); } + if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && + !ip->i_mount->m_rtdev_targp)) { + xfs_fs_repair_cmn_err(CE_WARN, ip->i_mount, + "corrupt dinode %Lu, has realtime flag set.", + ip->i_ino); + XFS_CORRUPTION_ERROR("xfs_iformat(realtime)", + XFS_ERRLEVEL_LOW, ip->i_mount, dip); + return XFS_ERROR(EFSCORRUPTED); + } + switch (ip->i_d.di_mode & S_IFMT) { case S_IFIFO: case S_IFCHR: From sandeen@sandeen.net Tue Aug 4 11:25:05 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74GP5rZ178263 for ; Tue, 4 Aug 2009 11:25:05 -0500 X-ASG-Debug-ID: 1249403154-780600760000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B47FB144A0CA for ; Tue, 4 Aug 2009 09:25:54 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id qOvXBTtIxXNrELUv for ; Tue, 04 Aug 2009 09:25:54 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 50DE4A9C9A2; Tue, 4 Aug 2009 11:25:53 -0500 (CDT) Message-ID: <4A786110.8090404@sandeen.net> Date: Tue, 04 Aug 2009 11:25:52 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Ramon de Carvalho Valle CC: Christoph Hellwig , xfs@oss.sgi.com, hch@lst.de, linux-kernel@vger.kernel.org, mszeredi@novell.com X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Subject: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> In-Reply-To: <1249351241.7513.18.camel@logos> 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: 1249403155 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.2.5282 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Ramon de Carvalho Valle wrote: > On Mon, 2009-08-03 at 17:49 -0400, Christoph Hellwig wrote: >> On Mon, Aug 03, 2009 at 05:03:28PM -0300, Ramon de Carvalho Valle wrote: >>> The __xfs_get_blocks function does not check if the pointer to the target >>> device is valid before dereferencing it. >> It should never be zero. It's set by xfs_imap_to_bmap to either >> mp->m_ddev_targp which is always allocated, or to mp->m_rtdev_targp >> which is always allocated if we have a realtime device, and >> XFS_IS_REALTIME_INODE should only be true in that case. >> > > While testing XFS code with a modified version of fsfuzzer on SLES 10 > SP3 (Kernel 2.6.16.60-0.49.3.ramon-ppc64), I came across the following > Oops: ... ahah, useful information that would have been great in the original patch submission. :) > I added a printk() line just before the: > > bh_result->b_bdev = iomap.iomap_target->bt_bdev; > > and as we can see iomap.iomap_target is NULL. > > My guess is that the XFS_DIFLAG_REALTIME flag is being set incorrectly > on the xfs inode structure, setting iomapp->iomap_target to the wrong > device pointer (probably NULL). > > I don't know if this is the best place to add a check, neither if > returning -XFS_ERROR(EIO) is correct at this point. Maybe doing: > > if (iomap.iomap_target && omap.iomap_flags & IOMAP_REALTIME) > bh_result->b_bdev = iomap.iomap_target->bt_bdev; > > would be a better solution. Can you test hch's patch w/ your fuzzed image? Thanks, -Eric From ramon@risesecurity.org Tue Aug 4 13:48:36 2009 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 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74ImZIS187068 for ; Tue, 4 Aug 2009 13:48:35 -0500 X-ASG-Debug-ID: 1249411764-5dc102080000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx.ugf.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C17D93A5CB9 for ; Tue, 4 Aug 2009 11:49:24 -0700 (PDT) Received: from mx.ugf.br (mx.ugf.br [200.222.48.3]) by cuda.sgi.com with ESMTP id bdNReDUql5oxqQp8 for ; Tue, 04 Aug 2009 11:49:24 -0700 (PDT) Received: (qmail 9141 invoked by uid 89); 4 Aug 2009 18:49:23 -0000 Received: from unknown (HELO ?10.10.253.1?) (10.10.253.1) by mx.ugf.br with SMTP; 4 Aug 2009 18:49:23 -0000 X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device Subject: Re: [PATCH 1/1] XFS: __xfs_get_blocks check pointer to the target device From: Ramon de Carvalho Valle To: Eric Sandeen Cc: Christoph Hellwig , xfs@oss.sgi.com, hch@lst.de, linux-kernel@vger.kernel.org, mszeredi@novell.com In-Reply-To: <4A786110.8090404@sandeen.net> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-2OKvWfLJGpVRn2+Y06z5" Date: Tue, 04 Aug 2009 15:50:13 -0300 Message-Id: <1249411813.7576.17.camel@logos> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-Barracuda-Connect: mx.ugf.br[200.222.48.3] X-Barracuda-Start-Time: 1249411765 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.2.5289 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-2OKvWfLJGpVRn2+Y06z5 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Tue, 2009-08-04 at 11:25 -0500, Eric Sandeen wrote: > Ramon de Carvalho Valle wrote: > > On Mon, 2009-08-03 at 17:49 -0400, Christoph Hellwig wrote: > >> On Mon, Aug 03, 2009 at 05:03:28PM -0300, Ramon de Carvalho Valle wrot= e: > >>> The __xfs_get_blocks function does not check if the pointer to the ta= rget > >>> device is valid before dereferencing it. > >> It should never be zero. It's set by xfs_imap_to_bmap to either > >> mp->m_ddev_targp which is always allocated, or to mp->m_rtdev_targp > >> which is always allocated if we have a realtime device, and > >> XFS_IS_REALTIME_INODE should only be true in that case. > >> > >=20 > > While testing XFS code with a modified version of fsfuzzer on SLES 10 > > SP3 (Kernel 2.6.16.60-0.49.3.ramon-ppc64), I came across the following > > Oops: >=20 > ... >=20 > ahah, useful information that would have been great in the original > patch submission. :) Sorry about that. :) >=20 > > I added a printk() line just before the: > >=20 > > bh_result->b_bdev =3D iomap.iomap_target->bt_bdev; > >=20 > > and as we can see iomap.iomap_target is NULL. > >=20 > > My guess is that the XFS_DIFLAG_REALTIME flag is being set incorrectly > > on the xfs inode structure, setting iomapp->iomap_target to the wrong > > device pointer (probably NULL). > >=20 > > I don't know if this is the best place to add a check, neither if > > returning -XFS_ERROR(EIO) is correct at this point. Maybe doing: > >=20 > > if (iomap.iomap_target && omap.iomap_flags & IOMAP_REALTIME) > > bh_result->b_bdev =3D iomap.iomap_target->bt_bdev; > >=20 > > would be a better solution. >=20 > Can you test hch's patch w/ your fuzzed image? I tested it on my SLES 10 SP3 (Kernel 2.6.16.60-0.49.3.ramon-ppc64) and it successfully fixed the NULL pointer dereference. I did some small modifications to the patch to xfs error print the flags value and fixed the xfs error report tags. I am submitting the Christoph patch again. Thanks Christoph and Eric. -Ramon >=20 > Thanks, > -Eric --=-2OKvWfLJGpVRn2+Y06z5 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkp4gtYACgkQGIS0iEuhp4MQjwCbBY9YPI9Ixv4fF+s4yAAwER5J 358AoNqZ35XrOJM66lgjlVplQoHk4lX6 =DoAY -----END PGP SIGNATURE----- --=-2OKvWfLJGpVRn2+Y06z5-- From ramon@risesecurity.org Tue Aug 4 13:50:00 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74InxGp187138 for ; Tue, 4 Aug 2009 13:49:59 -0500 X-ASG-Debug-ID: 1249412411-60cc03e70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx.ugf.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3DD16AEE758 for ; Tue, 4 Aug 2009 12:00:11 -0700 (PDT) Received: from mx.ugf.br (mx.ugf.br [200.222.48.3]) by cuda.sgi.com with ESMTP id HHZfpmatcyWh6Sg7 for ; Tue, 04 Aug 2009 12:00:11 -0700 (PDT) Received: (qmail 10023 invoked by uid 89); 4 Aug 2009 18:50:46 -0000 Received: from unknown (HELO ?10.10.253.1?) (10.10.253.1) by mx.ugf.br with SMTP; 4 Aug 2009 18:50:46 -0000 X-ASG-Orig-Subj: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Subject: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check From: Ramon de Carvalho Valle To: Eric Sandeen Cc: Christoph Hellwig , xfs@oss.sgi.com, hch@lst.de, linux-kernel@vger.kernel.org, mszeredi@novell.com In-Reply-To: <4A786110.8090404@sandeen.net> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-2wK6llDeVaSPI7mttvrQ" Date: Tue, 04 Aug 2009 15:51:38 -0300 Message-Id: <1249411898.7576.19.camel@logos> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-Barracuda-Connect: mx.ugf.br[200.222.48.3] X-Barracuda-Start-Time: 1249412413 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.2.5289 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-2wK6llDeVaSPI7mttvrQ Content-Type: text/plain Content-Transfer-Encoding: quoted-printable The xfs_iformat function does not check if the realtime device target point= er is valid when the XFS_DIFLAG_REALTIME flag is set on the ondisk inode structure. Signed-off-by: Christoph Hellwig Signed-off-by: Ramon de Carvalho Valle Cc: stable --- fs/xfs/xfs_inode.c | 23 +++++++++++++++++------ 1 files changed, 17 insertions(+), 6 deletions(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 1f22d65..37d3ee5 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -343,13 +343,24 @@ xfs_iformat( return XFS_ERROR(EFSCORRUPTED); } =20 + if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && + !ip->i_mount->m_rtdev_targp)) { + xfs_fs_repair_cmn_err(CE_WARN, ip->i_mount, + "corrupt dinode %Lu, flags =3D 0x%x.", + (unsigned long long)ip->i_ino, + ip->i_d.di_flags); + XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, + ip->i_mount, dip); + return XFS_ERROR(EFSCORRUPTED); + } + switch (ip->i_d.di_mode & S_IFMT) { case S_IFIFO: case S_IFCHR: case S_IFBLK: case S_IFSOCK: if (unlikely(dip->di_format !=3D XFS_DINODE_FMT_DEV)) { - XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, + XFS_CORRUPTION_ERROR("xfs_iformat(4)", XFS_ERRLEVEL_LOW, ip->i_mount, dip); return XFS_ERROR(EFSCORRUPTED); } @@ -371,7 +382,7 @@ xfs_iformat( "corrupt inode %Lu " "(local format for regular file).", (unsigned long long) ip->i_ino); - XFS_CORRUPTION_ERROR("xfs_iformat(4)", + XFS_CORRUPTION_ERROR("xfs_iformat(5)", XFS_ERRLEVEL_LOW, ip->i_mount, dip); return XFS_ERROR(EFSCORRUPTED); @@ -384,7 +395,7 @@ xfs_iformat( "(bad size %Ld for local inode).", (unsigned long long) ip->i_ino, (long long) di_size); - XFS_CORRUPTION_ERROR("xfs_iformat(5)", + XFS_CORRUPTION_ERROR("xfs_iformat(6)", XFS_ERRLEVEL_LOW, ip->i_mount, dip); return XFS_ERROR(EFSCORRUPTED); @@ -400,14 +411,14 @@ xfs_iformat( error =3D xfs_iformat_btree(ip, dip, XFS_DATA_FORK); break; default: - XFS_ERROR_REPORT("xfs_iformat(6)", XFS_ERRLEVEL_LOW, + XFS_ERROR_REPORT("xfs_iformat(7)", XFS_ERRLEVEL_LOW, ip->i_mount); return XFS_ERROR(EFSCORRUPTED); } break; =20 default: - XFS_ERROR_REPORT("xfs_iformat(7)", XFS_ERRLEVEL_LOW, ip->i_mount); + XFS_ERROR_REPORT("xfs_iformat(8)", XFS_ERRLEVEL_LOW, ip->i_mount); return XFS_ERROR(EFSCORRUPTED); } if (error) { @@ -430,7 +441,7 @@ xfs_iformat( "(bad attr fork size %Ld).", (unsigned long long) ip->i_ino, (long long) size); - XFS_CORRUPTION_ERROR("xfs_iformat(8)", + XFS_CORRUPTION_ERROR("xfs_iformat(9)", XFS_ERRLEVEL_LOW, ip->i_mount, dip); return XFS_ERROR(EFSCORRUPTED); --=20 1.5.6.3 --=-2wK6llDeVaSPI7mttvrQ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkp4gzYACgkQGIS0iEuhp4Pm1wCaAjx+9EUEotKoCh5I65XKRta1 C08AmwQQ+mC+8QIkB43Eiunbx0RGWqtw =3U2b -----END PGP SIGNATURE----- --=-2wK6llDeVaSPI7mttvrQ-- From sandeen@sandeen.net Tue Aug 4 14:10:24 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74JAOrq188206 for ; Tue, 4 Aug 2009 14:10:24 -0500 X-ASG-Debug-ID: 1249413073-140600bf0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4B0B6144E0E3 for ; Tue, 4 Aug 2009 12:11:13 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id EEhrUithRFEYFH9A for ; Tue, 04 Aug 2009 12:11:13 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 2FC33A9ED20; Tue, 4 Aug 2009 14:11:11 -0500 (CDT) Message-ID: <4A7887CE.2060300@sandeen.net> Date: Tue, 04 Aug 2009 14:11:10 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Ramon de Carvalho Valle CC: Christoph Hellwig , xfs@oss.sgi.com, hch@lst.de, linux-kernel@vger.kernel.org, mszeredi@novell.com X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Subject: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> <1249411898.7576.19.camel@logos> In-Reply-To: <1249411898.7576.19.camel@logos> 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: 1249413074 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.2.5292 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Ramon de Carvalho Valle wrote: > The xfs_iformat function does not check if the realtime device target pointer > is valid when the XFS_DIFLAG_REALTIME flag is set on the ondisk inode > structure. > > Signed-off-by: Christoph Hellwig > Signed-off-by: Ramon de Carvalho Valle > Cc: stable > --- > fs/xfs/xfs_inode.c | 23 +++++++++++++++++------ > 1 files changed, 17 insertions(+), 6 deletions(-) > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index 1f22d65..37d3ee5 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -343,13 +343,24 @@ xfs_iformat( > return XFS_ERROR(EFSCORRUPTED); > } > > + if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && > + !ip->i_mount->m_rtdev_targp)) { > + xfs_fs_repair_cmn_err(CE_WARN, ip->i_mount, > + "corrupt dinode %Lu, flags = 0x%x.", > + (unsigned long long)ip->i_ino, > + ip->i_d.di_flags); > + XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, > + ip->i_mount, dip); I think I'd rather not change all the corruption text tag ordering; it'll make it harder to track down any common occurrences of "xfs_iformat(X)" corruption in the future if they get renumbered now. I'd either make this xfs_iformat(2.1) ;) or just leave it as Christoph had. "realtime" is a lot more informative than "3" anyway. -Eric > + return XFS_ERROR(EFSCORRUPTED); > + } > + > switch (ip->i_d.di_mode & S_IFMT) { > case S_IFIFO: > case S_IFCHR: > case S_IFBLK: > case S_IFSOCK: > if (unlikely(dip->di_format != XFS_DINODE_FMT_DEV)) { > - XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, > + XFS_CORRUPTION_ERROR("xfs_iformat(4)", XFS_ERRLEVEL_LOW, > ip->i_mount, dip); > return XFS_ERROR(EFSCORRUPTED); > } > @@ -371,7 +382,7 @@ xfs_iformat( > "corrupt inode %Lu " > "(local format for regular file).", > (unsigned long long) ip->i_ino); > - XFS_CORRUPTION_ERROR("xfs_iformat(4)", > + XFS_CORRUPTION_ERROR("xfs_iformat(5)", > XFS_ERRLEVEL_LOW, > ip->i_mount, dip); > return XFS_ERROR(EFSCORRUPTED); > @@ -384,7 +395,7 @@ xfs_iformat( > "(bad size %Ld for local inode).", > (unsigned long long) ip->i_ino, > (long long) di_size); > - XFS_CORRUPTION_ERROR("xfs_iformat(5)", > + XFS_CORRUPTION_ERROR("xfs_iformat(6)", > XFS_ERRLEVEL_LOW, > ip->i_mount, dip); > return XFS_ERROR(EFSCORRUPTED); > @@ -400,14 +411,14 @@ xfs_iformat( > error = xfs_iformat_btree(ip, dip, XFS_DATA_FORK); > break; > default: > - XFS_ERROR_REPORT("xfs_iformat(6)", XFS_ERRLEVEL_LOW, > + XFS_ERROR_REPORT("xfs_iformat(7)", XFS_ERRLEVEL_LOW, > ip->i_mount); > return XFS_ERROR(EFSCORRUPTED); > } > break; > > default: > - XFS_ERROR_REPORT("xfs_iformat(7)", XFS_ERRLEVEL_LOW, ip->i_mount); > + XFS_ERROR_REPORT("xfs_iformat(8)", XFS_ERRLEVEL_LOW, ip->i_mount); > return XFS_ERROR(EFSCORRUPTED); > } > if (error) { > @@ -430,7 +441,7 @@ xfs_iformat( > "(bad attr fork size %Ld).", > (unsigned long long) ip->i_ino, > (long long) size); > - XFS_CORRUPTION_ERROR("xfs_iformat(8)", > + XFS_CORRUPTION_ERROR("xfs_iformat(9)", > XFS_ERRLEVEL_LOW, > ip->i_mount, dip); > return XFS_ERROR(EFSCORRUPTED); From sgi-linux-xfs@gmane.org Tue Aug 4 16:04:04 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74L3wvg192911 for ; Tue, 4 Aug 2009 16:04:03 -0500 X-ASG-Debug-ID: 1249419888-3a7d035d0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ciao.gmane.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 256823A5DBC for ; Tue, 4 Aug 2009 14:04:48 -0700 (PDT) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by cuda.sgi.com with ESMTP id WJ55EpgdmQbLoQnO for ; Tue, 04 Aug 2009 14:04:48 -0700 (PDT) Received: from list by ciao.gmane.org with local (Exim 4.43) id 1MYRBc-0005w0-Hh for linux-xfs@oss.sgi.com; Tue, 04 Aug 2009 21:04:44 +0000 Received: from adsl-75-61-228-198.dsl.chcgil.sbcglobal.net ([75.61.228.198]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 04 Aug 2009 21:04:44 +0000 Received: from kononov by adsl-75-61-228-198.dsl.chcgil.sbcglobal.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 04 Aug 2009 21:04:44 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: linux-xfs@oss.sgi.com From: Roman Kononov X-ASG-Orig-Subj: Re: failed assertion related to realtime section Subject: Re: failed assertion related to realtime section Date: Tue, 04 Aug 2009 16:04:32 -0500 Lines: 36 Message-ID: <4A78A260.1040501@ftml.net> References: <4A5E7109.7000808@ftml.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: adsl-75-61-228-198.dsl.chcgil.sbcglobal.net User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.12) Gecko/20080227 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 In-Reply-To: Sender: news X-Barracuda-Connect: main.gmane.org[80.91.229.2] X-Barracuda-Start-Time: 1249419889 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.2.5300 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On 2009-07-16 05:02, Olaf Weber wrote: > A quick test on an available system > running a (much) older kernel runs to completion, so this appears to > be a regression. With which kernel version did you run the test? > Figuring out exactly when/where this regressed will take time. I went back to 2.6.23 and the same assfail happened with somewhat different call trace: Assertion failed: xfs_trans_get_block_res(tp) > 0, file: /home/rk/linux-2.6.23/fs/xfs/xfs_bmap.c, line: 5523 Call Trace: [] xfs_bunmapi+0x8e8/0x1060 [] dequeue_entity+0x7a/0xb0 [] xfs_itruncate_finish+0x398/0x5c0 [] xfs_free_eofblocks+0x263/0x2b0 [] xfs_release+0x118/0x1e0 [] xfs_file_release+0x1a/0x30 [] __fput+0xcd/0x1e0 [] filp_close+0x54/0x90 [] sys_close+0x9d/0x110 [] system_call+0x7e/0x83 I tried to go back to 2.6.22.19 and older, and the test did not run at all failing to mount: XFS: bad version XFS: SB validate failed Any suggestions? Roman From apache@edguider.com Tue Aug 4 18:46:48 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,J_CHICKENPOX_66 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n74NklqZ199689 for ; Tue, 4 Aug 2009 18:46:47 -0500 X-ASG-Debug-ID: 1249430221-01da039a0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from www.edguider.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 78E5CAF2F0A for ; Tue, 4 Aug 2009 16:57:01 -0700 (PDT) Received: from www.edguider.com ([201.218.196.213]) by cuda.sgi.com with ESMTP id yXCHWHjtHEbQyeY4 for ; Tue, 04 Aug 2009 16:57:01 -0700 (PDT) Received: from www.edguider.com (localhost [127.0.0.1]) by www.edguider.com (8.13.6/8.13.6) with ESMTP id n74MqTva017466 for ; Tue, 4 Aug 2009 17:52:29 -0500 Received: (from apache@localhost) by www.edguider.com (8.13.6/8.13.6/Submit) id n74MqRBn017464; Tue, 4 Aug 2009 17:52:27 -0500 Date: Tue, 4 Aug 2009 17:52:27 -0500 Message-Id: <200908042252.n74MqRBn017464@www.edguider.com> To: linux-xfs@oss.sgi.com X-ASG-Orig-Subj: A recommendation from Mary Belle Subject: A recommendation from Mary Belle From: zmak00@gmail.com X-Barracuda-Connect: UNKNOWN[201.218.196.213] X-Barracuda-Start-Time: 1249430222 X-Barracuda-Bayes: INNOCENT GLOBAL 0.1407 1.0000 -1.1543 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.55 X-Barracuda-Spam-Status: No, SCORE=-0.55 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC5_MJ1963, MAILTO_TO_SPAM_ADDR, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5306 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hello, I would like to share with you a life changing internet business where you can live a life that most people dream about... earn an unlimited income,travel the world, work from anywhere and spend time with family. If you are interested and looking for the kind of business that offers life-changing income opportunities, you\'ve got to check this out. Don’t wait another second click here!! http://otour2.com-link.us?sponsor=rpa_3&email=linux-xfs@oss.sgi.com Sincerely, Mary Belle zmak00@gmail.com 1328 E Canon Perdido St Santa Barbara California 93101 USA Removal link: Click Below to unsubscribed http://ounsub2.com-link.us?sponsor=rpa_3&email=linux-xfs@oss.sgi.com . Click below to view the webpage that your friend has recommended: Mary Belle has used the Shape5.com Tell-a-Friend form to send you this link. We look forward to your visit! From apache@edguider.com Tue Aug 4 20:05:29 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,J_CHICKENPOX_66 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7515R6d203012 for ; Tue, 4 Aug 2009 20:05:27 -0500 X-ASG-Debug-ID: 1249434941-5c0f01050000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from www.edguider.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5581CAF3BE7 for ; Tue, 4 Aug 2009 18:15:41 -0700 (PDT) Received: from www.edguider.com ([201.218.196.213]) by cuda.sgi.com with ESMTP id fuVftPszztXn7vvH for ; Tue, 04 Aug 2009 18:15:41 -0700 (PDT) Received: from www.edguider.com (localhost [127.0.0.1]) by www.edguider.com (8.13.6/8.13.6) with ESMTP id n750BG3t015790 for ; Tue, 4 Aug 2009 19:11:16 -0500 Received: (from apache@localhost) by www.edguider.com (8.13.6/8.13.6/Submit) id n750BG1Z015785; Tue, 4 Aug 2009 19:11:16 -0500 Date: Tue, 4 Aug 2009 19:11:16 -0500 Message-Id: <200908050011.n750BG1Z015785@www.edguider.com> To: xfs@oss.sgi.com X-ASG-Orig-Subj: A recommendation from Mary Belle Subject: A recommendation from Mary Belle From: zmak00@gmail.com X-Barracuda-Connect: UNKNOWN[201.218.196.213] X-Barracuda-Start-Time: 1249434942 X-Barracuda-Bayes: INNOCENT GLOBAL 0.1844 1.0000 -0.9112 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.31 X-Barracuda-Spam-Status: No, SCORE=-0.31 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC5_MJ1963, MAILTO_TO_SPAM_ADDR, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5309 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hello, I would like to share with you a life changing internet business where you can live a life that most people dream about... earn an unlimited income,travel the world, work from anywhere and spend time with family. If you are interested and looking for the kind of business that offers life-changing income opportunities, you\'ve got to check this out. Don’t wait another second click here!! http://otour2.com-link.us?sponsor=rpa_3&email=xfs@oss.sgi.com Sincerely, Mary Belle zmak00@gmail.com 1328 E Canon Perdido St Santa Barbara California 93101 USA Removal link: Click Below to unsubscribed http://ounsub2.com-link.us?sponsor=rpa_3&email=xfs@oss.sgi.com . Click below to view the webpage that your friend has recommended: Mary Belle has used the Shape5.com Tell-a-Friend form to send you this link. We look forward to your visit! From lyuba@kursiv.kz Tue Aug 4 21:01:54 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.8 required=5.0 tests=BASE64_LENGTH_79_INF,BAYES_50, 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7521pms206581 for ; Tue, 4 Aug 2009 21:01:54 -0500 X-ASG-Debug-ID: 1249437757-0e3600b10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from gzfiyf.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0E1C31454325 for ; Tue, 4 Aug 2009 19:02:38 -0700 (PDT) Received: from gzfiyf.com ([77.242.171.210]) by cuda.sgi.com with ESMTP id YwcsiS2zRpGc7hDE for ; Tue, 04 Aug 2009 19:02:38 -0700 (PDT) From: Lazareva To: xfs@oss.sgi.com X-ASG-Orig-Subj: =?windows-1251?b?yO3yZfDtZfJfYXnq9nVv7V9+X+p573XyZV/i8WUsX/fyb1/nYfVv8g==?= =?windows-1251?b?dfJlXyFf?= Subject: =?windows-1251?b?yO3yZfDtZfJfYXnq9nVv7V9+X+p573XyZV/i8WUsX/fyb1/nYfVv8g==?= =?windows-1251?b?dfJlXyFf?= Date: Wed, 05 Aug 2009 04:54:13 +0200 User-Agent: KMail/1.9.7 MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1251" Content-Transfer-Encoding: base64 Content-Disposition: inline Message-Id: <0908050454132N.02444.lyuba@kursiv.kz> X-Barracuda-Connect: UNKNOWN[77.242.171.210] X-Barracuda-Start-Time: 1249437760 X-Barracuda-Bayes: INNOCENT GLOBAL 0.1451 1.0000 -1.1293 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.48 X-Barracuda-Spam-Status: No, SCORE=0.48 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC0_SA275b_HL, BSF_SC2_SA022a, BSF_SC5_MJ1963, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5313 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 BSF_SC2_SA022a Custom Rule SA022a 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 1.00 BSF_SC0_SA275b_HL Custom Rule SA275b_HL X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean wl/tYfhl7F917fJl8O1l8n5heer2dW/tZV/i8WVf8WHs+2Vf4m/x8vBl4W/iYe3t+2Ug8m/iYfD7X+L78fJh4uv//vLx/1/vb1/2Ze1lX+LxZeNvXzFf8HnhLiwgQen0b+37LF/P8HXx8mHi6nUsX9Jl62Xidedv8PssX9Rv8m9h7+9h8PL7IHVfZfllX+ztb+NvX+TweeN19V/yb+Jh8G/iLA0KayDyb+x5IOZlIOdhIHBl43Vj8nBh9nX+IOz7IORhcHXsIOJh7CA1T09weeEuIO1hIO9va3nva3kg6/7h+3gg8m/iYXBv4iDtYSDtYfhl7CBjYenyZSwg8m/iYXBv4iDs7W/jbyDtbyDkZfhl4utlIO9va3nvYWXyIPJv8iBr8m8g4XnkZfIg72Vw4vvsLiANCg0KM2F4b+R1IHUgeeFl5HVj/CDiIP3yb+wgY2HsXyANCg0KaHR0cDovL3Rpbnl1cmwucnUvNWVwDQoNCg0KDQoNCg0KDQoNCg0KDQoNCsTu4fD76SDx7vHl5CDr8/f45SDn6+7j7iDh8ODy4C4NCs3gIPHy5e3zIOvl5+XyLg0KDQoNCg0KzvLu6eToLCDt5SDk7iDy5eH/LCDy8/Ig4evo7fsg7+7k4+7w//Iu From ramon@risesecurity.org Tue Aug 4 22:55:08 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n753t8pg213507 for ; Tue, 4 Aug 2009 22:55:08 -0500 X-ASG-Debug-ID: 1249444556-58fb01e10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx.ugf.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7C1F23A6EF5 for ; Tue, 4 Aug 2009 20:55:57 -0700 (PDT) Received: from mx.ugf.br (mx.ugf.br [200.222.48.3]) by cuda.sgi.com with ESMTP id DC1Arn7Ki5NzCe9U for ; Tue, 04 Aug 2009 20:55:57 -0700 (PDT) Received: (qmail 12079 invoked by uid 89); 5 Aug 2009 03:55:56 -0000 Received: from unknown (HELO ?10.10.249.14?) (10.10.249.14) by mx.ugf.br with SMTP; 5 Aug 2009 03:55:55 -0000 X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Subject: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check From: Ramon de Carvalho Valle To: Eric Sandeen Cc: Christoph Hellwig , xfs@oss.sgi.com, hch@lst.de, linux-kernel@vger.kernel.org, mszeredi@novell.com In-Reply-To: <4A7887CE.2060300@sandeen.net> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> <1249411898.7576.19.camel@logos> <4A7887CE.2060300@sandeen.net> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-sqR/+ZMHXkUM9NDWFAw7" Date: Wed, 05 Aug 2009 00:55:50 -0300 Message-Id: <1249444550.7372.23.camel@logos> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-Barracuda-Connect: mx.ugf.br[200.222.48.3] X-Barracuda-Start-Time: 1249444558 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.2.5321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-sqR/+ZMHXkUM9NDWFAw7 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Tue, 2009-08-04 at 14:11 -0500, Eric Sandeen wrote: > Ramon de Carvalho Valle wrote: > > The xfs_iformat function does not check if the realtime device target p= ointer > > is valid when the XFS_DIFLAG_REALTIME flag is set on the ondisk inode > > structure. > >=20 > > Signed-off-by: Christoph Hellwig > > Signed-off-by: Ramon de Carvalho Valle > > Cc: stable > > --- > > fs/xfs/xfs_inode.c | 23 +++++++++++++++++------ > > 1 files changed, 17 insertions(+), 6 deletions(-) > >=20 > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > > index 1f22d65..37d3ee5 100644 > > --- a/fs/xfs/xfs_inode.c > > +++ b/fs/xfs/xfs_inode.c > > @@ -343,13 +343,24 @@ xfs_iformat( > > return XFS_ERROR(EFSCORRUPTED); > > } > > =20 > > + if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && > > + !ip->i_mount->m_rtdev_targp)) { > > + xfs_fs_repair_cmn_err(CE_WARN, ip->i_mount, > > + "corrupt dinode %Lu, flags =3D 0x%x.", > > + (unsigned long long)ip->i_ino, > > + ip->i_d.di_flags); > > + XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, > > + ip->i_mount, dip); >=20 > I think I'd rather not change all the corruption text tag ordering; > it'll make it harder to track down any common occurrences of > "xfs_iformat(X)" corruption in the future if they get renumbered now. >=20 > I'd either make this xfs_iformat(2.1) ;) or just leave it as Christoph > had. "realtime" is a lot more informative than "3" anyway. I don't think this is a bad decision, because the corruption errors can be easily identified by the output of xfs_fs_repair_cmn_err and the source line. I think this is a reasonable change that will keep the code clean and consistent. -Ramon >=20 > -Eric >=20 > > + return XFS_ERROR(EFSCORRUPTED); > > + } > > + > > switch (ip->i_d.di_mode & S_IFMT) { > > case S_IFIFO: > > case S_IFCHR: > > case S_IFBLK: > > case S_IFSOCK: > > if (unlikely(dip->di_format !=3D XFS_DINODE_FMT_DEV)) { > > - XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, > > + XFS_CORRUPTION_ERROR("xfs_iformat(4)", XFS_ERRLEVEL_LOW, > > ip->i_mount, dip); > > return XFS_ERROR(EFSCORRUPTED); > > } > > @@ -371,7 +382,7 @@ xfs_iformat( > > "corrupt inode %Lu " > > "(local format for regular file).", > > (unsigned long long) ip->i_ino); > > - XFS_CORRUPTION_ERROR("xfs_iformat(4)", > > + XFS_CORRUPTION_ERROR("xfs_iformat(5)", > > XFS_ERRLEVEL_LOW, > > ip->i_mount, dip); > > return XFS_ERROR(EFSCORRUPTED); > > @@ -384,7 +395,7 @@ xfs_iformat( > > "(bad size %Ld for local inode).", > > (unsigned long long) ip->i_ino, > > (long long) di_size); > > - XFS_CORRUPTION_ERROR("xfs_iformat(5)", > > + XFS_CORRUPTION_ERROR("xfs_iformat(6)", > > XFS_ERRLEVEL_LOW, > > ip->i_mount, dip); > > return XFS_ERROR(EFSCORRUPTED); > > @@ -400,14 +411,14 @@ xfs_iformat( > > error =3D xfs_iformat_btree(ip, dip, XFS_DATA_FORK); > > break; > > default: > > - XFS_ERROR_REPORT("xfs_iformat(6)", XFS_ERRLEVEL_LOW, > > + XFS_ERROR_REPORT("xfs_iformat(7)", XFS_ERRLEVEL_LOW, > > ip->i_mount); > > return XFS_ERROR(EFSCORRUPTED); > > } > > break; > > =20 > > default: > > - XFS_ERROR_REPORT("xfs_iformat(7)", XFS_ERRLEVEL_LOW, ip->i_mount); > > + XFS_ERROR_REPORT("xfs_iformat(8)", XFS_ERRLEVEL_LOW, ip->i_mount); > > return XFS_ERROR(EFSCORRUPTED); > > } > > if (error) { > > @@ -430,7 +441,7 @@ xfs_iformat( > > "(bad attr fork size %Ld).", > > (unsigned long long) ip->i_ino, > > (long long) size); > > - XFS_CORRUPTION_ERROR("xfs_iformat(8)", > > + XFS_CORRUPTION_ERROR("xfs_iformat(9)", > > XFS_ERRLEVEL_LOW, > > ip->i_mount, dip); > > return XFS_ERROR(EFSCORRUPTED); >=20 --=-sqR/+ZMHXkUM9NDWFAw7 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkp5ArQACgkQGIS0iEuhp4OIFACgnIn5AM6D4kUsYhMoPd81Y+M2 joMAoLxQk2mIM4fONHfg2nXmdm3Ipf+s =0uXB -----END PGP SIGNATURE----- --=-sqR/+ZMHXkUM9NDWFAw7-- From sandeen@sandeen.net Tue Aug 4 22:58:08 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n753w8pw213677 for ; Tue, 4 Aug 2009 22:58:08 -0500 X-ASG-Debug-ID: 1249445302-5c0903ae0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4E52EAF44F7 for ; Tue, 4 Aug 2009 21:08:23 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id qTjw3ca65mk8E8XM for ; Tue, 04 Aug 2009 21:08:23 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 93A61A9DAA4; Tue, 4 Aug 2009 22:58:56 -0500 (CDT) Message-ID: <4A790380.7060805@sandeen.net> Date: Tue, 04 Aug 2009 22:58:56 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Roman Kononov CC: linux-xfs@oss.sgi.com X-ASG-Orig-Subj: Re: failed assertion related to realtime section Subject: Re: failed assertion related to realtime section References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1249445304 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.2.5322 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Roman Kononov wrote: > Hi, > > In 2.6.30.x Linux kernel, the XFS_RT configuration option does not say "This > feature is unsupported at this time..." any more. Nevertheless, when > enabled, the feature crashes the file system in my setup. Is it expected to > be functional? > > The attached assertion log happens every time with a clean and empty file > system. > > Thanks, > > Roman Kononov While realtime should probably work and not oops (!) I'm curious what your use-case for realtime is? Thanks, -Eric From csamuel@vpac.org Tue Aug 4 22:59:46 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n753xktb213779 for ; Tue, 4 Aug 2009 22:59:46 -0500 X-ASG-Debug-ID: 1249444834-0972032f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.vpac.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 321623A7162 for ; Tue, 4 Aug 2009 21:00:35 -0700 (PDT) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by cuda.sgi.com with ESMTP id VKMYtQD6VXdYrZpH for ; Tue, 04 Aug 2009 21:00:35 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.vpac.org (Postfix) with ESMTP id 676C846D010F for ; Wed, 5 Aug 2009 14:00:33 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at mail.vpac.org Received: from mail.vpac.org ([127.0.0.1]) by localhost (mail.vpac.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TQIfVqB5630O for ; Wed, 5 Aug 2009 14:00:29 +1000 (EST) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by mail.vpac.org (Postfix) with ESMTP id 9705246D010E for ; Wed, 5 Aug 2009 14:00:29 +1000 (EST) Date: Wed, 5 Aug 2009 14:00:29 +1000 (EST) From: Chris Samuel To: xfs@oss.sgi.com Message-ID: <1367391532.793061249444829356.JavaMail.root@mail.vpac.org> In-Reply-To: <816101050.793011249444717925.JavaMail.root@mail.vpac.org> X-ASG-Orig-Subj: XFS filesystem shutting down on linux 2.6.28.10 (xfs_rename) Subject: XFS filesystem shutting down on linux 2.6.28.10 (xfs_rename) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_68988_1821615652.1249444829354" X-Originating-IP: [172.31.4.22] X-Mailer: Zimbra 5.0.11_GA_2695.RHEL5_64 (ZimbraWebClient - FF3.0 (Linux)/5.0.11_GA_2695.RHEL5_64) X-Barracuda-Connect: mail.vpac.org[202.158.218.6] X-Barracuda-Start-Time: 1249444836 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.2.5321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ------=_Part_68988_1821615652.1249444829354 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi folks, I believe we've been hitting the same issue that Gabriel Barazer reported in 2.6.28.9 on the 22nd of July on our NFS server for our HPC Linux clusters. Here is the backtrace we got this morning: Aug 5 11:44:27 stg7 kernel: [680506.864506] Pid: 5271, comm: nfsd Not tainted 2.6.28.10-vpac-1 #1 Aug 5 11:44:27 stg7 kernel: [680506.864508] Call Trace: Aug 5 11:44:27 stg7 kernel: [680506.864541] [] xfs_rename+0x5ac/0x5af [xfs] Aug 5 11:44:27 stg7 kernel: [680506.864567] [] xfs_trans_cancel+0x56/0xee [xfs] Aug 5 11:44:27 stg7 kernel: [680506.864589] [] xfs_rename+0x5ac/0x5af [xfs] Aug 5 11:44:27 stg7 kernel: [680506.864609] [] xfs_vn_rename+0x61/0x69 [xfs] Aug 5 11:44:27 stg7 kernel: [680506.864615] [] vfs_rename+0x28a/0x404 Aug 5 11:44:27 stg7 kernel: [680506.864642] [] nfsd_rename+0x2ba/0x35f [nfsd] Aug 5 11:44:27 stg7 kernel: [680506.864654] [] nfsd3_proc_rename+0x120/0x131 [nfsd] Aug 5 11:44:27 stg7 kernel: [680506.864681] [] nfsd_dispatch+0xdd/0x1b9 [nfsd] Aug 5 11:44:27 stg7 kernel: [680506.864706] [] svc_process+0x3e6/0x70e [sunrpc] Aug 5 11:44:27 stg7 kernel: [680506.864711] [] default_wake_function+0x0/0xe Aug 5 11:44:27 stg7 kernel: [680506.864717] [] __down_read+0x15/0x99 Aug 5 11:44:27 stg7 kernel: [680506.864740] [] nfsd+0x1a0/0x26c [nfsd] Aug 5 11:44:27 stg7 kernel: [680506.864750] [] nfsd+0x0/0x26c [nfsd] Aug 5 11:44:27 stg7 kernel: [680506.864754] [] kthread+0x47/0x73 Aug 5 11:44:27 stg7 kernel: [680506.864757] [] schedule_tail+0x27/0x60 Aug 5 11:44:27 stg7 kernel: [680506.864761] [] child_rip+0xa/0x11 Aug 5 11:44:27 stg7 kernel: [680506.864764] [] kthread+0x0/0x73 Aug 5 11:44:27 stg7 kernel: [680506.864766] [] child_rip+0x0/0x11 Aug 5 11:44:27 stg7 kernel: [680506.864770] xfs_force_shutdown(md25,0x8) called from line 1165 of file fs/xfs/xfs _trans.c. Return address = 0xffffffffa032d7ac Here's another backtrace from a week ago (same kernel): Jul 28 13:27:22 stg7 kernel: [3528649.232700] Pid: 5414, comm: nfsd Not tainted 2.6.28.10-vpac-1 #1 Jul 28 13:27:22 stg7 kernel: [3528649.232702] Call Trace: Jul 28 13:27:22 stg7 kernel: [3528649.232734] [] xfs_rename+0x5ac/0x5af [xfs] Jul 28 13:27:22 stg7 kernel: [3528649.232756] [] xfs_trans_cancel+0x56/0xee [xfs] Jul 28 13:27:22 stg7 kernel: [3528649.232778] [] xfs_rename+0x5ac/0x5af [xfs] Jul 28 13:27:22 stg7 kernel: [3528649.232809] [] xfs_vn_rename+0x61/0x69 [xfs] Jul 28 13:27:22 stg7 kernel: [3528649.232814] [] vfs_rename+0x28a/0x404 Jul 28 13:27:22 stg7 kernel: [3528649.232829] [] nfsd_rename+0x2ba/0x35f [nfsd] Jul 28 13:27:22 stg7 kernel: [3528649.232855] [] nfsd3_proc_rename+0x120/0x131 [nfsd] Jul 28 13:27:22 stg7 kernel: [3528649.232879] [] nfsd_dispatch+0xdd/0x1b9 [nfsd] Jul 28 13:27:22 stg7 kernel: [3528649.232902] [] svc_process+0x3e6/0x70e [sunrpc] Jul 28 13:27:22 stg7 kernel: [3528649.232907] [] default_wake_function+0x0/0xe Jul 28 13:27:22 stg7 kernel: [3528649.232912] [] __down_read+0x15/0x99 Jul 28 13:27:22 stg7 kernel: [3528649.232922] [] nfsd+0x1a0/0x26c [nfsd] Jul 28 13:27:22 stg7 kernel: [3528649.232948] [] nfsd+0x0/0x26c [nfsd] Jul 28 13:27:22 stg7 kernel: [3528649.232952] [] kthread+0x47/0x73 Jul 28 13:27:22 stg7 kernel: [3528649.232955] [] schedule_tail+0x27/0x60 Jul 28 13:27:22 stg7 kernel: [3528649.232959] [] child_rip+0xa/0x11 Jul 28 13:27:22 stg7 kernel: [3528649.232962] [] kthread+0x0/0x73 Jul 28 13:27:22 stg7 kernel: [3528649.232964] [] child_rip+0x0/0x11 Jul 28 13:27:22 stg7 kernel: [3528649.232967] xfs_force_shutdown(md25,0x8) called from line 1165 of file fs/xfs/xf s_trans.c. Return address = 0xffffffffa03737ac This kernel is built with XFS as a kernel module so I've been able to attach the objdump output that Eric Sandeen had originally requested from Gabriel. Like Gabriel we're stuck on 2.6.28.x as the last working NFS exporting XFS kernel due to kernel bug #13375 (the radix bug), so I hope this helps! cheers, Chris -- Christopher Samuel - (03) 9925 4751 - Systems Manager The Victorian Partnership for Advanced Computing P.O. Box 201, Carlton South, VIC 3053, Australia VPAC is a not-for-profit Registered Research Agency ------=_Part_68988_1821615652.1249444829354 Content-Type: text/plain; name=xfs_objdump.txt Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=xfs_objdump.txt 00000000000452ed : 452fc: e8 00 00 00 00 callq 45301 45309: 74 19 je 45324 45310: 74 08 je 4531a 45315: e8 00 00 00 00 callq 4531a 45322: 75 dd jne 45301 0000000000045329 : 4538e: 74 21 je 453b1 45393: 75 1c jne 453b1 4539a: 74 15 je 453b1 453ab: 0f 87 e6 04 00 00 ja 45897 453fd: e8 00 00 00 00 callq 45402 45466: e8 00 00 00 00 callq 4546b 45474: 75 32 jne 454a8 45499: e8 00 00 00 00 callq 4549e 454aa: 74 0f je 454bb 454b6: e9 15 04 00 00 jmpq 458d0 454d6: 74 12 je 454ea 454e5: e9 e6 03 00 00 jmpq 458d0 454f9: e8 00 00 00 00 callq 454fe 45507: 74 3f je 45548 4551d: 74 29 je 45548 4552c: e8 bc fd ff ff callq 452ed 4553e: e8 00 00 00 00 callq 45543 45543: e9 4f 03 00 00 jmpq 45897 45560: e8 00 00 00 00 callq 45565 4556a: 74 1e je 4558a 45585: e8 00 00 00 00 callq 4558a 455a9: e8 00 00 00 00 callq 455ae 455b1: 74 3a je 455ed 455cb: e8 00 00 00 00 callq 455d0 455e2: 0f 85 be 00 00 00 jne 456a6 455e8: e9 9b 00 00 00 jmpq 45688 45601: e8 00 00 00 00 callq 45606 4560a: 0f 85 a0 02 00 00 jne 458b0 4563a: e8 00 00 00 00 callq 4563f 45644: 0f 84 66 02 00 00 je 458b0 4564c: 0f 85 65 02 00 00 jne 458b7 4565a: e8 00 00 00 00 callq 4565f 45664: 0f 84 bb 00 00 00 je 45725 4566d: 0f 84 b2 00 00 00 je 45725 4567e: e8 00 00 00 00 callq 45683 45683: e9 93 00 00 00 jmpq 4571b 4568b: e8 00 00 00 00 callq 45690 45692: 0f 84 13 02 00 00 je 458ab 456a0: 0f 87 05 02 00 00 ja 458ab 456d0: e8 00 00 00 00 callq 456d5 456d9: 0f 85 d8 01 00 00 jne 458b7 456e7: e8 00 00 00 00 callq 456ec 456f7: e8 00 00 00 00 callq 456fc 45700: 0f 85 b1 01 00 00 jne 458b7 45709: 74 1a je 45725 45716: e8 00 00 00 00 callq 4571b 4571f: 0f 85 92 01 00 00 jne 458b7 4572d: 74 3e je 4576d 45732: 74 39 je 4576d 4575e: e8 00 00 00 00 callq 45763 45767: 0f 85 4a 01 00 00 jne 458b7 45777: e8 00 00 00 00 callq 4577c 4577f: 74 24 je 457a5 45784: 75 05 jne 4578b 45789: 74 1a je 457a5 45796: e8 00 00 00 00 callq 4579b 4579f: 0f 85 12 01 00 00 jne 458b7 457cf: e8 00 00 00 00 callq 457d4 457d8: 0f 85 d9 00 00 00 jne 458b7 457e6: e8 00 00 00 00 callq 457eb 45802: e8 00 00 00 00 callq 45807 4580a: 74 1d je 45829 45824: e8 00 00 00 00 callq 45829 45839: 74 0c je 45847 4585f: e8 00 00 00 00 callq 45864 45868: 74 17 je 45881 4586d: e8 00 00 00 00 callq 45872 4587f: eb 4f jmp 458d0 45890: e8 00 00 00 00 callq 45895 458b5: eb 05 jmp 458bc 458c1: e8 00 00 00 00 callq 458c6 458d0: e8 00 00 00 00 callq 458d5 458d5: eb c0 jmp 45897 46738: e9 00 00 00 00 jmpq 4673d 000000000004673d : 4674f: 74 0d je 4675e 46762: 74 48 je 467ac 4676b: 75 3f jne 467ac 4678e: e8 00 00 00 00 callq 46793 467a7: e8 00 00 00 00 callq 467ac 467c5: 74 06 je 467cd 467d4: 74 13 je 467e9 467e4: e8 00 00 00 00 callq 467e9 46812: e8 00 00 00 00 callq 46817 4681a: e8 00 00 00 00 callq 4681f ------=_Part_68988_1821615652.1249444829354-- From csamuel@vpac.org Tue Aug 4 23:04:36 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7544ZD3214062 for ; Tue, 4 Aug 2009 23:04:36 -0500 X-ASG-Debug-ID: 1249445124-097a033d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.vpac.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4E5D73A7227 for ; Tue, 4 Aug 2009 21:05:24 -0700 (PDT) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by cuda.sgi.com with ESMTP id kHBt5KJFFUmdXM1p for ; Tue, 04 Aug 2009 21:05:24 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.vpac.org (Postfix) with ESMTP id 3948346D010F for ; Wed, 5 Aug 2009 14:05:23 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at mail.vpac.org Received: from mail.vpac.org ([127.0.0.1]) by localhost (mail.vpac.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5ehzUhF7d0Qd for ; Wed, 5 Aug 2009 14:05:17 +1000 (EST) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by mail.vpac.org (Postfix) with ESMTP id AF25346D010E for ; Wed, 5 Aug 2009 14:05:17 +1000 (EST) Date: Wed, 5 Aug 2009 14:05:16 +1000 (EST) From: Chris Samuel To: xfs@oss.sgi.com Message-ID: <217353917.793251249445116818.JavaMail.root@mail.vpac.org> In-Reply-To: <1055011478.793231249445110983.JavaMail.root@mail.vpac.org> X-ASG-Orig-Subj: Re: XFS filesystem shutting down on linux 2.6.28.10 (xfs_rename) Subject: Re: XFS filesystem shutting down on linux 2.6.28.10 (xfs_rename) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_68991_677466273.1249445116816" X-Originating-IP: [172.31.4.22] X-Mailer: Zimbra 5.0.11_GA_2695.RHEL5_64 (ZimbraWebClient - FF3.0 (Linux)/5.0.11_GA_2695.RHEL5_64) X-Barracuda-Connect: mail.vpac.org[202.158.218.6] X-Barracuda-Start-Time: 1249445126 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.2.5321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ------=_Part_68991_677466273.1249445116816 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit ----- "Chris Samuel" wrote: > This kernel is built with XFS as a kernel module so I've > been able to attach the objdump output that Eric Sandeen > had originally requested from Gabriel. Oops - I meant to also attach our kernel config! Here it is.. cheers, Chris -- Christopher Samuel - (03) 9925 4751 - Systems Manager The Victorian Partnership for Advanced Computing P.O. Box 201, Carlton South, VIC 3053, Australia VPAC is a not-for-profit Registered Research Agency ------=_Part_68991_677466273.1249445116816 Content-Type: application/octet-stream; name=config-2.6.28.10-vpac-1 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=config-2.6.28.10-vpac-1 # # Automatically generated make config: don't edit # Linux kernel version: 2.6.28.10-vpac-1 # Wed May 6 22:22:33 2009 # CONFIG_64BIT=y # CONFIG_X86_32 is not set CONFIG_X86_64=y CONFIG_X86=y CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_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_ARCH_MAY_HAVE_PC_FDC=y CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_TIME_VSYSCALL=y 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=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ZONE_DMA32=y CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_AUDIT_ARCH=y 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_64_SMP=y CONFIG_X86_HT=y CONFIG_X86_BIOS_REBOOT=y CONFIG_X86_TRAMPOLINE=y # CONFIG_KTIME_SCALAR is not set 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 is not set CONFIG_LOG_BUF_SHIFT=17 # CONFIG_CGROUPS is not set CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y # CONFIG_GROUP_SCHED is not set CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_RELAY=y CONFIG_NAMESPACES=y # CONFIG_UTS_NS is not set # CONFIG_IPC_NS is not set # CONFIG_USER_NS is not set # CONFIG_PID_NS is not set CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_ANON_INODES=y # CONFIG_EMBEDDED is not set CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=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_COMPAT_BRK is not set # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set # CONFIG_PROFILING is not set # CONFIG_MARKERS is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_ARCH_TRACEHOOK=y # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 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 is not set CONFIG_KMOD=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_BLK_DEV_BSG=y # CONFIG_BLK_DEV_INTEGRITY is not set CONFIG_BLOCK_COMPAT=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_CLASSIC_RCU=y # CONFIG_FREEZER is not set # # 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_PARAVIRT_GUEST is not set # CONFIG_MEMTEST is not set # 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 is not set # 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=y # CONFIG_GENERIC_CPU is not set CONFIG_X86_CPU=y CONFIG_X86_L1_CACHE_BYTES=64 CONFIG_X86_INTERNODE_CACHE_BYTES=64 CONFIG_X86_CMPXCHG=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_P6_NOP=y CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_CENTAUR_64=y # CONFIG_X86_DS is not set CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y CONFIG_GART_IOMMU=y # CONFIG_CALGARY_IOMMU is not set # CONFIG_AMD_IOMMU is not set CONFIG_SWIOTLB=y CONFIG_IOMMU_HELPER=y CONFIG_NR_CPUS=8 # CONFIG_SCHED_SMT is not set 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_MCE=y CONFIG_X86_MCE_INTEL=y # CONFIG_X86_MCE_AMD is not set # CONFIG_I8K is not set CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y # CONFIG_MICROCODE_AMD is not set CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m CONFIG_ARCH_PHYS_ADDR_T_64BIT=y # CONFIG_NUMA is not set CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y # CONFIG_FLATMEM_MANUAL is not set # CONFIG_DISCONTIGMEM_MANUAL is not set CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP=y # CONFIG_MEMORY_HOTPLUG is not set CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_RESOURCES_64BIT=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_UNEVICTABLE_LRU=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y CONFIG_X86_RESERVE_LOW_64K=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 is not set CONFIG_SECCOMP=y CONFIG_HZ_100=y # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set # CONFIG_HZ_1000 is not set CONFIG_HZ=100 CONFIG_SCHED_HRTICK=y CONFIG_KEXEC=y # CONFIG_CRASH_DUMP is not set CONFIG_PHYSICAL_START=0x200000 # CONFIG_RELOCATABLE is not set CONFIG_PHYSICAL_ALIGN=0x200000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set # CONFIG_CMDLINE_BOOL is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # # Power management and ACPI options # CONFIG_PM=y # CONFIG_PM_DEBUG is not set # CONFIG_SUSPEND is not set # CONFIG_HIBERNATION is not set CONFIG_ACPI=y CONFIG_ACPI_PROCFS=y CONFIG_ACPI_PROCFS_POWER=y CONFIG_ACPI_SYSFS_POWER=y CONFIG_ACPI_PROC_EVENT=y CONFIG_ACPI_AC=m CONFIG_ACPI_BATTERY=m CONFIG_ACPI_BUTTON=m CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=m CONFIG_ACPI_DOCK=y CONFIG_ACPI_PROCESSOR=m CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_THERMAL=m CONFIG_ACPI_WMI=m CONFIG_ACPI_ASUS=m CONFIG_ACPI_TOSHIBA=m # CONFIG_ACPI_CUSTOM_DSDT is not set CONFIG_ACPI_BLACKLIST_YEAR=0 # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_PCI_SLOT is not set CONFIG_ACPI_SYSTEM=y CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=m CONFIG_ACPI_SBS=m # # CPU Frequency scaling # CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_TABLE=y # CONFIG_CPU_FREQ_DEBUG is not set CONFIG_CPU_FREQ_STAT=y # CONFIG_CPU_FREQ_STAT_DETAILS is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_GOV_USERSPACE is not set CONFIG_CPU_FREQ_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set # # CPUFreq processor drivers # CONFIG_X86_ACPI_CPUFREQ=m # CONFIG_X86_POWERNOW_K8 is not set # CONFIG_X86_SPEEDSTEP_CENTRINO is not set # CONFIG_X86_P4_CLOCKMOD is not set # # shared options # # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set # CONFIG_X86_SPEEDSTEP_LIB is not set CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y # # Memory power savings # # CONFIG_I7300_IDLE is not set # # Bus options (PCI etc.) # CONFIG_PCI=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_DOMAINS=y # CONFIG_DMAR is not set # CONFIG_INTR_REMAP is not set CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=m CONFIG_PCIEAER=y # CONFIG_PCIEASPM is not set CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_PCI_MSI=y CONFIG_PCI_LEGACY=y # CONFIG_PCI_DEBUG is not set CONFIG_HT_IRQ=y CONFIG_ISA_DMA_API=y CONFIG_K8_NB=y # CONFIG_PCCARD is not set CONFIG_HOTPLUG_PCI=m CONFIG_HOTPLUG_PCI_FAKE=m CONFIG_HOTPLUG_PCI_ACPI=m CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_CPCI=y CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m CONFIG_HOTPLUG_PCI_SHPC=m # # Executable file formats / Emulations # CONFIG_BINFMT_ELF=y CONFIG_COMPAT_BINFMT_ELF=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set # CONFIG_HAVE_AOUT is not set CONFIG_BINFMT_MISC=m CONFIG_IA32_EMULATION=y CONFIG_IA32_AOUT=y CONFIG_COMPAT=y CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_SYSVIPC_COMPAT=y CONFIG_NET=y # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y CONFIG_XFRM_USER=m # CONFIG_XFRM_SUB_POLICY is not set # CONFIG_XFRM_MIGRATE is not set # CONFIG_XFRM_STATISTICS is not set CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set CONFIG_IP_FIB_HASH=y # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set CONFIG_IP_MROUTE=y CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_ARPD is not set CONFIG_SYN_COOKIES=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_XFRM_MODE_TRANSPORT=m CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m CONFIG_INET_LRO=m CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m CONFIG_TCP_CONG_CUBIC=y CONFIG_TCP_CONG_WESTWOOD=m CONFIG_TCP_CONG_HTCP=m CONFIG_TCP_CONG_HSTCP=m CONFIG_TCP_CONG_HYBLA=m CONFIG_TCP_CONG_VEGAS=m CONFIG_TCP_CONG_SCALABLE=m CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_VENO=m CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_CONG_ILLINOIS=m # 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=m CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m CONFIG_IPV6_MIP6=m CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m CONFIG_IPV6_SIT=m CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_PIMSM_V2=y # CONFIG_NETLABEL is not set CONFIG_NETWORK_SECMARK=y CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=y # # Core Netfilter Configuration # CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NF_CONNTRACK=m 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=m CONFIG_NF_CT_PROTO_GRE=m CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CT_PROTO_UDPLITE=m CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m CONFIG_NF_CONNTRACK_IRC=m CONFIG_NF_CONNTRACK_NETBIOS_NS=m CONFIG_NF_CONNTRACK_PPTP=m CONFIG_NF_CONNTRACK_SANE=m CONFIG_NF_CONNTRACK_SIP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m # CONFIG_NETFILTER_TPROXY is not set CONFIG_NETFILTER_XTABLES=m CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m CONFIG_NETFILTER_XT_TARGET_DSCP=m CONFIG_NETFILTER_XT_TARGET_MARK=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_RATEEST=m CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m CONFIG_NETFILTER_XT_MATCH_DCCP=m CONFIG_NETFILTER_XT_MATCH_DSCP=m CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_IPRANGE=m CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m CONFIG_NETFILTER_XT_MATCH_OWNER=m CONFIG_NETFILTER_XT_MATCH_POLICY=m CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m # CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_STATE=m CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_TIME=m CONFIG_NETFILTER_XT_MATCH_U32=m CONFIG_IP_VS=m # CONFIG_IP_VS_IPV6 is not set # CONFIG_IP_VS_DEBUG is not set 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=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m # # IPVS application helper # CONFIG_IP_VS_FTP=m # # IP: Netfilter Configuration # CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_CONNTRACK_PROC_COMPAT=y CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=m CONFIG_IP_NF_MATCH_ADDRTYPE=m CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m CONFIG_IP_NF_TARGET_LOG=m CONFIG_IP_NF_TARGET_ULOG=m CONFIG_NF_NAT=m CONFIG_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_DCCP=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PROTO_UDPLITE=m CONFIG_NF_NAT_PROTO_SCTP=m CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_TFTP=m CONFIG_NF_NAT_AMANDA=m CONFIG_NF_NAT_PPTP=m CONFIG_NF_NAT_H323=m CONFIG_NF_NAT_SIP=m CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m # CONFIG_IP_NF_SECURITY is not set CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m # # IPv6: Netfilter Configuration # CONFIG_NF_CONNTRACK_IPV6=m CONFIG_IP6_NF_QUEUE=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m CONFIG_IP6_NF_MATCH_FRAG=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_HL=m CONFIG_IP6_NF_MATCH_IPV6HEADER=m CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_RT=m CONFIG_IP6_NF_TARGET_LOG=m CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_RAW=m # CONFIG_IP6_NF_SECURITY is not set CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m CONFIG_BRIDGE_EBT_T_NAT=m CONFIG_BRIDGE_EBT_802_3=m CONFIG_BRIDGE_EBT_AMONG=m CONFIG_BRIDGE_EBT_ARP=m CONFIG_BRIDGE_EBT_IP=m CONFIG_BRIDGE_EBT_IP6=m CONFIG_BRIDGE_EBT_LIMIT=m CONFIG_BRIDGE_EBT_MARK=m CONFIG_BRIDGE_EBT_PKTTYPE=m CONFIG_BRIDGE_EBT_STP=m CONFIG_BRIDGE_EBT_VLAN=m CONFIG_BRIDGE_EBT_ARPREPLY=m CONFIG_BRIDGE_EBT_DNAT=m CONFIG_BRIDGE_EBT_MARK_T=m CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_ULOG=m CONFIG_BRIDGE_EBT_NFLOG=m # CONFIG_IP_DCCP is not set CONFIG_IP_SCTP=m # CONFIG_SCTP_DBG_MSG is not set # CONFIG_SCTP_DBG_OBJCNT is not set # CONFIG_SCTP_HMAC_NONE is not set # CONFIG_SCTP_HMAC_SHA1 is not set CONFIG_SCTP_HMAC_MD5=y # CONFIG_TIPC is not set # CONFIG_ATM is not set CONFIG_STP=m CONFIG_BRIDGE=m # CONFIG_NET_DSA is not set CONFIG_VLAN_8021Q=m # CONFIG_VLAN_8021Q_GVRP is not set # CONFIG_DECNET is not set CONFIG_LLC=y CONFIG_LLC2=m # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set CONFIG_NET_SCHED=y # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_PRIO=m CONFIG_NET_SCH_MULTIQ=m CONFIG_NET_SCH_RED=m CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_NETEM=m CONFIG_NET_SCH_INGRESS=m # # Classification # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_FLOW=m CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_NBYTE=m CONFIG_NET_EMATCH_U32=m CONFIG_NET_EMATCH_META=m CONFIG_NET_EMATCH_TEXT=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=m CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m CONFIG_NET_ACT_SKBEDIT=m CONFIG_NET_CLS_IND=y CONFIG_NET_SCH_FIFO=y # # Network testing # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set # CONFIG_IRDA is not set # CONFIG_BT is not set CONFIG_AF_RXRPC=m # CONFIG_AF_RXRPC_DEBUG is not set # CONFIG_RXKAD is not set # CONFIG_PHONET is not set CONFIG_FIB_RULES=y # CONFIG_WIRELESS is not set CONFIG_WIRELESS_EXT=y CONFIG_IEEE80211=m CONFIG_IEEE80211_CRYPT_WEP=m CONFIG_RFKILL=m CONFIG_RFKILL_INPUT=m CONFIG_RFKILL_LEDS=y # CONFIG_NET_9P is not set # # 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 is not set CONFIG_EXTRA_FIRMWARE="" # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set CONFIG_CONNECTOR=m # CONFIG_MTD is not set CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m # CONFIG_PARPORT_PC_FIFO is not set # CONFIG_PARPORT_PC_SUPERIO is not set # CONFIG_PARPORT_GSC is not set CONFIG_PARPORT_AX88796=m CONFIG_PARPORT_1284=y CONFIG_PARPORT_NOT_PC=y CONFIG_PNP=y CONFIG_PNP_DEBUG_MESSAGES=y # # Protocols # CONFIG_PNPACPI=y CONFIG_BLK_DEV=y CONFIG_BLK_DEV_FD=m CONFIG_PARIDE=m # # Parallel IDE high-level drivers # CONFIG_PARIDE_PD=m CONFIG_PARIDE_PCD=m CONFIG_PARIDE_PF=m CONFIG_PARIDE_PT=m CONFIG_PARIDE_PG=m # # Parallel IDE protocol modules # CONFIG_PARIDE_ATEN=m CONFIG_PARIDE_BPCK=m CONFIG_PARIDE_COMM=m CONFIG_PARIDE_DSTR=m CONFIG_PARIDE_FIT2=m CONFIG_PARIDE_FIT3=m CONFIG_PARIDE_EPAT=m # CONFIG_PARIDE_EPATC8 is not set CONFIG_PARIDE_EPIA=m CONFIG_PARIDE_FRIQ=m CONFIG_PARIDE_FRPW=m CONFIG_PARIDE_KBIC=m CONFIG_PARIDE_KTTI=m CONFIG_PARIDE_ON20=m CONFIG_PARIDE_ON26=m CONFIG_BLK_CPQ_DA=m CONFIG_BLK_CPQ_CISS_DA=m CONFIG_CISS_SCSI_TAPE=y CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_UMEM=m # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=65536 # CONFIG_BLK_DEV_XIP is not set CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set CONFIG_ATA_OVER_ETH=m # CONFIG_BLK_DEV_HD is not set CONFIG_MISC_DEVICES=y CONFIG_IBM_ASM=m # CONFIG_PHANTOM is not set # CONFIG_EEPROM_93CX6 is not set # CONFIG_SGI_IOC4 is not set # CONFIG_TIFM_CORE is not set # CONFIG_ACER_WMI is not set # CONFIG_ASUS_LAPTOP is not set # CONFIG_FUJITSU_LAPTOP is not set # CONFIG_HP_WMI is not set # CONFIG_ICS932S401 is not set # CONFIG_MSI_LAPTOP is not set # CONFIG_PANASONIC_LAPTOP is not set # CONFIG_COMPAL_LAPTOP is not set # CONFIG_SONY_LAPTOP is not set # CONFIG_THINKPAD_ACPI is not set # CONFIG_INTEL_MENLOW is not set # CONFIG_EEEPC_LAPTOP is not set CONFIG_ENCLOSURE_SERVICES=m # CONFIG_SGI_XP is not set # CONFIG_HP_ILO is not set # CONFIG_SGI_GRU is not set # CONFIG_C2PORT is not set CONFIG_HAVE_IDE=y CONFIG_IDE=m # # Please see Documentation/ide/ide.txt for help/info on IDE drives # CONFIG_IDE_TIMINGS=y CONFIG_IDE_ATAPI=y # CONFIG_BLK_DEV_IDE_SATA is not set CONFIG_IDE_GD=m CONFIG_IDE_GD_ATA=y # CONFIG_IDE_GD_ATAPI is not set CONFIG_BLK_DEV_IDECD=m CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y CONFIG_BLK_DEV_IDETAPE=m # CONFIG_BLK_DEV_IDESCSI is not set CONFIG_BLK_DEV_IDEACPI=y # CONFIG_IDE_TASK_IOCTL is not set CONFIG_IDE_PROC_FS=y # # IDE chipset support/bugfixes # CONFIG_IDE_GENERIC=m # CONFIG_BLK_DEV_PLATFORM is not set CONFIG_BLK_DEV_CMD640=m # CONFIG_BLK_DEV_CMD640_ENHANCED is not set CONFIG_BLK_DEV_IDEPNP=m CONFIG_BLK_DEV_IDEDMA_SFF=y # # PCI IDE chipsets support # CONFIG_BLK_DEV_IDEPCI=y # CONFIG_BLK_DEV_OFFBOARD is not set CONFIG_BLK_DEV_GENERIC=m CONFIG_BLK_DEV_OPTI621=m CONFIG_BLK_DEV_RZ1000=m CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_AEC62XX=m CONFIG_BLK_DEV_ALI15X3=m CONFIG_BLK_DEV_AMD74XX=m CONFIG_BLK_DEV_ATIIXP=m CONFIG_BLK_DEV_CMD64X=m CONFIG_BLK_DEV_TRIFLEX=m CONFIG_BLK_DEV_CS5520=m CONFIG_BLK_DEV_CS5530=m CONFIG_BLK_DEV_HPT366=m CONFIG_BLK_DEV_JMICRON=m CONFIG_BLK_DEV_SC1200=m CONFIG_BLK_DEV_PIIX=m CONFIG_BLK_DEV_IT8213=m CONFIG_BLK_DEV_IT821X=m CONFIG_BLK_DEV_NS87415=m CONFIG_BLK_DEV_PDC202XX_OLD=m CONFIG_BLK_DEV_PDC202XX_NEW=m CONFIG_BLK_DEV_SVWKS=m CONFIG_BLK_DEV_SIIMAGE=m CONFIG_BLK_DEV_SIS5513=m CONFIG_BLK_DEV_SLC90E66=m CONFIG_BLK_DEV_TRM290=m CONFIG_BLK_DEV_VIA82CXXX=m CONFIG_BLK_DEV_TC86C001=m CONFIG_BLK_DEV_IDEDMA=y # # SCSI device support # CONFIG_RAID_ATTRS=m CONFIG_SCSI=m CONFIG_SCSI_DMA=y CONFIG_SCSI_TGT=m CONFIG_SCSI_NETLINK=y CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=m CONFIG_CHR_DEV_ST=m CONFIG_CHR_DEV_OSST=m CONFIG_BLK_DEV_SR=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=m CONFIG_CHR_DEV_SCH=m CONFIG_SCSI_ENCLOSURE=m # # 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=m CONFIG_SCSI_FC_ATTRS=m CONFIG_SCSI_FC_TGT_ATTRS=y CONFIG_SCSI_ISCSI_ATTRS=m CONFIG_SCSI_SAS_ATTRS=m CONFIG_SCSI_SAS_LIBSAS=m CONFIG_SCSI_SAS_ATA=y CONFIG_SCSI_SAS_HOST_SMP=y # CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set CONFIG_SCSI_SRP_ATTRS=m CONFIG_SCSI_SRP_TGT_ATTRS=y CONFIG_SCSI_LOWLEVEL=y CONFIG_ISCSI_TCP=m CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_SCSI_3W_9XXX=m CONFIG_SCSI_ACARD=m CONFIG_SCSI_AACRAID=m CONFIG_SCSI_AIC7XXX=m CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIC7XXX_DEBUG_ENABLE=y CONFIG_AIC7XXX_DEBUG_MASK=0 CONFIG_AIC7XXX_REG_PRETTY_PRINT=y CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_AIC79XX=m CONFIG_AIC79XX_CMDS_PER_DEVICE=32 CONFIG_AIC79XX_RESET_DELAY_MS=15000 CONFIG_AIC79XX_DEBUG_ENABLE=y CONFIG_AIC79XX_DEBUG_MASK=0 CONFIG_AIC79XX_REG_PRETTY_PRINT=y CONFIG_SCSI_AIC94XX=m # CONFIG_AIC94XX_DEBUG is not set CONFIG_SCSI_DPT_I2O=m CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_ARCMSR=m # CONFIG_SCSI_ARCMSR_AER is not set CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_LEGACY=m CONFIG_MEGARAID_SAS=m CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_DMX3191D=m CONFIG_SCSI_EATA=m CONFIG_SCSI_EATA_TAGGED_QUEUE=y CONFIG_SCSI_EATA_LINKED_COMMANDS=y CONFIG_SCSI_EATA_MAX_TAGS=16 CONFIG_SCSI_FUTURE_DOMAIN=m CONFIG_SCSI_GDTH=m CONFIG_SCSI_IPS=m CONFIG_SCSI_INITIO=m CONFIG_SCSI_INIA100=m CONFIG_SCSI_PPA=m CONFIG_SCSI_IMM=m # CONFIG_SCSI_IZIP_EPP16 is not set # CONFIG_SCSI_IZIP_SLOW_CTR is not set CONFIG_SCSI_MVSAS=m CONFIG_SCSI_STEX=m CONFIG_SCSI_SYM53C8XX_2=m 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=m # CONFIG_SCSI_IPR_TRACE is not set # CONFIG_SCSI_IPR_DUMP is not set CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLA_FC=m CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_LPFC=m CONFIG_SCSI_DC395x=m CONFIG_SCSI_DC390T=m CONFIG_SCSI_DEBUG=m CONFIG_SCSI_SRP=m CONFIG_SCSI_DH=m CONFIG_SCSI_DH_RDAC=m # CONFIG_SCSI_DH_HP_SW is not set # CONFIG_SCSI_DH_EMC is not set # CONFIG_SCSI_DH_ALUA is not set CONFIG_ATA=m # CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_ACPI=y CONFIG_SATA_PMP=y CONFIG_SATA_AHCI=m CONFIG_SATA_SIL24=m CONFIG_ATA_SFF=y CONFIG_SATA_SVW=m CONFIG_ATA_PIIX=m CONFIG_SATA_MV=m CONFIG_SATA_NV=m CONFIG_PDC_ADMA=m CONFIG_SATA_QSTOR=m CONFIG_SATA_PROMISE=m CONFIG_SATA_SX4=m CONFIG_SATA_SIL=m CONFIG_SATA_SIS=m CONFIG_SATA_ULI=m CONFIG_SATA_VIA=m CONFIG_SATA_VITESSE=m CONFIG_SATA_INIC162X=m # CONFIG_PATA_ACPI is not set # CONFIG_PATA_ALI is not set # CONFIG_PATA_AMD is not set CONFIG_PATA_ARTOP=m # CONFIG_PATA_ATIIXP is not set # CONFIG_PATA_CMD640_PCI is not set # CONFIG_PATA_CMD64X is not set # CONFIG_PATA_CS5520 is not set # CONFIG_PATA_CS5530 is not set # CONFIG_PATA_CYPRESS is not set # CONFIG_PATA_EFAR is not set CONFIG_ATA_GENERIC=m # CONFIG_PATA_HPT366 is not set # CONFIG_PATA_HPT37X is not set # CONFIG_PATA_HPT3X2N is not set # CONFIG_PATA_HPT3X3 is not set # CONFIG_PATA_IT821X is not set # CONFIG_PATA_IT8213 is not set # CONFIG_PATA_JMICRON is not set # CONFIG_PATA_TRIFLEX is not set CONFIG_PATA_MARVELL=m # CONFIG_PATA_MPIIX is not set # CONFIG_PATA_OLDPIIX is not set # CONFIG_PATA_NETCELL is not set # CONFIG_PATA_NINJA32 is not set # CONFIG_PATA_NS87410 is not set # CONFIG_PATA_NS87415 is not set # CONFIG_PATA_OPTI is not set # CONFIG_PATA_OPTIDMA is not set # CONFIG_PATA_PDC_OLD is not set # CONFIG_PATA_RADISYS is not set # CONFIG_PATA_RZ1000 is not set # CONFIG_PATA_SC1200 is not set # CONFIG_PATA_SERVERWORKS is not set # CONFIG_PATA_PDC2027X is not set # CONFIG_PATA_SIL680 is not set CONFIG_PATA_SIS=m # CONFIG_PATA_VIA is not set # CONFIG_PATA_WINBOND is not set CONFIG_PATA_SCH=m CONFIG_MD=y CONFIG_BLK_DEV_MD=m CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m CONFIG_MD_RAID10=m CONFIG_MD_RAID456=m CONFIG_MD_RAID5_RESHAPE=y CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=m # CONFIG_DM_DEBUG is not set CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m CONFIG_DM_MIRROR=m CONFIG_DM_ZERO=m CONFIG_DM_MULTIPATH=m CONFIG_DM_DELAY=m CONFIG_DM_UEVENT=y # CONFIG_FUSION is not set # # IEEE 1394 (FireWire) support # # # Enable only one of the two stacks, unless you know what you are doing # # CONFIG_FIREWIRE is not set CONFIG_IEEE1394=m CONFIG_IEEE1394_OHCI1394=m CONFIG_IEEE1394_PCILYNX=m CONFIG_IEEE1394_SBP2=m # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y CONFIG_IEEE1394_ETH1394=m CONFIG_IEEE1394_RAWIO=m CONFIG_IEEE1394_VIDEO1394=m CONFIG_IEEE1394_DV1394=m # CONFIG_IEEE1394_VERBOSEDEBUG is not set CONFIG_I2O=m CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y CONFIG_I2O_EXT_ADAPTEC=y CONFIG_I2O_EXT_ADAPTEC_DMA64=y CONFIG_I2O_CONFIG=m CONFIG_I2O_CONFIG_OLD_IOCTL=y CONFIG_I2O_BUS=m CONFIG_I2O_BLOCK=m CONFIG_I2O_SCSI=m CONFIG_I2O_PROC=m # CONFIG_MACINTOSH_DRIVERS is not set CONFIG_NETDEVICES=y CONFIG_IFB=m CONFIG_DUMMY=m CONFIG_BONDING=m # CONFIG_MACVLAN is not set CONFIG_EQUALIZER=m CONFIG_TUN=m CONFIG_VETH=m CONFIG_NET_SB1000=m CONFIG_ARCNET=m CONFIG_ARCNET_1201=m CONFIG_ARCNET_1051=m CONFIG_ARCNET_RAW=m CONFIG_ARCNET_CAP=m CONFIG_ARCNET_COM90xx=m CONFIG_ARCNET_COM90xxIO=m CONFIG_ARCNET_RIM_I=m CONFIG_ARCNET_COM20020=m CONFIG_ARCNET_COM20020_PCI=m CONFIG_PHYLIB=m # # MII PHY device drivers # CONFIG_MARVELL_PHY=m CONFIG_DAVICOM_PHY=m CONFIG_QSEMI_PHY=m CONFIG_LXT_PHY=m CONFIG_CICADA_PHY=m CONFIG_VITESSE_PHY=m CONFIG_SMSC_PHY=m CONFIG_BROADCOM_PHY=m CONFIG_ICPLUS_PHY=m CONFIG_REALTEK_PHY=m CONFIG_MDIO_BITBANG=m CONFIG_NET_ETHERNET=y CONFIG_MII=m CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m CONFIG_CASSINI=m CONFIG_NET_VENDOR_3COM=y CONFIG_VORTEX=m CONFIG_TYPHOON=m CONFIG_NET_TULIP=y CONFIG_DE2104X=m CONFIG_TULIP=m # CONFIG_TULIP_MWI is not set # CONFIG_TULIP_MMIO is not set CONFIG_TULIP_NAPI=y CONFIG_TULIP_NAPI_HW_MITIGATION=y CONFIG_DE4X5=m CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m CONFIG_HP100=m # 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=m CONFIG_AMD8111_ETH=m CONFIG_ADAPTEC_STARFIRE=m CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y CONFIG_FORCEDETH=m # CONFIG_FORCEDETH_NAPI is not set CONFIG_EEPRO100=m CONFIG_E100=m CONFIG_FEALNX=m CONFIG_NATSEMI=m CONFIG_NE2K_PCI=m CONFIG_8139CP=m CONFIG_8139TOO=m # CONFIG_8139TOO_PIO is not set CONFIG_8139TOO_TUNE_TWISTER=y CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set CONFIG_R6040=m CONFIG_SIS900=m CONFIG_EPIC100=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set # CONFIG_TLAN is not set CONFIG_VIA_RHINE=m # CONFIG_VIA_RHINE_MMIO is not set CONFIG_SC92031=m # CONFIG_NET_POCKET is not set # CONFIG_ATL2 is not set CONFIG_NETDEV_1000=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_DL2K=m CONFIG_E1000=m CONFIG_E1000E=m CONFIG_IP1000=m CONFIG_IGB=m CONFIG_IGB_LRO=y CONFIG_IGB_DCA=y CONFIG_NS83820=m CONFIG_HAMACHI=m CONFIG_YELLOWFIN=m CONFIG_R8169=m CONFIG_R8169_VLAN=y CONFIG_SIS190=m CONFIG_SKGE=m # CONFIG_SKGE_DEBUG is not set CONFIG_SKY2=m # CONFIG_SKY2_DEBUG is not set CONFIG_VIA_VELOCITY=m CONFIG_TIGON3=m CONFIG_BNX2=m CONFIG_QLA3XXX=m CONFIG_ATL1=m CONFIG_ATL1E=m CONFIG_JME=m CONFIG_NETDEV_10000=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T3=m CONFIG_ENIC=m CONFIG_IXGBE=m CONFIG_IXGBE_DCA=y CONFIG_IXGB=m CONFIG_S2IO=m CONFIG_MYRI10GE=m CONFIG_MYRI10GE_DCA=y CONFIG_NETXEN_NIC=m CONFIG_NIU=m CONFIG_MLX4_EN=m CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y CONFIG_TEHUTI=m CONFIG_BNX2X=m CONFIG_QLGE=m CONFIG_SFC=m CONFIG_TR=y CONFIG_IBMOL=m # CONFIG_3C359 is not set CONFIG_TMS380TR=m CONFIG_TMSPCI=m CONFIG_ABYSS=m # # Wireless LAN # CONFIG_WLAN_PRE80211=y CONFIG_STRIP=m CONFIG_WLAN_80211=y # CONFIG_IPW2100 is not set CONFIG_IPW2200=m CONFIG_IPW2200_MONITOR=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m # CONFIG_LIBERTAS_DEBUG is not set CONFIG_AIRO=m CONFIG_HERMES=m CONFIG_PLX_HERMES=m CONFIG_TMD_HERMES=m CONFIG_NORTEL_HERMES=m CONFIG_PCI_HERMES=m CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m # CONFIG_PRISM54 is not set CONFIG_USB_ZD1201=m CONFIG_USB_NET_RNDIS_WLAN=m # CONFIG_IWLWIFI_LEDS is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y # CONFIG_HOSTAP_FIRMWARE_NVRAM is not set CONFIG_HOSTAP_PLX=m CONFIG_HOSTAP_PCI=m # # USB Network Adapters # CONFIG_USB_CATC=m CONFIG_USB_KAWETH=m CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m CONFIG_USB_USBNET=m CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_CDCETHER=m CONFIG_USB_NET_DM9601=m # CONFIG_USB_NET_SMSC95XX is not set CONFIG_USB_NET_GL620A=m CONFIG_USB_NET_NET1080=m CONFIG_USB_NET_PLUSB=m CONFIG_USB_NET_MCS7830=m CONFIG_USB_NET_RNDIS_HOST=m CONFIG_USB_NET_CDC_SUBSET=m 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=m # CONFIG_USB_HSO is not set CONFIG_WAN=y CONFIG_LANMEDIA=m CONFIG_HDLC=m CONFIG_HDLC_RAW=m CONFIG_HDLC_RAW_ETH=m CONFIG_HDLC_CISCO=m CONFIG_HDLC_FR=m CONFIG_HDLC_PPP=m # # X.25/LAPB support is disabled # CONFIG_PCI200SYN=m CONFIG_WANXL=m # CONFIG_PC300TOO is not set CONFIG_FARSYNC=m CONFIG_DSCC4=m CONFIG_DSCC4_PCISYNC=y CONFIG_DSCC4_PCI_RST=y CONFIG_DLCI=m CONFIG_DLCI_MAX=8 CONFIG_SBNI=m # CONFIG_SBNI_MULTILINE is not set CONFIG_FDDI=y CONFIG_DEFXX=m # CONFIG_DEFXX_MMIO is not set CONFIG_SKFP=m CONFIG_HIPPI=y CONFIG_ROADRUNNER=m # CONFIG_ROADRUNNER_LARGE_RINGS is not set CONFIG_PLIP=m CONFIG_PPP=m CONFIG_PPP_MULTILINK=y CONFIG_PPP_FILTER=y CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_BSDCOMP=m CONFIG_PPP_MPPE=m CONFIG_PPPOE=m CONFIG_PPPOL2TP=m CONFIG_SLIP=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLHC=m CONFIG_SLIP_SMART=y CONFIG_SLIP_MODE_SLIP6=y CONFIG_NET_FC=y CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y # CONFIG_NETPOLL_TRAP is not set CONFIG_NET_POLL_CONTROLLER=y # CONFIG_ISDN is not set # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=m CONFIG_INPUT_POLLDEV=m # # 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=m CONFIG_INPUT_EVDEV=m # CONFIG_INPUT_EVBUG is not set # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_LKKBD=m CONFIG_KEYBOARD_XTKBD=m CONFIG_KEYBOARD_NEWTON=m CONFIG_KEYBOARD_STOWAWAY=m CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=m 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 is not set # CONFIG_MOUSE_PS2_TOUCHKIT is not set CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_APPLETOUCH=m # CONFIG_MOUSE_BCM5974 is not set CONFIG_MOUSE_VSXXXAA=m CONFIG_INPUT_JOYSTICK=y CONFIG_JOYSTICK_ANALOG=m CONFIG_JOYSTICK_A3D=m CONFIG_JOYSTICK_ADI=m CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m CONFIG_JOYSTICK_GRIP_MP=m CONFIG_JOYSTICK_GUILLEMOT=m CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_TMDC=m CONFIG_JOYSTICK_IFORCE=m CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_IFORCE_232=y CONFIG_JOYSTICK_WARRIOR=m CONFIG_JOYSTICK_MAGELLAN=m CONFIG_JOYSTICK_SPACEORB=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_STINGER=m CONFIG_JOYSTICK_TWIDJOY=m CONFIG_JOYSTICK_ZHENHUA=m CONFIG_JOYSTICK_DB9=m CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_TURBOGRAFX=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m CONFIG_TABLET_USB_AIPTEK=m CONFIG_TABLET_USB_GTCO=m CONFIG_TABLET_USB_KBTAB=m CONFIG_TABLET_USB_WACOM=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_MTOUCH=m # CONFIG_TOUCHSCREEN_INEXIO is not set CONFIG_TOUCHSCREEN_MK712=m CONFIG_TOUCHSCREEN_PENMOUNT=m CONFIG_TOUCHSCREEN_TOUCHRIGHT=m CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m 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 is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_PCSPKR=m CONFIG_INPUT_APANEL=m CONFIG_INPUT_ATLAS_BTNS=m CONFIG_INPUT_ATI_REMOTE=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m # CONFIG_INPUT_CM109 is not set CONFIG_INPUT_UINPUT=m # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=m CONFIG_SERIO_CT82C710=m CONFIG_SERIO_PARKBD=m CONFIG_SERIO_PCIPS2=m CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=m CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m CONFIG_GAMEPORT_L4=m CONFIG_GAMEPORT_EMU10K1=m CONFIG_GAMEPORT_FM801=m # # Character devices # CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y # CONFIG_VT_HW_CONSOLE_BINDING is not set CONFIG_DEVKMEM=y CONFIG_SERIAL_NONSTANDARD=y CONFIG_COMPUTONE=m CONFIG_ROCKETPORT=m CONFIG_CYCLADES=m # CONFIG_CYZ_INTR is not set CONFIG_DIGIEPCA=m CONFIG_MOXA_INTELLIO=m CONFIG_MOXA_SMARTIO=m CONFIG_ISI=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYNCLINK_GT=m CONFIG_N_HDLC=m CONFIG_RISCOM8=m CONFIG_SPECIALIX=m CONFIG_SX=m CONFIG_RIO=m CONFIG_RIO_OLDPCI=y CONFIG_STALDRV=y # CONFIG_STALLION is not set # CONFIG_ISTALLION is not set CONFIG_NOZOMI=m # # 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_NR_UARTS=32 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_JSM=m CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set CONFIG_PRINTER=m # CONFIG_LP_CONSOLE is not set CONFIG_PPDEV=m CONFIG_IPMI_HANDLER=m # CONFIG_IPMI_PANIC_EVENT is not set CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_HW_RANDOM=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m CONFIG_NVRAM=m CONFIG_R3964=m CONFIG_APPLICOM=m CONFIG_MWAVE=m CONFIG_PC8736x_GPIO=m CONFIG_NSC_GPIO=m CONFIG_RAW_DRIVER=m CONFIG_MAX_RAW_DEVS=256 CONFIG_HPET=y CONFIG_HPET_MMAP=y CONFIG_HANGCHECK_TIMER=m CONFIG_TCG_TPM=m CONFIG_TCG_TIS=m CONFIG_TCG_NSC=m CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m CONFIG_TELCLOCK=m CONFIG_DEVPORT=y CONFIG_I2C=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_ALGOBIT=m CONFIG_I2C_ALGOPCA=m # # I2C Hardware Bus support # # # PC SMBus host controller drivers # CONFIG_I2C_ALI1535=m CONFIG_I2C_ALI1563=m CONFIG_I2C_ALI15X3=m CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_I801=m CONFIG_I2C_ISCH=m CONFIG_I2C_PIIX4=m CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set CONFIG_I2C_SIS5595=m CONFIG_I2C_SIS630=m CONFIG_I2C_SIS96X=m CONFIG_I2C_VIA=m CONFIG_I2C_VIAPRO=m # # I2C system bus drivers (mostly embedded / system-on-chip) # CONFIG_I2C_OCORES=m CONFIG_I2C_SIMTEC=m # # External I2C/SMBus adapter drivers # CONFIG_I2C_PARPORT=m CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_TAOS_EVM=m CONFIG_I2C_TINY_USB=m # # Graphics adapter I2C/DDC channel drivers # CONFIG_I2C_VOODOO3=m # # Other I2C/SMBus bus drivers # CONFIG_I2C_PCA_PLATFORM=m CONFIG_I2C_STUB=m # # Miscellaneous I2C Chip support # CONFIG_DS1682=m # CONFIG_AT24 is not set CONFIG_SENSORS_EEPROM=m CONFIG_SENSORS_PCF8574=m CONFIG_PCF8575=m # CONFIG_SENSORS_PCA9539 is not set CONFIG_SENSORS_PCF8591=m CONFIG_SENSORS_MAX6875=m CONFIG_SENSORS_TSL2550=m # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set # CONFIG_SPI is not set CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y # CONFIG_GPIOLIB is not set CONFIG_W1=m CONFIG_W1_CON=y # # 1-wire Bus Masters # CONFIG_W1_MASTER_MATROX=m CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_DS2482=m # # 1-wire Slaves # CONFIG_W1_SLAVE_THERM=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_DS2433=m # CONFIG_W1_SLAVE_DS2433_CRC is not set CONFIG_W1_SLAVE_DS2760=m # CONFIG_W1_SLAVE_BQ27000 is not set CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set CONFIG_PDA_POWER=m CONFIG_BATTERY_DS2760=m # CONFIG_BATTERY_BQ27x00 is not set CONFIG_HWMON=y CONFIG_HWMON_VID=m CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ABITUGURU3=m CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADT7462=m CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7473=m CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_F71882FG=m CONFIG_SENSORS_F75375S=m CONFIG_SENSORS_FSCHER=m CONFIG_SENSORS_FSCPOS=m CONFIG_SENSORS_FSCHMD=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IT87=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM77=m CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM80=m CONFIG_SENSORS_LM83=m CONFIG_SENSORS_LM85=m CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM92=m CONFIG_SENSORS_LM93=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47B397=m CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m CONFIG_SENSORS_W83627HF=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_LIS3LV02D=m CONFIG_SENSORS_APPLESMC=m # CONFIG_HWMON_DEBUG_CHIP is not set CONFIG_THERMAL=m CONFIG_THERMAL_HWMON=y CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # # Watchdog Device Drivers # CONFIG_SOFT_WATCHDOG=m CONFIG_ACQUIRE_WDT=m CONFIG_ADVANTECH_WDT=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m CONFIG_SC520_WDT=m CONFIG_EUROTECH_WDT=m CONFIG_IB700_WDT=m CONFIG_IBMASR=m CONFIG_WAFER_WDT=m CONFIG_I6300ESB_WDT=m CONFIG_ITCO_WDT=m # CONFIG_ITCO_VENDOR_SUPPORT is not set CONFIG_IT8712F_WDT=m CONFIG_IT87_WDT=m CONFIG_HP_WATCHDOG=m CONFIG_SC1200_WDT=m CONFIG_PC87413_WDT=m CONFIG_60XX_WDT=m CONFIG_SBC8360_WDT=m CONFIG_CPU5_WDT=m CONFIG_SMSC37B787_WDT=m CONFIG_W83627HF_WDT=m CONFIG_W83697HF_WDT=m CONFIG_W83697UG_WDT=m CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m CONFIG_SBC_EPX_C3_WATCHDOG=m # # PCI-based Watchdog Cards # CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m CONFIG_WDT_501_PCI=y # # USB-based Watchdog Cards # CONFIG_USBPCWATCHDOG=m CONFIG_SSB_POSSIBLE=y # # Sonics Silicon Backplane # CONFIG_SSB=m CONFIG_SSB_SPROM=y CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y # CONFIG_SSB_B43_PCI_BRIDGE is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y # # Multifunction device drivers # # CONFIG_MFD_CORE is not set CONFIG_MFD_SM501=m CONFIG_HTC_PASIC3=m # CONFIG_MFD_TMIO is not set # CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_REGULATOR is not set # # Multimedia devices # # # Multimedia core support # # CONFIG_VIDEO_DEV is not set # CONFIG_DVB_CORE is not set # CONFIG_VIDEO_MEDIA is not set # # Multimedia drivers # # CONFIG_DAB is not set # # Graphics support # CONFIG_AGP=y CONFIG_AGP_AMD64=y CONFIG_AGP_INTEL=m CONFIG_AGP_SIS=m CONFIG_AGP_VIA=m CONFIG_DRM=m CONFIG_DRM_TDFX=m CONFIG_DRM_R128=m CONFIG_DRM_RADEON=m CONFIG_DRM_I810=m CONFIG_DRM_I830=m CONFIG_DRM_I915=m CONFIG_DRM_MGA=m CONFIG_DRM_SIS=m CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m # CONFIG_VGASTATE is not set CONFIG_VIDEO_OUTPUT_CONTROL=m # CONFIG_FB is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y # CONFIG_LCD_CLASS_DEVICE is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_CORGI is not set # CONFIG_BACKLIGHT_PROGEAR is not set # CONFIG_BACKLIGHT_MBP_NVIDIA is not set # CONFIG_BACKLIGHT_SAHARA is not set # # Display device support # CONFIG_DISPLAY_SUPPORT=m # # Display hardware drivers # # # Console display driver support # CONFIG_VGA_CONSOLE=y # CONFIG_VGACON_SOFT_SCROLLBACK is not set CONFIG_DUMMY_CONSOLE=y CONFIG_FONT_8x16=y # CONFIG_SOUND is not set CONFIG_HID_SUPPORT=y CONFIG_HID=m # CONFIG_HID_DEBUG is not set CONFIG_HIDRAW=y # # USB Input Devices # CONFIG_USB_HID=m CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y # # USB HID Boot Protocol drivers # CONFIG_USB_KBD=m CONFIG_USB_MOUSE=m # # Special HID drivers # CONFIG_HID_COMPAT=y CONFIG_HID_A4TECH=m CONFIG_HID_APPLE=m CONFIG_HID_BELKIN=m CONFIG_HID_BRIGHT=m CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CYPRESS=m CONFIG_HID_DELL=m CONFIG_HID_EZKEY=m CONFIG_HID_GYRATION=m CONFIG_HID_LOGITECH=m CONFIG_LOGITECH_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_PANTHERLORD=m CONFIG_PANTHERLORD_FF=y CONFIG_HID_PETALYNX=m CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m CONFIG_HID_SUNPLUS=m CONFIG_THRUSTMASTER_FF=m CONFIG_ZEROPLUS_FF=m 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 is not set CONFIG_USB_ANNOUNCE_NEW_DEVICES=y # # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_SUSPEND=y # CONFIG_USB_OTG is not set CONFIG_USB_MON=y # CONFIG_USB_WUSB is not set # CONFIG_USB_WUSB_CBAF is not set # # USB Host Controller Drivers # CONFIG_USB_C67X00_HCD=m CONFIG_USB_EHCI_HCD=m CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y CONFIG_USB_ISP116X_HCD=m # CONFIG_USB_ISP1760_HCD is not set CONFIG_USB_OHCI_HCD=m # CONFIG_USB_OHCI_HCD_SSB is not set # 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=m CONFIG_USB_U132_HCD=m CONFIG_USB_SL811_HCD=m CONFIG_USB_R8A66597_HCD=m # CONFIG_USB_WHCI_HCD is not set # CONFIG_USB_HWA_HCD is not set # # USB Device Class drivers # CONFIG_USB_ACM=m CONFIG_USB_PRINTER=m CONFIG_USB_WDM=m # CONFIG_USB_TMC is not set # # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; # # # see USB_STORAGE Help for more information # CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set 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=y # CONFIG_USB_LIBUSUAL is not set # # USB Imaging devices # CONFIG_USB_MDC800=m CONFIG_USB_MICROTEK=m # # USB port drivers # CONFIG_USB_USS720=m CONFIG_USB_SERIAL=m CONFIG_USB_EZUSB=y CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_AIRCABLE=m CONFIG_USB_SERIAL_ARK3116=m CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_CH341=m # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_FUNSOFT=m CONFIG_USB_SERIAL_VISOR=m CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IR=m CONFIG_USB_SERIAL_EDGEPORT=m CONFIG_USB_SERIAL_EDGEPORT_TI=m CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_IUU=m CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KEYSPAN=m CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m CONFIG_USB_SERIAL_MOTOROLA=m CONFIG_USB_SERIAL_NAVMAN=m CONFIG_USB_SERIAL_PL2303=m CONFIG_USB_SERIAL_OTI6858=m CONFIG_USB_SERIAL_SPCP8X5=m CONFIG_USB_SERIAL_HP4X=m CONFIG_USB_SERIAL_SAFE=m # CONFIG_USB_SERIAL_SAFE_PADDED is not set CONFIG_USB_SERIAL_SIERRAWIRELESS=m # CONFIG_USB_SERIAL_TI is not set CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_DEBUG=m # # USB Miscellaneous drivers # # CONFIG_USB_EMI62 is not set # CONFIG_USB_EMI26 is not set CONFIG_USB_ADUTUX=m # CONFIG_USB_SEVSEG is not set CONFIG_USB_RIO500=m CONFIG_USB_LEGOTOWER=m CONFIG_USB_LCD=m CONFIG_USB_BERRY_CHARGE=m CONFIG_USB_LED=m CONFIG_USB_CYPRESS_CY7C63=m CONFIG_USB_CYTHERM=m CONFIG_USB_PHIDGET=m CONFIG_USB_PHIDGETKIT=m CONFIG_USB_PHIDGETMOTORCONTROL=m CONFIG_USB_PHIDGETSERVO=m CONFIG_USB_IDMOUSE=m CONFIG_USB_FTDI_ELAN=m CONFIG_USB_APPLEDISPLAY=m CONFIG_USB_SISUSBVGA=m CONFIG_USB_SISUSBVGA_CON=y CONFIG_USB_LD=m CONFIG_USB_TRANCEVIBRATOR=m CONFIG_USB_IOWARRIOR=m CONFIG_USB_TEST=m CONFIG_USB_ISIGHTFW=m # CONFIG_USB_VST is not set # CONFIG_USB_GADGET is not set # CONFIG_UWB is not set # CONFIG_MMC is not set # CONFIG_MEMSTICK is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=m # # LED drivers # # CONFIG_LEDS_PCA9532 is not set # CONFIG_LEDS_HP_DISK is not set CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_PCA955X is not set # # LED Triggers # CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_IDE_DISK=y CONFIG_LEDS_TRIGGER_HEARTBEAT=m # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set CONFIG_LEDS_TRIGGER_DEFAULT_ON=m # CONFIG_ACCESSIBILITY is not set CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_USER_MEM=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_IPATH=m CONFIG_INFINIBAND_AMSO1100=m # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_MLX4_INFINIBAND=m CONFIG_INFINIBAND_NES=m # CONFIG_INFINIBAND_NES_DEBUG is not set CONFIG_INFINIBAND_IPOIB=m # CONFIG_INFINIBAND_IPOIB_CM is not set CONFIG_INFINIBAND_IPOIB_DEBUG=y # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_ISER=m CONFIG_EDAC=y # # Reporting subsystems # # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_E752X=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_I3000=m CONFIG_EDAC_X38=m CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set # CONFIG_RTC_DRV_TEST is not set # # I2C RTC drivers # CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1374=m CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_MAX6900=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_X1205=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_M41T80=m # CONFIG_RTC_DRV_M41T80_WDT is not set CONFIG_RTC_DRV_S35390A=m CONFIG_RTC_DRV_FM3130=m # CONFIG_RTC_DRV_RX8581 is not set # # SPI RTC drivers # # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1286=m CONFIG_RTC_DRV_DS1511=m CONFIG_RTC_DRV_DS1553=m CONFIG_RTC_DRV_DS1742=m CONFIG_RTC_DRV_STK17TA8=m CONFIG_RTC_DRV_M48T86=m CONFIG_RTC_DRV_M48T35=m CONFIG_RTC_DRV_M48T59=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_V3020=m # # on-CPU RTC drivers # CONFIG_DMADEVICES=y # # DMA Devices # CONFIG_INTEL_IOATDMA=m CONFIG_DMA_ENGINE=y # # DMA Clients # CONFIG_NET_DMA=y # CONFIG_DMATEST is not set CONFIG_DCA=m # CONFIG_AUXDISPLAY is not set # CONFIG_UIO is not set # CONFIG_STAGING is not set # # Firmware Drivers # CONFIG_EDD=m # CONFIG_EDD_OFF is not set CONFIG_FIRMWARE_MEMMAP=y # CONFIG_DELL_RBU is not set # CONFIG_DCDBAS is not set CONFIG_DMIID=y CONFIG_ISCSI_IBFT_FIND=y CONFIG_ISCSI_IBFT=y # # File systems # CONFIG_EXT2_FS=m CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y # CONFIG_EXT2_FS_XIP is not set CONFIG_EXT3_FS=m CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y CONFIG_EXT4_FS=m # CONFIG_EXT4DEV_COMPAT is not set CONFIG_EXT4_FS_XATTR=y # CONFIG_EXT4_FS_POSIX_ACL is not set # CONFIG_EXT4_FS_SECURITY is not set CONFIG_JBD=m # CONFIG_JBD_DEBUG is not set CONFIG_JBD2=m # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=m # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y CONFIG_FILE_LOCKING=y CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_RT=y # CONFIG_XFS_DEBUG is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set CONFIG_DNOTIFY=y CONFIG_INOTIFY=y CONFIG_INOTIFY_USER=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y CONFIG_PRINT_QUOTA_WARNING=y CONFIG_QFMT_V1=m CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y # CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS4_FS is not set CONFIG_FUSE_FS=m CONFIG_GENERIC_ACL=y # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="utf8" CONFIG_NTFS_FS=m # CONFIG_NTFS_DEBUG is not set CONFIG_NTFS_RW=y # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=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=m # # Miscellaneous filesystems # # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set CONFIG_ECRYPT_FS=m # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set CONFIG_CRAMFS=m # CONFIG_VXFS_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_OMFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_ROMFS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_XPRT_RDMA=m # CONFIG_SUNRPC_REGISTER_V4 is not set CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y CONFIG_ACORN_PARTITION=y # CONFIG_ACORN_PARTITION_CUMANA is not set # CONFIG_ACORN_PARTITION_EESOX is not set CONFIG_ACORN_PARTITION_ICS=y # CONFIG_ACORN_PARTITION_ADFS is not set # CONFIG_ACORN_PARTITION_POWERTEC is not set 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 is not set CONFIG_SGI_PARTITION=y CONFIG_ULTRIX_PARTITION=y CONFIG_SUN_PARTITION=y CONFIG_KARMA_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_SYSV68_PARTITION is not set CONFIG_NLS=m CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_CODEPAGE_855=m CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m CONFIG_NLS_CODEPAGE_862=m CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m CONFIG_NLS_ISO8859_7=m CONFIG_NLS_ISO8859_9=m CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_NLS_UTF8=m CONFIG_DLM=m 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=2048 CONFIG_MAGIC_SYSRQ=y CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SHIRQ is not set CONFIG_DETECT_SOFTLOCKUP=y # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_SCHED_DEBUG=y # CONFIG_SCHEDSTATS is not set CONFIG_TIMER_STATS=y # CONFIG_DEBUG_OBJECTS is not set # CONFIG_SLUB_DEBUG_ON is not set # CONFIG_SLUB_STATS is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_MUTEXES is not set # CONFIG_DEBUG_LOCK_ALLOC is not set # CONFIG_PROVE_LOCKING is not set # CONFIG_LOCK_STAT is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_VIRTUAL is not set # CONFIG_DEBUG_WRITECOUNT is not set CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_FRAME_POINTER is not set # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y # # Tracers # # CONFIG_FUNCTION_TRACER is not set # CONFIG_IRQSOFF_TRACER is not set # CONFIG_SYSPROF_TRACER is not set # CONFIG_SCHED_TRACER is not set # CONFIG_CONTEXT_SWITCH_TRACER is not set # CONFIG_BOOT_TRACER is not set # CONFIG_STACK_TRACER is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_DYNAMIC_PRINTK_DEBUG is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set CONFIG_STRICT_DEVMEM=y CONFIG_X86_VERBOSE_BOOTUP=y CONFIG_EARLY_PRINTK=y # CONFIG_EARLY_PRINTK_DBGP is not set # CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_PER_CPU_MAPS is not set # CONFIG_X86_PTDUMP is not set # CONFIG_DEBUG_RODATA is not set # CONFIG_DIRECT_GBPAGES is not set # CONFIG_DEBUG_NX_TEST is not set # CONFIG_IOMMU_DEBUG is not set # CONFIG_MMIOTRACE is not set 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 is not set # CONFIG_CPA_DEBUG is not set # CONFIG_OPTIMIZE_INLINING is not set # # Security options # CONFIG_KEYS=y # CONFIG_KEYS_DEBUG_PROC_KEYS is not set CONFIG_SECURITY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_FILE_CAPABILITIES=y # CONFIG_SECURITY_ROOTPLUG is not set CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 # CONFIG_SECURITY_SELINUX is not set CONFIG_XOR_BLOCKS=m CONFIG_ASYNC_CORE=m CONFIG_ASYNC_MEMCPY=m CONFIG_ASYNC_XOR=m CONFIG_CRYPTO=y # # Crypto core or helper # CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=m CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=m CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=m CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_GF128MUL=m CONFIG_CRYPTO_NULL=m # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m # # Authenticated Encryption with Associated Data # CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_SEQIV=m # # Block modes # CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_CTR=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m # # Hash modes # CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m # # Digest # CONFIG_CRYPTO_CRC32C=m # CONFIG_CRYPTO_CRC32C_INTEL is not set CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m CONFIG_CRYPTO_RMD128=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RMD256=m CONFIG_CRYPTO_RMD320=m CONFIG_CRYPTO_SHA1=m CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m # # Ciphers # CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_AES_X86_64=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SALSA20=m CONFIG_CRYPTO_SALSA20_X86_64=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_TWOFISH_COMMON=m CONFIG_CRYPTO_TWOFISH_X86_64=m # # Compression # CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_LZO=m # # Random Number Generation # CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_HAVE_KVM=y CONFIG_VIRTUALIZATION=y # CONFIG_KVM is not set # CONFIG_VIRTIO_PCI is not set # CONFIG_VIRTIO_BALLOON is not set # # Library routines # CONFIG_BITREVERSE=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_FIND_NEXT_BIT=y CONFIG_CRC_CCITT=m CONFIG_CRC16=m CONFIG_CRC_T10DIF=m CONFIG_CRC_ITU_T=m CONFIG_CRC32=y CONFIG_CRC7=m CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=m CONFIG_ZLIB_DEFLATE=m CONFIG_LZO_COMPRESS=m CONFIG_LZO_DECOMPRESS=m CONFIG_GENERIC_ALLOCATOR=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_CHECK_SIGNATURE=y ------=_Part_68991_677466273.1249445116816-- From sandeen@sandeen.net Tue Aug 4 23:14:41 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n754EfRD214768 for ; Tue, 4 Aug 2009 23:14:41 -0500 X-ASG-Debug-ID: 1249445731-47fb01840000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2C3DB1454A90 for ; Tue, 4 Aug 2009 21:15:31 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 1dDZtJSLgUgeA6sV for ; Tue, 04 Aug 2009 21:15:31 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 1A123A9DAA6; Tue, 4 Aug 2009 23:15:31 -0500 (CDT) Message-ID: <4A790762.3010207@sandeen.net> Date: Tue, 04 Aug 2009 23:15:30 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Ramon de Carvalho Valle CC: Christoph Hellwig , xfs@oss.sgi.com, hch@lst.de, linux-kernel@vger.kernel.org, mszeredi@novell.com X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Subject: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> <1249411898.7576.19.camel@logos> <4A7887CE.2060300@sandeen.net> <1249444550.7372.23.camel@logos> In-Reply-To: <1249444550.7372.23.camel@logos> 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: 1249445732 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.2.5321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Ramon de Carvalho Valle wrote: > On Tue, 2009-08-04 at 14:11 -0500, Eric Sandeen wrote: >> Ramon de Carvalho Valle wrote: >>> The xfs_iformat function does not check if the realtime device target pointer >>> is valid when the XFS_DIFLAG_REALTIME flag is set on the ondisk inode >>> structure. >>> >>> Signed-off-by: Christoph Hellwig >>> Signed-off-by: Ramon de Carvalho Valle >>> Cc: stable >>> --- >>> fs/xfs/xfs_inode.c | 23 +++++++++++++++++------ >>> 1 files changed, 17 insertions(+), 6 deletions(-) >>> >>> diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c >>> index 1f22d65..37d3ee5 100644 >>> --- a/fs/xfs/xfs_inode.c >>> +++ b/fs/xfs/xfs_inode.c >>> @@ -343,13 +343,24 @@ xfs_iformat( >>> return XFS_ERROR(EFSCORRUPTED); >>> } >>> >>> + if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && >>> + !ip->i_mount->m_rtdev_targp)) { >>> + xfs_fs_repair_cmn_err(CE_WARN, ip->i_mount, >>> + "corrupt dinode %Lu, flags = 0x%x.", >>> + (unsigned long long)ip->i_ino, >>> + ip->i_d.di_flags); >>> + XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, >>> + ip->i_mount, dip); >> I think I'd rather not change all the corruption text tag ordering; >> it'll make it harder to track down any common occurrences of >> "xfs_iformat(X)" corruption in the future if they get renumbered now. >> >> I'd either make this xfs_iformat(2.1) ;) or just leave it as Christoph >> had. "realtime" is a lot more informative than "3" anyway. > > I don't think this is a bad decision, because the corruption errors can > be easily identified by the output of xfs_fs_repair_cmn_err and the > source line. I think this is a reasonable change that will keep the code > clean and consistent. Until you wind up looking at a problem from some old kernel, or modified vendor kernel, and you realize that now you really don't know which error "xfs_iformat(6)" is anymore, and you either have to go digging through trees that aren't handy, or you just give up and don't bother to help because now it's too much of a pain. ;) But I can leave it up to the folks @ sgi, I can see both sides of the argument, and I won't care too much either way. Thanks, -Eric > -Ramon > >> -Eric From sandeen@sandeen.net Tue Aug 4 23:26:01 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n754Q1TZ215417 for ; Tue, 4 Aug 2009 23:26:01 -0500 X-ASG-Debug-ID: 1249446410-58fd023d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 457C23A732E for ; Tue, 4 Aug 2009 21:26:50 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id ZVH0PA4ppqU0flHe for ; Tue, 04 Aug 2009 21:26:50 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 9C2DCA9C9A1; Tue, 4 Aug 2009 23:26:49 -0500 (CDT) Message-ID: <4A790A09.8050502@sandeen.net> Date: Tue, 04 Aug 2009 23:26:49 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Chris Samuel CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: XFS filesystem shutting down on linux 2.6.28.10 (xfs_rename) Subject: Re: XFS filesystem shutting down on linux 2.6.28.10 (xfs_rename) References: <1367391532.793061249444829356.JavaMail.root@mail.vpac.org> In-Reply-To: <1367391532.793061249444829356.JavaMail.root@mail.vpac.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1249446411 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.2.5323 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Chris Samuel wrote: > Hi folks, > > I believe we've been hitting the same issue that > Gabriel Barazer reported in 2.6.28.9 on the 22nd > of July on our NFS server for our HPC Linux clusters. ... > This kernel is built with XFS as a kernel module so I've > been able to attach the objdump output that Eric Sandeen > had originally requested from Gabriel. I'll take a look. The reason for the objdump was to try to work out where in xfs_rename we were erroring out, but in your case: xfs_rename+0x5ac/0x5af I guess it's the trans_cancel at the very end of the function on the goto : error cases. Is there any chance you could instrument xfs_rename so that for every goto abort_return and goto error_return you add a printk so we know which one you hit? Maybe something like: printk("line %s error %d\n", __LINE__, error); just before each goto, with appropriate braces {} sprinkled in as necessary? I can send a patch if that helps. Sorry for the brute-force debugging but not at all sure yet what this may be. Thanks, -Eric > Like Gabriel we're stuck on 2.6.28.x as the last working > NFS exporting XFS kernel due to kernel bug #13375 (the > radix bug), so I hope this helps! > > cheers, > Chris > > > ------------------------------------------------------------------------ > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From csamuel@vpac.org Tue Aug 4 23:32:03 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n754W25j215766 for ; Tue, 4 Aug 2009 23:32:03 -0500 X-ASG-Debug-ID: 1249446772-480001e50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.vpac.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5F6F913A9F1B for ; Tue, 4 Aug 2009 21:32:52 -0700 (PDT) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by cuda.sgi.com with ESMTP id iqgNeoADYEVqJe63 for ; Tue, 04 Aug 2009 21:32:52 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.vpac.org (Postfix) with ESMTP id CC62346D010F; Wed, 5 Aug 2009 14:32:51 +1000 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at mail.vpac.org Received: from mail.vpac.org ([127.0.0.1]) by localhost (mail.vpac.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8lPS0GGYPySS; Wed, 5 Aug 2009 14:32:48 +1000 (EST) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by mail.vpac.org (Postfix) with ESMTP id 46AC246D010E; Wed, 5 Aug 2009 14:32:48 +1000 (EST) Date: Wed, 5 Aug 2009 14:32:44 +1000 (EST) From: Chris Samuel To: Eric Sandeen Cc: xfs@oss.sgi.com Message-ID: <1485133780.793941249446764456.JavaMail.root@mail.vpac.org> In-Reply-To: <4A790A09.8050502@sandeen.net> X-ASG-Orig-Subj: Re: XFS filesystem shutting down on linux 2.6.28.10 (xfs_rename) Subject: Re: XFS filesystem shutting down on linux 2.6.28.10 (xfs_rename) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.31.4.22] X-Mailer: Zimbra 5.0.11_GA_2695.RHEL5_64 (ZimbraWebClient - FF3.0 (Linux)/5.0.11_GA_2695.RHEL5_64) X-Barracuda-Connect: mail.vpac.org[202.158.218.6] X-Barracuda-Start-Time: 1249446773 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0002 1.0000 -2.0195 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.2.5323 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ----- "Eric Sandeen" wrote: Hi Eric, Thanks for the speedy response! > I'll take a look. [...] Thanks for that. > Is there any chance you could instrument xfs_rename so that for every > goto abort_return and goto error_return you add a printk so we know > which one you hit? Happy to do that, though we won't be able to reboot into it until another crash fails (the impact on the HPC jobs is too large I'm afraid :-( ). > Maybe something like: > > printk("line %s error %d\n", __LINE__, error); > > just before each goto, with appropriate braces {} sprinkled in as > necessary? > > I can send a patch if that helps. If you could that would be great, we'd really appreciate it (I'm about to disappear into an afternoon of meetings now). > Sorry for the brute-force debugging but not at all sure > yet what this may be. No worries, quite understand! All the best, Chris -- Christopher Samuel - (03) 9925 4751 - Systems Manager The Victorian Partnership for Advanced Computing P.O. Box 201, Carlton South, VIC 3053, Australia VPAC is a not-for-profit Registered Research Agency From ramon@risesecurity.org Wed Aug 5 08:19:49 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n75DJmic245515 for ; Wed, 5 Aug 2009 08:19:49 -0500 X-ASG-Debug-ID: 1249479004-594202cd0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx.ugf.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0D8A4AF9913 for ; Wed, 5 Aug 2009 06:30:04 -0700 (PDT) Received: from mx.ugf.br (mx.ugf.br [200.222.48.3]) by cuda.sgi.com with ESMTP id wwGdiMGr41OhofGF for ; Wed, 05 Aug 2009 06:30:04 -0700 (PDT) Received: (qmail 6843 invoked by uid 89); 5 Aug 2009 13:20:35 -0000 Received: from unknown (HELO ?10.10.253.1?) (10.10.253.1) by mx.ugf.br with SMTP; 5 Aug 2009 13:20:35 -0000 X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Subject: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check From: Ramon de Carvalho Valle To: Eric Sandeen Cc: Christoph Hellwig , xfs@oss.sgi.com, hch@lst.de, linux-kernel@vger.kernel.org, mszeredi@novell.com In-Reply-To: <4A790762.3010207@sandeen.net> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> <1249411898.7576.19.camel@logos> <4A7887CE.2060300@sandeen.net> <1249444550.7372.23.camel@logos> <4A790762.3010207@sandeen.net> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-eGupLCjjG8bKSXdvQf7+" Date: Wed, 05 Aug 2009 10:21:26 -0300 Message-Id: <1249478486.7725.9.camel@logos> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-Barracuda-Connect: mx.ugf.br[200.222.48.3] X-Barracuda-Start-Time: 1249479007 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.2.5357 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-eGupLCjjG8bKSXdvQf7+ Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Tue, 2009-08-04 at 23:15 -0500, Eric Sandeen wrote: > Ramon de Carvalho Valle wrote: > > On Tue, 2009-08-04 at 14:11 -0500, Eric Sandeen wrote: > >> Ramon de Carvalho Valle wrote: > >>> The xfs_iformat function does not check if the realtime device target= pointer > >>> is valid when the XFS_DIFLAG_REALTIME flag is set on the ondisk inode > >>> structure. > >>> > >>> Signed-off-by: Christoph Hellwig > >>> Signed-off-by: Ramon de Carvalho Valle > >>> Cc: stable > >>> --- > >>> fs/xfs/xfs_inode.c | 23 +++++++++++++++++------ > >>> 1 files changed, 17 insertions(+), 6 deletions(-) > >>> > >>> diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > >>> index 1f22d65..37d3ee5 100644 > >>> --- a/fs/xfs/xfs_inode.c > >>> +++ b/fs/xfs/xfs_inode.c > >>> @@ -343,13 +343,24 @@ xfs_iformat( > >>> return XFS_ERROR(EFSCORRUPTED); > >>> } > >>> =20 > >>> + if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && > >>> + !ip->i_mount->m_rtdev_targp)) { > >>> + xfs_fs_repair_cmn_err(CE_WARN, ip->i_mount, > >>> + "corrupt dinode %Lu, flags =3D 0x%x.", > >>> + (unsigned long long)ip->i_ino, > >>> + ip->i_d.di_flags); > >>> + XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, > >>> + ip->i_mount, dip); > >> I think I'd rather not change all the corruption text tag ordering; > >> it'll make it harder to track down any common occurrences of > >> "xfs_iformat(X)" corruption in the future if they get renumbered now. > >> > >> I'd either make this xfs_iformat(2.1) ;) or just leave it as Christoph > >> had. "realtime" is a lot more informative than "3" anyway. > >=20 > > I don't think this is a bad decision, because the corruption errors can > > be easily identified by the output of xfs_fs_repair_cmn_err and the > > source line. I think this is a reasonable change that will keep the cod= e > > clean and consistent. >=20 > Until you wind up looking at a problem from some old kernel, or modified > vendor kernel, and you realize that now you really don't know which > error "xfs_iformat(6)" is anymore, and you either have to go digging > through trees that aren't handy, or you just give up and don't bother to > help because now it's too much of a pain. ;) >=20 > But I can leave it up to the folks @ sgi, I can see both sides of the > argument, and I won't care too much either way. Yes, whatever they decide should be ok. Thanks for your feedback Eric. -Ramon >=20 > Thanks, > -Eric >=20 > > -Ramon > >=20 > >> -Eric >=20 >=20 --=-eGupLCjjG8bKSXdvQf7+ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkp5h1MACgkQGIS0iEuhp4PkPQCeNz6PGoKQQLEGheuHGjo03ayM MJYAnAmZcitfm1B+5IPpHFGQqxEtvEkO =4xfc -----END PGP SIGNATURE----- --=-eGupLCjjG8bKSXdvQf7+-- From BATV+6672430cac66792a13c2+2173+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 5 10:17:10 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n75FH46A250985 for ; Wed, 5 Aug 2009 10:17:10 -0500 X-ASG-Debug-ID: 1249485475-613a02bc0000-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 0327C1458AEF for ; Wed, 5 Aug 2009 08:17:55 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id oHCxcAp98DBZOaFI for ; Wed, 05 Aug 2009 08:17:55 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MYiFS-0004qa-O8; Wed, 05 Aug 2009 15:17:50 +0000 Date: Wed, 5 Aug 2009 11:17:50 -0400 From: Christoph Hellwig To: Ramon de Carvalho Valle Cc: Eric Sandeen , Christoph Hellwig , linux-kernel@vger.kernel.org, mszeredi@novell.com, hch@lst.de, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Subject: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Message-ID: <20090805151750.GA16080@infradead.org> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> <1249411898.7576.19.camel@logos> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1249411898.7576.19.camel@logos> 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: 1249485476 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Tue, Aug 04, 2009 at 03:51:38PM -0300, Ramon de Carvalho Valle wrote: > The xfs_iformat function does not check if the realtime device target pointer > is valid when the XFS_DIFLAG_REALTIME flag is set on the ondisk inode > structure. Same as Eric I don't think there's much of a point renumbering the error cases. Instead I'll do another patch with a couple of cleanups in this function replacing all the numbers with short alphabetic tags. I don't really see the point of printing the flags either, if we have this bit flipped it's pretty clear that we had random corruption of this dinode. From ramon@risesecurity.org Wed Aug 5 11:33:16 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n75GXFH6255106 for ; Wed, 5 Aug 2009 11:33:15 -0500 X-ASG-Debug-ID: 1249490045-58e7000f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx.ugf.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 538831458CCC for ; Wed, 5 Aug 2009 09:34:05 -0700 (PDT) Received: from mx.ugf.br (mx.ugf.br [200.222.48.3]) by cuda.sgi.com with ESMTP id HN9Gg761ZUa3Y1B1 for ; Wed, 05 Aug 2009 09:34:05 -0700 (PDT) Received: (qmail 28650 invoked by uid 89); 5 Aug 2009 16:34:04 -0000 Received: from unknown (HELO ?10.10.253.1?) (10.10.253.1) by mx.ugf.br with SMTP; 5 Aug 2009 16:34:04 -0000 X-ASG-Orig-Subj: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Subject: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check From: Ramon de Carvalho Valle To: Christoph Hellwig Cc: Eric Sandeen , linux-kernel@vger.kernel.org, mszeredi@novell.com, hch@lst.de, xfs@oss.sgi.com In-Reply-To: <20090805151750.GA16080@infradead.org> References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> <1249411898.7576.19.camel@logos> <20090805151750.GA16080@infradead.org> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-xqidu5ctlIFo7+IpVFyG" Date: Wed, 05 Aug 2009 13:34:02 -0300 Message-Id: <1249490042.7725.16.camel@logos> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-Barracuda-Connect: mx.ugf.br[200.222.48.3] X-Barracuda-Start-Time: 1249490046 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.2.5370 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --=-xqidu5ctlIFo7+IpVFyG Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Wed, 2009-08-05 at 11:17 -0400, Christoph Hellwig wrote: > On Tue, Aug 04, 2009 at 03:51:38PM -0300, Ramon de Carvalho Valle wrote: > > The xfs_iformat function does not check if the realtime device target p= ointer > > is valid when the XFS_DIFLAG_REALTIME flag is set on the ondisk inode > > structure. >=20 > Same as Eric I don't think there's much of a point renumbering the error > cases. Instead I'll do another patch with a couple of cleanups in this > function replacing all the numbers with short alphabetic tags. Great. Thanks. >=20 > I don't really see the point of printing the flags either, if we have > this bit flipped it's pretty clear that we had random corruption of this > dinode. >=20 Printing the flags is just for debugging purposes and it keeps the code consistent with the other calls to xfs_fs_repair_cmn_err. -Ramon --=-xqidu5ctlIFo7+IpVFyG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkp5tHcACgkQGIS0iEuhp4O3PQCeP/9dDXY3tVUkWpuijgipepol B5UAoJ7U1BRRR/vDmVy/0RUO8n7YItMF =g7j/ -----END PGP SIGNATURE----- --=-xqidu5ctlIFo7+IpVFyG-- From apache@edguider.com Wed Aug 5 14:51:37 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n75Jpakq003566 for ; Wed, 5 Aug 2009 14:51:37 -0500 X-ASG-Debug-ID: 1249501945-2570001f0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from www.edguider.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 028F11459F43 for ; Wed, 5 Aug 2009 12:52:26 -0700 (PDT) Received: from www.edguider.com ([201.218.196.213]) by cuda.sgi.com with ESMTP id gvk0qIn6LD0FuuC4 for ; Wed, 05 Aug 2009 12:52:26 -0700 (PDT) Received: from www.edguider.com (localhost [127.0.0.1]) by www.edguider.com (8.13.6/8.13.6) with ESMTP id n75IvCEd022450 for ; Wed, 5 Aug 2009 13:57:13 -0500 Received: (from apache@localhost) by www.edguider.com (8.13.6/8.13.6/Submit) id n75IvCiL022449; Wed, 5 Aug 2009 13:57:12 -0500 Date: Wed, 5 Aug 2009 13:57:12 -0500 Message-Id: <200908051857.n75IvCiL022449@www.edguider.com> To: linux-xfs@oss.sgi.com X-ASG-Orig-Subj: A recommendation from Mary Belle Subject: A recommendation from Mary Belle From: zmak00@gmail.com X-Barracuda-Connect: UNKNOWN[201.218.196.213] X-Barracuda-Start-Time: 1249501947 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0940 1.0000 -1.4290 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.83 X-Barracuda-Spam-Status: No, SCORE=-0.83 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC5_MJ1963, MAILTO_TO_SPAM_ADDR, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5384 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hello, I would like to share with you a life changing internet business where you can live a life that most people dream about... earn an unlimited income,travel the world, work from anywhere and spend time with family. If you are interested and looking for the kind of business that offers life-changing income opportunities, you\'ve got to check this out. Don’t wait another second click here!! http://otour2.com-link.us?sponsor=rpa_3&email=linux-xfs@oss.sgi.com Sincerely, Mary Belle zmak00@gmail.com 1328 E Canon Perdido St Santa Barbara California 93101 USA Removal link: Click Below to unsubscribed http://ounsub2.com-link.us?sponsor=rpa_3&email=linux-xfs@oss.sgi.com . Click below to view the webpage that your friend has recommended: Mary Belle has used the Shape5.com Tell-a-Friend form to send you this link. We look forward to your visit! From felixb@sgi.com Wed Aug 5 16:52:53 2009 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 relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n75LqqEX009896 for ; Wed, 5 Aug 2009 16:52:52 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2CD738F8144 for ; Wed, 5 Aug 2009 14:53:41 -0700 (PDT) Received: from eagdhcp-232-158.americas.sgi.com (eagdhcp-232-158.americas.sgi.com [128.162.232.158]) by estes.americas.sgi.com (Postfix) with ESMTP id 1032470001C8; Wed, 5 Aug 2009 16:53:41 -0500 (CDT) Cc: Ramon de Carvalho Valle , Christoph Hellwig , xfs mailing list , Christoph Hellwig , Linux Kernel Mailing List , mszeredi@novell.com Message-Id: <041FE945-8CBD-476C-83CD-E57748251711@sgi.com> From: Felix Blyakher To: Eric Sandeen In-Reply-To: <4A790762.3010207@sandeen.net> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [PATCH 1/1] XFS: xfs_iformat realtime device target pointer check Date: Wed, 5 Aug 2009 16:53:40 -0500 References: <1249329808.7686.26.camel@logos> <20090803214929.GB3167@infradead.org> <1249351241.7513.18.camel@logos> <4A786110.8090404@sandeen.net> <1249411898.7576.19.camel@logos> <4A7887CE.2060300@sandeen.net> <1249444550.7372.23.camel@logos> <4A790762.3010207@sandeen.net> X-Mailer: Apple Mail (2.926) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Aug 4, 2009, at 11:15 PM, Eric Sandeen wrote: > Ramon de Carvalho Valle wrote: >> On Tue, 2009-08-04 at 14:11 -0500, Eric Sandeen wrote: >>> Ramon de Carvalho Valle wrote: >>>> The xfs_iformat function does not check if the realtime device >>>> target pointer >>>> is valid when the XFS_DIFLAG_REALTIME flag is set on the ondisk >>>> inode >>>> structure. >>>> >>>> Signed-off-by: Christoph Hellwig >>>> Signed-off-by: Ramon de Carvalho Valle >>>> Cc: stable >>>> --- >>>> fs/xfs/xfs_inode.c | 23 +++++++++++++++++------ >>>> 1 files changed, 17 insertions(+), 6 deletions(-) >>>> >>>> diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c >>>> index 1f22d65..37d3ee5 100644 >>>> --- a/fs/xfs/xfs_inode.c >>>> +++ b/fs/xfs/xfs_inode.c >>>> @@ -343,13 +343,24 @@ xfs_iformat( >>>> return XFS_ERROR(EFSCORRUPTED); >>>> } >>>> >>>> + if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && >>>> + !ip->i_mount->m_rtdev_targp)) { >>>> + xfs_fs_repair_cmn_err(CE_WARN, ip->i_mount, >>>> + "corrupt dinode %Lu, flags = 0x%x.", >>>> + (unsigned long long)ip->i_ino, >>>> + ip->i_d.di_flags); >>>> + XFS_CORRUPTION_ERROR("xfs_iformat(3)", XFS_ERRLEVEL_LOW, >>>> + ip->i_mount, dip); >>> I think I'd rather not change all the corruption text tag ordering; >>> it'll make it harder to track down any common occurrences of >>> "xfs_iformat(X)" corruption in the future if they get renumbered >>> now. >>> >>> I'd either make this xfs_iformat(2.1) ;) or just leave it as >>> Christoph >>> had. "realtime" is a lot more informative than "3" anyway. >> >> I don't think this is a bad decision, because the corruption errors >> can >> be easily identified by the output of xfs_fs_repair_cmn_err and the >> source line. I think this is a reasonable change that will keep the >> code >> clean and consistent. > > Until you wind up looking at a problem from some old kernel, or > modified > vendor kernel, and you realize that now you really don't know which > error "xfs_iformat(6)" is anymore, and you either have to go digging > through trees that aren't handy, or you just give up and don't > bother to > help because now it's too much of a pain. ;) > > But I can leave it up to the folks @ sgi, I can see both sides of the > argument, and I won't care too much either way. Agree with Eric, see the benefits of both approaches, but I think, it'll be cleaner without shifting the numbering of all messages. Otherwise, looks good. Felix > > > Thanks, > -Eric > >> -Ramon >> >>> -Eric > > > -- > To unsubscribe from this list: send the line "unsubscribe linux- > kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ From sgi-linux-xfs@gmane.org Wed Aug 5 18:07:18 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n75N7HRt013199 for ; Wed, 5 Aug 2009 18:07:18 -0500 X-ASG-Debug-ID: 1249513687-6c3300520000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ciao.gmane.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A39F33AAE1A for ; Wed, 5 Aug 2009 16:08:07 -0700 (PDT) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by cuda.sgi.com with ESMTP id Zk4laLYo7e5Yyta7 for ; Wed, 05 Aug 2009 16:08:07 -0700 (PDT) Received: from list by ciao.gmane.org with local (Exim 4.43) id 1MYpaT-00085P-Lp for linux-xfs@oss.sgi.com; Wed, 05 Aug 2009 23:08:01 +0000 Received: from adsl-71-147-53-109.dsl.emhril.sbcglobal.net ([71.147.53.109]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 05 Aug 2009 23:08:01 +0000 Received: from kononov by adsl-71-147-53-109.dsl.emhril.sbcglobal.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 05 Aug 2009 23:08:01 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: linux-xfs@oss.sgi.com From: Roman Kononov X-ASG-Orig-Subj: Re: failed assertion related to realtime section Subject: Re: failed assertion related to realtime section Date: Wed, 05 Aug 2009 18:07:50 -0500 Lines: 13 Message-ID: <4A7A10C6.8030504@ftml.net> References: <4A790380.7060805@sandeen.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: adsl-71-147-53-109.dsl.emhril.sbcglobal.net User-Agent: Thunderbird 2.0.0.22 (X11/20090608) In-Reply-To: <4A790380.7060805@sandeen.net> Sender: news X-Barracuda-Connect: main.gmane.org[80.91.229.2] X-Barracuda-Start-Time: 1249513688 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.2.5396 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Eric Sandeen wrote: > While realtime should probably work and not oops (!) I'm curious what > your use-case for realtime is? In my setup I need mostly sequential read/write access to a number of huge files (>1GB) as well as small ones. My 16-disk system, providing 1GB/s of sequential access data rate, chokes when file fragments are smaller than ~32MB. Using 32MB extents of the regular data section helps, but fragmentation still develops. I hope (maybe I am wrong) that the realtime section with its fixed extents eliminates the fragmentation issue. Roman From sgi-linux-xfs@gmane.org Wed Aug 5 18:21:04 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n75NL3bk013834 for ; Wed, 5 Aug 2009 18:21:04 -0500 X-ASG-Debug-ID: 1249515082-656c02830000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ciao.gmane.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C601612AFF4E for ; Wed, 5 Aug 2009 16:31:23 -0700 (PDT) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by cuda.sgi.com with ESMTP id zz1OgWFkmaypDEGr for ; Wed, 05 Aug 2009 16:31:23 -0700 (PDT) Received: from list by ciao.gmane.org with local (Exim 4.43) id 1MYpnp-00007J-Gg for linux-xfs@oss.sgi.com; Wed, 05 Aug 2009 23:21:49 +0000 Received: from adsl-71-147-53-109.dsl.emhril.sbcglobal.net ([71.147.53.109]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 05 Aug 2009 23:21:49 +0000 Received: from kononov by adsl-71-147-53-109.dsl.emhril.sbcglobal.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 05 Aug 2009 23:21:49 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: linux-xfs@oss.sgi.com From: Roman Kononov X-ASG-Orig-Subj: Re: failed assertion related to realtime section Subject: Re: failed assertion related to realtime section Date: Wed, 05 Aug 2009 18:21:37 -0500 Lines: 70 Message-ID: <4A7A1401.7030100@ftml.net> References: <4A5E7109.7000808@ftml.net> <4A78A260.1040501@ftml.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org Cc: Roman Kononov X-Gmane-NNTP-Posting-Host: adsl-71-147-53-109.dsl.emhril.sbcglobal.net User-Agent: Thunderbird 2.0.0.22 (X11/20090608) In-Reply-To: Sender: news X-Barracuda-Connect: main.gmane.org[80.91.229.2] X-Barracuda-Start-Time: 1249515084 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.2.5396 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Olaf Weber wrote: > Roman Kononov writes: > >> On 2009-07-16 05:02, Olaf Weber wrote: >>> A quick test on an available system >>> running a (much) older kernel runs to completion, so this appears to >>> be a regression. > >> With which kernel version did you run the test? > > Heavily-patched 2.6.16, which is what I had readily available at that > point. But most or all of those patches + additional changes should > be in current XFS. > >>> Figuring out exactly when/where this regressed will take time. > >> I went back to 2.6.23 and the same assfail happened with somewhat >> different call trace: > >> Assertion failed: xfs_trans_get_block_res(tp) > 0, file: >> /home/rk/linux-2.6.23/fs/xfs/xfs_bmap.c, line: 5523 > >> Call Trace: >> [] xfs_bunmapi+0x8e8/0x1060 >> [] dequeue_entity+0x7a/0xb0 >> [] xfs_itruncate_finish+0x398/0x5c0 >> [] xfs_free_eofblocks+0x263/0x2b0 >> [] xfs_release+0x118/0x1e0 >> [] xfs_file_release+0x1a/0x30 >> [] __fput+0xcd/0x1e0 >> [] filp_close+0x54/0x90 >> [] sys_close+0x9d/0x110 >> [] system_call+0x7e/0x83 > >> I tried to go back to 2.6.22.19 and older, and the test did not run at >> all failing to mount: > >> XFS: bad version >> XFS: SB validate failed > >> Any suggestions? > > For that I had the advantage of being able to just build a fresh XFS > filesystem for the purpose. If that is what you're doing as well, > look at disabling the lazy-counters option at mkfs time. > I removed lazy-counters as you suggested, and under 2.6.22.19 it mounts successfully. But still crushes in the same place: Assertion failed: ((tp)->t_blk_res) > 0, file: /home/rk/xbase/linux/linux-2.6.22.19/fs/xfs/xfs_bmap.c, line: 5515 Call Trace: [] xfs_bunmapi+0x8e6/0x1050 [] __switch_to+0x42/0x310 [] xfs_itruncate_finish+0x398/0x5c0 [] xfs_inactive_free_eofblocks+0x221/0x260 [] cache_free_debugcheck+0xc7/0x1d0 [] xfs_release+0xc7/0x110 [] xfs_file_release+0x1a/0x30 [] __fput+0xcd/0x1e0 [] filp_close+0x54/0x90 [] sys_close+0x9d/0x110 [] system_call+0x7e/0x83 I will try older versions. From sgi-linux-xfs@gmane.org Wed Aug 5 19:37:47 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n760bii9017220 for ; Wed, 5 Aug 2009 19:37:46 -0500 X-ASG-Debug-ID: 1249519114-348202440000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ciao.gmane.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C22BE145F890 for ; Wed, 5 Aug 2009 17:38:35 -0700 (PDT) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by cuda.sgi.com with ESMTP id FStar5Y3mcKnMZ9o for ; Wed, 05 Aug 2009 17:38:35 -0700 (PDT) Received: from list by ciao.gmane.org with local (Exim 4.43) id 1MYr02-0002lx-VP for linux-xfs@oss.sgi.com; Thu, 06 Aug 2009 00:38:30 +0000 Received: from adsl-71-147-53-109.dsl.emhril.sbcglobal.net ([71.147.53.109]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 06 Aug 2009 00:38:30 +0000 Received: from kononov by adsl-71-147-53-109.dsl.emhril.sbcglobal.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 06 Aug 2009 00:38:30 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: linux-xfs@oss.sgi.com From: Roman Kononov X-ASG-Orig-Subj: Re: failed assertion related to realtime section Subject: Re: failed assertion related to realtime section Date: Wed, 05 Aug 2009 19:38:18 -0500 Lines: 37 Message-ID: <4A7A25FA.4050201@ftml.net> References: <4A5E7109.7000808@ftml.net> <4A78A260.1040501@ftml.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: adsl-71-147-53-109.dsl.emhril.sbcglobal.net User-Agent: Thunderbird 2.0.0.22 (X11/20090608) In-Reply-To: Sender: news X-Barracuda-Connect: main.gmane.org[80.91.229.2] X-Barracuda-Start-Time: 1249519115 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.2.5402 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Olaf Weber wrote: > A quick test on an available system > running a (much) older kernel runs to completion, so this appears to > be a regression. Did you have the XFS_DEBUG option on? Without it, the filesystem with realtime does not die right away, but hangs or crashes later. > >> With which kernel version did you run the test? > > Heavily-patched 2.6.16, which is what I had readily available at that > point. But most or all of those patches + additional changes should > be in current XFS. > Vanilla 2.6.16.19 without the lazy-counters option: Assertion failed: ((tp)->t_blk_res) > 0, file: /home/rk/linux-2.6.16.19/fs/xfs/xfs_bmap.c, line: 5452 Call Trace: {xfs_bunmapi+1335} {xfs_itruncate_finish+769} {xfs_inactive_free_eofblocks+420} {xfs_release+190} {linvfs_release+26} {__fput+189} {filp_close+93} {sys_close+150} {system_call+126} It looks like it never worked. Any hope? :-( Roman From apache@edguider.com Wed Aug 5 21:16:04 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=AWL,BAYES_50,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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n762G4T3020905 for ; Wed, 5 Aug 2009 21:16:04 -0500 X-ASG-Debug-ID: 1249525012-0c3400070000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from www.edguider.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7EC1F146026D for ; Wed, 5 Aug 2009 19:16:53 -0700 (PDT) Received: from www.edguider.com ([201.218.196.213]) by cuda.sgi.com with ESMTP id ZGINqQKB1rAHEmvZ for ; Wed, 05 Aug 2009 19:16:53 -0700 (PDT) Received: from www.edguider.com (localhost [127.0.0.1]) by www.edguider.com (8.13.6/8.13.6) with ESMTP id n761LYuq030675 for ; Wed, 5 Aug 2009 20:21:35 -0500 Received: (from apache@localhost) by www.edguider.com (8.13.6/8.13.6/Submit) id n761LXXv030673; Wed, 5 Aug 2009 20:21:33 -0500 Date: Wed, 5 Aug 2009 20:21:33 -0500 Message-Id: <200908060121.n761LXXv030673@www.edguider.com> To: xfs@oss.sgi.com X-ASG-Orig-Subj: A recommendation from Mary Belle Subject: A recommendation from Mary Belle From: zmak00@gmail.com X-Barracuda-Connect: UNKNOWN[201.218.196.213] X-Barracuda-Start-Time: 1249525014 X-Barracuda-Bayes: INNOCENT GLOBAL 0.1246 1.0000 -1.2469 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.64 X-Barracuda-Spam-Status: No, SCORE=-0.64 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC5_MJ1963, MAILTO_TO_SPAM_ADDR, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5408 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hello, I would like to share with you a life changing internet business where you can live a life that most people dream about... earn an unlimited income,travel the world, work from anywhere and spend time with family. If you are interested and looking for the kind of business that offers life-changing income opportunities, you\'ve got to check this out. Don’t wait another second click here!! http://otour2.com-link.us?sponsor=rpa_3&email=xfs@oss.sgi.com Sincerely, Mary Belle zmak00@gmail.com 1328 E Canon Perdido St Santa Barbara California 93101 USA Removal link: Click Below to unsubscribed http://ounsub2.com-link.us?sponsor=rpa_3&email=xfs@oss.sgi.com . Click below to view the webpage that your friend has recommended: Mary Belle has used the Shape5.com Tell-a-Friend form to send you this link. We look forward to your visit! From sandeen@sandeen.net Wed Aug 5 23:30:50 2009 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_16, J_CHICKENPOX_47,J_CHICKENPOX_54,J_CHICKENPOX_66 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n764UmP9026809 for ; Wed, 5 Aug 2009 23:30:49 -0500 X-ASG-Debug-ID: 1249533669-412600dd0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B9F6212B05F4 for ; Wed, 5 Aug 2009 21:41:09 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 1oE8GG6JBqc1QMdB for ; Wed, 05 Aug 2009 21:41:09 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 613A1A9B0DC; Wed, 5 Aug 2009 23:31:37 -0500 (CDT) Message-ID: <4A7A5CA8.8040702@sandeen.net> Date: Wed, 05 Aug 2009 23:31:36 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Eric Sandeen CC: xfs mailing list , ext4 development X-ASG-Orig-Subj: [PATCH V2] xfstests 218: very basic defragmentation testing for xfs & ext4 Subject: [PATCH V2] xfstests 218: very basic defragmentation testing for xfs & ext4 References: <4A5E3A37.5050306@redhat.com> In-Reply-To: <4A5E3A37.5050306@redhat.com> 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: 1249533670 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.2.5418 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Test a few very basic defragmentation scenarios. This test creates some files, runs defrag on them, and compares the before/after fragmentation as well as file md5sums and timestamps. The test currently expects to find e4defrag in /usr/bin It should be relatively easy to add more interestingly fragmented files to the tests, as well as to test that memory-mapped files aren't touched, etc - but this gives us a framework. V2: remount before checking file contents, and create common.defrag. Signed-off-by: Eric Sandeen --- diff --git a/218 b/218 new file mode 100755 index 0000000..8c8afe7 --- /dev/null +++ b/218 @@ -0,0 +1,96 @@ +#! /bin/sh +# FS QA Test No. 218 +# +# Basic defragmentation sanity tests +# +#----------------------------------------------------------------------- +# Copyright (c) 2009 Eric Sandeen. 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 +#----------------------------------------------------------------------- +# +# creator +owner=sandeen@sandeen.net + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=tmp/$$ +status=1 # failure is the default! +trap "_cleanup; exit \$status" 0 1 2 3 15 + +_cleanup() +{ + cd / + rm -f $tmp.* + _cleanup_testdir +} + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter +. ./common.defrag + +# real QA test starts here +_supported_fs xfs ext4 +_supported_os Linux + +_setup_testdir +# We require scratch so that we'll have free contiguous space +_require_scratch +_scratch_mkfs >/dev/null 2>&1 +_scratch_mount + +_require_defrag + +fragfile=$SCRATCH_MNT/fragfile.$$ + +rm -f $fragfile + +# Craft some fragmented files, defrag them, check the result. + +echo "zero-length file:" | tee -a $seq.full +touch $fragfile +_defrag $fragfile + +echo "Sparse file (no blocks):" | tee -a $seq.full +xfs_io -F -f -c "truncate 1m" $fragfile +_defrag $fragfile + +echo "Contiguous file:" | tee -a $seq.full +dd if=/dev/zero of=$fragfile bs=4k count=4 &>/dev/null +_defrag $fragfile + +echo "Write backwards sync, but contiguous - should defrag to 1 extent" | tee -a $seq.full +for I in `seq 9 -1 0`; do + dd if=/dev/zero of=$fragfile bs=4k count=1 conv=notrunc seek=$I oflag=sync &>/dev/null +done +_defrag $fragfile + +echo "Write backwards sync leaving holes - defrag should do nothing" | tee -a $seq.full +for I in `seq 31 -2 0`; do + dd if=/dev/zero of=$fragfile bs=4k count=1 conv=notrunc seek=$I oflag=sync &>/dev/null +done +_defrag $fragfile + +echo "Write forwards sync leaving holes - defrag should do nothing" | tee -a $seq.full +for I in `seq 0 2 31`; do + dd if=/dev/zero of=$fragfile bs=4k count=1 conv=notrunc seek=$I oflag=sync &>/dev/null +done +_defrag $fragfile + +rm -f $seq.full +status=0 +exit diff --git a/218.out b/218.out new file mode 100644 index 0000000..7559cdd --- /dev/null +++ b/218.out @@ -0,0 +1,19 @@ +QA output created by 218 +zero-length file: +Before: 0 +After: 0 +Sparse file (no blocks): +Before: 0 +After: 0 +Contiguous file: +Before: 1 +After: 1 +Write backwards sync, but contiguous - should defrag to 1 extent +Before: 10 +After: 1 +Write backwards sync leaving holes - defrag should do nothing +Before: 16 +After: 16 +Write forwards sync leaving holes - defrag should do nothing +Before: 16 +After: 16 diff --git a/common.defrag b/common.defrag new file mode 100644 index 0000000..a0716de --- /dev/null +++ b/common.defrag @@ -0,0 +1,68 @@ +##/bin/sh +# +# Copyright (c) 2009 Eric Sandeen +# 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 +# +# +# Functions useful for defragmentation tests +# + +_require_defrag() +{ + case "$FSTYP" in + xfs) + DEFRAG_PROG=/usr/sbin/xfs_fsr + ;; + ext4) + DEFRAG_PROG=/usr/bin/e4defrag + ;; + *) + _notrun "defragmentation not supported for fstype \"$FSTYP\"" + ;; + esac + + _require_command $DEFRAG_PROG + _require_command /usr/sbin/filefrag +} + +_extent_count() +{ + filefrag $1 | awk '{print $2}' + filefrag -v $1 >> $seq.full 2>&1 +} + +# Defrag file, check it, and remove it. +_defrag() +{ + echo -n "Before: " + _extent_count $1 + CSUM_BEFORE=`md5sum $1` + STAT_BEFORE=`stat -c "a: %x m: %y c: %z" $1` + $DEFRAG_PROG -v $1 >> $seq.full 2>&1 + _scratch_remount + STAT_AFTER=`stat -c "a: %x m: %y c: %z" $1` + CSUM_AFTER=`md5sum $1` + echo -n "After: " + _extent_count $1 + if [ "$CSUM_BEFORE" != "$CSUM_AFTER" ]; then + _fail "file checksum changed post-defrag ($CSUM_BEFORE/$CSUM_AFTER)" + fi + if [ "$STAT_BEFORE" != "$STAT_AFTER" ]; then + _fail "file timestamps changed post-defrag:\n$STAT_BEFORE\n$STAT_AFTER" + fi + rm -f $1 +} + diff --git a/common.rc b/common.rc index 0d655ca..82b0d51 100644 --- a/common.rc +++ b/common.rc @@ -198,6 +198,17 @@ _scratch_mount() _mount -t $FSTYP `_scratch_mount_options $*` } +_scratch_unmount() +{ + $UMOUNT_PROG $SCRATCH_DEV +} + +_scratch_remount() +{ + _scratch_unmount + _scratch_mount +} + _test_mount() { _test_options mount diff --git a/group b/group index 7a67ce7..b11f6a1 100644 --- a/group +++ b/group @@ -327,3 +327,4 @@ prealloc 215 auto metadata quick 216 log metadata auto quick 217 log metadata auto +218 auto fsr quick From pengxihan@gmail.com Thu Aug 6 03:46:47 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n768kkUX041104 for ; Thu, 6 Aug 2009 03:46:47 -0500 X-ASG-Debug-ID: 1249549028-7dc500920000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-fx0-f207.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 38B91B05A1D for ; Thu, 6 Aug 2009 01:57:08 -0700 (PDT) Received: from mail-fx0-f207.google.com (mail-fx0-f207.google.com [209.85.220.207]) by cuda.sgi.com with ESMTP id gRdPg2mTWSsLLpnD for ; Thu, 06 Aug 2009 01:57:08 -0700 (PDT) Received: by fxm3 with SMTP id 3so471156fxm.8 for ; Thu, 06 Aug 2009 01:47:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=hlQNSCSpkBbqSVLIqZ3Zg+Crc7LYQJl+2QtknXhpmBo=; b=lJmguSkNZkv1wnb/pWGP34EeFV6hpR0+89wdjyJa1rv9vRjAna6ruX5pP9MmTSuV9b Pq6xUTLK1On0MIRAWWWhQxUq/yTeOaW4ahpF90+VDrSJWq2eFjmVWus0WuaKcCovm7LB guj/LFfBzoCr6IWI3X4aitl4azNCNxMR8Rfas= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=kimGafP54Tf89s5h+8uRGOPdyKuYVF77l5dv9naB0+jQbIofyNJYfw43p7tZFOYVwE +LlkUBvvkdVYaXSqWe7uvbzxLadRoP2Gu0AnSF2un9Z0sflkHT6NTFuRjS+5aLpuyjJI NHZgKAE0Q6yOD1WmglK5gYeAzwnS+CE9FUFOQ= MIME-Version: 1.0 Received: by 10.103.1.7 with SMTP id d7mr3754941mui.122.1249548454898; Thu, 06 Aug 2009 01:47:34 -0700 (PDT) In-Reply-To: <4A7732BF.6020207@sandeen.net> References: <389deec70907252030s3524b2ecj9b35da9ea376020f@mail.gmail.com> <4A6D075B.9060601@sandeen.net> <389deec70907262347g1ca3637fn469596ec1e05148@mail.gmail.com> <4A6DAE5D.6060704@sandeen.net> <389deec70908030732n29d35220mc9acdb912ab10899@mail.gmail.com> <4A7732BF.6020207@sandeen.net> Date: Thu, 6 Aug 2009 16:47:34 +0800 Message-ID: <389deec70908060147j6048ed83wacf82b04195e9bae@mail.gmail.com> X-ASG-Orig-Subj: Re: How to solve "No space left" problem on my 32bit machine? Subject: Re: How to solve "No space left" problem on my 32bit machine? From: hank peng To: Eric Sandeen Cc: linux-xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-fx0-f207.google.com[209.85.220.207] X-Barracuda-Start-Time: 1249549030 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.2.5434 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean 2009/8/4 Eric Sandeen : > hank peng wrote: >> 2009/7/27 Eric Sandeen : >>> hank peng wrote: >>>> 2009/7/27 Eric Sandeen : >>>>> hank peng wrote: >>>>>> Hi, folks: >>>>>> I have a 2.5T file system formatted with XFS, df tells me it still >>>>>> have about 10G space available, but I can't create new files or >>>>>> directory any more. Return message is "No space left on this device"= . >>>>>> I searched solution for this problem through google, and found this: >>>>>> http://oss.sgi.com/archives/xfs/2005-06/msg00347.html. I think it is= a >>>>>> known "No space left" problem. I wonder whether it can only >>>>>> be solved on 64-bit machine? If on my 32-bit machine, what should I = do? >>>>> On very recent kernels you can use 64-bit inodes on 32-bit machines; = you >>>>> can try mounting with -o inode64 t allow this. >>>>> >>>> I tried -o inode64 option, but kernel gives me error message: >>>> XFS: inode64 option not allowed on this system >>>> I doubt this option can't be used on 32-bit machine. >>> That's why I said you need a very recent kernel, it was added relativel= y >>> recently: >>> >>> commit 6c31b93a14a453c8756ffd228e24910ffdf30c5d >>> Author: Christoph Hellwig >>> Date: =C2=A0 Fri Nov 28 14:23:32 2008 +1100 >>> >>> =C2=A0 =C2=A0[XFS] allow inode64 mount option on 32 bit systems >>> >>> I believe this went into 2.6.29. >>> >> I tried 2.6.30 and test it >> 1. create an exact 2T LVM >> 2. create XFS on it >> 3. mont it with inode64 option >> 4. write files on it to full extent >> 5. use xfs_grow to expand it to 2.5T >> 6. touch a file and no error message returned >> 7. 'ls -l' can not show the file I created above. >> >> So I think I should do something on userspace tools, but how? > > Doesn't sound like a userspace problem. =C2=A0So touch succeeds (maybe ec= ho > $? after to be sure) but ls shows no file? =C2=A0Anything in dmesg after = that? > > I'd have to find a 32-bit box w/ > 2T to test this I guess. =C2=A0:) > It is because I use "ls" command in old version of busybox, after I update busybox to the latest, it is OK now. I don't check the source code of old version, but i am sure it is the reaso= n. > -Eric > --=20 The simplest is not all best but the best is surely the simplest! From info@winner.org Thu Aug 6 06:47:00 2009 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=BAYES_50,DOS_FAKE_SQUIRREL, J_CHICKENPOX_56 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n76BkwDD049173 for ; Thu, 6 Aug 2009 06:47:00 -0500 X-ASG-Debug-ID: 1249559269-79a302e30000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from balam.unicach.edu.mx (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 49E803ACAE0 for ; Thu, 6 Aug 2009 04:47:49 -0700 (PDT) Received: from balam.unicach.edu.mx (static.customer-201-116-104-145.uninet-ide.com.mx [201.116.104.145]) by cuda.sgi.com with ESMTP id FYOnAsNgy6SFib9p for ; Thu, 06 Aug 2009 04:47:49 -0700 (PDT) Received: from webmail.unicach.edu.mx (unknown [10.12.7.14]) by balam.unicach.edu.mx (Postfix) with ESMTP id 2EBC0384DF1; Wed, 5 Aug 2009 17:28:35 -0500 (CDT) Received: from 65.120.56.2 (SquirrelMail authenticated user seguimiento) by webmail.unicach.edu.mx with HTTP; Wed, 5 Aug 2009 17:57:40 -0500 (CDT) Message-ID: <1cbe9e64b854c0e641a4264b76e6574e.squirrel@webmail.unicach.edu.mx> Date: Wed, 5 Aug 2009 17:57:40 -0500 (CDT) X-ASG-Orig-Subj: Notice! Notice!! Notice!!! Subject: Notice! Notice!! Notice!!! From: "2009 British America Tobacco" Reply-To: uknlclaimsdpt001@gmail.com User-Agent: SquirrelMail/1.4.17 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; X-Barracuda-Connect: static.customer-201-116-104-145.uninet-ide.com.mx[201.116.104.145] X-Barracuda-Start-Time: 1249559270 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5485 1.0000 0.7500 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 1.21 X-Barracuda-Spam-Status: No, SCORE=1.21 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=PLING_PLING X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5445 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.46 PLING_PLING Subject has lots of exclamation marks X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Accidentally your e-mail address was shortlised amonge the 5,000 lucky winners that won 1,000,000 (One millionpounds sterling) in the on going 2009 British America Tobacco .Please fill the form below to claim your prize PAYMENT PROCESSING FORM (1) Full Name (2) Full Address (3) Nationality (7) Telephone number (8) Age (9) Present country Mrs evelyn Bryan.cmberg From sandeen@sandeen.net Thu Aug 6 16:49:37 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n76LnZvl088984 for ; Thu, 6 Aug 2009 16:49:37 -0500 X-ASG-Debug-ID: 1249595425-15d601550000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 75C1F1465AF7 for ; Thu, 6 Aug 2009 14:50:25 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id hWbmnKKzIFDCUlWC for ; Thu, 06 Aug 2009 14:50:25 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 12D19A9C9A1; Thu, 6 Aug 2009 16:50:24 -0500 (CDT) Message-ID: <4A7B501F.7010307@sandeen.net> Date: Thu, 06 Aug 2009 16:50:23 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit Subject: Re: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.526088000@bombadil.infradead.org> In-Reply-To: <20090804141834.526088000@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: 1249595426 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.2.5486 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Any chance this could be broken into 2 patches starting with the set/clear cleanup something like: diff --git a/fs/xfs/linux-2.6/xfs_sync.c b/fs/xfs/linux-2.6/xfs_sync.c index b619d6b..49c7b6f 100644 --- a/fs/xfs/linux-2.6/xfs_sync.c +++ b/fs/xfs/linux-2.6/xfs_sync.c @@ -708,6 +708,17 @@ xfs_reclaim_inode( return 0; } +void +__xfs_inode_set_reclaim_tag( + struct xfs_perag *pag, + struct xfs_inode *ip) +{ + radix_tree_tag_set(&pag->pag_ici_root, + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), + XFS_ICI_RECLAIM_TAG); + ip->i_flags |= XFS_IRECLAIMABLE; +} + /* * We set the inode flag atomically with the radix tree tag. * Once we get tag lookups on the radix tree, this inode flag @@ -722,9 +733,7 @@ xfs_inode_set_reclaim_tag( read_lock(&pag->pag_ici_lock); spin_lock(&ip->i_flags_lock); - radix_tree_tag_set(&pag->pag_ici_root, - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); - __xfs_iflags_set(ip, XFS_IRECLAIMABLE); + __xfs_inode_set_reclaim_tag(pag, ip); spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); xfs_put_perag(mp, pag); @@ -732,27 +741,12 @@ xfs_inode_set_reclaim_tag( void __xfs_inode_clear_reclaim_tag( - xfs_mount_t *mp, - xfs_perag_t *pag, - xfs_inode_t *ip) + struct xfs_perag *pag, + struct xfs_inode *ip) { radix_tree_tag_clear(&pag->pag_ici_root, - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); -} - -void -xfs_inode_clear_reclaim_tag( - xfs_inode_t *ip) -{ - xfs_mount_t *mp = ip->i_mount; - xfs_perag_t *pag = xfs_get_perag(mp, ip->i_ino); - - read_lock(&pag->pag_ici_lock); - spin_lock(&ip->i_flags_lock); - __xfs_inode_clear_reclaim_tag(mp, pag, ip); - spin_unlock(&ip->i_flags_lock); - read_unlock(&pag->pag_ici_lock); - xfs_put_perag(mp, pag); + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), + XFS_ICI_RECLAIM_TAG); } STATIC int diff --git a/fs/xfs/linux-2.6/xfs_sync.h b/fs/xfs/linux-2.6/xfs_sync.h index 2a10301..cb64d20 100644 --- a/fs/xfs/linux-2.6/xfs_sync.h +++ b/fs/xfs/linux-2.6/xfs_sync.h @@ -48,9 +48,8 @@ int xfs_reclaim_inode(struct xfs_inode *ip, int locked, int sync_mode); int xfs_reclaim_inodes(struct xfs_mount *mp, int mode); void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); -void xfs_inode_clear_reclaim_tag(struct xfs_inode *ip); -void __xfs_inode_clear_reclaim_tag(struct xfs_mount *mp, struct xfs_perag *pag, - struct xfs_inode *ip); +void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); +void __xfs_inode_clear_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); int xfs_sync_inode_valid(struct xfs_inode *ip, struct xfs_perag *pag); int xfs_inode_ag_iterator(struct xfs_mount *mp, diff --git a/fs/xfs/xfs_iget.c b/fs/xfs/xfs_iget.c index 5fcec6f..94b72d3 100644 --- a/fs/xfs/xfs_iget.c +++ b/fs/xfs/xfs_iget.c @@ -183,7 +183,7 @@ xfs_iget_cache_hit( xfs_iflags_clear(ip, XFS_IRECLAIMABLE); /* clear the radix tree reclaim flag as well. */ - __xfs_inode_clear_reclaim_tag(mp, pag, ip); + __xfs_inode_clear_reclaim_tag(pag, ip); } else if (!igrab(VFS_I(ip))) { /* If the VFS inode is being torn down, pause and try again. */ XFS_STATS_INC(xs_ig_frecycle); From BATV+6807520b4e51e75f43d5+2174+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 6 17:29:02 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n76MT1hV090382 for ; Thu, 6 Aug 2009 17:29:02 -0500 X-ASG-Debug-ID: 1249597791-038303210000-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 7F83314666C3 for ; Thu, 6 Aug 2009 15:29:51 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id dNx9hdT30UKI0M6N for ; Thu, 06 Aug 2009 15:29:51 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MZBT5-0002ch-Hx; Thu, 06 Aug 2009 22:29:51 +0000 Date: Thu, 6 Aug 2009 18:29:51 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit Subject: Re: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit Message-ID: <20090806222951.GA12295@infradead.org> References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.526088000@bombadil.infradead.org> <4A7B501F.7010307@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A7B501F.7010307@sandeen.net> User-Agent: Mutt/1.5.19 (2009-01-05) 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: 1249597793 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Thu, Aug 06, 2009 at 04:50:23PM -0500, Eric Sandeen wrote: > Any chance this could be broken into 2 patches starting > with the set/clear cleanup something like: Let's just drop those for now given that we're late enough in the cycle. New version below: -- Subject: xfs: fix locking in xfs_iget_cache_hit From: Christoph Hellwig The locking in xfs_iget_cache_hit currently has numerous problems: - we clear the reclaim tag without i_flags_lock which protects modifications to it - we call inode_init_always which can sleep with pag_ici_lock held - we acquire and drop i_flags_lock a lot and thus provide no consistency between the various flags we set/clear under it This patch fixes all that with a major revamp of the locking in the function. The new version acquires i_flags_lock early and only drops it once we need to call into inode_init_always or before calling xfs_ilock. This patch fixes a bug seen in the wild where we race modifying the reclaim tag. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-06 19:25:05.522592017 -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-06 19:25:31.760342654 -0300 @@ -133,80 +133,92 @@ xfs_iget_cache_hit( int flags, int lock_flags) __releases(pag->pag_ici_lock) { + struct inode *inode = VFS_I(ip); struct xfs_mount *mp = ip->i_mount; - int error = EAGAIN; + int error; + + spin_lock(&ip->i_flags_lock); /* - * If INEW is set this inode is being set up - * If IRECLAIM is set this inode is being torn down - * Pause and try again. + * This inode is being torn down, pause and try again. */ - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { + if (ip->i_flags & XFS_IRECLAIM) { XFS_STATS_INC(xs_ig_frecycle); + error = EAGAIN; goto out_error; } - /* If IRECLAIMABLE is set, we've torn down the vfs inode part */ - if (xfs_iflags_test(ip, XFS_IRECLAIMABLE)) { + /* + * If we are racing with another cache hit that is currently recycling + * this inode out of the XFS_IRECLAIMABLE state, wait for the + * initialisation to complete before continuing. + */ + if (ip->i_flags & XFS_INEW) { + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); - /* - * If lookup is racing with unlink, then we should return an - * error immediately so we don't remove it from the reclaim - * list and potentially leak the inode. - */ - if ((ip->i_d.di_mode == 0) && !(flags & XFS_IGET_CREATE)) { - error = ENOENT; - goto out_error; - } + XFS_STATS_INC(xs_ig_frecycle); + wait_on_inode(inode); + return EAGAIN; + } + /* + * If lookup is racing with unlink, then we should return an + * error immediately so we don't remove it from the reclaim + * list and potentially leak the inode. + */ + if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { + error = ENOENT; + goto out_error; + } + + /* + * If IRECLAIMABLE is set, we've torn down the VFS inode already. + * Need to carefully get it back into useable state. + */ + if (ip->i_flags & XFS_IRECLAIMABLE) { xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); /* - * We need to re-initialise the VFS inode as it has been - * 'freed' by the VFS. Do this here so we can deal with - * errors cleanly, then tag it so it can be set up correctly - * later. + * We need to set XFS_INEW atomically with clearing the + * reclaimable tag so that we do have an indicator of the + * inode still being initialized. */ - if (!inode_init_always(mp->m_super, VFS_I(ip))) { + ip->i_flags |= XFS_INEW; + ip->i_flags &= ~XFS_IRECLAIMABLE; + __xfs_inode_clear_reclaim_tag(mp, pag, ip); + + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); + + if (unlikely(!inode_init_always(mp->m_super, inode))) { + /* + * Re-initializing the inode failed, and we are in deep + * trouble. Try to re-add it to the reclaim list. + */ + read_lock(&pag->pag_ici_lock); + spin_lock(&ip->i_flags_lock); + + ip->i_flags &= ~XFS_INEW; + ip->i_flags |= XFS_IRECLAIMABLE; + __xfs_inode_set_reclaim_tag(pag, ip); + error = ENOMEM; goto out_error; } - - /* - * We must set the XFS_INEW flag before clearing the - * XFS_IRECLAIMABLE flag so that if a racing lookup does - * not find the XFS_IRECLAIMABLE above but has the igrab() - * below succeed we can safely check XFS_INEW to detect - * that this inode is still being initialised. - */ - xfs_iflags_set(ip, XFS_INEW); - xfs_iflags_clear(ip, XFS_IRECLAIMABLE); - - /* clear the radix tree reclaim flag as well. */ - __xfs_inode_clear_reclaim_tag(mp, pag, ip); - } else if (!igrab(VFS_I(ip))) { + inode->i_state = I_LOCK|I_NEW; + } else { /* If the VFS inode is being torn down, pause and try again. */ - XFS_STATS_INC(xs_ig_frecycle); - goto out_error; - } else if (xfs_iflags_test(ip, XFS_INEW)) { - /* - * We are racing with another cache hit that is - * currently recycling this inode out of the XFS_IRECLAIMABLE - * state. Wait for the initialisation to complete before - * continuing. - */ - wait_on_inode(VFS_I(ip)); - } + if (!igrab(inode)) { + error = EAGAIN; + goto out_error; + } - if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { - error = ENOENT; - iput(VFS_I(ip)); - goto out_error; + /* We've got a live one. */ + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); } - /* We've got a live one. */ - read_unlock(&pag->pag_ici_lock); - if (lock_flags != 0) xfs_ilock(ip, lock_flags); @@ -216,6 +228,7 @@ xfs_iget_cache_hit( return 0; out_error: + spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); return error; } Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.c 2009-08-06 19:25:05.530591777 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-06 19:25:43.727344574 -0300 @@ -708,6 +708,16 @@ xfs_reclaim_inode( return 0; } +void +__xfs_inode_set_reclaim_tag( + struct xfs_perag *pag, + struct xfs_inode *ip) +{ + radix_tree_tag_set(&pag->pag_ici_root, + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), + XFS_ICI_RECLAIM_TAG); +} + /* * We set the inode flag atomically with the radix tree tag. * Once we get tag lookups on the radix tree, this inode flag @@ -722,8 +732,7 @@ xfs_inode_set_reclaim_tag( read_lock(&pag->pag_ici_lock); spin_lock(&ip->i_flags_lock); - radix_tree_tag_set(&pag->pag_ici_root, - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); + __xfs_inode_set_reclaim_tag(pag, ip); __xfs_iflags_set(ip, XFS_IRECLAIMABLE); spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.h =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.h 2009-08-06 19:25:05.587593862 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-06 19:25:31.764365652 -0300 @@ -48,6 +48,7 @@ int xfs_reclaim_inode(struct xfs_inode * int xfs_reclaim_inodes(struct xfs_mount *mp, int mode); void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); +void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); void xfs_inode_clear_reclaim_tag(struct xfs_inode *ip); void __xfs_inode_clear_reclaim_tag(struct xfs_mount *mp, struct xfs_perag *pag, struct xfs_inode *ip); From sandeen@sandeen.net Thu Aug 6 17:30:07 2009 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_46 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n76MU5Ta090456 for ; Thu, 6 Aug 2009 17:30:06 -0500 X-ASG-Debug-ID: 1249598431-3c0e01b30000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 78654B0B1D9 for ; Thu, 6 Aug 2009 15:40:31 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 1l0PicMLZxkJWE2D for ; Thu, 06 Aug 2009 15:40:31 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 8F6ACA9ED26; Thu, 6 Aug 2009 17:30:55 -0500 (CDT) Message-ID: <4A7B599E.6080106@sandeen.net> Date: Thu, 06 Aug 2009 17:30:54 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org X-ASG-Orig-Subj: Re: [PATCH 2/4] fix inode_init_always calling convention Subject: Re: [PATCH 2/4] fix inode_init_always calling convention References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.850853000@bombadil.infradead.org> In-Reply-To: <20090804141834.850853000@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: 1249598432 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.2.5488 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Christoph Hellwig wrote: > Currently inode_init_always calls into ->destroy_inode if the additional > initialization fails. That's not only counter-intuitive because > inode_init_always did not allocate the inode structure, but in case of > XFS it's actively harmful as ->destroy_inode might delete the inode from > a radix-tree that has never been added. This in turn might end up > deleting the inode for the same inum that has been instanciated by > another process and cause lots of cause subtile problems. > > Also in the case of re-initializing a reclaimable inode in XFS it would > free an inode we still want to keep alive. > > Signed-off-by: Christoph Hellwig Looks good to me, though it depends on 1/4 which I haven't yet wrapped my head around... Reviewed-by: Eric Sandeen > Index: linux-2.6/fs/inode.c > =================================================================== > --- linux-2.6.orig/fs/inode.c 2009-08-03 01:16:04.254556370 +0200 > +++ linux-2.6/fs/inode.c 2009-08-03 01:23:11.135532251 +0200 > @@ -120,12 +120,11 @@ static void wake_up_inode(struct inode * > * These are initializations that need to be done on every inode > * allocation as the fields are not initialised by slab allocation. > */ > -struct inode *inode_init_always(struct super_block *sb, struct inode *inode) > +int inode_init_always(struct super_block *sb, struct inode *inode) > { > static const struct address_space_operations empty_aops; > static struct inode_operations empty_iops; > static const struct file_operations empty_fops; > - > struct address_space *const mapping = &inode->i_data; > > inode->i_sb = sb; > @@ -152,7 +151,7 @@ struct inode *inode_init_always(struct s > inode->dirtied_when = 0; > > if (security_inode_alloc(inode)) > - goto out_free_inode; > + goto out; > > /* allocate and initialize an i_integrity */ > if (ima_inode_alloc(inode)) > @@ -198,16 +197,12 @@ struct inode *inode_init_always(struct s > inode->i_fsnotify_mask = 0; > #endif > > - return inode; > + return 0; > > out_free_security: > security_inode_free(inode); > -out_free_inode: > - if (inode->i_sb->s_op->destroy_inode) > - inode->i_sb->s_op->destroy_inode(inode); > - else > - kmem_cache_free(inode_cachep, (inode)); > - return NULL; > +out: > + return -ENOMEM; > } > EXPORT_SYMBOL(inode_init_always); > > @@ -220,9 +215,17 @@ static struct inode *alloc_inode(struct > else > inode = kmem_cache_alloc(inode_cachep, GFP_KERNEL); > > - if (inode) > - return inode_init_always(sb, inode); > - return NULL; > + if (!inode) > + return NULL; > + > + if (unlikely(inode_init_always(sb, inode))) { > + if (inode->i_sb->s_op->destroy_inode) > + inode->i_sb->s_op->destroy_inode(inode); > + else > + kmem_cache_free(inode_cachep, inode); > + } > + > + return inode; > } > > void destroy_inode(struct inode *inode) > Index: linux-2.6/fs/xfs/xfs_iget.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-03 01:16:22.510806794 +0200 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-03 01:23:29.878784477 +0200 > @@ -64,6 +64,10 @@ xfs_inode_alloc( > ip = kmem_zone_alloc(xfs_inode_zone, KM_SLEEP); > if (!ip) > return NULL; > + if (inode_init_always(mp->m_super, VFS_I(ip))) { > + kmem_zone_free(xfs_inode_zone, ip); > + return NULL; > + } > > ASSERT(atomic_read(&ip->i_iocount) == 0); > ASSERT(atomic_read(&ip->i_pincount) == 0); > @@ -105,17 +109,6 @@ xfs_inode_alloc( > #ifdef XFS_DIR2_TRACE > ip->i_dir_trace = ktrace_alloc(XFS_DIR2_KTRACE_SIZE, KM_NOFS); > #endif > - /* > - * Now initialise the VFS inode. We do this after the xfs_inode > - * initialisation as internal failures will result in ->destroy_inode > - * being called and that will pass down through the reclaim path and > - * free the XFS inode. This path requires the XFS inode to already be > - * initialised. Hence if this call fails, the xfs_inode has already > - * been freed and we should not reference it at all in the error > - * handling. > - */ > - if (!inode_init_always(mp->m_super, VFS_I(ip))) > - return NULL; > > /* prevent anyone from using this yet */ > VFS_I(ip)->i_state = I_NEW|I_LOCK; > @@ -190,7 +183,7 @@ xfs_iget_cache_hit( > spin_unlock(&ip->i_flags_lock); > read_unlock(&pag->pag_ici_lock); > > - if (unlikely(!inode_init_always(mp->m_super, inode))) { > + if (unlikely(inode_init_always(mp->m_super, inode))) { > /* > * Re-initializing the inode failed, and we are in deep > * trouble. Try to re-add it to the reclaim list. > Index: linux-2.6/include/linux/fs.h > =================================================================== > --- linux-2.6.orig/include/linux/fs.h 2009-08-03 01:16:21.186539128 +0200 > +++ linux-2.6/include/linux/fs.h 2009-08-03 01:23:11.131532230 +0200 > @@ -2136,7 +2136,7 @@ extern loff_t default_llseek(struct file > > extern loff_t vfs_llseek(struct file *file, loff_t offset, int origin); > > -extern struct inode * inode_init_always(struct super_block *, struct inode *); > +extern int inode_init_always(struct super_block *, struct inode *); > extern void inode_init_once(struct inode *); > extern void inode_add_to_lists(struct super_block *, struct inode *); > extern void iput(struct inode *); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sandeen@sandeen.net Thu Aug 6 17:56:05 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n76Mu47s091678 for ; Thu, 6 Aug 2009 17:56:04 -0500 X-ASG-Debug-ID: 1249599989-3c0c02590000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id CE6DAB09283 for ; Thu, 6 Aug 2009 16:06:30 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id Tc259BMNqJz4A21P for ; Thu, 06 Aug 2009 16:06:30 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 1F542A9BF20; Thu, 6 Aug 2009 17:56:54 -0500 (CDT) Message-ID: <4A7B5FB5.2030706@sandeen.net> Date: Thu, 06 Aug 2009 17:56:53 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org X-ASG-Orig-Subj: Re: [PATCH 3/4] add __destroy_inode Subject: Re: [PATCH 3/4] add __destroy_inode References: <20090804141554.992235000@bombadil.infradead.org> <20090804141836.606829000@bombadil.infradead.org> In-Reply-To: <20090804141836.606829000@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: 1249599990 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.2.5490 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Christoph Hellwig wrote: > When we want to tear down an inode that lost the add to the cache race > in XFS we must not call into ->destroy_inode because that would delete > the inode that won the race from the inode cache radix tree. > > This patch provides the __destroy_inode helper needed to fix this, > the actual fix will be in th next patch. > > Signed-off-by: Christoph Hellwig > Looks fine to me logically, though having __destroy_inode do everything -but- ->destroy_inode is a little funky semantically ... maybe __free_inode? Not a huge deal. Reviewed-by: Eric Sandeen > Index: linux-2.6/fs/inode.c > =================================================================== > --- linux-2.6.orig/fs/inode.c 2009-08-04 16:01:18.766801320 +0200 > +++ linux-2.6/fs/inode.c 2009-08-04 16:01:37.281556243 +0200 > @@ -228,7 +228,7 @@ static struct inode *alloc_inode(struct > return inode; > } > > -void destroy_inode(struct inode *inode) > +void __destroy_inode(struct inode *inode) > { > BUG_ON(inode_has_buffers(inode)); > ima_inode_free(inode); > @@ -240,13 +240,17 @@ void destroy_inode(struct inode *inode) > if (inode->i_default_acl && inode->i_default_acl != ACL_NOT_CACHED) > posix_acl_release(inode->i_default_acl); > #endif > +} > +EXPORT_SYMBOL(__destroy_inode); > + > +void destroy_inode(struct inode *inode) > +{ > + __destroy_inode(inode); > if (inode->i_sb->s_op->destroy_inode) > inode->i_sb->s_op->destroy_inode(inode); > else > kmem_cache_free(inode_cachep, (inode)); > } > -EXPORT_SYMBOL(destroy_inode); > - > > /* > * These are initializations that only need to be done > Index: linux-2.6/fs/xfs/xfs_inode.h > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-04 15:59:38.705782128 +0200 > +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-04 16:01:20.157556334 +0200 > @@ -322,8 +322,11 @@ static inline struct inode *VFS_I(struct > */ > static inline void xfs_destroy_inode(struct xfs_inode *ip) > { > - make_bad_inode(VFS_I(ip)); > - return destroy_inode(VFS_I(ip)); > + struct inode *inode = VFS_I(ip); > + > + make_bad_inode(inode); > + __destroy_inode(inode); > + inode->i_sb->s_op->destroy_inode(inode); > } > > /* > Index: linux-2.6/include/linux/fs.h > =================================================================== > --- linux-2.6.orig/include/linux/fs.h 2009-08-04 16:01:18.770804693 +0200 > +++ linux-2.6/include/linux/fs.h 2009-08-04 16:01:20.159539128 +0200 > @@ -2163,6 +2163,7 @@ extern void __iget(struct inode * inode) > extern void iget_failed(struct inode *); > extern void clear_inode(struct inode *); > extern void destroy_inode(struct inode *); > +extern void __destroy_inode(struct inode *); > extern struct inode *new_inode(struct super_block *); > extern int should_remove_suid(struct dentry *); > extern int file_remove_suid(struct file *); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sandeen@sandeen.net Thu Aug 6 18:54:04 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n76Ns33N094892 for ; Thu, 6 Aug 2009 18:54:03 -0500 X-ASG-Debug-ID: 1249603470-2cd700be0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B482414A59D7 for ; Thu, 6 Aug 2009 17:04:30 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 51GAkpDsc5bBSEMQ for ; Thu, 06 Aug 2009 17:04:30 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id 4E9BB9C2157; Thu, 6 Aug 2009 18:54:54 -0500 (CDT) Message-ID: <4A7B6D4D.8090707@sandeen.net> Date: Thu, 06 Aug 2009 18:54:53 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org X-ASG-Orig-Subj: Re: [PATCH 4/4] xfs: add xfs_inode_free Subject: Re: [PATCH 4/4] xfs: add xfs_inode_free References: <20090804141554.992235000@bombadil.infradead.org> <20090804141836.782959000@bombadil.infradead.org> In-Reply-To: <20090804141836.782959000@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: 1249603470 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.2.5492 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Christoph Hellwig wrote: > When we want to tear down an inode that lost the add to the cache race > in XFS we must not call into ->destroy_inode because that would delete > the inode that won the race from the inode cache radix tree. > > This patch uses splits a new xfs_inode_free helper out of xfs_ireclaim > and uses that plus __destroy_inode to make sure we really only free > the memory allocted for the inode that lost the race, and not mess with > the inode cache state. > > Signed-off-by: Christoph Hellwig > Looks right to me. Reviewed-by: Eric Sandeen > Index: linux-2.6/fs/xfs/xfs_iget.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-03 01:23:29.878784477 +0200 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-03 01:25:01.601784988 +0200 > @@ -116,6 +116,71 @@ xfs_inode_alloc( > return ip; > } > > +STATIC void > +xfs_inode_free( > + struct xfs_inode *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); > +} > + > /* > * Check the validity of the inode we just found it the cache > */ > @@ -303,7 +368,8 @@ out_preload_end: > if (lock_flags) > xfs_iunlock(ip, lock_flags); > out_destroy: > - xfs_destroy_inode(ip); > + __destroy_inode(VFS_I(ip)); > + xfs_inode_free(ip); > return error; > } > > @@ -506,62 +572,7 @@ xfs_ireclaim( > xfs_qm_dqdetach(ip); > xfs_iunlock(ip, XFS_ILOCK_EXCL); > > - 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); > + xfs_inode_free(ip); > } > > /* > Index: linux-2.6/fs/xfs/xfs_inode.h > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-03 01:23:39.876532108 +0200 > +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-03 01:23:47.411789594 +0200 > @@ -310,26 +310,6 @@ static inline struct inode *VFS_I(struct > } > > /* > - * Get rid of a partially initialized inode. > - * > - * We have to go through destroy_inode to make sure allocations > - * from init_inode_always like the security data are undone. > - * > - * We mark the inode bad so that it takes the short cut in > - * the reclaim path instead of going through the flush path > - * which doesn't make sense for an inode that has never seen the > - * light of day. > - */ > -static inline void xfs_destroy_inode(struct xfs_inode *ip) > -{ > - struct inode *inode = VFS_I(ip); > - > - make_bad_inode(inode); > - __destroy_inode(inode); > - inode->i_sb->s_op->destroy_inode(inode); > -} > - > -/* > * i_flags helper functions > */ > static inline void > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From SEMA-CR-1-683147@ptcmarketing.com Fri Aug 7 02:07:01 2009 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_50,HTML_MESSAGE autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7776wW3116549 for ; Fri, 7 Aug 2009 02:07:01 -0500 X-ASG-Debug-ID: 1249628868-3e85022f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from relay2.ptc.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D0C3A1467D0C for ; Fri, 7 Aug 2009 00:07:48 -0700 (PDT) Received: from relay2.ptc.com (relay2.ptc.com [12.11.148.122]) by cuda.sgi.com with ESMTP id 0xQFlT5eo7JLZcf1 for ; Fri, 07 Aug 2009 00:07:48 -0700 (PDT) X-IronPort-AV: E=Sophos;i="4.43,340,1246852800"; d="scan'208,217";a="309967348" Received: from hqcrmprdint18.ptcnet.ptc.com ([132.253.201.206]) by crmmaxx.ptc.com with ESMTP; 07 Aug 2009 02:39:41 -0400 Date: Fri, 7 Aug 2009 02:31:57 -0400 To: X-Mailer: Siebel EMS 80 [EMS 2012] main/200904271731 MIME-Version: 1.0 Reply-To: noreply@ptc.com From: "PTC Info" X-ASG-Orig-Subj: Join PTC/USER Subject: Join PTC/USER Sender: "PTC Info" Message-ID: Content-Type: multipart/alternative; boundary=BF_1249625347106_1869368411 X-Barracuda-Connect: relay2.ptc.com[12.11.148.122] X-Barracuda-Start-Time: 1249628868 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=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5520 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --BF_1249625347106_1869368411 Content-Type: text/plain; charset=UTF-8 =============================================================================== YOU'RE INVITED TO PARTICIPATE =============================================================================== PTC/USER is the independent voice for users of PTC software. PTC/USER has a two-fold mission: to provide education and communication for members; and to act as a unified voice representing the membership to PTC. Membership is free of charge and includes access to resources like: (http://www.ptc.com/read?&u=1-5LWLN-2077&c=1-54FFBR&o=1-3SALOJ&w=2354034&t=http%3A%2F%2Fportal.ptcuser.org%2Fl%2Fpw%2Frs) * Upcoming Events Near You - Educational User Group meetings which take place on a local level where you can network with peers. * Discussion Forums - This members-only section of our website allows you to exchange ideas and opinions on the topics that matter to you. * Technical Committees - With approximately 80% of member suggestions appearing as product enhancements, you can contribute to future development of PTC software. * Tips and Tricks - Learn time-saving techniques to make your life easier. PTC/USER also hosts PTC/USER World Event, an annual technology conference that includes 3 days of education and training, product roadmap presentations, and peer networking. Click here to join PTC/USER (http://www.ptc.com/read?&u=1-5LWLN-2077&c=1-54FFBR&o=1-3SALOJ&w=2354034&t=http%3A%2F%2Fportal.ptcuser.org%2Fl%2Fpw%2Frs), or learn more here. (http://www.ptc.com/read?&u=1-5LWLN-2077&c=1-54FFBR&o=1-3SALOJ&w=2354034&t=http%3A%2F%2Fportal.ptcuser.org%2Fp%2Fst%2Fld%2Fsid%3Ds1_001) ------------------------------------------------------------------------------- PTC/USER http://www.ptc.com/read?&u=1-5LWLN-2077&c=1-54FFBR&o=1-3SALOJ&w=2354034&t=http%3A%2F%2Fwww.ptc.com%2FWCMS%2Fimages%2F85551%2F85551en_image1.jpg Join PTC/USER http://www.ptc.com/read?&u=1-5LWLN-2077&c=1-54FFBR&o=1-3SALOJ&w=2354034&t=http%3A%2F%2Fportal.ptcuser.org%2Fl%2Fpw%2Frs =============================================================================== contact PTC http://www.ptc.com/company/contacts/index.htm privacy policy http://www.ptc.com/company/policies/index.htm unsubscribe http://www.ptc.com/appserver/mkt/mail/preferences.jsp?&offd=1-3SALOJ&campd=1-54FFBR&conud=1-5LWLN-2077&mailkey=2354034&email=xfs@oss.sgi.com change preferences http://www.ptc.com/appserver/mkt/mail/preferences.jsp?&offd=1-3SALOJ&campd=1-54FFBR&conud=1-5LWLN-2077&mailkey=2354034&email=xfs@oss.sgi.com edit profile http://www.ptc.com/read?&w=2354034&t=/common/account/index.htm ------------------------------------------------------------------------------- This email was sent to: xfs@oss.sgi.com PTC, 140 Kendrick Street, Needham, MA 02494 USA --BF_1249625347106_1869368411 Content-Type: text/html; charset=UTF-8 PTC/USER
PTC.com

You're Invited to Participate

PTC/USER is the independent voice for users of PTC software. PTC/USER has a two-fold mission: to provide education and communication for members; and to act as a unified voice representing the membership to PTC.

Membership is free of charge and includes access to resources like:

  • Upcoming Events Near You - Educational User Group meetings which take place on a local level where you can network with peers.
  • Discussion Forums - This members-only section of our website allows you to exchange ideas and opinions on the topics that matter to you.
  • Technical Committees - With approximately 80% of member suggestions appearing as product enhancements, you can contribute to future development of PTC software. 
  • Tips and Tricks – Learn time-saving techniques to make your life easier.

PTC/USER also hosts PTC/USER World Event, an annual technology conference that includes 3 days of education and training, product roadmap presentations, and peer networking.

Click here to join PTC/USER, or learn more here.

PTC/USER
PTC/USER

Join PTC/USER

contact PTC | privacy policy | unsubscribe | change preferences | edit profile
This email was sent to: xfs@oss.sgi.com     PTC, 140 Kendrick Street, Needham, MA 02494 USA
--BF_1249625347106_1869368411-- From Zoran.Cvetkovic@zmensch.de Fri Aug 7 06:38:38 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77BcbX5129004 for ; Fri, 7 Aug 2009 06:38:37 -0500 X-ASG-Debug-ID: 1249645167-449d006b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from essen024.server4you.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AE4B63B193E for ; Fri, 7 Aug 2009 04:39:27 -0700 (PDT) Received: from essen024.server4you.de (essen024.server4you.de [217.172.182.24]) by cuda.sgi.com with ESMTP id tvElPlh8C4hEufob for ; Fri, 07 Aug 2009 04:39:27 -0700 (PDT) Received: from [192.168.1.64] (xdsl-87-78-92-187.netcologne.de [87.78.92.187]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by essen024.server4you.de (Postfix) with ESMTP id 33C462A73C6; Fri, 7 Aug 2009 13:39:26 +0200 (CEST) Message-ID: <4A7C1265.5020909@zmensch.de> Date: Fri, 07 Aug 2009 13:39:17 +0200 From: Zoran Cvetkovic User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de-AT; rv:1.8.1.19) Gecko/20081204 SeaMonkey/1.1.14 MIME-Version: 1.0 To: xfs@oss.sgi.com X-ASG-Orig-Subj: corrupt dinode but xfs_check and xfs_repair are bit detecting any problem and are fixing nothing. Subject: corrupt dinode but xfs_check and xfs_repair are bit detecting any problem and are fixing nothing. Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: essen024.server4you.de[217.172.182.24] X-Barracuda-Start-Time: 1249645169 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.2.5537 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hi Fellows, I am running a 2.6.26 kernel on debian lenny having a 6 TB data partition under xfs, 2.6 TB are in use now. xfs fs is exported via nfs from that box. after 12 weeks of popper service suddenly nfs performance was a disaster and the box was stuttering, system load was about 10. There was no indication for a hardware problem. HW Raid status was *OK* /var/log/messages lists several thousand lines like: Aug 6 21:12:03 nfsserver kernel: [7660448.840139] Filesystem "sdb1": corrupt dinode 4806258, (btree extents). Unmount and run xfs_repair. (allways the same dinode #) after stopping nfsd and unmounting the fs both xfs_check and xfs_repaier did not detect any corruption! back in service i got the same problem and log lines. So what is wrong here? There might be a fs issue and the fs utilitys are not able to detect it ? I did a metadata dump of that fs and could post it, would this help to determine what is going wrong here? Regards, Zoran Cvetkovic From Zoran.Cvetkovic@zmensch.de Fri Aug 7 07:59:40 2009 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77Cxdd3132469 for ; Fri, 7 Aug 2009 07:59:39 -0500 X-ASG-Debug-ID: 1249650030-75e6018d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from essen024.server4you.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6C0803B1D19 for ; Fri, 7 Aug 2009 06:00:31 -0700 (PDT) Received: from essen024.server4you.de (essen024.server4you.de [217.172.182.24]) by cuda.sgi.com with ESMTP id DFnXAy2GNnJGQthO for ; Fri, 07 Aug 2009 06:00:31 -0700 (PDT) Received: from [192.168.1.64] (xdsl-87-78-92-187.netcologne.de [87.78.92.187]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by essen024.server4you.de (Postfix) with ESMTP id 907502A73B2 for ; Fri, 7 Aug 2009 15:00:30 +0200 (CEST) Message-ID: <4A7C255F.4010001@zmensch.de> Date: Fri, 07 Aug 2009 15:00:15 +0200 From: Zoran Cvetkovic User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de-AT; rv:1.8.1.19) Gecko/20081204 SeaMonkey/1.1.14 MIME-Version: 1.0 To: xfs@oss.sgi.com X-ASG-Orig-Subj: re: [PATCH, RFC] xfs_repair - clear inodes in incorrect btree format Subject: re: [PATCH, RFC] xfs_repair - clear inodes in incorrect btree format Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: essen024.server4you.de[217.172.182.24] X-Barracuda-Start-Time: 1249650031 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.42 X-Barracuda-Spam-Status: No, SCORE=-1.42 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=COMMA_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5543 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 COMMA_SUBJECT Subject is like 'Re: FDSDS, this is a subject' X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hello, my today posting with subject: "corrupt dinode but xfs_check and xfs_repair are bit detecting any problem and are fixing nothing" seems to be a the same issue. I will provide the methadump to whom it my be help full. Regards, Zoran Cvetkovic From sandeen@sandeen.net Fri Aug 7 09:12:20 2009 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77ECK3T135678 for ; Fri, 7 Aug 2009 09:12:20 -0500 X-ASG-Debug-ID: 1249654391-262403650000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A35DF146AF3B for ; Fri, 7 Aug 2009 07:13:11 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id YRr0ZGmYbk6KkCP4 for ; Fri, 07 Aug 2009 07:13:11 -0700 (PDT) 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 mail.sandeen.net (Postfix) with ESMTP id B5F40A9BF27; Fri, 7 Aug 2009 09:13:10 -0500 (CDT) Message-ID: <4A7C3676.1050303@sandeen.net> Date: Fri, 07 Aug 2009 09:13:10 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Zoran Cvetkovic CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs_repair - clear inodes in incorrect btree format Subject: Re: [PATCH, RFC] xfs_repair - clear inodes in incorrect btree format References: <4A7C255F.4010001@zmensch.de> In-Reply-To: <4A7C255F.4010001@zmensch.de> 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: 1249654391 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.42 X-Barracuda-Spam-Status: No, SCORE=-1.42 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=COMMA_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5547 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 COMMA_SUBJECT Subject is like 'Re: FDSDS, this is a subject' X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Zoran Cvetkovic wrote: > Hello, > > my today posting with subject: "corrupt dinode but xfs_check and > xfs_repair are bit detecting any problem and are fixing nothing" > seems to be a the same issue. > > I will provide the methadump to whom it my be help full. > > Regards, > Zoran Cvetkovic If you like, it's in git at http://git.kernel.org/?p=fs/xfs/xfsprogs-dev.git;a=summary and you could make test that on a metadump youreslf. Otherwise, I could take a look. -Eric From sc1@bounce.scsend.com Fri Aug 7 11:36:05 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.0 required=5.0 tests=BAYES_50,HTML_MESSAGE autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77Ga30V142460 for ; Fri, 7 Aug 2009 11:36:05 -0500 X-ASG-Debug-ID: 1249663013-1535030c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from m6.scsend.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2735F3B2CE1 for ; Fri, 7 Aug 2009 09:36:53 -0700 (PDT) Received: from m6.scsend.com (m6.scsend.com [67.225.198.82]) by cuda.sgi.com with ESMTP id bBLnirx4Rw7LCe6f for ; Fri, 07 Aug 2009 09:36:53 -0700 (PDT) List-Unsubscribe: http://app.scsend.com/unsubscribe.asp?outgoing_idno=5653804&e=3001025&gId=5523506 x-zt-gp-id: 5523506 Errors-To: sc1@bounce.scsend.com Reply-To: brian@nspired.net From: "Brian McCormick" To: "Chinner, David" Message-ID: Date: Fri, 07 Aug 2009 13:36:53 -0300 X-ASG-Orig-Subj: Moving Data Made Simple & Secure Subject: Moving Data Made Simple & Secure MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----BCE6336805BC40D88B77B51A32B44F63" X-Barracuda-Connect: m6.scsend.com[67.225.198.82] X-Barracuda-Start-Time: 1249663015 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0008 1.0000 -2.0158 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.91 X-Barracuda-Spam-Status: No, SCORE=-1.91 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC0_SA085, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5557 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.10 BSF_SC0_SA085 Custom Rule SA085 X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean ------BCE6336805BC40D88B77B51A32B44F63 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Nspired Technologies | 130 Carriage Hill dr | Casselberry | FL | 32707= | US This email was sent to xfs@oss=2Esgi=2Ecom, by brian@nspired=2Enet=2E To unsubscribe from this list - please use this link:=20 http://app=2Escsend=2Ecom/unsubscribe=2Easp?outgoing_idno=3D5653804&e=3D= 3001025&gId=3D5523506=2E If this message was received in error, please report it to: mailto:reportit@scsend=2Ecom?subject=3D5523506z3001025z5653804 This email was powered by http://www=2Escsend=2Ecom ------BCE6336805BC40D88B77B51A32B44F63 Content-type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable HTML Email
Having trouble viewing this e-mail? please use this link= =2E

Untitled Document
Webinar: Is Your Company Transferring Sensitive Dat= a Securely?

Organizations are increasingly exchangin= g data with their customers, banks, vendors and other trading partners= =2E This exchange is often being done using FTP, Email and other unsec= ure methods=2E This often places sensitive data at risk, especially whe= n this data is sent over the internet=2E These transfers can also beco= me time consuming and unmanageable=2E

GoAnywher= e is an innovative solution for automating data retriev= al, translation, encryption, compression and distribution=2E With GoAny= where's intuitive interface and comprehensive functionality, you can ea= sily streamline and secure the exchange of data with your customers, tr= ading partners and enterprise servers=2E

REGISTER NOW
Date: Wednesday Aug 12th
Time: 2:00 EDT

3D"GoAnywhere

- Sends and retrieves files via E-= mail and secure E-mail
- Simplifies and automates FTP processes
- Exchanges data with HTTP and HTTPS servers<= br /> - Compresses and decompresses files using ZIP, GZIP = and TAR standards
- Connects to secure FTP servers (SFTP and FTPS) for= protected communication
- Encrypts and decrypts files using Open PGP encrypt= ion standard
- Includes integrated Key Management tools for Open = PGP keys, SSH keys and SSL certificates
- Allows= for centralized control and monitoring of t= ransfers through a browser interface
- Contains a comprehensive built-in scheduler=
- Produces complete logging reports
- Installs to System i, Windows, Linux, UNIX, AIX, H= P-UX and Solaris platforms
And much much more

= 3D"Linoma 3D"Nspired<= /a>
=20

This email was sent to xfs@oss=2Esgi=2Ecom, by brian@nspired=2Enet=2E
You may unsub= scribe from this list=2E If this message was received in error, ple= ase report it=2E


  Nspired Technologies | 130 Carriage Hill dr | Ca= sselberry | FL | 32707 | US

3D"Powered
------BCE6336805BC40D88B77B51A32B44F63-- From felixb@sgi.com Fri Aug 7 12:25:54 2009 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 relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77HPsIS144383 for ; Fri, 7 Aug 2009 12:25:54 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id 45562AC01C for ; Fri, 7 Aug 2009 10:26:43 -0700 (PDT) Received: from eagdhcp-232-195.americas.sgi.com (eagdhcp-232-195.americas.sgi.com [128.162.232.195]) by estes.americas.sgi.com (Postfix) with ESMTP id 069FD70001C8; Fri, 7 Aug 2009 12:26:43 -0500 (CDT) Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org Message-Id: <24CFF78E-BB3F-47A1-8D6C-49EA198CCD94@sgi.com> From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090804141834.526088000@bombadil.infradead.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit Date: Fri, 7 Aug 2009 12:25:47 -0500 References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.526088000@bombadil.infradead.org> X-Mailer: Apple Mail (2.926) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Aug 4, 2009, at 9:15 AM, Christoph Hellwig wrote: > The locking in xfs_iget_cache_hit currently has numerous problems: > > - we clear the reclaim tag without i_flags_lock which protects > modifications > to it > - we call inode_init_always which can sleep with pag_ici_lock held > - we acquire and drop i_flags_lock a lot and thus provide no > consistency > between the various flags we set/clear under it > > This patch fixes all that with a major revamp of the locking in the > function. > The new version acquires i_flags_lock early and only drops it once > we need to > call into inode_init_always or before calling xfs_ilock. > > This patch fixes a bug seen in the wild where we race modifying the > reclaim tag. Some comments below as well as couple of questions based on the difference with previous code, not necessarily pointing to a problem. Just trying to figure it out for myself. > > > Signed-off-by: Christoph Hellwig > > Index: linux-2.6/fs/xfs/xfs_iget.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-01 23:20:54.775080254 > +0200 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-01 23:20:54.807080483 +0200 > @@ -133,80 +133,90 @@ xfs_iget_cache_hit( > int flags, > int lock_flags) __releases(pag->pag_ici_lock) > { > + struct inode *inode = VFS_I(ip); > struct xfs_mount *mp = ip->i_mount; > - int error = EAGAIN; > + int error; > + > + spin_lock(&ip->i_flags_lock); > > /* > - * If INEW is set this inode is being set up > - * If IRECLAIM is set this inode is being torn down > - * Pause and try again. > + * This inode is being torn down, pause and try again. > */ > - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { > + if (ip->i_flags & XFS_IRECLAIM) { > XFS_STATS_INC(xs_ig_frecycle); > + error = EAGAIN; > goto out_error; > } > > - /* If IRECLAIMABLE is set, we've torn down the vfs inode part */ > - if (xfs_iflags_test(ip, XFS_IRECLAIMABLE)) { > + /* > + * If we are racing with another cache hit that is currently > recycling > + * this inode out of the XFS_IRECLAIMABLE state, wait for the > + * initialisation to complete before continuing. > + */ > + if (ip->i_flags & XFS_INEW) { Another case when we find XFS_INEW set is the race with the cache miss, which just set up a new inode. Would the proposed code be still sensible in that case? If yes, at least comments should be updated. > > + spin_unlock(&ip->i_flags_lock); > + read_unlock(&pag->pag_ici_lock); > > - /* > - * If lookup is racing with unlink, then we should return an > - * error immediately so we don't remove it from the reclaim > - * list and potentially leak the inode. > - */ > - if ((ip->i_d.di_mode == 0) && !(flags & XFS_IGET_CREATE)) { > - error = ENOENT; > - goto out_error; > - } > + XFS_STATS_INC(xs_ig_frecycle); > + wait_on_inode(inode); It's possible to have XFS_INEW set, but no I_LOCK|I_NEW yet. Then the wait_on_inode() would return quickly even before the linux inode is reinitialized. Though, that was the case with the old code as well. > > + return EAGAIN; This return seems inconsistent with usual goto end of function convention. I understand that in this case goto out_error would be incorrect. Should we create new label out_error_unlocked? > > + } > > + /* > + * If lookup is racing with unlink, then we should return an > + * error immediately so we don't remove it from the reclaim > + * list and potentially leak the inode. > + */ > + if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { Previously the conclusion of the race with unlink was based on XFS_IRECLAIMABLE i_flag set in addition to the test above. Is is no longer a case, or not really necessary? > > + error = ENOENT; > + goto out_error; > + } > + > + /* > + * If IRECLAIMABLE is set, we've torn down the VFS inode already. > + * Need to carefully get it back into useable state. > + */ > + if (ip->i_flags & XFS_IRECLAIMABLE) { > xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); > > /* > - * We need to re-initialise the VFS inode as it has been > - * 'freed' by the VFS. Do this here so we can deal with > - * errors cleanly, then tag it so it can be set up correctly > - * later. > + * We need to set XFS_INEW atomically with clearing the > + * reclaimable tag so that we do have an indicator of the > + * inode still being initialized. > */ > - if (!inode_init_always(mp->m_super, VFS_I(ip))) { > + ip->i_flags |= XFS_INEW; > + __xfs_inode_clear_reclaim_tag(pag, ip); > + > + spin_unlock(&ip->i_flags_lock); > + read_unlock(&pag->pag_ici_lock); > + > + if (unlikely(!inode_init_always(mp->m_super, inode))) { > + /* > + * Re-initializing the inode failed, and we are in deep > + * trouble. Try to re-add it to the reclaim list. > + */ > + read_lock(&pag->pag_ici_lock); > + spin_lock(&ip->i_flags_lock); > + > + ip->i_flags &= ~XFS_INEW; > + __xfs_inode_set_reclaim_tag(pag, ip); > + > error = ENOMEM; > goto out_error; > } > - > - /* > - * We must set the XFS_INEW flag before clearing the > - * XFS_IRECLAIMABLE flag so that if a racing lookup does > - * not find the XFS_IRECLAIMABLE above but has the igrab() > - * below succeed we can safely check XFS_INEW to detect > - * that this inode is still being initialised. > - */ > - xfs_iflags_set(ip, XFS_INEW); > - xfs_iflags_clear(ip, XFS_IRECLAIMABLE); > - > - /* clear the radix tree reclaim flag as well. */ > - __xfs_inode_clear_reclaim_tag(mp, pag, ip); > - } else if (!igrab(VFS_I(ip))) { > + inode->i_state = I_LOCK|I_NEW; > + } else { > /* If the VFS inode is being torn down, pause and try again. */ > - XFS_STATS_INC(xs_ig_frecycle); > - goto out_error; > - } else if (xfs_iflags_test(ip, XFS_INEW)) { > - /* > - * We are racing with another cache hit that is > - * currently recycling this inode out of the XFS_IRECLAIMABLE > - * state. Wait for the initialisation to complete before > - * continuing. > - */ > - wait_on_inode(VFS_I(ip)); > - } > + if (!igrab(inode)) { > + error = EAGAIN; > + goto out_error; > + } > > - if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { > - error = ENOENT; > - iput(VFS_I(ip)); > - goto out_error; > + /* We've got a live one. */ > + spin_unlock(&ip->i_flags_lock); > + read_unlock(&pag->pag_ici_lock); > } > > - /* We've got a live one. */ > - read_unlock(&pag->pag_ici_lock); > - > if (lock_flags != 0) > xfs_ilock(ip, lock_flags); > > @@ -216,6 +226,7 @@ xfs_iget_cache_hit( > return 0; > > out_error: > + spin_unlock(&ip->i_flags_lock); > read_unlock(&pag->pag_ici_lock); > return error; > } > Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.c > =================================================================== > --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.c 2009-08-01 > 23:20:31.441330970 +0200 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-01 > 23:20:54.807080483 +0200 > @@ -708,6 +708,17 @@ xfs_reclaim_inode( > return 0; > } > > +void > +__xfs_inode_set_reclaim_tag( > + struct xfs_perag *pag, > + struct xfs_inode *ip) > +{ > + radix_tree_tag_set(&pag->pag_ici_root, > + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), > + XFS_ICI_RECLAIM_TAG); > + ip->i_flags |= XFS_IRECLAIMABLE; > +} > + > /* > * We set the inode flag atomically with the radix tree tag. > * Once we get tag lookups on the radix tree, this inode flag > @@ -722,9 +733,7 @@ xfs_inode_set_reclaim_tag( > > read_lock(&pag->pag_ici_lock); > spin_lock(&ip->i_flags_lock); > - radix_tree_tag_set(&pag->pag_ici_root, > - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); > - __xfs_iflags_set(ip, XFS_IRECLAIMABLE); > + __xfs_inode_set_reclaim_tag(pag, ip); > spin_unlock(&ip->i_flags_lock); > read_unlock(&pag->pag_ici_lock); > xfs_put_perag(mp, pag); > @@ -732,27 +741,13 @@ xfs_inode_set_reclaim_tag( > > void > __xfs_inode_clear_reclaim_tag( > - xfs_mount_t *mp, > - xfs_perag_t *pag, > - xfs_inode_t *ip) > + struct xfs_perag *pag, > + struct xfs_inode *ip) > { > + ip->i_flags &= ~XFS_IRECLAIMABLE; > radix_tree_tag_clear(&pag->pag_ici_root, > - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); > -} > - > -void > -xfs_inode_clear_reclaim_tag( > - xfs_inode_t *ip) > -{ > - xfs_mount_t *mp = ip->i_mount; > - xfs_perag_t *pag = xfs_get_perag(mp, ip->i_ino); > - > - read_lock(&pag->pag_ici_lock); > - spin_lock(&ip->i_flags_lock); > - __xfs_inode_clear_reclaim_tag(mp, pag, ip); > - spin_unlock(&ip->i_flags_lock); > - read_unlock(&pag->pag_ici_lock); > - xfs_put_perag(mp, pag); > + XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino), > + XFS_ICI_RECLAIM_TAG); > } > > STATIC int > Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.h > =================================================================== > --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.h 2009-08-01 > 23:20:31.449329683 +0200 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-01 > 23:20:54.808079772 +0200 > @@ -48,9 +48,8 @@ int xfs_reclaim_inode(struct xfs_inode * > int xfs_reclaim_inodes(struct xfs_mount *mp, int mode); > > void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); > -void xfs_inode_clear_reclaim_tag(struct xfs_inode *ip); > -void __xfs_inode_clear_reclaim_tag(struct xfs_mount *mp, struct > xfs_perag *pag, > - struct xfs_inode *ip); > +void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct > xfs_inode *ip); > +void __xfs_inode_clear_reclaim_tag(struct xfs_perag *pag, struct > xfs_inode *ip); > > int xfs_sync_inode_valid(struct xfs_inode *ip, struct xfs_perag *pag); > int xfs_inode_ag_iterator(struct xfs_mount *mp, > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From BATV+dda37850ac9230145df2+2175+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 7 12:33:35 2009 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77HXXtt144782 for ; Fri, 7 Aug 2009 12:33:34 -0500 X-ASG-Debug-ID: 1249667043-1f01012e0000-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 D441E12B0D72; Fri, 7 Aug 2009 10:44:03 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Ry3PrjfR2qBV1jpw; Fri, 07 Aug 2009 10:44:03 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MZTKh-0005yr-LL; Fri, 07 Aug 2009 17:34:23 +0000 Date: Fri, 7 Aug 2009 13:34:23 -0400 From: Christoph Hellwig To: torvalds@linux-foundation.org, felixb@sgi.com Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org X-ASG-Orig-Subj: [PULL REQUEST] vfs/xfs: fix freeing of inodes not yet added to the inode cache Subject: [PULL REQUEST] vfs/xfs: fix freeing of inodes not yet added to the inode cache Message-ID: <20090807173423.GA19588@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.19 (2009-01-05) 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: 1249667044 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hi Linus, hi Felix, not sure which way this should go, especially with Al being offline, it's a fix for an XFS only bug, but mostly touching the VFS. These three patches fix problems we intorduced when redoing the XFS inode caching in 2.6.29 (yes, that long ago). The actual fixes are mostly in inode.c, but in functionality that was only exported in that way for XFS and doesn't have other users, which the last patch just mostly splits up a function in XFS to fix the way we delete inodes that lost the race of adding them to the inode. As you can see by the Reported-by tags on the last patch tons of people hit it (probably the most I've ever seen for a single bug), and it's been harassing us for a long time, so I'd really like to see this getting into 2.6.31. It's been out on -fsdevel for review for a couple of days. The following changes since commit 90bc1a658a53f8832ee799685703977a450e5af9: Linus Torvalds (1): Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races.git master Christoph Hellwig (3): vfs: fix inode_init_always calling convention vfs: add __destroy_inode xfs: fix freeing of inodes not yet added to the inode cache fs/inode.c | 39 ++++++++------ fs/xfs/xfs_iget.c | 142 +++++++++++++++++++++++++++------------------------- fs/xfs/xfs_inode.h | 17 ------ include/linux/fs.h | 3 +- 4 files changed, 98 insertions(+), 103 deletions(-) From felixb@sgi.com Fri Aug 7 12:38:18 2009 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_46 autolearn=no version=3.3.0-rupdated Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77HcHCp145155 for ; Fri, 7 Aug 2009 12:38:17 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id B1117AC003 for ; Fri, 7 Aug 2009 10:39:09 -0700 (PDT) Received: from eagdhcp-232-195.americas.sgi.com (eagdhcp-232-195.americas.sgi.com [128.162.232.195]) by estes.americas.sgi.com (Postfix) with ESMTP id 4EF9A70001C8; Fri, 7 Aug 2009 12:39:09 -0500 (CDT) Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org Message-Id: From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090804141834.850853000@bombadil.infradead.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [PATCH 2/4] fix inode_init_always calling convention Date: Fri, 7 Aug 2009 12:39:08 -0500 References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.850853000@bombadil.infradead.org> X-Mailer: Apple Mail (2.926) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Aug 4, 2009, at 9:15 AM, Christoph Hellwig wrote: > Currently inode_init_always calls into ->destroy_inode if the > additional > initialization fails. That's not only counter-intuitive because > inode_init_always did not allocate the inode structure, but in case of > XFS it's actively harmful as ->destroy_inode might delete the inode > from > a radix-tree that has never been added. This in turn might end up > deleting the inode for the same inum that has been instanciated by > another process and cause lots of cause subtile problems. > > Also in the case of re-initializing a reclaimable inode in XFS it > would > free an inode we still want to keep alive. Definitely sensible approach for inode_init_always to be symmetric, and to not free what it didn't allocate. Reviewed-by: Felix Blyakher with minor comment below. > > > Signed-off-by: Christoph Hellwig > > Index: linux-2.6/fs/inode.c > =================================================================== > --- linux-2.6.orig/fs/inode.c 2009-08-03 01:16:04.254556370 +0200 > +++ linux-2.6/fs/inode.c 2009-08-03 01:23:11.135532251 +0200 > @@ -120,12 +120,11 @@ static void wake_up_inode(struct inode * > * These are initializations that need to be done on every inode > * allocation as the fields are not initialised by slab allocation. > */ > -struct inode *inode_init_always(struct super_block *sb, struct > inode *inode) > +int inode_init_always(struct super_block *sb, struct inode *inode) > { > static const struct address_space_operations empty_aops; > static struct inode_operations empty_iops; > static const struct file_operations empty_fops; > - > struct address_space *const mapping = &inode->i_data; > > inode->i_sb = sb; > @@ -152,7 +151,7 @@ struct inode *inode_init_always(struct s > inode->dirtied_when = 0; > > if (security_inode_alloc(inode)) > - goto out_free_inode; > + goto out; > > /* allocate and initialize an i_integrity */ > if (ima_inode_alloc(inode)) > @@ -198,16 +197,12 @@ struct inode *inode_init_always(struct s > inode->i_fsnotify_mask = 0; > #endif > > - return inode; > + return 0; > > out_free_security: > security_inode_free(inode); > -out_free_inode: > - if (inode->i_sb->s_op->destroy_inode) > - inode->i_sb->s_op->destroy_inode(inode); > - else > - kmem_cache_free(inode_cachep, (inode)); > - return NULL; > +out: > + return -ENOMEM; > } > EXPORT_SYMBOL(inode_init_always); > > @@ -220,9 +215,17 @@ static struct inode *alloc_inode(struct > else > inode = kmem_cache_alloc(inode_cachep, GFP_KERNEL); > > - if (inode) > - return inode_init_always(sb, inode); > - return NULL; > + if (!inode) > + return NULL; > + > + if (unlikely(inode_init_always(sb, inode))) { > + if (inode->i_sb->s_op->destroy_inode) > + inode->i_sb->s_op->destroy_inode(inode); > + else > + kmem_cache_free(inode_cachep, inode); > + } > + > + return inode; > } > > void destroy_inode(struct inode *inode) > Index: linux-2.6/fs/xfs/xfs_iget.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-03 01:16:22.510806794 > +0200 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-03 01:23:29.878784477 +0200 > @@ -64,6 +64,10 @@ xfs_inode_alloc( > ip = kmem_zone_alloc(xfs_inode_zone, KM_SLEEP); > if (!ip) > return NULL; > + if (inode_init_always(mp->m_super, VFS_I(ip))) { Should this be 'unlikely' event? > > + kmem_zone_free(xfs_inode_zone, ip); > + return NULL; > + } > > ASSERT(atomic_read(&ip->i_iocount) == 0); > ASSERT(atomic_read(&ip->i_pincount) == 0); > @@ -105,17 +109,6 @@ xfs_inode_alloc( > #ifdef XFS_DIR2_TRACE > ip->i_dir_trace = ktrace_alloc(XFS_DIR2_KTRACE_SIZE, KM_NOFS); > #endif > - /* > - * Now initialise the VFS inode. We do this after the xfs_inode > - * initialisation as internal failures will result in ->destroy_inode > - * being called and that will pass down through the reclaim path and > - * free the XFS inode. This path requires the XFS inode to already be > - * initialised. Hence if this call fails, the xfs_inode has already > - * been freed and we should not reference it at all in the error > - * handling. > - */ > - if (!inode_init_always(mp->m_super, VFS_I(ip))) > - return NULL; > > /* prevent anyone from using this yet */ > VFS_I(ip)->i_state = I_NEW|I_LOCK; > @@ -190,7 +183,7 @@ xfs_iget_cache_hit( > spin_unlock(&ip->i_flags_lock); > read_unlock(&pag->pag_ici_lock); > > - if (unlikely(!inode_init_always(mp->m_super, inode))) { > + if (unlikely(inode_init_always(mp->m_super, inode))) { > /* > * Re-initializing the inode failed, and we are in deep > * trouble. Try to re-add it to the reclaim list. > Index: linux-2.6/include/linux/fs.h > =================================================================== > --- linux-2.6.orig/include/linux/fs.h 2009-08-03 01:16:21.186539128 > +0200 > +++ linux-2.6/include/linux/fs.h 2009-08-03 01:23:11.131532230 +0200 > @@ -2136,7 +2136,7 @@ extern loff_t default_llseek(struct file > > extern loff_t vfs_llseek(struct file *file, loff_t offset, int > origin); > > -extern struct inode * inode_init_always(struct super_block *, > struct inode *); > +extern int inode_init_always(struct super_block *, struct inode *); > extern void inode_init_once(struct inode *); > extern void inode_add_to_lists(struct super_block *, struct inode *); > extern void iput(struct inode *); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From felixb@sgi.com Fri Aug 7 13:08:15 2009 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_46 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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77I8FQ7146562 for ; Fri, 7 Aug 2009 13:08:15 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id DB41830407B for ; Fri, 7 Aug 2009 11:09:04 -0700 (PDT) Received: from eagdhcp-232-195.americas.sgi.com (eagdhcp-232-195.americas.sgi.com [128.162.232.195]) by estes.americas.sgi.com (Postfix) with ESMTP id AADFB7000103; Fri, 7 Aug 2009 13:09:04 -0500 (CDT) Cc: Christoph Hellwig , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org Message-Id: <5BF670C1-EE1B-474A-A422-71145FD96C60@sgi.com> From: Felix Blyakher To: Felix Blyakher In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [PATCH 2/4] fix inode_init_always calling convention Date: Fri, 7 Aug 2009 13:09:04 -0500 References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.850853000@bombadil.infradead.org> X-Mailer: Apple Mail (2.926) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Aug 7, 2009, at 12:39 PM, Felix Blyakher wrote: > > On Aug 4, 2009, at 9:15 AM, Christoph Hellwig wrote: > >> Currently inode_init_always calls into ->destroy_inode if the >> additional >> initialization fails. That's not only counter-intuitive because >> inode_init_always did not allocate the inode structure, but in case >> of >> XFS it's actively harmful as ->destroy_inode might delete the inode >> from >> a radix-tree that has never been added. This in turn might end up >> deleting the inode for the same inum that has been instanciated by >> another process and cause lots of cause subtile problems. Also for a clean git log the last line should read: another process and cause lots of subtle problems. Not trying to be picky :) Felix >> >> >> Also in the case of re-initializing a reclaimable inode in XFS it >> would >> free an inode we still want to keep alive. > > Definitely sensible approach for inode_init_always to be > symmetric, and to not free what it didn't allocate. > > Reviewed-by: Felix Blyakher > > with minor comment below. > >> >> >> Signed-off-by: Christoph Hellwig >> >> Index: linux-2.6/fs/inode.c >> =================================================================== >> --- linux-2.6.orig/fs/inode.c 2009-08-03 01:16:04.254556370 +0200 >> +++ linux-2.6/fs/inode.c 2009-08-03 01:23:11.135532251 +0200 >> @@ -120,12 +120,11 @@ static void wake_up_inode(struct inode * >> * These are initializations that need to be done on every inode >> * allocation as the fields are not initialised by slab allocation. >> */ >> -struct inode *inode_init_always(struct super_block *sb, struct >> inode *inode) >> +int inode_init_always(struct super_block *sb, struct inode *inode) >> { >> static const struct address_space_operations empty_aops; >> static struct inode_operations empty_iops; >> static const struct file_operations empty_fops; >> - >> struct address_space *const mapping = &inode->i_data; >> >> inode->i_sb = sb; >> @@ -152,7 +151,7 @@ struct inode *inode_init_always(struct s >> inode->dirtied_when = 0; >> >> if (security_inode_alloc(inode)) >> - goto out_free_inode; >> + goto out; >> >> /* allocate and initialize an i_integrity */ >> if (ima_inode_alloc(inode)) >> @@ -198,16 +197,12 @@ struct inode *inode_init_always(struct s >> inode->i_fsnotify_mask = 0; >> #endif >> >> - return inode; >> + return 0; >> >> out_free_security: >> security_inode_free(inode); >> -out_free_inode: >> - if (inode->i_sb->s_op->destroy_inode) >> - inode->i_sb->s_op->destroy_inode(inode); >> - else >> - kmem_cache_free(inode_cachep, (inode)); >> - return NULL; >> +out: >> + return -ENOMEM; >> } >> EXPORT_SYMBOL(inode_init_always); >> >> @@ -220,9 +215,17 @@ static struct inode *alloc_inode(struct >> else >> inode = kmem_cache_alloc(inode_cachep, GFP_KERNEL); >> >> - if (inode) >> - return inode_init_always(sb, inode); >> - return NULL; >> + if (!inode) >> + return NULL; >> + >> + if (unlikely(inode_init_always(sb, inode))) { >> + if (inode->i_sb->s_op->destroy_inode) >> + inode->i_sb->s_op->destroy_inode(inode); >> + else >> + kmem_cache_free(inode_cachep, inode); >> + } >> + >> + return inode; >> } >> >> void destroy_inode(struct inode *inode) >> Index: linux-2.6/fs/xfs/xfs_iget.c >> =================================================================== >> --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-03 01:16:22.510806794 >> +0200 >> +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-03 01:23:29.878784477 +0200 >> @@ -64,6 +64,10 @@ xfs_inode_alloc( >> ip = kmem_zone_alloc(xfs_inode_zone, KM_SLEEP); >> if (!ip) >> return NULL; >> + if (inode_init_always(mp->m_super, VFS_I(ip))) { > > Should this be 'unlikely' event? > >> >> + kmem_zone_free(xfs_inode_zone, ip); >> + return NULL; >> + } >> >> ASSERT(atomic_read(&ip->i_iocount) == 0); >> ASSERT(atomic_read(&ip->i_pincount) == 0); >> @@ -105,17 +109,6 @@ xfs_inode_alloc( >> #ifdef XFS_DIR2_TRACE >> ip->i_dir_trace = ktrace_alloc(XFS_DIR2_KTRACE_SIZE, KM_NOFS); >> #endif >> - /* >> - * Now initialise the VFS inode. We do this after the xfs_inode >> - * initialisation as internal failures will result in - >> >destroy_inode >> - * being called and that will pass down through the reclaim path and >> - * free the XFS inode. This path requires the XFS inode to already >> be >> - * initialised. Hence if this call fails, the xfs_inode has already >> - * been freed and we should not reference it at all in the error >> - * handling. >> - */ >> - if (!inode_init_always(mp->m_super, VFS_I(ip))) >> - return NULL; >> >> /* prevent anyone from using this yet */ >> VFS_I(ip)->i_state = I_NEW|I_LOCK; >> @@ -190,7 +183,7 @@ xfs_iget_cache_hit( >> spin_unlock(&ip->i_flags_lock); >> read_unlock(&pag->pag_ici_lock); >> >> - if (unlikely(!inode_init_always(mp->m_super, inode))) { >> + if (unlikely(inode_init_always(mp->m_super, inode))) { >> /* >> * Re-initializing the inode failed, and we are in deep >> * trouble. Try to re-add it to the reclaim list. >> Index: linux-2.6/include/linux/fs.h >> =================================================================== >> --- linux-2.6.orig/include/linux/fs.h 2009-08-03 01:16:21.186539128 >> +0200 >> +++ linux-2.6/include/linux/fs.h 2009-08-03 01:23:11.131532230 +0200 >> @@ -2136,7 +2136,7 @@ extern loff_t default_llseek(struct file >> >> extern loff_t vfs_llseek(struct file *file, loff_t offset, int >> origin); >> >> -extern struct inode * inode_init_always(struct super_block *, >> struct inode *); >> +extern int inode_init_always(struct super_block *, struct inode *); >> extern void inode_init_once(struct inode *); >> extern void inode_add_to_lists(struct super_block *, struct inode *); >> extern void iput(struct inode *); >> >> _______________________________________________ >> xfs mailing list >> xfs@oss.sgi.com >> http://oss.sgi.com/mailman/listinfo/xfs > From felixb@sgi.com Fri Aug 7 13:19:40 2009 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 relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77IJZaA147045 for ; Fri, 7 Aug 2009 13:19:40 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id D58018F809C for ; Fri, 7 Aug 2009 11:20:21 -0700 (PDT) Received: from eagdhcp-232-195.americas.sgi.com (eagdhcp-232-195.americas.sgi.com [128.162.232.195]) by estes.americas.sgi.com (Postfix) with ESMTP id A63787000103; Fri, 7 Aug 2009 13:20:21 -0500 (CDT) Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org Message-Id: <096BC561-F806-4451-A63B-B296988B4FA5@sgi.com> From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090804141836.606829000@bombadil.infradead.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [PATCH 3/4] add __destroy_inode Date: Fri, 7 Aug 2009 13:20:21 -0500 References: <20090804141554.992235000@bombadil.infradead.org> <20090804141836.606829000@bombadil.infradead.org> X-Mailer: Apple Mail (2.926) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Aug 4, 2009, at 9:15 AM, Christoph Hellwig wrote: > When we want to tear down an inode that lost the add to the cache race > in XFS we must not call into ->destroy_inode because that would delete > the inode that won the race from the inode cache radix tree. > > This patch provides the __destroy_inode helper needed to fix this, > the actual fix will be in th next patch. > > Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher > > > Index: linux-2.6/fs/inode.c > =================================================================== > --- linux-2.6.orig/fs/inode.c 2009-08-04 16:01:18.766801320 +0200 > +++ linux-2.6/fs/inode.c 2009-08-04 16:01:37.281556243 +0200 > @@ -228,7 +228,7 @@ static struct inode *alloc_inode(struct > return inode; > } > > -void destroy_inode(struct inode *inode) > +void __destroy_inode(struct inode *inode) > { > BUG_ON(inode_has_buffers(inode)); > ima_inode_free(inode); > @@ -240,13 +240,17 @@ void destroy_inode(struct inode *inode) > if (inode->i_default_acl && inode->i_default_acl != ACL_NOT_CACHED) > posix_acl_release(inode->i_default_acl); > #endif > +} > +EXPORT_SYMBOL(__destroy_inode); > + > +void destroy_inode(struct inode *inode) > +{ > + __destroy_inode(inode); > if (inode->i_sb->s_op->destroy_inode) > inode->i_sb->s_op->destroy_inode(inode); > else > kmem_cache_free(inode_cachep, (inode)); > } > -EXPORT_SYMBOL(destroy_inode); > - > > /* > * These are initializations that only need to be done > Index: linux-2.6/fs/xfs/xfs_inode.h > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-04 15:59:38.705782128 > +0200 > +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-04 16:01:20.157556334 +0200 > @@ -322,8 +322,11 @@ static inline struct inode *VFS_I(struct > */ > static inline void xfs_destroy_inode(struct xfs_inode *ip) > { > - make_bad_inode(VFS_I(ip)); > - return destroy_inode(VFS_I(ip)); > + struct inode *inode = VFS_I(ip); > + > + make_bad_inode(inode); > + __destroy_inode(inode); > + inode->i_sb->s_op->destroy_inode(inode); > } > > /* > Index: linux-2.6/include/linux/fs.h > =================================================================== > --- linux-2.6.orig/include/linux/fs.h 2009-08-04 16:01:18.770804693 > +0200 > +++ linux-2.6/include/linux/fs.h 2009-08-04 16:01:20.159539128 +0200 > @@ -2163,6 +2163,7 @@ extern void __iget(struct inode * inode) > extern void iget_failed(struct inode *); > extern void clear_inode(struct inode *); > extern void destroy_inode(struct inode *); > +extern void __destroy_inode(struct inode *); > extern struct inode *new_inode(struct super_block *); > extern int should_remove_suid(struct dentry *); > extern int file_remove_suid(struct file *); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From felixb@sgi.com Fri Aug 7 13:21:16 2009 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 relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77ILFEf147118 for ; Fri, 7 Aug 2009 13:21:15 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 05317304064 for ; Fri, 7 Aug 2009 11:22:08 -0700 (PDT) Received: from eagdhcp-232-195.americas.sgi.com (eagdhcp-232-195.americas.sgi.com [128.162.232.195]) by estes.americas.sgi.com (Postfix) with ESMTP id E0C237000103; Fri, 7 Aug 2009 13:22:07 -0500 (CDT) Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org Message-Id: From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090804141836.782959000@bombadil.infradead.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [PATCH 4/4] xfs: add xfs_inode_free Date: Fri, 7 Aug 2009 13:22:07 -0500 References: <20090804141554.992235000@bombadil.infradead.org> <20090804141836.782959000@bombadil.infradead.org> X-Mailer: Apple Mail (2.926) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Aug 4, 2009, at 9:15 AM, Christoph Hellwig wrote: > When we want to tear down an inode that lost the add to the cache race > in XFS we must not call into ->destroy_inode because that would delete > the inode that won the race from the inode cache radix tree. > > This patch uses splits a new xfs_inode_free helper out of xfs_ireclaim ^^^^ take it out > > and uses that plus __destroy_inode to make sure we really only free > the memory allocted for the inode that lost the race, and not mess > with ^ > > the inode cache state. > > Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher > > > Index: linux-2.6/fs/xfs/xfs_iget.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-03 01:23:29.878784477 > +0200 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-03 01:25:01.601784988 +0200 > @@ -116,6 +116,71 @@ xfs_inode_alloc( > return ip; > } > > +STATIC void > +xfs_inode_free( > + struct xfs_inode *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); > +} > + > /* > * Check the validity of the inode we just found it the cache > */ > @@ -303,7 +368,8 @@ out_preload_end: > if (lock_flags) > xfs_iunlock(ip, lock_flags); > out_destroy: > - xfs_destroy_inode(ip); > + __destroy_inode(VFS_I(ip)); > + xfs_inode_free(ip); > return error; > } > > @@ -506,62 +572,7 @@ xfs_ireclaim( > xfs_qm_dqdetach(ip); > xfs_iunlock(ip, XFS_ILOCK_EXCL); > > - 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); > + xfs_inode_free(ip); > } > > /* > Index: linux-2.6/fs/xfs/xfs_inode.h > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-03 01:23:39.876532108 > +0200 > +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-03 01:23:47.411789594 +0200 > @@ -310,26 +310,6 @@ static inline struct inode *VFS_I(struct > } > > /* > - * Get rid of a partially initialized inode. > - * > - * We have to go through destroy_inode to make sure allocations > - * from init_inode_always like the security data are undone. > - * > - * We mark the inode bad so that it takes the short cut in > - * the reclaim path instead of going through the flush path > - * which doesn't make sense for an inode that has never seen the > - * light of day. > - */ > -static inline void xfs_destroy_inode(struct xfs_inode *ip) > -{ > - struct inode *inode = VFS_I(ip); > - > - make_bad_inode(inode); > - __destroy_inode(inode); > - inode->i_sb->s_op->destroy_inode(inode); > -} > - > -/* > * i_flags helper functions > */ > static inline void > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@redhat.com Fri Aug 7 14:09:41 2009 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_13, J_CHICKENPOX_33,J_CHICKENPOX_43 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n77J9ffq149342 for ; Fri, 7 Aug 2009 14:09:41 -0500 X-ASG-Debug-ID: 1249672231-7c9100e50000-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 BD547146D732 for ; Fri, 7 Aug 2009 12:10:32 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id 7HECrMZIOBbAULHc for ; Fri, 07 Aug 2009 12:10:32 -0700 (PDT) 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 n77JATtX005747; Fri, 7 Aug 2009 15:10:29 -0400 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 n77JASci029387; Fri, 7 Aug 2009 15:10:28 -0400 Received: from liberator.sandeen.net (sebastian-int.corp.redhat.com [172.16.52.221]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n77JAKaI022975; Fri, 7 Aug 2009 15:10:21 -0400 Message-ID: <4A7C7C1C.2010202@redhat.com> Date: Fri, 07 Aug 2009 14:10:20 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: xfs-oss , ext4 development X-ASG-Orig-Subj: [PATCH] xfstests: 220 - generic quota sanity Subject: [PATCH] xfstests: 220 - generic quota sanity 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: 1249672232 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.42 X-Barracuda-Spam-Status: No, SCORE=-1.42 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5566 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Add some very basic quota sanity tests for generic filesystems. This is based on test 108, but uses the generic quota tools, not xfs_quota, and therefore cannot test project quota. Also, the IOs are much smaller (48k) so that ext3 won't get into indirect blocks and throw off the accounting. This does assume 4k blocks though. Signed-off-by: Eric Sandeen --- diff --git a/220 b/220 new file mode 100755 index 0000000..3b828cb --- /dev/null +++ b/220 @@ -0,0 +1,123 @@ +#! /bin/sh +# FS QA Test No. 220 +# +# Simple quota accounting test for direct/buffered/mmap IO. +# +#----------------------------------------------------------------------- +# Copyright (c) 2009 Eric Sandeen. All Rights Reserved. +# +# Based on test 108, +# Copyright (c) 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 +# +#----------------------------------------------------------------------- +# +# creator +owner=sandeen@sandeen.net + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter +. ./common.quota + +filter_scratch() +{ + perl -ne " +s,$SCRATCH_MNT,[SCR_MNT],; +s,$SCRATCH_DEV,[SCR_DEV],; + print;" +} + +# real QA test starts here +_supported_fs generic +_supported_os Linux #IRIX +_require_scratch +_require_quota + +test_files() +{ + echo; echo "### create files, setting up ownership (type=$type)" + rm -f $SCRATCH_MNT/{buffer,direct,mmap} + touch $SCRATCH_MNT/{buffer,direct,mmap} + chown $uid $SCRATCH_MNT/{buffer,direct,mmap} + chgrp $gid $SCRATCH_MNT/{buffer,direct,mmap} + for file in $SCRATCH_MNT/{buffer,direct,mmap}; do + $here/src/lstat64 $file | head -3 | filter_scratch + done +} + +test_accounting() +{ + echo "### some controlled buffered, direct and mmapd IO (type=$type)" + echo "--- initiating parallel IO..." >>$seq.full + # Small ios here because ext3 will account for indirect blocks too ... :( + # 48k will fit w/o indirect for 4k blocks (default blocksize) + $XFS_IO_PROG -F -c 'pwrite 0 48k' -c 'fsync' \ + $SCRATCH_MNT/buffer >>$seq.full 2>&1 & + $XFS_IO_PROG -F -c 'pwrite 0 48k' -d \ + $SCRATCH_MNT/direct >>$seq.full 2>&1 & + $XFS_IO_PROG -F -c 't 48k' -c 'mm -rw 0 48k' -c 'mw 0 48k' -c 'ms -s' \ + $SCRATCH_MNT/mmap >>$seq.full 2>&1 & + wait + echo "--- completed parallel IO ($type)" >>$seq.full + + for file in $SCRATCH_MNT/{buffer,direct,mmap}; do + $here/src/lstat64 $file | head -3 | filter_scratch + done + + repquota -$type -s -n $SCRATCH_MNT | grep -v "^#0" | filter_scratch +} + +# real QA test starts here +rm -f $seq.full + +uid=1 +gid=2 + +umount $SCRATCH_DEV 2>/dev/null +_scratch_mkfs >> $seq.full 2>&1 +_scratch_mount "-o usrquota,grpquota" +quotacheck -u -g $SCRATCH_MNT 2>/dev/null +quotaon $SCRATCH_MNT 2>/dev/null +umount $SCRATCH_DEV + +echo; echo "### test user accounting" +export MOUNT_OPTIONS="-o usrquota" +_qmount +quotaon $SCRATCH_MNT 2>/dev/null +type=u +test_files +test_accounting +umount $SCRATCH_DEV 2>/dev/null + +echo; echo "### test group accounting" +export MOUNT_OPTIONS="-o grpquota" +_qmount +quotaon $SCRATCH_MNT 2>/dev/null +type=g +test_files +test_accounting +umount $SCRATCH_DEV 2>/dev/null + +status=0 +exit diff --git a/220.out b/220.out new file mode 100644 index 0000000..57db113 --- /dev/null +++ b/220.out @@ -0,0 +1,63 @@ +QA output created by 220 + +### test user accounting + +### create files, setting up ownership (type=u) + File: "[SCR_MNT]/buffer" + Size: 0 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/direct" + Size: 0 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/mmap" + Size: 0 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) +### some controlled buffered, direct and mmapd IO (type=u) + File: "[SCR_MNT]/buffer" + Size: 53248 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/direct" + Size: 53248 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/mmap" + Size: 53248 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) +*** Report for user quotas on device [SCR_DEV] +Block grace time: 7days; Inode grace time: 7days + Block limits File limits +User used soft hard grace used soft hard grace +---------------------------------------------------------------------- +#1 -- 168 0 0 3 0 0 + + + +### test group accounting + +### create files, setting up ownership (type=g) + File: "[SCR_MNT]/buffer" + Size: 0 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/direct" + Size: 0 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/mmap" + Size: 0 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) +### some controlled buffered, direct and mmapd IO (type=g) + File: "[SCR_MNT]/buffer" + Size: 53248 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/direct" + Size: 53248 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/mmap" + Size: 53248 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) +*** Report for group quotas on device [SCR_DEV] +Block grace time: 7days; Inode grace time: 7days + Block limits File limits +Group used soft hard grace used soft hard grace +---------------------------------------------------------------------- +#2 -- 168 0 0 3 0 0 + + diff --git a/common.quota b/common.quota index a9dfb42..e2a7872 100644 --- a/common.quota +++ b/common.quota @@ -21,14 +21,27 @@ # # -# checks that the XFS quota support in the kernel is enabled +# checks that the generic quota support in the kernel is enabled # and that we have valid quota user tools installed. # _require_quota() { + [ -x /usr/bin/quota ] || _notrun "Quota user tools not installed" + _scratch_mount "-o usrquota,grpquota" + ret=$? + umount $SCRATCH_MNT + [ $ret -ne 0 ] && _notrun "Installed kernel does not support quota" +} + +# +# checks that the XFS quota support in the kernel is enabled +# and that we have valid quota user tools installed. +# +_require_xfs_quota() +{ src/feature -q $TEST_DEV [ $? -ne 0 ] && _notrun "Installed kernel does not support XFS quota" - [ -x /usr/sbin/xfs_quota ] || _notrun "Quota user tools not installed" + [ -x /usr/sbin/xfs_quota ] || _notrun "XFS quota user tools not installed" } # diff --git a/group b/group index e068e92..1fc280f 100644 --- a/group +++ b/group @@ -328,3 +328,4 @@ prealloc 217 log metadata auto 218 auto fsr quick 219 auto +220 auto quota diff --git a/050 b/050 index abb806a..306a7b5 100755 --- a/050 +++ b/050 @@ -55,7 +55,7 @@ cp /dev/null $seq.full chmod a+rwx $seq.full # arbitrary users will write here _require_scratch -_require_quota +_require_xfs_quota bsoft=100 bhard=500 diff --git a/052 b/052 index 16c78de..3d8bb9e 100755 --- a/052 +++ b/052 @@ -54,7 +54,7 @@ _supported_os IRIX Linux rm -f $seq.full _require_scratch -_require_quota +_require_xfs_quota _require_nobody # setup a default run diff --git a/054 b/054 index b495e51..b38efab 100755 --- a/054 +++ b/054 @@ -52,7 +52,7 @@ cp /dev/null $seq.full chmod ugo+rwx $seq.full _require_scratch -_require_quota +_require_xfs_quota _filter_stat() { diff --git a/081 b/081 index 3036484..c8eba80 100755 --- a/081 +++ b/081 @@ -54,7 +54,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # prelim rm -f $seq.full $tmp.* _require_scratch -_require_quota +_require_xfs_quota _require_v2log echo "*** init FS" diff --git a/106 b/106 index 7154979..30f740b 100755 --- a/106 +++ b/106 @@ -42,7 +42,7 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 _supported_fs xfs _supported_os Linux #IRIX _require_scratch -_require_quota +_require_xfs_quota _require_prjquota # real QA test starts here diff --git a/107 b/107 index cfa8213..f36dc21 100755 --- a/107 +++ b/107 @@ -54,7 +54,7 @@ s/Inode: \#\d+ \(\d+ blocks, \d+ extents\)/Inode: #[INO] (X blocks, Y extents)/; _supported_fs xfs _supported_os Linux #IRIX _require_scratch -_require_quota +_require_xfs_quota _require_prjquota # real QA test starts here diff --git a/108 b/108 index 3f3e1fb..3a1fee9 100755 --- a/108 +++ b/108 @@ -49,7 +49,7 @@ s,$SCRATCH_DEV,[SCR_DEV],; _supported_fs xfs _supported_os Linux #IRIX _require_scratch -_require_quota +_require_xfs_quota _require_prjquota test_files() diff --git a/116 b/116 index 8394054..e902ce9 100755 --- a/116 +++ b/116 @@ -51,7 +51,7 @@ _supported_fs xfs _supported_os IRIX Linux _require_scratch -_require_quota +_require_xfs_quota mkfs.xfs -f $SCRATCH_DEV >/dev/null 2>&1 mount -o uquota $SCRATCH_DEV $SCRATCH_MNT diff --git a/118 b/118 index 6b28055..cb0e5ee 100755 --- a/118 +++ b/118 @@ -52,7 +52,7 @@ _supported_fs xfs _supported_os IRIX Linux _require_scratch -_require_quota +_require_xfs_quota _chowning_file() { diff --git a/134 b/134 index fc2ab74..f00e1f0 100755 --- a/134 +++ b/134 @@ -50,7 +50,7 @@ _cleanup() _supported_fs xfs _supported_os Linux IRIX -_require_quota +_require_xfs_quota dir=$SCRATCH_MNT/project diff --git a/196 b/196 index 7768618..5da3659 100755 --- a/196 +++ b/196 @@ -51,7 +51,7 @@ _supported_fs xfs _supported_os Linux _require_scratch -_require_quota +_require_xfs_quota # # Setup temporary replacements for /etc/projects and /etc/projid From jpiszcz@lucidpixels.com Sat Aug 8 03:38:41 2009 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=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.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n788cfJG189578 for ; Sat, 8 Aug 2009 03:38:41 -0500 X-ASG-Debug-ID: 1249720772-07a000dd0000-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 4D7A81B1617A for ; Sat, 8 Aug 2009 01:39:32 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id DwxAtK788Uj0dwgo for ; Sat, 08 Aug 2009 01:39:32 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 4E1AA40CC; Sat, 8 Aug 2009 04:39:32 -0400 (EDT) Date: Sat, 8 Aug 2009 04:39:32 -0400 (EDT) From: Justin Piszcz To: linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Kernel 2.6.30.4 XFS(..?) regression Subject: Kernel 2.6.30.4 XFS(..?) regression Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) 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: 1249720773 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.2.5619 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Hello, After a period of read/writes to several drives, all processes that try to write to the drives (all XFS) enter D-state and the system becomes unresponsive, the load shoots up to > 100, etc. This problem did not occur with 2.6.29.1. Here is a part of the sysrq-w: [72037.131620] sh D 00000006 0 13772 13771 [72037.131620] 00000000 00000086 c811f4c0 00000006 c94c9011 c3606da0 c1433e88 cf596ab4 [72037.131620] ca6a9524 ca6a9524 c1433e70 c02750f0 c03e72e5 c03e85fd ca6a9528 c811f4c0 [72037.131620] c94c9018 ca6a9524 00000000 c4d70a20 c02750f0 c03e873a ca6a9528 ccccbe70 [72037.131620] Call Trace: [72037.131620] [] ? xfs_dir_open+0x0/0x70 [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? rwsem_down_failed_common+0x7d/0x170 [72037.131620] [] ? xfs_dir_open+0x0/0x70 [72037.131620] [] ? rwsem_down_read_failed+0x1a/0x24 [72037.131620] [] ? call_rwsem_down_read_failed+0x7/0xc [72037.131620] [] ? down_read+0x9/0x10 [72037.131620] [] ? xfs_ilock_map_shared+0x16/0x40 [72037.131620] [] ? xfs_dir_open+0x3d/0x70 [72037.131620] [] ? __dentry_open+0x89/0x240 [72037.131620] [] ? nameidata_to_filp+0x53/0x70 [72037.131620] [] ? do_filp_open+0x245/0x830 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? do_sys_open+0x5b/0x110 [72037.131620] [] ? sys_open+0x2c/0x40 [72037.131620] [] ? sysenter_do_call+0x12/0x26 Here is a part of the sysrq-t: (after dmesg > dmesg.txt) [72119.690410] dmesg D c769c720 0 13832 13824 [72119.690410] 00000000 00000086 c4d0e7c0 c769c720 c3237260 cc6ad2a0 cfa47200 c017cb26 [72119.690410] 00000286 044805f1 c5d6bd18 0448058d c03e72e5 c03e74a0 00004000 c053f2e0 [72119.690410] c14c3d18 c6457d18 044805f1 c0124de0 c4d0e7c0 c053c7c0 c049f170 00000064 [72119.690410] Call Trace: [72119.690410] [] ? __writeback_single_inode+0x126/0x380 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? schedule_timeout+0xb0/0x110 [72119.690410] [] ? process_timeout+0x0/0x10 [72119.690410] [] ? io_schedule_timeout+0x11/0x20 [72119.690410] [] ? congestion_wait+0x53/0x70 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? balance_dirty_pages_ratelimited_nr+0xb0/0x1e0 [72119.690410] [] ? generic_file_buffered_write+0x1a1/0x300 [72119.690410] [] ? xfs_write+0x77a/0x860 [72119.690410] [] ? getnstimeofday+0x54/0x110 [72119.690410] [] ? xfs_file_aio_write+0x61/0x70 [72119.690410] [] ? do_sync_write+0xd5/0x120 [72119.690410] [] ? task_tick_fair+0x18/0x90 [72119.690410] [] ? tick_handle_periodic+0xf/0x80 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? do_sync_write+0x0/0x120 [72119.690410] [] ? vfs_write+0xa0/0x140 [72119.690410] [] ? sys_write+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 Kernel .config: http://home.comcast.net/~jpiszcz/20090808/config-2.6.30.4.txt The only way to bring the host back is to reboot the system b to sysrq-trigger or hard reboot. Justin. From daybydaylearningcentre@bellnet.ca Sat Aug 8 04:50:57 2009 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=BAYES_50 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n789ourZ192820 for ; Sat, 8 Aug 2009 04:50:56 -0500 X-ASG-Debug-ID: 1249725108-07b901e80000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from tomts35-srv.bellnexxia.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id BD1A11B160E1 for ; Sat, 8 Aug 2009 02:51:48 -0700 (PDT) Received: from tomts35-srv.bellnexxia.net (tomts35.bellnexxia.net [209.226.175.109]) by cuda.sgi.com with ESMTP id fiWobHCGUUCriWbK for ; Sat, 08 Aug 2009 02:51:48 -0700 (PDT) Received: from toip41-bus.srvr.bell.ca ([67.69.240.42]) by tomts35-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20090808095147.FPCS8518.tomts35-srv.bellnexxia.net@toip41-bus.srvr.bell.ca>; Sat, 8 Aug 2009 05:51:47 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArbAAPvlfErR4q+G/2dsb2JhbACMHQKDVAGzaiZZikCCKYFZBQ Received: from tofep2.bellnexxia.net (HELO smtp.bellnexxia.net) ([209.226.175.134]) by toip41-bus.srvr.bell.ca with SMTP; 08 Aug 2009 05:51:39 -0400 X-Mailer: Openwave WebEngine, version 2.8.11 (webedge20-101-194-20030622) X-Originating-IP: [41.205.160.4] From: Reply-To: prizednelson1@btinternet.com To: X-ASG-Orig-Subj: Confirmed Receipt Subject: Confirmed Receipt Date: Sat, 8 Aug 2009 5:51:39 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-Id: <20090808095147.FPCS8518.tomts35-srv.bellnexxia.net@toip41-bus.srvr.bell.ca> X-Barracuda-Connect: tomts35.bellnexxia.net[209.226.175.109] X-Barracuda-Start-Time: 1249725108 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5008 1.0000 0.7500 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.75 X-Barracuda-Spam-Status: No, SCORE=0.75 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5625 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Verify this winning notice by sending in your details.example your name, address, age, phone number etc to:prizednelson1@btinternet.com From felixb@sgi.com Sat Aug 8 14:30:41 2009 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 relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n78JUelE214489 for ; Sat, 8 Aug 2009 14:30:41 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 04DE330407E for ; Sat, 8 Aug 2009 12:31:31 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id A5E46700016A; Sat, 8 Aug 2009 14:31:30 -0500 (CDT) Cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com Message-Id: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> From: Felix Blyakher To: Justin Piszcz In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression Date: Sat, 8 Aug 2009 14:31:29 -0500 References: X-Mailer: Apple Mail (2.930.3) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Aug 8, 2009, at 3:39 AM, Justin Piszcz wrote: > Hello, > > After a period of read/writes to several drives, all processes that > try to write to the drives (all XFS) enter D-state and the system > becomes unresponsive, the load shoots up to > 100, etc. > > This problem did not occur with 2.6.29.1. The threads below don't ring a bell as something already seen or reported. > > > Here is a part of the sysrq-w: > > [72037.131620] sh D 00000006 0 13772 13771 > [72037.131620] 00000000 00000086 c811f4c0 00000006 c94c9011 > c3606da0 c1433e88 cf596ab4 > [72037.131620] ca6a9524 ca6a9524 c1433e70 c02750f0 c03e72e5 > c03e85fd ca6a9528 c811f4c0 > [72037.131620] c94c9018 ca6a9524 00000000 c4d70a20 c02750f0 > c03e873a ca6a9528 ccccbe70 > [72037.131620] Call Trace: > [72037.131620] [] ? xfs_dir_open+0x0/0x70 > [72037.131620] [] ? schedule+0x5/0x20 > [72037.131620] [] ? rwsem_down_failed_common+0x7d/0x170 > [72037.131620] [] ? xfs_dir_open+0x0/0x70 > [72037.131620] [] ? rwsem_down_read_failed+0x1a/0x24 > [72037.131620] [] ? call_rwsem_down_read_failed+0x7/0xc > [72037.131620] [] ? down_read+0x9/0x10 > [72037.131620] [] ? xfs_ilock_map_shared+0x16/0x40 Discounting bunch of spurious frames, here we're waiting for the xfs ilock. > > [72037.131620] [] ? xfs_dir_open+0x3d/0x70 > [72037.131620] [] ? __dentry_open+0x89/0x240 > [72037.131620] [] ? nameidata_to_filp+0x53/0x70 > [72037.131620] [] ? do_filp_open+0x245/0x830 > [72037.131620] [] ? __do_fault+0x2b1/0x3d0 > [72037.131620] [] ? do_sys_open+0x5b/0x110 > [72037.131620] [] ? sys_open+0x2c/0x40 > [72037.131620] [] ? sysenter_do_call+0x12/0x26 > > Here is a part of the sysrq-t: (after dmesg > dmesg.txt) > > [72119.690410] dmesg D c769c720 0 13832 13824 > [72119.690410] 00000000 00000086 c4d0e7c0 c769c720 c3237260 > cc6ad2a0 cfa47200 c017cb26 > [72119.690410] 00000286 044805f1 c5d6bd18 0448058d c03e72e5 > c03e74a0 00004000 c053f2e0 > [72119.690410] c14c3d18 c6457d18 044805f1 c0124de0 c4d0e7c0 > c053c7c0 c049f170 00000064 > [72119.690410] Call Trace: > [72119.690410] [] ? __writeback_single_inode+0x126/0x380 > [72119.690410] [] ? schedule+0x5/0x20 > [72119.690410] [] ? schedule_timeout+0xb0/0x110 > [72119.690410] [] ? process_timeout+0x0/0x10 > [72119.690410] [] ? io_schedule_timeout+0x11/0x20 > [72119.690410] [] ? congestion_wait+0x53/0x70 > [72119.690410] [] ? autoremove_wake_function+0x0/0x50 > [72119.690410] [] ? balance_dirty_pages_ratelimited_nr > +0xb0/0x1e0 > [72119.690410] [] ? generic_file_buffered_write+0x1a1/0x300 > [72119.690410] [] ? xfs_write+0x77a/0x860 At this point xfs ilock is released in xfs_write(), and it shouldn't be holding the other thread. Though, some other thread is. We'd need more info to figure it out. Maybe the whole output of both sysrq-w and sysrq-t. Felix > > [72119.690410] [] ? getnstimeofday+0x54/0x110 > [72119.690410] [] ? xfs_file_aio_write+0x61/0x70 > [72119.690410] [] ? do_sync_write+0xd5/0x120 > [72119.690410] [] ? task_tick_fair+0x18/0x90 > [72119.690410] [] ? tick_handle_periodic+0xf/0x80 > [72119.690410] [] ? autoremove_wake_function+0x0/0x50 > [72119.690410] [] ? do_sync_write+0x0/0x120 > [72119.690410] [] ? vfs_write+0xa0/0x140 > [72119.690410] [] ? sys_write+0x41/0x80 > [72119.690410] [] ? sysenter_do_call+0x12/0x26 > > Kernel .config: > http://home.comcast.net/~jpiszcz/20090808/config-2.6.30.4.txt > > The only way to bring the host back is to reboot the system b to > sysrq-trigger or hard reboot. > > Justin. > -- > To unsubscribe from this list: send the line "unsubscribe linux- > kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ From jpiszcz@lucidpixels.com Sun Aug 9 05:09:12 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_16, J_CHICKENPOX_43 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n79A9B2M250215 for ; Sun, 9 Aug 2009 05:09:11 -0500 X-ASG-Debug-ID: 1249812595-268801960000-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 E5869146E48F for ; Sun, 9 Aug 2009 03:09:55 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id Y2Xzkr6pwEJ9va2q for ; Sun, 09 Aug 2009 03:09:55 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 1E9583E7A; Sun, 9 Aug 2009 06:09:55 -0400 (EDT) Date: Sun, 9 Aug 2009 06:09:55 -0400 (EDT) From: Justin Piszcz To: Felix Blyakher cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression Subject: Re: Kernel 2.6.30.4 XFS(..?) regression In-Reply-To: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> Message-ID: References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Barracuda-Connect: lucidpixels.com[75.144.35.66] X-Barracuda-Start-Time: 1249812596 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.2.5711 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M 0.50 BSF_RULE_7582B Custom Rule 7582B X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Sat, 8 Aug 2009, Felix Blyakher wrote: > > On Aug 8, 2009, at 3:39 AM, Justin Piszcz wrote: > > The threads below don't ring a bell as something already seen or > reported. > > Discounting bunch of spurious frames, here we're waiting for the > xfs ilock. > > At this point xfs ilock is released in xfs_write(), and it shouldn't > be holding the other thread. Though, some other thread is. > We'd need more info to figure it out. Maybe the whole output of both > sysrq-w and sysrq-t. > > Felix > Hi, as requested: sysrq-w: [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00000000 0 13142 13141 [72037.131620] 00000000 00000082 c168f1b0 00000000 cf810890 c462fc80 cf403a44 c0198e90 [72037.131620] c64051bc ffffffff c168f1b0 c64051c0 c03e78bb c1549e04 c150be04 c168f1b0 [72037.131620] c1495e70 00000000 c1495ef4 c1495e70 c03e7819 c016b423 c1495e84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? proc_delete_inode+0x0/0x50 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? get_empty_filp+0x3a/0xd0 [72037.131620] [] ? do_filp_open+0xdb/0x830 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? open_exec+0x2f/0xc0 [72037.131620] [] ? do_execve+0x98/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script1.sh D c0144a8e 0 13145 13144 [72037.131620] 00000000 00000086 c168e7c0 c0144a8e c045146d c462f7a0 c5445380 c544539c [72037.131620] c049f170 c168e7c0 c0f05ddc c1200138 c03e72e5 c03e7311 c0f05dd4 c014111d [72037.131620] c0141155 c03e76f2 c10008a0 c0141150 c04c371c c168e7c0 c0f05df0 c11adae0 [72037.131620] Call Trace: [72037.131620] [] ? __rmqueue+0x1e/0x220 [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script2.sh D c09c1f0c 0 13150 13148 [72037.131620] 00000000 00000082 c15b0b30 c09c1f0c c016b3d3 c462f120 cf80c8a0 00000000 [72037.131620] c73f7cfc ffffffff c15b0b30 c73f7d00 c03e78bb c0e59e60 c1467e60 c15b0b30 [72037.131620] 00008068 ffffffea c9023814 00000000 c03e7819 c0162f63 00008068 75a6b2ed [72037.131620] Call Trace: [72037.131620] [] ? do_lookup+0x93/0x1e0 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_truncate+0x63/0x90 [72037.131620] [] ? capable+0x21/0x60 [72037.131620] [] ? may_open+0x182/0x200 [72037.131620] [] ? do_filp_open+0x1ea/0x830 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? do_sys_open+0x5b/0x110 [72037.131620] [] ? sys_open+0x2c/0x40 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script5.sh D 0000006c 0 13153 13152 [72037.131620] 00000000 00000086 c15b0e80 0000006c c045146d cc7a7b00 c5445380 c544539c [72037.131620] c049f170 c15b0e80 c1625ddc c1200080 c03e72e5 c03e7311 c1625dd4 c014111d [72037.131620] c0141155 c03e76f2 c1071d20 c0141150 c04c3440 c15b0e80 c1625df0 c101b6c0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13160 1821 [72037.131620] 00000000 00000086 c168ee60 00000000 01007810 cc7a7960 c56955c0 80000000 [72037.131620] c049f170 c168ee60 c5441c74 c1200110 c03e72e5 c03e7311 c5441c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c168ee60 c5441c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13168 1821 [72037.131620] 00000000 00000082 c15b0140 00000000 01007810 cc7a7620 c4e339a0 80000000 [72037.131620] c049f170 c15b0140 cce23c74 c1200110 c03e72e5 c03e7311 cce23c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c15b0140 cce23c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13176 1821 [72037.131620] 00000000 00000082 cb82a1a0 00000000 01007810 cc7a7480 c86be4c0 80000000 [72037.131620] c049f170 cb82a1a0 c1637c74 c1200110 c03e72e5 c03e7311 c1637c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c cb82a1a0 c1637c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13177 1821 [72037.131620] 00000000 00000082 cb82bc20 00000000 01007810 cc7a7140 cf373e20 80000000 [72037.131620] c049f170 cb82bc20 c1615c74 c1200110 c03e72e5 c03e7311 c1615c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c cb82bc20 c1615c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00000025 0 13187 13186 [72037.131620] 00000000 00000082 cb82aee0 00000025 00012c19 c9637d40 cfa4ec00 00000025 [72037.131620] c64051bc ffffffff cb82aee0 c64051c0 c03e78bb c146fe04 c1495e04 cb82aee0 [72037.131620] c1549e70 00000000 c1549ef4 c1549e70 c03e7819 c016b423 c1549e84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? get_empty_filp+0x3a/0xd0 [72037.131620] [] ? do_filp_open+0xdb/0x830 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? open_exec+0x2f/0xc0 [72037.131620] [] ? do_execve+0x98/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script1.sh D 0000006c 0 13190 13189 [72037.131620] 00000000 00000086 cb82ab90 0000006c c045146d c9637860 c8609380 c860939c [72037.131620] c049f170 cb82ab90 c14efddc c1200138 c03e72e5 c03e7311 c14efdd4 c014111d [72037.131620] c0141155 c03e76f2 c10c0f40 c0141150 c04c371c cb82ab90 c14efdf0 c11adae0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script5.sh D 0000006c 0 13193 13192 [72037.131620] 00000000 00000082 c154b5a0 0000006c c045146d c9637380 c8609380 c860939c [72037.131620] c049f170 c154b5a0 c16b1ddc c1200080 c03e72e5 c03e7311 c16b1dd4 c014111d [72037.131620] c0141155 c03e76f2 c113cd80 c0141150 c04c3440 c154b5a0 c16b1df0 c101b6c0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13199 1821 [72037.131620] 00000000 00000082 cb82a4f0 00000000 01007810 c96371e0 cf373aa0 80000000 [72037.131620] c049f170 cb82a4f0 c4effc74 c1200110 c03e72e5 c03e7311 c4effc6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c cb82a4f0 c4effc88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13207 1821 [72037.131620] 00000000 00000082 c154a860 00000000 01007810 c9637520 c9dd3340 80000000 [72037.131620] c049f170 c154a860 c95fbc74 c1200110 c03e72e5 c03e7311 c95fbc6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c154a860 c95fbc88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13215 1821 [72037.131620] 00000000 00000086 c154a1c0 00000000 01007810 c55e3dc0 cf373220 80000000 [72037.131620] c049f170 c154a1c0 cc655c74 c1200110 c03e72e5 c03e7311 cc655c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c154a1c0 cc655c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00000000 0 13225 13224 [72037.131620] 00000000 00000086 c154abb0 00000000 cf810890 c55e3400 cf403b80 c0198e90 [72037.131620] c64051bc ffffffff c154abb0 c64051c0 c03e78bb c37efe04 c1549e04 c154abb0 [72037.131620] c146fe70 00000000 c146fef4 c146fe70 c03e7819 c016b423 c146fe84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? proc_delete_inode+0x0/0x50 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? scheduler_tick+0x82/0x90 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? get_empty_filp+0x3a/0xd0 [72037.131620] [] ? do_filp_open+0xdb/0x830 [72037.131620] [] ? __do_softirq+0x77/0xe0 [72037.131620] [] ? do_nmi+0x148/0x2a0 [72037.131620] [] ? common_interrupt+0x29/0x30 [72037.131620] [] ? open_exec+0x2f/0xc0 [72037.131620] [] ? do_execve+0x98/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script1.sh D 0000006c 0 13228 13227 [72037.131620] 00000000 00000082 c154a510 0000006c c045146d c55e38e0 ce14a380 ce14a39c [72037.131620] c049f170 c154a510 c16b9ddc c1200138 c03e72e5 c03e7311 c16b9dd4 c014111d [72037.131620] c0141155 c03e76f2 c113eea0 c0141150 c04c371c c154a510 c16b9df0 c11adae0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00000006 0 13230 13229 [72037.131620] 00000000 00000082 c16b3ac0 00000006 c5224011 c55e3a80 c16bde88 cf596ab4 [72037.131620] ca6a9524 ca6a9524 c16bde70 c02750f0 c03e72e5 c03e85fd ca6a9528 c16b3ac0 [72037.131620] c5224018 ca6a9524 00000000 cf373da0 c02750f0 c03e873a c16e5e70 ca6a9528 [72037.131620] Call Trace: [72037.131620] [] ? xfs_dir_open+0x0/0x70 [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? rwsem_down_failed_common+0x7d/0x170 [72037.131620] [] ? xfs_dir_open+0x0/0x70 [72037.131620] [] ? rwsem_down_read_failed+0x1a/0x24 [72037.131620] [] ? call_rwsem_down_read_failed+0x7/0xc [72037.131620] [] ? down_read+0x9/0x10 [72037.131620] [] ? xfs_ilock_map_shared+0x16/0x40 [72037.131620] [] ? xfs_dir_open+0x3d/0x70 [72037.131620] [] ? __dentry_open+0x89/0x240 [72037.131620] [] ? nameidata_to_filp+0x53/0x70 [72037.131620] [] ? do_filp_open+0x245/0x830 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? do_sys_open+0x5b/0x110 [72037.131620] [] ? sys_open+0x2c/0x40 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script3.sh D cfa5e400 0 13245 13232 [72037.131620] 00000000 00000082 c16cb7b0 cfa5e400 cf80c8a0 c58975e0 cf5a25d0 c0174677 [72037.131620] cc79babc ffffffff c16cb7b0 cc79bac0 c03e78bb c16d5e04 c1465e08 c16cb7b0 [72037.131620] c0829e74 00000000 c0829ed8 c0829e74 c03e7819 c016b423 c0829e88 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? touch_atime+0x97/0x140 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? xfs_iunlock+0x80/0xb0 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? getname+0x96/0xd0 [72037.131620] [] ? user_path_at+0x5a/0x90 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? vfs_fstatat+0x37/0x70 [72037.131620] [] ? vfs_stat+0x18/0x20 [72037.131620] [] ? sys_stat64+0xf/0x30 [72037.131620] [] ? vfs_read+0xff/0x140 [72037.131620] [] ? sys_rt_sigprocmask+0x67/0xe0 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script4.sh D 00000246 0 13246 13237 [72037.131620] c16cb5e4 00000082 c16cb460 00000246 00000001 c5897440 00000000 0000000e [72037.131620] cc79babc ffffffff c16cb460 cc79bac0 c03e78bb c16ebe08 c16d5e04 c16cb460 [72037.131620] c16cfe74 00000000 c16cfed8 c16cfe74 c03e7819 c016b423 c16cfe88 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? touch_atime+0xb8/0x140 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? getname+0x96/0xd0 [72037.131620] [] ? user_path_at+0x5a/0x90 [72037.131620] [] ? do_wp_page+0x104/0x5d0 [72037.131620] [] ? vfs_fstatat+0x37/0x70 [72037.131620] [] ? vfs_stat+0x18/0x20 [72037.131620] [] ? sys_stat64+0xf/0x30 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00000000 0 13249 13234 [72037.131620] 00000000 00000082 c16caa70 00000000 00000400 c5897780 00000004 ffffffff [72037.131620] cc79babc ffffffff c16caa70 cc79bac0 c03e78bb c16cfe08 c0829e08 c16caa70 [72037.131620] c16d5e70 00000000 c16d5ef4 c16d5e70 c03e7819 c016b423 c16d5e84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? get_empty_filp+0x3a/0xd0 [72037.131620] [] ? do_filp_open+0xdb/0x830 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? open_exec+0x2f/0xc0 [72037.131620] [] ? do_execve+0x98/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script5.sh D 0000006c 0 13253 13243 [72037.131620] 00000000 00000086 c16dbb20 0000006c c045146d c55727a0 cc622380 cc62239c [72037.131620] c049f170 c16dbb20 c16ddddc c1200080 c03e72e5 c03e7311 c16dddd4 c014111d [72037.131620] c0141155 c03e76f2 c1034680 c0141150 c04c3440 c16dbb20 c16dddf0 c101b6c0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script2.sh D c0e59f0c 0 13262 13251 [72037.131620] c16daf64 00000086 c16dade0 c0e59f0c c016b3d3 c5572460 cf80c8a0 c16dade0 [72037.131620] c73f7cfc ffffffff c16dade0 c73f7d00 c03e78bb c16d1e60 c09c1e60 c16dade0 [72037.131620] 00008068 ffffffea c9023814 00000000 c03e7819 c0162f63 00008068 75a6b2ed [72037.131620] Call Trace: [72037.131620] [] ? do_lookup+0x93/0x1e0 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_truncate+0x63/0x90 [72037.131620] [] ? capable+0x21/0x60 [72037.131620] [] ? may_open+0x182/0x200 [72037.131620] [] ? do_filp_open+0x1ea/0x830 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? do_sys_open+0x5b/0x110 [72037.131620] [] ? sys_open+0x2c/0x40 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00000000 0 13288 13287 [72037.131620] 00000000 00000082 cb7a8a50 00000000 cf810890 c5572c80 cf403418 c0198e90 [72037.131620] c64051bc ffffffff cb7a8a50 c64051c0 c03e78bb c0ee3e04 c146fe04 cb7a8a50 [72037.131620] c37efe70 00000000 c37efef4 c37efe70 c03e7819 c016b423 c37efe84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? proc_delete_inode+0x0/0x50 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? get_empty_filp+0x3a/0xd0 [72037.131620] [] ? do_filp_open+0xdb/0x830 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? open_exec+0x2f/0xc0 [72037.131620] [] ? do_execve+0x98/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script1.sh D 0000006c 0 13291 13290 [72037.131620] 00000000 00000082 c16ca080 0000006c c045146d c5572120 ccebe380 ccebe39c [72037.131620] c049f170 c16ca080 c4f57ddc c1200138 c03e72e5 c03e7311 c4f57dd4 c014111d [72037.131620] c0141155 c03e76f2 c1112600 c0141150 c04c371c c16ca080 c4f57df0 c11adae0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script5.sh D 0000006c 0 13294 13293 [72037.131620] 00000000 00000082 c16db7d0 0000006c c045146d c5897920 ccebe380 ccebe39c [72037.131620] c049f170 c16db7d0 c846fddc c1200080 c03e72e5 c03e7311 c846fdd4 c014111d [72037.131620] c0141155 c03e76f2 c1085a00 c0141150 c04c3440 c16db7d0 c846fdf0 c101b6c0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13318 1821 [72037.131620] 00000000 00000086 c16db480 00000000 01007810 c58972a0 ccc9ef60 80000000 [72037.131620] c049f170 c16db480 c4d75c74 c1200110 c03e72e5 c03e7311 c4d75c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c16db480 c4d75c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13319 1821 [72037.131620] 00000000 00000086 c16daa90 00000000 01007810 c5897e00 ce373260 80000000 [72037.131620] c049f170 c16daa90 cae8fc74 c1200110 c03e72e5 c03e7311 cae8fc6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c16daa90 cae8fc88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13320 1821 [72037.131620] 00000000 00000086 c16da0a0 00000000 01007810 c3de3da0 c38bd740 80000000 [72037.131620] c049f170 c16da0a0 cc175c74 c1200110 c03e72e5 c03e7311 cc175c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c16da0a0 cc175c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D cb7a8700 0 13330 13329 [72037.131620] 00000000 00000082 cb7a8700 cb7a8700 cb7a872c c3de33e0 00000fff c011798f [72037.131620] c64051bc ffffffff cb7a8700 c64051c0 c03e78bb c0e77e04 c37efe04 cb7a8700 [72037.131620] c0ee3e70 00000000 c0ee3ef4 c0ee3e70 c03e7819 c016b423 c0ee3e84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? task_tick_fair+0x4f/0x90 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? get_empty_filp+0x3a/0xd0 [72037.131620] [] ? do_filp_open+0xdb/0x830 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? open_exec+0x2f/0xc0 [72037.131620] [] ? do_execve+0x98/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script1.sh D c0144a8e 0 13333 13332 [72037.131620] 00000000 00000086 c069b7f0 c0144a8e c045146d c3de38c0 cb8f3380 cb8f339c [72037.131620] c049f170 c069b7f0 c0c75ddc c1200138 c03e72e5 c03e7311 c0c75dd4 c014111d [72037.131620] c0141155 c03e76f2 c1018400 c0141150 c04c371c c069b7f0 c0c75df0 c11adae0 [72037.131620] Call Trace: [72037.131620] [] ? __rmqueue+0x1e/0x220 [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script2.sh D 75a6b2ed 0 13338 13336 [72037.131620] 00000000 00000082 c069a410 75a6b2ed c01042b8 c6c0dc20 00000002 c9023824 [72037.131620] c73f7cfc ffffffff c069a410 c73f7d00 c03e78bb c16f7e60 c0e59e60 c069a410 [72037.131620] 00008068 ffffffea c9023814 00000000 c03e7819 c0162f63 00008068 ffffffcf [72037.131620] Call Trace: [72037.131620] [] ? do_nmi+0x148/0x2a0 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_truncate+0x63/0x90 [72037.131620] [] ? __d_lookup+0x62/0x100 [72037.131620] [] ? capable+0x21/0x60 [72037.131620] [] ? may_open+0x182/0x200 [72037.131620] [] ? do_filp_open+0x1ea/0x830 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? do_sys_open+0x5b/0x110 [72037.131620] [] ? sys_open+0x2c/0x40 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script5.sh D 0000006c 0 13341 13340 [72037.131620] 00000000 00000082 c069a760 0000006c c045146d c6c0d740 cb8f3380 cb8f339c [72037.131620] c049f170 c069a760 c16d9ddc c1200080 c03e72e5 c03e7311 c16d9dd4 c014111d [72037.131620] c0141155 c03e76f2 c106e620 c0141150 c04c3440 c069a760 c16d9df0 c101b6c0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00001000 0 13371 13370 [72037.131620] 00000000 00000086 c16e0e20 00001000 c011a562 c6c0d260 00000000 00000002 [72037.131620] c64051bc ffffffff c16e0e20 c64051c0 c03e78bb c5513e04 c0ee3e04 c16e0e20 [72037.131620] c0e77e70 00000000 c0e77ef4 c0e77e70 c03e7819 c016b423 c0e77e84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? scheduler_tick+0x82/0x90 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? nmi_stack_correct+0x28/0x2d [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? get_empty_filp+0x3a/0xd0 [72037.131620] [] ? do_filp_open+0xdb/0x830 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? open_exec+0x2f/0xc0 [72037.131620] [] ? do_execve+0x98/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script1.sh D 0000006c 0 13374 13373 [72037.131620] 00000000 00000082 c16e0ad0 0000006c c045146d ce123c40 c8574380 c857439c [72037.131620] c049f170 c16e0ad0 c9f43ddc c1200138 c03e72e5 c03e7311 c9f43dd4 c014111d [72037.131620] c0141155 c03e76f2 c10e4600 c0141150 c04c371c c16e0ad0 c9f43df0 c11adae0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? check_preempt_wakeup+0xad/0xd0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script5.sh D 0000006c 0 13377 13376 [72037.131620] 00000000 00000086 c0adbb80 0000006c c045146d ce123760 c8574380 c857439c [72037.131620] c049f170 c0adbb80 c16d7ddc c1200080 c03e72e5 c03e7311 c16d7dd4 c014111d [72037.131620] c0141155 c03e76f2 c11ffa60 c0141150 c04c3440 c0adbb80 c16d7df0 c101b6c0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13397 1821 [72037.131620] 00000000 00000086 c0ada100 00000000 01007810 ce1235c0 c970b4e0 80000000 [72037.131620] c049f170 c0ada100 c9607c74 c1200110 c03e72e5 c03e7311 c9607c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c0ada100 c9607c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13398 1821 [72037.131620] 00000000 00000082 c0adb4e0 00000000 01007810 ce123280 c8ef4820 80000000 [72037.131620] c049f170 c0adb4e0 c562dc74 c1200110 c03e72e5 c03e7311 c562dc6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c0adb4e0 c562dc88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00000000 0 13408 13407 [72037.131620] 00000000 00000086 c0adaaf0 00000000 cf810890 c6688e00 cf4d6730 00000010 [72037.131620] c64051bc ffffffff c0adaaf0 c64051c0 c03e78bb c35a9e04 c0e77e04 c0adaaf0 [72037.131620] c5513e70 00000000 c5513ef4 c5513e70 c03e7819 c016b423 c5513e84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? get_empty_filp+0x3a/0xd0 [72037.131620] [] ? do_filp_open+0xdb/0x830 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? open_exec+0x2f/0xc0 [72037.131620] [] ? do_execve+0x98/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script1.sh D 0000006c 0 13411 13410 [72037.131620] 00000000 00000082 c0adb830 0000006c c045146d c6688920 c6129380 c612939c [72037.131620] c049f170 c0adb830 c0addddc c1200138 c03e72e5 c03e7311 c0adddd4 c014111d [72037.131620] c0141155 c03e76f2 c10891e0 c0141150 c04c371c c0adb830 c0adddf0 c11adae0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D 00000006 0 13413 13412 [72037.131620] 00000000 00000082 c4e6b850 00000006 c8f62011 c6688780 c16e5e88 cf596ab4 [72037.131620] ca6a9524 ca6a9524 c16e5e70 c02750f0 c03e72e5 c03e85fd ca6a9528 c4e6b850 [72037.131620] c8f62018 ca6a9524 00000000 ccd380a0 c02750f0 c03e873a ccccbe70 c16bde70 [72037.131620] Call Trace: [72037.131620] [] ? xfs_dir_open+0x0/0x70 [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? rwsem_down_failed_common+0x7d/0x170 [72037.131620] [] ? xfs_dir_open+0x0/0x70 [72037.131620] [] ? rwsem_down_read_failed+0x1a/0x24 [72037.131620] [] ? call_rwsem_down_read_failed+0x7/0xc [72037.131620] [] ? down_read+0x9/0x10 [72037.131620] [] ? xfs_ilock_map_shared+0x16/0x40 [72037.131620] [] ? xfs_dir_open+0x3d/0x70 [72037.131620] [] ? __dentry_open+0x89/0x240 [72037.131620] [] ? nameidata_to_filp+0x53/0x70 [72037.131620] [] ? do_filp_open+0x245/0x830 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? do_sys_open+0x5b/0x110 [72037.131620] [] ? sys_open+0x2c/0x40 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script3.sh D cfa5e400 0 13416 13415 [72037.131620] 00000000 00000086 c4e6ae60 cfa5e400 cf80c8a0 c6688100 cf5a25d0 c0174677 [72037.131620] cc79babc ffffffff c4e6ae60 cc79bac0 c03e78bb c16f3e08 c16cfe08 c4e6ae60 [72037.131620] c16ebe74 00000000 c16ebed8 c16ebe74 c03e7819 c016b423 c16ebe88 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? touch_atime+0x97/0x140 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? xfs_iunlock+0x80/0xb0 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? getname+0x96/0xd0 [72037.131620] [] ? user_path_at+0x5a/0x90 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? vfs_fstatat+0x37/0x70 [72037.131620] [] ? vfs_stat+0x18/0x20 [72037.131620] [] ? sys_stat64+0xf/0x30 [72037.131620] [] ? vfs_read+0xff/0x140 [72037.131620] [] ? sys_rt_sigprocmask+0x67/0xe0 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script2.sh D c16f7f0c 0 13421 13419 [72037.131620] 00000000 00000082 c16f5bc0 c16f7f0c c016b3d3 c9dad940 cf80c8a0 c16f5bc0 [72037.131620] c73f7cfc ffffffff c16f5bc0 c73f7d00 c03e78bb cf053e60 c16d1e60 c16f5bc0 [72037.131620] 00008068 ffffffea c9023814 00000000 c03e7819 c0162f63 00008068 75a6b2ed [72037.131620] Call Trace: [72037.131620] [] ? do_lookup+0x93/0x1e0 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_truncate+0x63/0x90 [72037.131620] [] ? capable+0x21/0x60 [72037.131620] [] ? may_open+0x182/0x200 [72037.131620] [] ? do_filp_open+0x1ea/0x830 [72037.131620] [] ? __do_fault+0x2b1/0x3d0 [72037.131620] [] ? do_sys_open+0x5b/0x110 [72037.131620] [] ? sys_open+0x2c/0x40 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script4.sh D c117a8a0 0 13424 13423 [72037.131620] 00000000 00000086 c4e6a120 c117a8a0 00000000 c9dad460 0bd45067 0000000e [72037.131620] cc79babc ffffffff c4e6a120 cc79bac0 c03e78bb ca0d3e08 c16ebe08 c4e6a120 [72037.131620] c16f3e74 00000000 c16f3ed8 c16f3e74 c03e7819 c016b423 c16f3e88 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620] [] ? do_lookup+0xe3/0x1e0 [72037.131620] [] ? __link_path_walk+0x6c9/0xc40 [72037.131620] [] ? touch_atime+0xb8/0x140 [72037.131620] [] ? path_walk+0x53/0xb0 [72037.131620] [] ? do_path_lookup+0x7b/0x140 [72037.131620] [] ? getname+0x96/0xd0 [72037.131620] [] ? user_path_at+0x5a/0x90 [72037.131620] [] ? __wake_up_bit+0x2a/0x30 [72037.131620] [] ? do_wp_page+0x104/0x5d0 [72037.131620] [] ? vfs_fstatat+0x37/0x70 [72037.131620] [] ? vfs_stat+0x18/0x20 [72037.131620] [] ? sys_stat64+0xf/0x30 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] script5.sh D 0000006c 0 13429 13428 [72037.131620] 00000000 00000086 c16f4490 0000006c c045146d c3833ca0 c6129380 c612939c [72037.131620] c049f170 c16f4490 c144bddc c1200080 c03e72e5 c03e7311 c144bdd4 c014111d [72037.131620] c0141155 c03e76f2 c10556c0 c0141150 c04c3440 c16f4490 c144bdf0 c101b6c0 [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? sync_page_killable+0x5/0x40 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page_killable+0x0/0x40 [72037.131620] [] ? __lock_page_killable+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? generic_file_aio_read+0x3e7/0x6a0 [72037.131620] [] ? xfs_read+0x166/0x230 [72037.131620] [] ? xfs_file_aio_read+0x62/0x70 [72037.131620] [] ? do_sync_read+0xd5/0x120 [72037.131620] [] ? autoremove_wake_function+0x0/0x50 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_sync_read+0x0/0x120 [72037.131620] [] ? vfs_read+0x9d/0x140 [72037.131620] [] ? sys_read+0x41/0x80 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] vsftpd D 00000000 0 13444 1821 [72037.131620] 00000000 00000082 c0adb190 00000000 01007810 c3833e40 c66af660 80000000 [72037.131620] c049f170 c0adb190 c59c5c74 c1200110 c03e72e5 c03e7311 c59c5c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c0adb190 c59c5c88 c11bdd20 c01410cc [72037.131620] Call Trace: [72037.131620] [] ? schedule+0x5/0x20 [72037.131620] [] ? io_schedule+0x11/0x20 [72037.131620] [] ? sync_page+0x2d/0x60 [72037.131620] [] ? __wait_on_bit_lock+0x42/0x80 [72037.131620] [] ? sync_page+0x0/0x60 [72037.131620] [] ? __lock_page+0x8c/0xa0 [72037.131620] [] ? wake_bit_function+0x0/0x70 [72037.131620] [] ? find_lock_page+0x4f/0x70 [72037.131620] [] ? filemap_fault+0x115/0x3e0 [72037.131620] [] ? __do_fault+0x42/0x3d0 [72037.131620] [] ? handle_mm_fault+0x14e/0x530 [72037.131620] [] ? do_page_fault+0x132/0x290 [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? error_code+0x65/0x6c [72037.131620] [] ? do_page_fault+0x0/0x290 [72037.131620] [] ? clear_user+0x2f/0x50 [72037.131620] [] ? load_elf_binary+0x8bc/0x1960 [72037.131620] [] ? __alloc_pages_internal+0xac/0x460 [72037.131620] [] ? strrchr+0xb/0x20 [72037.131620] [] ? load_misc_binary+0x84/0x390 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? follow_page+0x117/0x150 [72037.131620] [] ? __get_user_pages+0xfa/0x310 [72037.131620] [] ? get_arg_page+0x4a/0xb0 [72037.131620] [] ? copy_strings+0x16e/0x190 [72037.131620] [] ? search_binary_handler+0x56/0x140 [72037.131620] [] ? do_execve+0x2bb/0x360 [72037.131620] [] ? sys_execve+0x46/0x70 [72037.131620] [] ? sysenter_do_call+0x12/0x26 [72037.131620] sh D c35a9df0 0 13469 13468 [72037.131620] 00000000 00000082 c16f51d0 c35a9df0 c1200838 c38332e0 c012db5a c35a9df0 [72037.131620] c64051bc ffffffff c16f51d0 c64051c0 c03e78bb c36fbe04 c5513e04 c16f51d0 [72037.131620] c35a9e70 00000000 c35a9ef4 c35a9e70 c03e7819 c016b423 c35a9e84 cf80c8a0 [72037.131620] Call Trace: [72037.131620] [] ? __wake_up_bit+0x2a/0x30 [72037.131620] [] ? __mutex_lock_slowpath+0x4b/0x80 [72037.131620] [] ? mutex_lock+0x9/0x10 [72037.131620