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] [] ? 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 13472 13471 [72037.131620] 00000000 00000082 cc6d35a0 0000006c c045146d c3833620 c63be380 c63be39c [72037.131620] c049f170 cc6d35a0 c9f25ddc c1200138 c03e72e5 c03e7311 c9f25dd4 c014111d [72037.131620] c0141155 c03e76f2 c1140820 c0141150 c04c371c cc6d35a0 c9f25df0 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 13475 13474 [72037.131620] 00000000 00000086 cc6d2860 0000006c c045146d c3f5cba0 c63be380 c63be39c [72037.131620] c049f170 cc6d2860 c9ca1ddc c1200080 c03e72e5 c03e7311 c9ca1dd4 c014111d [72037.131620] c0141155 c03e76f2 c1194a40 c0141150 c04c3440 cc6d2860 c9ca1df0 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 00000000 0 13508 13507 [72037.131620] 00000000 00000086 c16f4140 00000000 cf810890 c3f5c6c0 cf4037cc c0198e90 [72037.131620] c64051bc ffffffff c16f4140 c64051c0 c03e78bb cb8b5e04 c35a9e04 c16f4140 [72037.131620] c36fbe70 00000000 c36fbef4 c36fbe70 c03e7819 c016b423 c36fbe84 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 13511 13510 [72037.131620] 00000000 00000082 c9fd7b00 0000006c c045146d c3f5c1e0 c5291380 c529139c [72037.131620] c049f170 c9fd7b00 c66d9ddc c1200138 c03e72e5 c03e7311 c66d9dd4 c014111d [72037.131620] c0141155 c03e76f2 c11aa100 c0141150 c04c371c c9fd7b00 c66d9df0 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] script2.sh D cf053f0c 0 13516 13514 [72037.131620] 00000000 00000082 c9fd6080 cf053f0c c016b3d3 c534aa20 cf80c8a0 c9fd6080 [72037.131620] c73f7cfc ffffffff c9fd6080 c73f7d00 c03e78bb c8a43e60 c16f7e60 c9fd6080 [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 13519 13518 [72037.131620] 00000000 00000082 c9fd63d0 0000006c c045146d c534a540 c5291380 c529139c [72037.131620] c049f170 c9fd63d0 cfab1ddc c1200080 c03e72e5 c03e7311 cfab1dd4 c014111d [72037.131620] c0141155 c03e76f2 c104be00 c0141150 c04c3440 c9fd63d0 cfab1df0 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 00000000 0 13549 13548 [72037.131620] 00000000 00000086 c463cde0 00000000 cf810890 c534a200 cf4031a0 c0198e90 [72037.131620] c64051bc ffffffff c463cde0 c64051c0 c03e78bb c8d2be04 c36fbe04 c463cde0 [72037.131620] cb8b5e70 00000000 cb8b5ef4 cb8b5e70 c03e7819 c016b423 cb8b5e84 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 13552 13551 [72037.131620] 00000000 00000086 c463d480 0000006c c045146d ce1abaa0 ce37a380 ce37a39c [72037.131620] c049f170 c463d480 ce337ddc c1200138 c03e72e5 c03e7311 ce337dd4 c014111d [72037.131620] c0141155 c03e76f2 c10e52a0 c0141150 c04c371c c463d480 ce337df0 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 13555 13554 [72037.131620] 00000000 00000086 c93677f0 0000006c c045146d ce1ab5c0 ce37a380 ce37a39c [72037.131620] c049f170 c93677f0 c4585ddc c1200080 c03e72e5 c03e7311 c4585dd4 c014111d [72037.131620] c0141155 c03e76f2 c1180540 c0141150 c04c3440 c93677f0 c4585df0 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 13561 1821 [72037.131620] 00000000 00000082 c463d130 00000000 01007810 ce1ab0e0 c4d7e5e0 80000000 [72037.131620] c049f170 c463d130 c84f9c74 c1200110 c03e72e5 c03e7311 c84f9c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c463d130 c84f9c88 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 13562 1821 [72037.131620] 00000000 00000082 c93674a0 00000000 01007810 ce1ab420 c874ab20 80000000 [72037.131620] c049f170 c93674a0 c9c81c74 c1200110 c03e72e5 c03e7311 c9c81c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c93674a0 c9c81c88 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 13577 1821 [72037.131620] 00000000 00000086 c93660c0 00000000 01007810 ce1ab760 c4d7ed60 80000000 [72037.131620] c049f170 c93660c0 c4fc7c74 c1200110 c03e72e5 c03e7311 c4fc7c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c93660c0 c4fc7c88 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 13587 13586 [72037.131620] 00000000 00000086 c9366ab0 00000000 cf810890 c8c65a00 cf4d6730 c0198e90 [72037.131620] c64051bc ffffffff c9366ab0 c64051c0 c03e78bb c2251e04 cb8b5e04 c9366ab0 [72037.131620] c8d2be70 00000000 c8d2bef4 c8d2be70 c03e7819 c016b423 c8d2be84 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 13590 13589 [72037.131620] 00000000 00000082 c9366410 c0144a8e c045146d c8c65520 c396b380 c396b39c [72037.131620] c049f170 c9366410 c45ffddc c1200138 c03e72e5 c03e7311 c45ffdd4 c014111d [72037.131620] c0141155 c03e76f2 c10301e0 c0141150 c04c371c c9366410 c45ffdf0 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] sh D 00000006 0 13592 13591 [72037.131620] 00000000 00000082 c9367150 00000006 c9760011 c8c65380 ccccbe88 cf596ab4 [72037.131620] ca6a9524 ca6a9524 ccccbe70 c02750f0 c03e72e5 c03e85fd ca6a9528 c9367150 [72037.131620] c9760018 ca6a9524 00000000 c9faf440 c02750f0 c03e873a c1433e70 c16e5e70 [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 13595 13594 [72037.131620] 00000000 00000086 ccc8c7c0 cfa5e400 cf80c8a0 c539fbc0 cf5a25d0 c0174677 [72037.131620] cc79babc ffffffff ccc8c7c0 cc79bac0 c03e78bb cb18fe08 c16f3e08 ccc8c7c0 [72037.131620] ca0d3e74 00000000 ca0d3ed8 ca0d3e74 c03e7819 c016b423 ca0d3e88 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 c8a43f0c 0 13600 13598 [72037.131620] 00000000 00000082 ca2cb520 c8a43f0c c016b3d3 c539f540 cf80c8a0 ca2cb520 [72037.131620] c73f7cfc ffffffff ca2cb520 c73f7d00 c03e78bb c2eade60 cf053e60 ca2cb520 [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 00000246 0 13603 13602 [72037.131620] 00000000 00000086 ca2cb870 00000246 00000001 c539f060 00000000 0000000e [72037.131620] cc79babc ffffffff ca2cb870 cc79bac0 c03e78bb c842fe08 ca0d3e08 ca2cb870 [72037.131620] cb18fe74 00000000 cb18fed8 cb18fe74 c03e7819 c016b423 cb18fe88 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] script5.sh D 0000006c 0 13610 13609 [72037.131620] 00000000 00000086 c82af540 0000006c c045146d ccf488a0 c396b380 c396b39c [72037.131620] c049f170 c82af540 cc845ddc c1200080 c03e72e5 c03e7311 cc845dd4 c014111d [72037.131620] c0141155 c03e76f2 c1043ba0 c0141150 c04c3440 c82af540 cc845df0 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 00000025 0 13647 13646 [72037.131620] 00000000 00000086 c82ae160 00000025 00012dce ccf48700 cfa4ec00 00000025 [72037.131620] c64051bc ffffffff c82ae160 c64051c0 c03e78bb c2e81e04 c8d2be04 c82ae160 [72037.131620] c2251e70 00000000 c2251ef4 c2251e70 c03e7819 c016b423 c2251e84 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 13650 13649 [72037.131620] 00000000 00000082 c82afbe0 0000006c c045146d ccf48080 c9c7e380 c9c7e39c [72037.131620] c049f170 c82afbe0 c4167ddc c1200138 c03e72e5 c03e7311 c4167dd4 c014111d [72037.131620] c0141155 c03e76f2 c11df300 c0141150 c04c371c c82afbe0 c4167df0 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 13653 13652 [72037.131620] 00000000 00000082 ca2cab30 0000006c c045146d c5863a80 c9c7e380 c9c7e39c [72037.131620] c049f170 ca2cab30 c8bd7ddc c1200080 c03e72e5 c03e7311 c8bd7dd4 c014111d [72037.131620] c0141155 c03e76f2 c10ec5c0 c0141150 c04c3440 ca2cab30 c8bd7df0 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 00000000 0 13686 13685 [72037.131620] 00000000 00000086 c2e55ac0 00000000 cf810890 c5863400 cf4e9498 c0198e90 [72037.131620] c64051bc ffffffff c2e55ac0 c64051c0 c03e78bb c7b81e04 c2251e04 c2e55ac0 [72037.131620] c2e81e70 00000000 c2e81ef4 c2e81e70 c03e7819 c016b423 c2e81e84 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 13689 13688 [72037.131620] 00000000 00000086 c2e55770 0000006c c045146d c58630c0 cbabd380 cbabd39c [72037.131620] c049f170 c2e55770 c424dddc c1200138 c03e72e5 c03e7311 c424ddd4 c014111d [72037.131620] c0141155 c03e76f2 c1132300 c0141150 c04c371c c2e55770 c424ddf0 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] script2.sh D c2eadf0c 0 13694 13692 [72037.131620] 00000000 00000086 cb51dae0 c2eadf0c c016b3d3 c3d89900 cf80c8a0 cb51dae0 [72037.131620] c73f7cfc ffffffff cb51dae0 c73f7d00 c03e78bb cbb7fe60 c8a43e60 cb51dae0 [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 13697 13696 [72037.131620] 00000000 00000082 c2e54040 0000006c c045146d c3d89420 cbabd380 cbabd39c [72037.131620] c049f170 c2e54040 c2df3ddc c1200080 c03e72e5 c03e7311 c2df3dd4 c014111d [72037.131620] c0141155 c03e76f2 00000000 c0141150 c04c3440 c2e54040 c2df3df0 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] [] ? page_add_new_anon_rmap+0x56/0x80 [72037.131620] [] ? handle_mm_fault+0x42e/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 13718 1821 [72037.131620] 00000000 00000082 cb51cda0 00000000 01007810 c3d890e0 c8f703e0 80000000 [72037.131620] c049f170 cb51cda0 ce81dc74 c1200110 c03e72e5 c03e7311 ce81dc6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c cb51cda0 ce81dc88 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 00000030 0 13728 13727 [72037.131620] 00000000 00000086 cb51ca50 00000030 00000000 c4556ba0 00000046 c7b81e1c [72037.131620] c64051bc ffffffff cb51ca50 c64051c0 c03e78bb cc879e04 c2e81e04 cb51ca50 [72037.131620] c7b81e70 00000000 c7b81ef4 c7b81e70 c03e7819 c016b423 c7b81e84 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 13731 13730 [72037.131620] 00000000 00000086 cb51c060 0000006c c045146d c45566c0 c3715380 c371539c [72037.131620] c049f170 cb51c060 cca77ddc c1200138 c03e72e5 c03e7311 cca77dd4 c014111d [72037.131620] c0141155 c03e76f2 c10d2aa0 c0141150 c04c371c cb51c060 cca77df0 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 c769d110 0 13734 13733 [72037.131620] 00000000 00000082 c769d110 c769d110 c769d13c c45561e0 00000fff c011798f [72037.131620] c049f170 c769d110 cbf57ddc c1200080 c03e72e5 c03e7311 cbf57dd4 c014111d [72037.131620] c0141155 c03e76f2 c0130c89 c0141150 c04c3440 c769d110 cbf57df0 c101b6c0 [72037.131620] Call Trace: [72037.131620] [] ? task_tick_fair+0x4f/0x90 [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] [] ? hrtimer_run_pending+0x29/0xc0 [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 13740 1821 [72037.131620] 00000000 00000082 c769c3d0 00000000 01007810 c4556380 c5a160c0 80000000 [72037.131620] c049f170 c769c3d0 c5f97c74 c1200110 c03e72e5 c03e7311 c5f97c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c769c3d0 c5f97c88 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 13741 1821 [72037.131620] 00000000 00000082 cb51c3b0 00000000 01007810 c87d1d80 c4f8f920 80000000 [72037.131620] c049f170 cb51c3b0 c7857c74 c1200110 c03e72e5 c03e7311 c7857c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c cb51c3b0 c7857c88 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] [] ? rcu_process_callbacks+0x1e/0x20 [72037.131620] [] ? __do_softirq+0x77/0xe0 [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 13742 1821 [72037.131620] 00000000 00000082 c769c080 00000000 01007810 c87d1080 c5a16d40 80000000 [72037.131620] c049f170 c769c080 c7833c74 c1200110 c03e72e5 c03e7311 c7833c6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c769c080 c7833c88 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 13757 1821 [72037.131620] 00000000 00000082 c769ca70 00000000 01007810 c87d1be0 c3b744a0 80000000 [72037.131620] c049f170 c769ca70 cbd6dc74 c1200110 c03e72e5 c03e7311 cbd6dc6c c014111d [72037.131620] c03e76f2 00000254 c01410f0 c04c371c c769ca70 cbd6dc88 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 c811ee20 0 13767 13766 [72037.131620] 00000000 00000086 c811ee20 c811ee20 c811ee4c c87d13c0 00000fff 00000010 [72037.131620] c64051bc ffffffff c811ee20 c64051c0 c03e78bb c64051c0 c7b81e04 c811ee20 [72037.131620] cc879e70 00000000 cc879ef4 cc879e70 c03e7819 c016b423 cc879e84 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 13770 13769 [72037.131620] 00000000 00000086 c811fb60 0000006c c045146d c87d18a0 c6725380 c672539c [72037.131620] c049f170 c811fb60 c304dddc c1200138 c03e72e5 c03e7311 c304ddd4 c014111d [72037.131620] c0141155 c03e76f2 c11ecf80 c0141150 c04c371c c811fb60 c304ddf0 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 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 [72037.131620] script3.sh D cfa5e400 0 13775 13774 [72037.131620] 00000000 00000082 c64afb80 cfa5e400 cf80c8a0 c3606720 cf5a25d0 c0174677 [72037.131620] cc79babc ffffffff c64afb80 cc79bac0 c03e78bb c3aa5e08 cb18fe08 c64afb80 [72037.131620] c842fe74 00000000 c842fed8 c842fe74 c03e7819 c016b423 c842fe88 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 cbb7ff0c 0 13780 13778 [72037.131620] 00000000 00000086 c64aeaf0 cbb7ff0c c016b3d3 c36060a0 cf80c8a0 c64aeaf0 [72037.131620] c73f7cfc ffffffff c64aeaf0 c73f7d00 c03e78bb c73f7d00 c2eade60 c64aeaf0 [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 00000246 0 13783 13782 [72037.131620] 00000000 00000082 c64aee40 00000246 00000001 c3873a80 00000000 0000000e [72037.131620] cc79babc ffffffff c64aee40 cc79bac0 c03e78bb cc79bac0 c842fe08 c64aee40 [72037.131620] c3aa5e74 00000000 c3aa5ed8 c3aa5e74 c03e7819 c016b423 c3aa5e88 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] script5.sh D 0000006c 0 13789 13788 [72037.131620] 00000000 00000086 c4d0ee60 0000006c c045146d c3873400 c6725380 c672539c [72037.131620] c049f170 c4d0ee60 c3637ddc c1200080 c03e72e5 c03e7311 c3637dd4 c014111d [72037.131620] c0141155 c03e76f2 c1060640 c0141150 c04c3440 c4d0ee60 c3637df0 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 sysrq-t: 000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script1.sh D 0000006c 0 13472 13471 [72119.690410] 00000000 00000082 cc6d35a0 0000006c c045146d c3833620 c63be380 c63be39c [72119.690410] c049f170 cc6d35a0 c9f25ddc c1200138 c03e72e5 c03e7311 c9f25dd4 c014111d [72119.690410] c0141155 c03e76f2 c1140820 c0141150 c04c371c cc6d35a0 c9f25df0 c11adae0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S ccc15e88 0 13473 1897 [72119.690410] 00000000 00000086 cc6d38f0 ccc15e88 cf42ee54 c38337c0 c016b3d3 ccc15e9c [72119.690410] c6ffee00 ccc15edc ccc15f60 00001000 c03e72e5 c016a175 00000000 cc6d38f0 [72119.690410] c012dbe0 c6ffee00 c6ffee00 cc744ec0 ccc15edc c016aa6e 000007ca ccc15f60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13474 13473 [72119.690410] 00000000 00000086 cc6d2bb0 00000000 c11a2500 c9dad2c0 c0152354 0d128067 [72119.690410] cc6d2ba8 cc6d2bb0 cc6d2cd0 00000003 c03e72e5 c011edd0 cc423f68 00000003 [72119.690410] 00000000 00000004 00000000 bfadaa68 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script5.sh D 0000006c 0 13475 13474 [72119.690410] 00000000 00000086 cc6d2860 0000006c c045146d c3f5cba0 c63be380 c63be39c [72119.690410] c049f170 cc6d2860 c9ca1ddc c1200080 c03e72e5 c03e7311 c9ca1dd4 c014111d [72119.690410] c0141155 c03e76f2 c1194a40 c0141150 c04c3440 cc6d2860 c9ca1df0 c101b6c0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c62c5e88 0 13506 1897 [72119.690410] 00000000 00000082 c9fd6dc0 c62c5e88 cf42ee54 c3f5cd40 c016b3d3 c62c5e9c [72119.690410] c6ffe200 c62c5edc c62c5f60 00001000 c03e72e5 c016a175 00000000 c9fd6dc0 [72119.690410] c012dbe0 c6ffe200 c6ffe200 c559fa40 c62c5edc c016aa6e 00000843 c62c5f60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13507 13506 [72119.690410] 00000000 00000086 c9fd6a70 00000000 c11be1e0 c3f5ca00 c0152354 0df0f067 [72119.690410] c9fd6a68 c9fd6a70 c9fd6b90 00000003 c03e72e5 c011edd0 c385df68 00000003 [72119.690410] 00000000 00000004 00000000 bf938938 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D 00000000 0 13508 13507 [72119.690410] 00000000 00000086 c16f4140 00000000 cf810890 c3f5c6c0 cf4037cc c0198e90 [72119.690410] c64051bc ffffffff c16f4140 c64051c0 c03e78bb cb8b5e04 c35a9e04 c16f4140 [72119.690410] c36fbe70 00000000 c36fbef4 c36fbe70 c03e7819 c016b423 c36fbe84 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? proc_delete_inode+0x0/0x50 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? get_empty_filp+0x3a/0xd0 [72119.690410] [] ? do_filp_open+0xdb/0x830 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? open_exec+0x2f/0xc0 [72119.690410] [] ? do_execve+0x98/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c8415e88 0 13509 1897 [72119.690410] 00000000 00000082 c9fd7110 c8415e88 cf42ee54 c3f5c520 c016b3d3 c8415e9c [72119.690410] c6ffe800 c8415edc c8415f60 00001000 c03e72e5 c016a175 00000000 c9fd7110 [72119.690410] c012dbe0 c6ffe800 c6ffe800 c559fd40 c8415edc c016aa6e 00000a5e c8415f60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13510 13509 [72119.690410] 00000000 00000086 cc6d2510 00000000 c115f9a0 c3f5c860 c0152354 0afcd067 [72119.690410] cc6d2508 cc6d2510 cc6d2630 00000003 c03e72e5 c011edd0 ccfa7f68 00000003 [72119.690410] 00000000 00000004 00000000 bfde9548 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script1.sh D 0000006c 0 13511 13510 [72119.690410] 00000000 00000082 c9fd7b00 0000006c c045146d c3f5c1e0 c5291380 c529139c [72119.690410] c049f170 c9fd7b00 c66d9ddc c1200138 c03e72e5 c03e7311 c66d9dd4 c014111d [72119.690410] c0141155 c03e76f2 c11aa100 c0141150 c04c371c c9fd7b00 c66d9df0 c11adae0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c8f37e88 0 13512 1897 [72119.690410] 00000000 00000082 c9fd7460 c8f37e88 cf42ee54 c3f5c380 c016b3d3 c8f37e9c [72119.690410] c6ffea00 c8f37edc c8f37f60 00001000 c03e72e5 c016a175 00000000 c9fd7460 [72119.690410] c012dbe0 c6ffea00 c6ffea00 cc744a40 c8f37edc c016aa6e 000007bc c8f37f60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13513 13512 [72119.690410] 00000000 00000082 c9fd77b0 00000000 c1154ac0 c3f5c040 c0152354 0aa56067 [72119.690410] c9fd77a8 c9fd77b0 c9fd78d0 00000003 c03e72e5 c011edd0 cccd9f68 00000003 [72119.690410] 00000000 00000004 00000000 bfbc66c8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script2.sh S 00000000 0 13514 13513 [72119.690410] 00000000 00000086 c9fd6720 00000000 c10f6560 c534abc0 c0152354 07b2b067 [72119.690410] c9fd6718 c9fd6720 c9fd6840 00000003 c03e72e5 c011edd0 c6659f68 00000003 [72119.690410] 00000000 00000004 00000000 bfcd16e8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script2.sh D cf053f0c 0 13516 13514 [72119.690410] 00000000 00000082 c9fd6080 cf053f0c c016b3d3 c534aa20 cf80c8a0 c9fd6080 [72119.690410] c73f7cfc ffffffff c9fd6080 c73f7d00 c03e78bb c8a43e60 c16f7e60 c9fd6080 [72119.690410] 00008068 ffffffea c9023814 00000000 c03e7819 c0162f63 00008068 75a6b2ed [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_truncate+0x63/0x90 [72119.690410] [] ? capable+0x21/0x60 [72119.690410] [] ? may_open+0x182/0x200 [72119.690410] [] ? do_filp_open+0x1ea/0x830 [72119.690410] [] ? __do_fault+0x2b1/0x3d0 [72119.690410] [] ? do_sys_open+0x5b/0x110 [72119.690410] [] ? sys_open+0x2c/0x40 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c8505e88 0 13517 1897 [72119.690410] 00000000 00000086 c463db20 c8505e88 cf42ee54 c534ad60 c016b3d3 c8505e9c [72119.690410] c59dae00 c8505edc c8505f60 00001000 c03e72e5 c016a175 00000000 c463db20 [72119.690410] c012dbe0 c59dae00 c59dae00 cc7442c0 c8505edc c016aa6e 00000911 c8505f60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13518 13517 [72119.690410] 00000000 00000082 c463d7d0 00000000 c11d8280 c534a880 c0152354 0ec14067 [72119.690410] c463d7c8 c463d7d0 c463d8f0 00000003 c03e72e5 c011edd0 c5b3df68 00000003 [72119.690410] 00000000 00000004 00000000 bfe2c078 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script5.sh D 0000006c 0 13519 13518 [72119.690410] 00000000 00000082 c9fd63d0 0000006c c045146d c534a540 c5291380 c529139c [72119.690410] c049f170 c9fd63d0 cfab1ddc c1200080 c03e72e5 c03e7311 cfab1dd4 c014111d [72119.690410] c0141155 c03e76f2 c104be00 c0141150 c04c3440 c9fd63d0 cfab1df0 c101b6c0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S 00000001 0 13547 1897 [72119.690410] 00000000 00000086 cc6d21c0 00000001 c04c3784 c534a3a0 c03efda0 0000002c [72119.690410] c59da400 c6013edc c6013f60 00001000 c03e72e5 c016a175 00000000 cc6d21c0 [72119.690410] c012dbe0 c59da400 c59da400 c3881d40 c6013edc c016aa6e 000008ac c6013f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? getnstimeofday+0x54/0x110 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13548 13547 [72119.690410] 00000000 00000082 c9367b40 00000000 c10b9080 c534a6e0 c0152354 05c84067 [72119.690410] c9367b38 c9367b40 c9367c60 00000003 c03e72e5 c011edd0 ceca5f68 00000003 [72119.690410] 00000000 00000004 00000000 bff5c4e8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D 00000000 0 13549 13548 [72119.690410] 00000000 00000086 c463cde0 00000000 cf810890 c534a200 cf4031a0 c0198e90 [72119.690410] c64051bc ffffffff c463cde0 c64051c0 c03e78bb c8d2be04 c36fbe04 c463cde0 [72119.690410] cb8b5e70 00000000 cb8b5ef4 cb8b5e70 c03e7819 c016b423 cb8b5e84 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? proc_delete_inode+0x0/0x50 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? get_empty_filp+0x3a/0xd0 [72119.690410] [] ? do_filp_open+0xdb/0x830 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? open_exec+0x2f/0xc0 [72119.690410] [] ? do_execve+0x98/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S cc4a5e88 0 13550 1897 [72119.690410] 00000000 00000086 c463c740 cc4a5e88 cf42ee54 c534a060 c016b3d3 cc4a5e9c [72119.690410] c59da000 cc4a5edc cc4a5f60 00001000 c03e72e5 c016a175 00000000 c463c740 [72119.690410] c012dbe0 c59da000 c59da000 c874ac20 cc4a5edc c016aa6e 000007f4 cc4a5f60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13551 13550 [72119.690410] 00000000 00000082 c463c3f0 00000000 c1042a80 ce1abde0 c0152354 02154067 [72119.690410] c463c3e8 c463c3f0 c463c510 00000003 c03e72e5 c011edd0 c8ccbf68 00000003 [72119.690410] 00000000 00000004 00000000 bfbbfe68 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script1.sh D 0000006c 0 13552 13551 [72119.690410] 00000000 00000086 c463d480 0000006c c045146d ce1abaa0 ce37a380 ce37a39c [72119.690410] c049f170 c463d480 ce337ddc c1200138 c03e72e5 c03e7311 ce337dd4 c014111d [72119.690410] c0141155 c03e76f2 c10e52a0 c0141150 c04c371c c463d480 ce337df0 c11adae0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c3d73e88 0 13553 1897 [72119.690410] 00000000 00000082 c463c0a0 c3d73e88 c04c3774 ce1abc40 c03efda0 0000002c [72119.690410] c59daa00 c3d73edc c3d73f60 00001000 c03e72e5 c016a175 00000000 c463c0a0 [72119.690410] c012dbe0 c59daa00 c59daa00 c3881b40 c3d73edc c016aa6e 000008cc c3d73f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13554 13553 [72119.690410] 00000000 00000086 c463ca90 00000000 c10ec560 ce1ab900 c0152354 0762b067 [72119.690410] c463ca88 c463ca90 c463cbb0 00000003 c03e72e5 c011edd0 c16fdf68 00000003 [72119.690410] 00000000 00000004 00000000 bfd79898 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script5.sh D 0000006c 0 13555 13554 [72119.690410] 00000000 00000086 c93677f0 0000006c c045146d ce1ab5c0 ce37a380 ce37a39c [72119.690410] c049f170 c93677f0 c4585ddc c1200080 c03e72e5 c03e7311 c4585dd4 c014111d [72119.690410] c0141155 c03e76f2 c1180540 c0141150 c04c3440 c93677f0 c4585df0 c101b6c0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] vsftpd D 00000000 0 13561 1821 [72119.690410] 00000000 00000082 c463d130 00000000 01007810 ce1ab0e0 c4d7e5e0 80000000 [72119.690410] c049f170 c463d130 c84f9c74 c1200110 c03e72e5 c03e7311 c84f9c6c c014111d [72119.690410] c03e76f2 00000254 c01410f0 c04c371c c463d130 c84f9c88 c11bdd20 c01410cc [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page+0x0/0x60 [72119.690410] [] ? __lock_page+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? find_lock_page+0x4f/0x70 [72119.690410] [] ? filemap_fault+0x115/0x3e0 [72119.690410] [] ? __do_fault+0x42/0x3d0 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? error_code+0x65/0x6c [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? clear_user+0x2f/0x50 [72119.690410] [] ? load_elf_binary+0x8bc/0x1960 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? strrchr+0xb/0x20 [72119.690410] [] ? load_misc_binary+0x84/0x390 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? __get_user_pages+0xfa/0x310 [72119.690410] [] ? get_arg_page+0x4a/0xb0 [72119.690410] [] ? copy_strings+0x16e/0x190 [72119.690410] [] ? search_binary_handler+0x56/0x140 [72119.690410] [] ? do_execve+0x2bb/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] vsftpd D 00000000 0 13562 1821 [72119.690410] 00000000 00000082 c93674a0 00000000 01007810 ce1ab420 c874ab20 80000000 [72119.690410] c049f170 c93674a0 c9c81c74 c1200110 c03e72e5 c03e7311 c9c81c6c c014111d [72119.690410] c03e76f2 00000254 c01410f0 c04c371c c93674a0 c9c81c88 c11bdd20 c01410cc [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page+0x0/0x60 [72119.690410] [] ? __lock_page+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? find_lock_page+0x4f/0x70 [72119.690410] [] ? filemap_fault+0x115/0x3e0 [72119.690410] [] ? __do_fault+0x42/0x3d0 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? error_code+0x65/0x6c [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? clear_user+0x2f/0x50 [72119.690410] [] ? load_elf_binary+0x8bc/0x1960 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? strrchr+0xb/0x20 [72119.690410] [] ? load_misc_binary+0x84/0x390 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? __get_user_pages+0xfa/0x310 [72119.690410] [] ? get_arg_page+0x4a/0xb0 [72119.690410] [] ? copy_strings+0x16e/0x190 [72119.690410] [] ? search_binary_handler+0x56/0x140 [72119.690410] [] ? do_execve+0x2bb/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] vsftpd D 00000000 0 13577 1821 [72119.690410] 00000000 00000086 c93660c0 00000000 01007810 ce1ab760 c4d7ed60 80000000 [72119.690410] c049f170 c93660c0 c4fc7c74 c1200110 c03e72e5 c03e7311 c4fc7c6c c014111d [72119.690410] c03e76f2 00000254 c01410f0 c04c371c c93660c0 c4fc7c88 c11bdd20 c01410cc [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page+0x0/0x60 [72119.690410] [] ? __lock_page+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? find_lock_page+0x4f/0x70 [72119.690410] [] ? filemap_fault+0x115/0x3e0 [72119.690410] [] ? __do_fault+0x42/0x3d0 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? error_code+0x65/0x6c [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? clear_user+0x2f/0x50 [72119.690410] [] ? load_elf_binary+0x8bc/0x1960 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? strrchr+0xb/0x20 [72119.690410] [] ? load_misc_binary+0x84/0x390 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? __get_user_pages+0xfa/0x310 [72119.690410] [] ? get_arg_page+0x4a/0xb0 [72119.690410] [] ? copy_strings+0x16e/0x190 [72119.690410] [] ? search_binary_handler+0x56/0x140 [72119.690410] [] ? do_execve+0x2bb/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c3ddde88 0 13585 1897 [72119.690410] 00000000 00000082 ccc8d500 c3ddde88 c04c377c ce1ab280 c03efda0 0000002c [72119.690410] c5054400 c3dddedc c3dddf60 00001000 c03e72e5 c016a175 00000000 ccc8d500 [72119.690410] c012dbe0 c5054400 c5054400 ce2d99e0 c3dddedc c016aa6e 00000845 c3dddf60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13586 13585 [72119.690410] 00000000 00000082 ccc8d1b0 00000000 c10330c0 c8c65d40 c0152354 01986067 [72119.690410] ccc8d1a8 ccc8d1b0 ccc8d2d0 00000003 c03e72e5 c011edd0 c90eff68 00000003 [72119.690410] 00000000 00000004 00000000 bfe0f588 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D 00000000 0 13587 13586 [72119.690410] 00000000 00000086 c9366ab0 00000000 cf810890 c8c65a00 cf4d6730 c0198e90 [72119.690410] c64051bc ffffffff c9366ab0 c64051c0 c03e78bb c2251e04 cb8b5e04 c9366ab0 [72119.690410] c8d2be70 00000000 c8d2bef4 c8d2be70 c03e7819 c016b423 c8d2be84 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? proc_delete_inode+0x0/0x50 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? get_empty_filp+0x3a/0xd0 [72119.690410] [] ? do_filp_open+0xdb/0x830 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? open_exec+0x2f/0xc0 [72119.690410] [] ? do_execve+0x98/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c57e1e88 0 13588 1897 [72119.690410] 00000000 00000086 ccc8d850 c57e1e88 cf42ee54 c8c65ba0 c016b3d3 c57e1e9c [72119.690410] c5054a00 c57e1edc c57e1f60 00001000 c03e72e5 c016a175 00000000 ccc8d850 [72119.690410] c012dbe0 c5054a00 c5054a00 c9faf8c0 c57e1edc c016aa6e 00000862 c57e1f60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13589 13588 [72119.690410] 00000000 00000086 c9366e00 00000000 c11673a0 c8c65860 c0152354 0b39d067 [72119.690410] c9366df8 c9366e00 c9366f20 00000003 c03e72e5 c011edd0 cbba9f68 00000003 [72119.690410] 00000000 00000004 00000000 bfd40868 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script1.sh D c0144a8e 0 13590 13589 [72119.690410] 00000000 00000082 c9366410 c0144a8e c045146d c8c65520 c396b380 c396b39c [72119.690410] c049f170 c9366410 c45ffddc c1200138 c03e72e5 c03e7311 c45ffdd4 c014111d [72119.690410] c0141155 c03e76f2 c10301e0 c0141150 c04c371c c9366410 c45ffdf0 c11adae0 [72119.690410] Call Trace: [72119.690410] [] ? __rmqueue+0x1e/0x220 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c668fe88 0 13591 1897 [72119.690410] 00000000 00000086 ccc8dba0 c668fe88 cf42ee54 c8c656c0 c016b3d3 c668fe9c [72119.690410] c4d8ce00 c668fedc c668ff60 00001000 c03e72e5 c016a175 00000000 ccc8dba0 [72119.690410] c012dbe0 c4d8ce00 c4d8ce00 c559f1c0 c668fedc c016aa6e 00000799 c668ff60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D 00000006 0 13592 13591 [72119.690410] 00000000 00000082 c9367150 00000006 c9760011 c8c65380 ccccbe88 cf596ab4 [72119.690410] ca6a9524 ca6a9524 ccccbe70 c02750f0 c03e72e5 c03e85fd ca6a9528 c9367150 [72119.690410] c9760018 ca6a9524 00000000 c9faf440 c02750f0 c03e873a c1433e70 c16e5e70 [72119.690410] Call Trace: [72119.690410] [] ? xfs_dir_open+0x0/0x70 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? rwsem_down_failed_common+0x7d/0x170 [72119.690410] [] ? xfs_dir_open+0x0/0x70 [72119.690410] [] ? rwsem_down_read_failed+0x1a/0x24 [72119.690410] [] ? call_rwsem_down_read_failed+0x7/0xc [72119.690410] [] ? down_read+0x9/0x10 [72119.690410] [] ? xfs_ilock_map_shared+0x16/0x40 [72119.690410] [] ? xfs_dir_open+0x3d/0x70 [72119.690410] [] ? __dentry_open+0x89/0x240 [72119.690410] [] ? nameidata_to_filp+0x53/0x70 [72119.690410] [] ? do_filp_open+0x245/0x830 [72119.690410] [] ? __do_fault+0x2b1/0x3d0 [72119.690410] [] ? do_sys_open+0x5b/0x110 [72119.690410] [] ? sys_open+0x2c/0x40 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S cbd63e88 0 13593 1897 [72119.690410] 00000000 00000082 ccc8ce60 cbd63e88 c04c3784 c8c651e0 c03efda0 0000002c [72119.690410] c4d8ca00 cbd63edc cbd63f60 00001000 c03e72e5 c016a175 00000000 ccc8ce60 [72119.690410] c012dbe0 c4d8ca00 c4d8ca00 c9fafcc0 cbd63edc c016aa6e 000011c0 cbd63f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13594 13593 [72119.690410] 00000000 00000082 ccc8cb10 00000000 c11905a0 c8c65040 c0152354 0c82d067 [72119.690410] ccc8cb08 ccc8cb10 ccc8cc30 00000003 c03e72e5 c011edd0 cc92ff68 00000003 [72119.690410] 00000000 00000004 00000000 bfcd22e8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script3.sh D cfa5e400 0 13595 13594 [72119.690410] 00000000 00000086 ccc8c7c0 cfa5e400 cf80c8a0 c539fbc0 cf5a25d0 c0174677 [72119.690410] cc79babc ffffffff ccc8c7c0 cc79bac0 c03e78bb cb18fe08 c16f3e08 ccc8c7c0 [72119.690410] ca0d3e74 00000000 ca0d3ed8 ca0d3e74 c03e7819 c016b423 ca0d3e88 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? touch_atime+0x97/0x140 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? xfs_iunlock+0x80/0xb0 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? getname+0x96/0xd0 [72119.690410] [] ? user_path_at+0x5a/0x90 [72119.690410] [] ? __do_fault+0x2b1/0x3d0 [72119.690410] [] ? vfs_fstatat+0x37/0x70 [72119.690410] [] ? vfs_stat+0x18/0x20 [72119.690410] [] ? sys_stat64+0xf/0x30 [72119.690410] [] ? vfs_read+0xff/0x140 [72119.690410] [] ? sys_rt_sigprocmask+0x67/0xe0 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c011a562 0 13596 1897 [72119.690410] 00000000 00000086 ccc8c470 c011a562 ccc8c470 c539fd60 c82b5e3c c82b5e3c [72119.690410] c4d8c600 c82b5edc c82b5f60 00001000 c03e72e5 c016a175 00000000 ccc8c470 [72119.690410] c012dbe0 c4d8c600 c4d8c600 c5b4d7a0 c82b5edc c016aa6e 0000064d c82b5f60 [72119.690410] Call Trace: [72119.690410] [] ? scheduler_tick+0x82/0x90 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13597 13596 [72119.690410] 00000000 00000082 ccc8c120 00000000 c1182f00 c539fa20 c0152354 0c178067 [72119.690410] ccc8c118 ccc8c120 ccc8c240 00000003 c03e72e5 c011edd0 c7ab3f68 00000003 [72119.690410] 00000000 00000004 00000000 bfecf8d8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script2.sh S 00000000 0 13598 13597 [72119.690410] 00000000 00000082 ca2cbbc0 00000000 c1049340 c539f6e0 c0152354 0249a067 [72119.690410] ca2cbbb8 ca2cbbc0 ca2cbce0 00000003 c03e72e5 c011edd0 cbe1bf68 00000003 [72119.690410] 00000000 00000004 00000000 bfa3c788 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script2.sh D c8a43f0c 0 13600 13598 [72119.690410] 00000000 00000082 ca2cb520 c8a43f0c c016b3d3 c539f540 cf80c8a0 ca2cb520 [72119.690410] c73f7cfc ffffffff ca2cb520 c73f7d00 c03e78bb c2eade60 cf053e60 ca2cb520 [72119.690410] 00008068 ffffffea c9023814 00000000 c03e7819 c0162f63 00008068 75a6b2ed [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_truncate+0x63/0x90 [72119.690410] [] ? capable+0x21/0x60 [72119.690410] [] ? may_open+0x182/0x200 [72119.690410] [] ? do_filp_open+0x1ea/0x830 [72119.690410] [] ? __do_fault+0x2b1/0x3d0 [72119.690410] [] ? do_sys_open+0x5b/0x110 [72119.690410] [] ? sys_open+0x2c/0x40 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c723de88 0 13601 1897 [72119.690410] 00000000 00000082 ca2cb1d0 c723de88 c04c3784 c539f880 c03efda0 0000002c [72119.690410] c4d8c200 c723dedc c723df60 00001000 c03e72e5 c016a175 00000000 ca2cb1d0 [72119.690410] c012dbe0 c4d8c200 c4d8c200 c9faf740 c723dedc c016aa6e 00000772 c723df60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13602 13601 [72119.690410] 00000000 00000086 ca2cae80 00000000 c104e800 c539f3a0 c0152354 02740067 [72119.690410] ca2cae78 ca2cae80 ca2cafa0 00000003 c03e72e5 c011edd0 c7255f68 00000003 [72119.690410] 00000000 00000004 00000000 bffc80f8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script4.sh D 00000246 0 13603 13602 [72119.690410] 00000000 00000086 ca2cb870 00000246 00000001 c539f060 00000000 0000000e [72119.690410] cc79babc ffffffff ca2cb870 cc79bac0 c03e78bb c842fe08 ca0d3e08 ca2cb870 [72119.690410] cb18fe74 00000000 cb18fed8 cb18fe74 c03e7819 c016b423 cb18fe88 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? touch_atime+0xb8/0x140 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? getname+0x96/0xd0 [72119.690410] [] ? user_path_at+0x5a/0x90 [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? vfs_fstatat+0x37/0x70 [72119.690410] [] ? vfs_stat+0x18/0x20 [72119.690410] [] ? sys_stat64+0xf/0x30 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S 00000000 0 13606 1897 [72119.690410] 00000000 00000082 ca2ca490 00000000 00000000 ccf48be0 c04c3740 00000246 [72119.690410] cce7dc00 cfd8bedc cfd8bf60 00001000 c03e72e5 c016a175 00000000 ca2ca490 [72119.690410] c012dbe0 cce7dc00 cce7dc00 c874a6a0 cfd8bedc c016aa6e 00000a5f cfd8bf60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13609 13606 [72119.690410] 00000000 00000086 c82af890 00000000 c11457a0 c539f200 c0152354 0a2bd067 [72119.690410] c82af888 c82af890 c82af9b0 00000003 c03e72e5 c011edd0 c19d1f68 00000003 [72119.690410] 00000000 00000004 00000000 bfb16c88 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script5.sh D 0000006c 0 13610 13609 [72119.690410] 00000000 00000086 c82af540 0000006c c045146d ccf488a0 c396b380 c396b39c [72119.690410] c049f170 c82af540 cc845ddc c1200080 c03e72e5 c03e7311 cc845dd4 c014111d [72119.690410] c0141155 c03e76f2 c1043ba0 c0141150 c04c3440 c82af540 cc845df0 c101b6c0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c2a53e88 0 13645 1897 [72119.690410] 00000000 00000086 c9366760 c2a53e88 c04c3784 ccf48560 c03efda0 0000002c [72119.690410] c4d8c000 c2a53edc c2a53f60 00001000 c03e72e5 c016a175 00000000 c9366760 [72119.690410] c012dbe0 c4d8c000 c4d8c000 c528d7e0 c2a53edc c016aa6e 000008d0 c2a53f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13646 13645 [72119.690410] c82af374 00000082 c82af1f0 00000000 c10e0be0 ccf48220 c0152354 0705f067 [72119.690410] c82af1e8 c82af1f0 c82af310 00000003 c03e72e5 c011edd0 c4991f68 00000003 [72119.690410] 00000000 00000004 00000000 bf918db8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D 00000025 0 13647 13646 [72119.690410] 00000000 00000086 c82ae160 00000025 00012dce ccf48700 cfa4ec00 00000025 [72119.690410] c64051bc ffffffff c82ae160 c64051c0 c03e78bb c2e81e04 c8d2be04 c82ae160 [72119.690410] c2251e70 00000000 c2251ef4 c2251e70 c03e7819 c016b423 c2251e84 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? get_empty_filp+0x3a/0xd0 [72119.690410] [] ? do_filp_open+0xdb/0x830 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? open_exec+0x2f/0xc0 [72119.690410] [] ? do_execve+0x98/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c227be88 0 13648 1897 [72119.690410] 00000000 00000082 c82aeea0 c227be88 c04c3784 ccf48a40 c03efda0 0000002c [72119.690410] cce7d600 c227bedc c227bf60 00001000 c03e72e5 c016a175 00000000 c82aeea0 [72119.690410] c012dbe0 cce7d600 cce7d600 c56aea20 c227bedc c016aa6e 00000635 c227bf60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13649 13648 [72119.690410] 00000000 00000086 c82ae4b0 00000000 c1031220 ccf483c0 c0152354 01891067 [72119.690410] c82ae4a8 c82ae4b0 c82ae5d0 00000003 c03e72e5 c011edd0 cdbebf68 00000003 [72119.690410] 00000000 00000004 00000000 bfedc998 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script1.sh D 0000006c 0 13650 13649 [72119.690410] 00000000 00000082 c82afbe0 0000006c c045146d ccf48080 c9c7e380 c9c7e39c [72119.690410] c049f170 c82afbe0 c4167ddc c1200138 c03e72e5 c03e7311 c4167dd4 c014111d [72119.690410] c0141155 c03e76f2 c11df300 c0141150 c04c371c c82afbe0 c4167df0 c11adae0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c468fe88 0 13651 1897 [72119.690410] 00000000 00000082 c82ae800 c468fe88 c04c3784 ccf48d80 c03efda0 0000002c [72119.690410] cce7d200 c468fedc c468ff60 00001000 c03e72e5 c016a175 00000000 c82ae800 [72119.690410] c012dbe0 cce7d200 cce7d200 c528d160 c468fedc c016aa6e 00000920 c468ff60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13652 13651 [72119.690410] 00000000 00000086 ca2ca140 00000000 c115ac20 c5863dc0 c0152354 0ad61067 [72119.690410] ca2ca138 ca2ca140 ca2ca260 00000003 c03e72e5 c011edd0 cc979f68 00000003 [72119.690410] 00000000 00000004 00000000 bf958f58 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script5.sh D 0000006c 0 13653 13652 [72119.690410] 00000000 00000082 ca2cab30 0000006c c045146d c5863a80 c9c7e380 c9c7e39c [72119.690410] c049f170 ca2cab30 c8bd7ddc c1200080 c03e72e5 c03e7311 c8bd7dd4 c014111d [72119.690410] c0141155 c03e76f2 c10ec5c0 c0141150 c04c3440 ca2cab30 c8bd7df0 c101b6c0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c7085e88 0 13684 1897 [72119.690410] 00000000 00000082 c2e54a30 c7085e88 c04c3784 c5863c20 c03efda0 0000002c [72119.690410] c663cc00 c7085edc c7085f60 00001000 c03e72e5 c016a175 00000000 c2e54a30 [72119.690410] c012dbe0 c663cc00 c663cc00 c3b74c20 c7085edc c016aa6e 0000080d c7085f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13685 13684 [72119.690410] 00000000 00000082 c2e546e0 00000000 c11b5e40 c58638e0 c0152354 0daf2067 [72119.690410] c2e546d8 c2e546e0 c2e54800 00000003 c03e72e5 c011edd0 cb1f7f68 00000003 [72119.690410] 00000000 00000004 00000000 bfc38f18 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D 00000000 0 13686 13685 [72119.690410] 00000000 00000086 c2e55ac0 00000000 cf810890 c5863400 cf4e9498 c0198e90 [72119.690410] c64051bc ffffffff c2e55ac0 c64051c0 c03e78bb c7b81e04 c2251e04 c2e55ac0 [72119.690410] c2e81e70 00000000 c2e81ef4 c2e81e70 c03e7819 c016b423 c2e81e84 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? proc_delete_inode+0x0/0x50 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? get_empty_filp+0x3a/0xd0 [72119.690410] [] ? do_filp_open+0xdb/0x830 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? open_exec+0x2f/0xc0 [72119.690410] [] ? do_execve+0x98/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S ca371e88 0 13687 1897 [72119.690410] 00000000 00000082 ca2ca7e0 ca371e88 c04c3784 c5863740 c03efda0 0000002c [72119.690410] c663c400 ca371edc ca371f60 00001000 c03e72e5 c016a175 00000000 ca2ca7e0 [72119.690410] c012dbe0 c663c400 c663c400 c4d702a0 ca371edc c016aa6e 0000088f ca371f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13688 13687 [72119.690410] 00000000 00000086 c2e54d80 00000000 c10b91c0 c58635a0 c0152354 05c8e067 [72119.690410] c2e54d78 c2e54d80 c2e54ea0 00000003 c03e72e5 c011edd0 c27f5f68 00000003 [72119.690410] 00000000 00000004 00000000 bfebb7e8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script1.sh D 0000006c 0 13689 13688 [72119.690410] 00000000 00000086 c2e55770 0000006c c045146d c58630c0 cbabd380 cbabd39c [72119.690410] c049f170 c2e55770 c424dddc c1200138 c03e72e5 c03e7311 c424ddd4 c014111d [72119.690410] c0141155 c03e76f2 c1132300 c0141150 c04c371c c2e55770 c424ddf0 c11adae0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S cbf01e88 0 13690 1897 [72119.690410] 00000000 00000086 c2e550d0 cbf01e88 c04c3784 c5863260 c03efda0 0000002c [72119.690410] c663c000 cbf01edc cbf01f60 00001000 c03e72e5 c016a175 00000000 c2e550d0 [72119.690410] c012dbe0 c663c000 c663c000 c8f70260 cbf01edc c016aa6e 00000610 cbf01f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13691 13690 [72119.690410] 00000000 00000082 c2e55420 00000000 c1192a20 c3d89de0 c0152354 0c951067 [72119.690410] c2e55418 c2e55420 c2e55540 00000003 c03e72e5 c011edd0 ca645f68 00000003 [72119.690410] 00000000 00000004 00000000 bfb8a658 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script2.sh S 00000000 0 13692 13691 [72119.690410] 00000000 00000086 c2e54390 00000000 c11a4760 c3d89aa0 c0152354 0d23b067 [72119.690410] c2e54388 c2e54390 c2e544b0 00000003 c03e72e5 c011edd0 c30e1f68 00000003 [72119.690410] 00000000 00000004 00000000 bfb577f8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script2.sh D c2eadf0c 0 13694 13692 [72119.690410] 00000000 00000086 cb51dae0 c2eadf0c c016b3d3 c3d89900 cf80c8a0 cb51dae0 [72119.690410] c73f7cfc ffffffff cb51dae0 c73f7d00 c03e78bb cbb7fe60 c8a43e60 cb51dae0 [72119.690410] 00008068 ffffffea c9023814 00000000 c03e7819 c0162f63 00008068 75a6b2ed [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_truncate+0x63/0x90 [72119.690410] [] ? capable+0x21/0x60 [72119.690410] [] ? may_open+0x182/0x200 [72119.690410] [] ? do_filp_open+0x1ea/0x830 [72119.690410] [] ? __do_fault+0x2b1/0x3d0 [72119.690410] [] ? do_sys_open+0x5b/0x110 [72119.690410] [] ? sys_open+0x2c/0x40 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c011a562 0 13695 1897 [72119.690410] 00000000 00000082 cb51d790 c011a562 cb51d790 c3d89c40 ca051e3c ca051e3c [72119.690410] c663ce00 ca051edc ca051f60 00001000 c03e72e5 c016a175 00000000 cb51d790 [72119.690410] c012dbe0 c663ce00 c663ce00 c3b74420 ca051edc c016aa6e 000007c5 ca051f60 [72119.690410] Call Trace: [72119.690410] [] ? scheduler_tick+0x82/0x90 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13696 13695 [72119.690410] 00000000 00000086 cb51d440 00000000 c1180940 c3d89760 c0152354 0c04a067 [72119.690410] cb51d438 cb51d440 cb51d560 00000003 c03e72e5 c011edd0 ca263f68 00000003 [72119.690410] 00000000 00000004 00000000 bfb691e8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script5.sh D 0000006c 0 13697 13696 [72119.690410] 00000000 00000082 c2e54040 0000006c c045146d c3d89420 cbabd380 cbabd39c [72119.690410] c049f170 c2e54040 c2df3ddc c1200080 c03e72e5 c03e7311 c2df3dd4 c014111d [72119.690410] c0141155 c03e76f2 00000000 c0141150 c04c3440 c2e54040 c2df3df0 c101b6c0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? page_add_new_anon_rmap+0x56/0x80 [72119.690410] [] ? handle_mm_fault+0x42e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] vsftpd D 00000000 0 13718 1821 [72119.690410] 00000000 00000082 cb51cda0 00000000 01007810 c3d890e0 c8f703e0 80000000 [72119.690410] c049f170 cb51cda0 ce81dc74 c1200110 c03e72e5 c03e7311 ce81dc6c c014111d [72119.690410] c03e76f2 00000254 c01410f0 c04c371c cb51cda0 ce81dc88 c11bdd20 c01410cc [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page+0x0/0x60 [72119.690410] [] ? __lock_page+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? find_lock_page+0x4f/0x70 [72119.690410] [] ? filemap_fault+0x115/0x3e0 [72119.690410] [] ? __do_fault+0x42/0x3d0 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? error_code+0x65/0x6c [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? clear_user+0x2f/0x50 [72119.690410] [] ? load_elf_binary+0x8bc/0x1960 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? strrchr+0xb/0x20 [72119.690410] [] ? load_misc_binary+0x84/0x390 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? __get_user_pages+0xfa/0x310 [72119.690410] [] ? get_arg_page+0x4a/0xb0 [72119.690410] [] ? copy_strings+0x16e/0x190 [72119.690410] [] ? search_binary_handler+0x56/0x140 [72119.690410] [] ? do_execve+0x2bb/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c7c77e88 0 13726 1897 [72119.690410] 00000000 00000082 c769d7b0 c7c77e88 c04c3784 c3d89280 c03efda0 0000002c [72119.690410] c4f1ce00 c7c77edc c7c77f60 00001000 c03e72e5 c016a175 00000000 c769d7b0 [72119.690410] c012dbe0 c4f1ce00 c4f1ce00 c5a16e40 c7c77edc c016aa6e 00000902 c7c77f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13727 13726 [72119.690410] 00000000 00000086 c769d460 00000000 c1080460 c3d895c0 c0152354 04023067 [72119.690410] c769d458 c769d460 c769d580 00000003 c03e72e5 c011edd0 caa0ff68 00000003 [72119.690410] 00000000 00000004 00000000 bfff91d8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D 00000030 0 13728 13727 [72119.690410] 00000000 00000086 cb51ca50 00000030 00000000 c4556ba0 00000046 c7b81e1c [72119.690410] c64051bc ffffffff cb51ca50 c64051c0 c03e78bb cc879e04 c2e81e04 cb51ca50 [72119.690410] c7b81e70 00000000 c7b81ef4 c7b81e70 c03e7819 c016b423 c7b81e84 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? get_empty_filp+0x3a/0xd0 [72119.690410] [] ? do_filp_open+0xdb/0x830 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? open_exec+0x2f/0xc0 [72119.690410] [] ? do_execve+0x98/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c9b43e88 0 13729 1897 [72119.690410] 00000000 00000082 c769db00 c9b43e88 c04c3784 c4556d40 c03efda0 0000002c [72119.690410] c4f1c400 c9b43edc c9b43f60 00001000 c03e72e5 c016a175 00000000 c769db00 [72119.690410] c012dbe0 c4f1c400 c4f1c400 c4f8fca0 c9b43edc c016aa6e 00000811 c9b43f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13730 13729 [72119.690410] 00000000 00000086 cb51c700 00000000 c1027bc0 c4556a00 c0152354 013de067 [72119.690410] cb51c6f8 cb51c700 cb51c820 00000003 c03e72e5 c011edd0 c30c1f68 00000003 [72119.690410] 00000000 00000004 00000000 bf9c91b8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script1.sh D 0000006c 0 13731 13730 [72119.690410] 00000000 00000086 cb51c060 0000006c c045146d c45566c0 c3715380 c371539c [72119.690410] c049f170 cb51c060 cca77ddc c1200138 c03e72e5 c03e7311 cca77dd4 c014111d [72119.690410] c0141155 c03e76f2 c10d2aa0 c0141150 c04c371c cb51c060 cca77df0 c11adae0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S cb60fe88 0 13732 1897 [72119.690410] 00000000 00000086 c82aeb50 cb60fe88 c04c3784 c4556860 c03efda0 0000002c [72119.690410] c4f1ca00 cb60fedc cb60ff60 00001000 c03e72e5 c016a175 00000000 c82aeb50 [72119.690410] c012dbe0 c4f1ca00 c4f1ca00 c57f3340 cb60fedc c016aa6e 0000084e cb60ff60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13733 13732 [72119.690410] 00000000 00000082 cb51d0f0 00000000 c104e340 c4556520 c0152354 0271a067 [72119.690410] cb51d0e8 cb51d0f0 cb51d210 00000003 c03e72e5 c011edd0 c2a6bf68 00000003 [72119.690410] 00000000 00000004 00000000 bff86438 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script5.sh D c769d110 0 13734 13733 [72119.690410] 00000000 00000082 c769d110 c769d110 c769d13c c45561e0 00000fff c011798f [72119.690410] c049f170 c769d110 cbf57ddc c1200080 c03e72e5 c03e7311 cbf57dd4 c014111d [72119.690410] c0141155 c03e76f2 c0130c89 c0141150 c04c3440 c769d110 cbf57df0 c101b6c0 [72119.690410] Call Trace: [72119.690410] [] ? task_tick_fair+0x4f/0x90 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? hrtimer_run_pending+0x29/0xc0 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] vsftpd D 00000000 0 13740 1821 [72119.690410] 00000000 00000082 c769c3d0 00000000 01007810 c4556380 c5a160c0 80000000 [72119.690410] c049f170 c769c3d0 c5f97c74 c1200110 c03e72e5 c03e7311 c5f97c6c c014111d [72119.690410] c03e76f2 00000254 c01410f0 c04c371c c769c3d0 c5f97c88 c11bdd20 c01410cc [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page+0x0/0x60 [72119.690410] [] ? __lock_page+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? find_lock_page+0x4f/0x70 [72119.690410] [] ? filemap_fault+0x115/0x3e0 [72119.690410] [] ? __do_fault+0x42/0x3d0 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? error_code+0x65/0x6c [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? clear_user+0x2f/0x50 [72119.690410] [] ? load_elf_binary+0x8bc/0x1960 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? strrchr+0xb/0x20 [72119.690410] [] ? load_misc_binary+0x84/0x390 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? __get_user_pages+0xfa/0x310 [72119.690410] [] ? get_arg_page+0x4a/0xb0 [72119.690410] [] ? copy_strings+0x16e/0x190 [72119.690410] [] ? search_binary_handler+0x56/0x140 [72119.690410] [] ? do_execve+0x2bb/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] vsftpd D 00000000 0 13741 1821 [72119.690410] 00000000 00000082 cb51c3b0 00000000 01007810 c87d1d80 c4f8f920 80000000 [72119.690410] c049f170 cb51c3b0 c7857c74 c1200110 c03e72e5 c03e7311 c7857c6c c014111d [72119.690410] c03e76f2 00000254 c01410f0 c04c371c cb51c3b0 c7857c88 c11bdd20 c01410cc [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page+0x0/0x60 [72119.690410] [] ? __lock_page+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? find_lock_page+0x4f/0x70 [72119.690410] [] ? filemap_fault+0x115/0x3e0 [72119.690410] [] ? __do_fault+0x42/0x3d0 [72119.690410] [] ? rcu_process_callbacks+0x1e/0x20 [72119.690410] [] ? __do_softirq+0x77/0xe0 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? error_code+0x65/0x6c [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? clear_user+0x2f/0x50 [72119.690410] [] ? load_elf_binary+0x8bc/0x1960 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? strrchr+0xb/0x20 [72119.690410] [] ? load_misc_binary+0x84/0x390 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? __get_user_pages+0xfa/0x310 [72119.690410] [] ? get_arg_page+0x4a/0xb0 [72119.690410] [] ? copy_strings+0x16e/0x190 [72119.690410] [] ? search_binary_handler+0x56/0x140 [72119.690410] [] ? do_execve+0x2bb/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] vsftpd D 00000000 0 13742 1821 [72119.690410] 00000000 00000082 c769c080 00000000 01007810 c87d1080 c5a16d40 80000000 [72119.690410] c049f170 c769c080 c7833c74 c1200110 c03e72e5 c03e7311 c7833c6c c014111d [72119.690410] c03e76f2 00000254 c01410f0 c04c371c c769c080 c7833c88 c11bdd20 c01410cc [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page+0x0/0x60 [72119.690410] [] ? __lock_page+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? find_lock_page+0x4f/0x70 [72119.690410] [] ? filemap_fault+0x115/0x3e0 [72119.690410] [] ? __do_fault+0x42/0x3d0 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? error_code+0x65/0x6c [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? clear_user+0x2f/0x50 [72119.690410] [] ? load_elf_binary+0x8bc/0x1960 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? strrchr+0xb/0x20 [72119.690410] [] ? load_misc_binary+0x84/0x390 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? __get_user_pages+0xfa/0x310 [72119.690410] [] ? get_arg_page+0x4a/0xb0 [72119.690410] [] ? copy_strings+0x16e/0x190 [72119.690410] [] ? search_binary_handler+0x56/0x140 [72119.690410] [] ? do_execve+0x2bb/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] vsftpd D 00000000 0 13757 1821 [72119.690410] 00000000 00000082 c769ca70 00000000 01007810 c87d1be0 c3b744a0 80000000 [72119.690410] c049f170 c769ca70 cbd6dc74 c1200110 c03e72e5 c03e7311 cbd6dc6c c014111d [72119.690410] c03e76f2 00000254 c01410f0 c04c371c c769ca70 cbd6dc88 c11bdd20 c01410cc [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page+0x0/0x60 [72119.690410] [] ? __lock_page+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? find_lock_page+0x4f/0x70 [72119.690410] [] ? filemap_fault+0x115/0x3e0 [72119.690410] [] ? __do_fault+0x42/0x3d0 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? error_code+0x65/0x6c [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? clear_user+0x2f/0x50 [72119.690410] [] ? load_elf_binary+0x8bc/0x1960 [72119.690410] [] ? __alloc_pages_internal+0xac/0x460 [72119.690410] [] ? strrchr+0xb/0x20 [72119.690410] [] ? load_misc_binary+0x84/0x390 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? follow_page+0x117/0x150 [72119.690410] [] ? __get_user_pages+0xfa/0x310 [72119.690410] [] ? get_arg_page+0x4a/0xb0 [72119.690410] [] ? copy_strings+0x16e/0x190 [72119.690410] [] ? search_binary_handler+0x56/0x140 [72119.690410] [] ? do_execve+0x2bb/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c2f1be88 0 13765 1897 [72119.690410] 00000000 00000082 c811ead0 c2f1be88 c04c3784 c4556040 c03efda0 0000002c [72119.690410] cbb5ea00 c2f1bedc c2f1bf60 00001000 c03e72e5 c016a175 00000000 c811ead0 [72119.690410] c012dbe0 cbb5ea00 cbb5ea00 c5942240 c2f1bedc c016aa6e 000006e9 c2f1bf60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13766 13765 [72119.690410] 00000000 00000082 c811e780 00000000 c10fc3c0 c87d1220 c0152354 07e1e067 [72119.690410] c811e778 c811e780 c811e8a0 00000003 c03e72e5 c011edd0 c237df68 00000003 [72119.690410] 00000000 00000004 00000000 bff864f8 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D c811ee20 0 13767 13766 [72119.690410] 00000000 00000086 c811ee20 c811ee20 c811ee4c c87d13c0 00000fff 00000010 [72119.690410] c64051bc ffffffff c811ee20 c64051c0 c03e78bb c64051c0 c7b81e04 c811ee20 [72119.690410] cc879e70 00000000 cc879ef4 cc879e70 c03e7819 c016b423 cc879e84 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? get_empty_filp+0x3a/0xd0 [72119.690410] [] ? do_filp_open+0xdb/0x830 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? open_exec+0x2f/0xc0 [72119.690410] [] ? do_execve+0x98/0x360 [72119.690410] [] ? sys_execve+0x46/0x70 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c78b5e88 0 13768 1897 [72119.690410] 00000000 00000086 c811f810 c78b5e88 c04c3784 c87d1560 c03efda0 0000002c [72119.690410] cbb5e000 c78b5edc c78b5f60 00001000 c03e72e5 c016a175 00000000 c811f810 [72119.690410] c012dbe0 cbb5e000 cbb5e000 c39d4ce0 c78b5edc c016aa6e 000006cb c78b5f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13769 13768 [72119.690410] 00000000 00000086 c769cdc0 00000000 c1186f80 c87d1700 c0152354 0c37c067 [72119.690410] c769cdb8 c769cdc0 c769cee0 00000003 c03e72e5 c011edd0 c75cbf68 00000003 [72119.690410] 00000000 00000004 00000000 bfa51618 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script1.sh D 0000006c 0 13770 13769 [72119.690410] 00000000 00000086 c811fb60 0000006c c045146d c87d18a0 c6725380 c672539c [72119.690410] c049f170 c811fb60 c304dddc c1200138 c03e72e5 c03e7311 c304ddd4 c014111d [72119.690410] c0141155 c03e76f2 c11ecf80 c0141150 c04c371c c811fb60 c304ddf0 c11adae0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c1591e88 0 13771 1897 [72119.690410] 00000000 00000082 c811f170 c1591e88 c04c3774 c87d1a40 c03efda0 0000002c [72119.690410] cbb5e400 c1591edc c1591f60 00001000 c03e72e5 c016a175 00000000 c811f170 [72119.690410] c012dbe0 cbb5e400 cbb5e400 c57f35c0 c1591edc c016aa6e 0000087b c1591f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh D 00000006 0 13772 13771 [72119.690410] 00000000 00000086 c811f4c0 00000006 c94c9011 c3606da0 c1433e88 cf596ab4 [72119.690410] ca6a9524 ca6a9524 c1433e70 c02750f0 c03e72e5 c03e85fd ca6a9528 c811f4c0 [72119.690410] c94c9018 ca6a9524 00000000 c4d70a20 c02750f0 c03e873a ca6a9528 ccccbe70 [72119.690410] Call Trace: [72119.690410] [] ? xfs_dir_open+0x0/0x70 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? rwsem_down_failed_common+0x7d/0x170 [72119.690410] [] ? xfs_dir_open+0x0/0x70 [72119.690410] [] ? rwsem_down_read_failed+0x1a/0x24 [72119.690410] [] ? call_rwsem_down_read_failed+0x7/0xc [72119.690410] [] ? down_read+0x9/0x10 [72119.690410] [] ? xfs_ilock_map_shared+0x16/0x40 [72119.690410] [] ? xfs_dir_open+0x3d/0x70 [72119.690410] [] ? __dentry_open+0x89/0x240 [72119.690410] [] ? nameidata_to_filp+0x53/0x70 [72119.690410] [] ? do_filp_open+0x245/0x830 [72119.690410] [] ? __do_fault+0x2b1/0x3d0 [72119.690410] [] ? do_sys_open+0x5b/0x110 [72119.690410] [] ? sys_open+0x2c/0x40 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c151be88 0 13773 1897 [72119.690410] 00000000 00000086 c811e430 c151be88 cf42ee54 c3606c00 c016b3d3 c151be9c [72119.690410] c6cace00 c151bedc c151bf60 00001000 c03e72e5 c016a175 00000000 c811e430 [72119.690410] c012dbe0 c6cace00 c6cace00 c5942d40 c151bedc c016aa6e 000008fc c151bf60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13774 13773 [72119.690410] 00000000 00000086 c811e0e0 00000000 c10ed040 c3606a60 c0152354 07682067 [72119.690410] c811e0d8 c811e0e0 c811e200 00000003 c03e72e5 c011edd0 c9dfdf68 00000003 [72119.690410] 00000000 00000004 00000000 bfbbca88 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script3.sh D cfa5e400 0 13775 13774 [72119.690410] 00000000 00000082 c64afb80 cfa5e400 cf80c8a0 c3606720 cf5a25d0 c0174677 [72119.690410] cc79babc ffffffff c64afb80 cc79bac0 c03e78bb c3aa5e08 cb18fe08 c64afb80 [72119.690410] c842fe74 00000000 c842fed8 c842fe74 c03e7819 c016b423 c842fe88 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? touch_atime+0x97/0x140 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? xfs_iunlock+0x80/0xb0 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? getname+0x96/0xd0 [72119.690410] [] ? user_path_at+0x5a/0x90 [72119.690410] [] ? __do_fault+0x2b1/0x3d0 [72119.690410] [] ? vfs_fstatat+0x37/0x70 [72119.690410] [] ? vfs_stat+0x18/0x20 [72119.690410] [] ? sys_stat64+0xf/0x30 [72119.690410] [] ? vfs_read+0xff/0x140 [72119.690410] [] ? sys_rt_sigprocmask+0x67/0xe0 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S ce08fe88 0 13776 1897 [72119.690410] 00000000 00000086 c64af830 ce08fe88 cf42ee54 c36068c0 c016b3d3 ce08fe9c [72119.690410] c6caca00 ce08fedc ce08ff60 00001000 c03e72e5 c016a175 00000000 c64af830 [72119.690410] c012dbe0 c6caca00 c6caca00 c660ed20 ce08fedc c016aa6e 00000786 ce08ff60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13777 13776 [72119.690410] 00000000 00000082 c64af4e0 00000000 c11b3f40 c3606580 c0152354 0d9fa067 [72119.690410] c64af4d8 c64af4e0 c64af600 00000003 c03e72e5 c011edd0 cf363f68 00000003 [72119.690410] 00000000 00000004 00000000 bfcd0098 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script2.sh S 00000000 0 13778 13777 [72119.690410] 00000000 00000082 c64af190 00000000 c10ef780 c3606240 c0152354 077bc067 [72119.690410] c64af188 c64af190 c64af2b0 00000003 c03e72e5 c011edd0 c53ddf68 00000003 [72119.690410] 00000000 00000004 00000000 bf929778 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script2.sh D cbb7ff0c 0 13780 13778 [72119.690410] 00000000 00000086 c64aeaf0 cbb7ff0c c016b3d3 c36060a0 cf80c8a0 c64aeaf0 [72119.690410] c73f7cfc ffffffff c64aeaf0 c73f7d00 c03e78bb c73f7d00 c2eade60 c64aeaf0 [72119.690410] 00008068 ffffffea c9023814 00000000 c03e7819 c0162f63 00008068 75a6b2ed [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_truncate+0x63/0x90 [72119.690410] [] ? capable+0x21/0x60 [72119.690410] [] ? may_open+0x182/0x200 [72119.690410] [] ? do_filp_open+0x1ea/0x830 [72119.690410] [] ? __do_fault+0x2b1/0x3d0 [72119.690410] [] ? do_sys_open+0x5b/0x110 [72119.690410] [] ? sys_open+0x2c/0x40 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S 00000000 0 13781 1897 [72119.690410] 00000000 00000082 c64ae7a0 00000000 c04c3774 c36063e0 c03efda0 0000002c [72119.690410] c6cac600 c9fb5edc c9fb5f60 00001000 c03e72e5 c016a175 00000000 c64ae7a0 [72119.690410] c012dbe0 c6cac600 c6cac600 c8cf1bc0 c9fb5edc c016aa6e 000005ca c9fb5f60 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13782 13781 [72119.690410] 00000000 00000086 c64ae450 00000000 c11034a0 c3873dc0 c0152354 081a5067 [72119.690410] c64ae448 c64ae450 c64ae570 00000003 c03e72e5 c011edd0 c153df68 00000003 [72119.690410] 00000000 00000004 00000000 bf9b0d88 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script4.sh D 00000246 0 13783 13782 [72119.690410] 00000000 00000082 c64aee40 00000246 00000001 c3873a80 00000000 0000000e [72119.690410] cc79babc ffffffff c64aee40 cc79bac0 c03e78bb cc79bac0 c842fe08 c64aee40 [72119.690410] c3aa5e74 00000000 c3aa5ed8 c3aa5e74 c03e7819 c016b423 c3aa5e88 cf80c8a0 [72119.690410] Call Trace: [72119.690410] [] ? __mutex_lock_slowpath+0x4b/0x80 [72119.690410] [] ? mutex_lock+0x9/0x10 [72119.690410] [] ? do_lookup+0xe3/0x1e0 [72119.690410] [] ? __link_path_walk+0x6c9/0xc40 [72119.690410] [] ? touch_atime+0xb8/0x140 [72119.690410] [] ? path_walk+0x53/0xb0 [72119.690410] [] ? do_path_lookup+0x7b/0x140 [72119.690410] [] ? getname+0x96/0xd0 [72119.690410] [] ? user_path_at+0x5a/0x90 [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? vfs_fstatat+0x37/0x70 [72119.690410] [] ? vfs_stat+0x18/0x20 [72119.690410] [] ? sys_stat64+0xf/0x30 [72119.690410] [] ? do_page_fault+0x132/0x290 [72119.690410] [] ? do_page_fault+0x0/0x290 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] cron S c6d9de88 0 13787 1897 [72119.690410] 00000000 00000082 c4d0f500 c6d9de88 cf42ee54 c3873c20 c016b3d3 c6d9de9c [72119.690410] c4d11e00 c6d9dedc c6d9df60 00001000 c03e72e5 c016a175 00000000 c4d0f500 [72119.690410] c012dbe0 c4d11e00 c4d11e00 c4c1db60 c6d9dedc c016aa6e 00000836 c6d9df60 [72119.690410] Call Trace: [72119.690410] [] ? do_lookup+0x93/0x1e0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? pipe_wait+0x45/0x60 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? pipe_read+0x36e/0x430 [72119.690410] [] ? find_get_page+0x1c/0x70 [72119.690410] [] ? find_lock_page+0x1b/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sh S 00000000 0 13788 13787 [72119.690410] 00000000 00000082 c4d0f1b0 00000000 c1146240 c3873740 c0152354 0a312067 [72119.690410] c4d0f1a8 c4d0f1b0 c4d0f2d0 00000003 c03e72e5 c011edd0 c9d61f68 00000003 [72119.690410] 00000000 00000004 00000000 bff82f28 00000000 00000004 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] script5.sh D 0000006c 0 13789 13788 [72119.690410] 00000000 00000086 c4d0ee60 0000006c c045146d c3873400 c6725380 c672539c [72119.690410] c049f170 c4d0ee60 c3637ddc c1200080 c03e72e5 c03e7311 c3637dd4 c014111d [72119.690410] c0141155 c03e76f2 c1060640 c0141150 c04c3440 c4d0ee60 c3637df0 c101b6c0 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? io_schedule+0x11/0x20 [72119.690410] [] ? sync_page+0x2d/0x60 [72119.690410] [] ? sync_page_killable+0x5/0x40 [72119.690410] [] ? __wait_on_bit_lock+0x42/0x80 [72119.690410] [] ? sync_page_killable+0x0/0x40 [72119.690410] [] ? __lock_page_killable+0x8c/0xa0 [72119.690410] [] ? wake_bit_function+0x0/0x70 [72119.690410] [] ? generic_file_aio_read+0x3e7/0x6a0 [72119.690410] [] ? xfs_read+0x166/0x230 [72119.690410] [] ? xfs_file_aio_read+0x62/0x70 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? handle_mm_fault+0x14e/0x530 [72119.690410] [] ? do_sync_read+0x0/0x120 [72119.690410] [] ? vfs_read+0x9d/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sshd S 00000000 0 13803 1528 [72119.690410] 00000000 00000086 c4d0fba0 00000000 00000000 c38730c0 00000000 00000000 [72119.690410] c536de2c 7fffffff 7fffffff 00000000 c03e72e5 c03e74cd c536ddb8 c536ddb8 [72119.690410] cb90be2c cf6c2e24 c536ddfc cf6c2e30 c012dbfb 000000c1 c536de2c 00000000 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? schedule_timeout+0xdd/0x110 [72119.690410] [] ? autoremove_wake_function+0x1b/0x50 [72119.690410] [] ? unix_stream_recvmsg+0x374/0x4d0 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? sock_aio_read+0x125/0x140 [72119.690410] [] ? do_sync_read+0xd5/0x120 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? vfs_read+0x12f/0x140 [72119.690410] [] ? sys_read+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] sshd S c64ae118 0 13805 13803 [72119.690410] 00000000 00000082 c4d0f850 c64ae118 cb90bb28 c38738e0 c8cf1840 08103269 [72119.690410] 00000000 00000000 00000000 00000000 c03e72e5 c03e7ba5 182d9ae0 00000001 [72119.690410] 00000000 00000000 00000082 cbaf2000 c02d9ae0 00000082 00000000 00000000 [72119.690410] Call Trace: [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? schedule_hrtimeout_range+0x125/0x140 [72119.690410] [] ? n_tty_poll+0x0/0x1a0 [72119.690410] [] ? poll_schedule_timeout+0x2e/0x50 [72119.690410] [] ? do_select+0x3cb/0x4f0 [72119.690410] [] ? __pollwait+0x0/0xf0 [72119.690410] [] ? pollwake+0x0/0x50 [72119.690410] [] ? pollwake+0x0/0x50 [72119.690410] [] ? pollwake+0x0/0x50 [72119.690410] [] ? pollwake+0x0/0x50 [72119.690410] [] ? ip_local_out+0x15/0x20 [72119.690410] [] ? ip_queue_xmit+0x193/0x370 [72119.690410] [] ? getnstimeofday+0x54/0x110 [72119.690410] [] ? tcp_v4_send_check+0x44/0xf0 [72119.690410] [] ? tcp_transmit_skb+0x444/0x680 [72119.690410] [] ? sk_reset_timer+0xc/0x20 [72119.690410] [] ? tcp_write_xmit+0x1fb/0x9a0 [72119.690410] [] ? __alloc_skb+0x52/0x130 [72119.690410] [] ? release_sock+0xc/0x80 [72119.690410] [] ? tcp_sendmsg+0x694/0xa40 [72119.690410] [] ? core_sys_select+0x1de/0x310 [72119.690410] [] ? do_sync_write+0xd5/0x120 [72119.690410] [] ? tty_wakeup+0x2f/0x70 [72119.690410] [] ? autoremove_wake_function+0x0/0x50 [72119.690410] [] ? sys_select+0x2f/0xc0 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] bash S c02d7c50 0 13806 13805 [72119.690410] c4d0ec94 00000086 c4d0eb10 c02d7c50 c4c1d7e0 c3873260 cc406000 c016f78f [72119.690410] c4d0eb08 c4d0eb10 c4d0ec30 00000003 c03e72e5 c011edd0 cc407f68 00000003 [72119.690410] 00000000 0000000e 00000000 bfa1c678 00000000 0000000e 00000000 0000000e [72119.690410] Call Trace: [72119.690410] [] ? tty_ioctl+0x0/0x740 [72119.690410] [] ? vfs_ioctl+0x1f/0x80 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] su S 00000000 0 13823 13806 [72119.690410] c4d0e5f4 00000086 c4d0e470 00000000 c1092920 cc6adc60 c0152354 04949067 [72119.690410] c4d0e468 c4d0e470 c4d0e590 00000003 c03e72e5 c011edd0 c6dcdf68 00000003 [72119.690410] 00000000 00000006 00000000 bfa92db8 00000000 00000006 00000000 00000006 [72119.690410] Call Trace: [72119.690410] [] ? do_wp_page+0x104/0x5d0 [72119.690410] [] ? schedule+0x5/0x20 [72119.690410] [] ? do_wait+0x260/0x300 [72119.690410] [] ? default_wake_function+0x0/0x10 [72119.690410] [] ? sys_wait4+0x7b/0xd0 [72119.690410] [] ? sys_waitpid+0x27/0x30 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [72119.690410] bash R running 0 13824 13823 [72119.690410] c6c63dbe c6c63eaf 00000000 00000001 00000008 00000001 00000010 ffffffff [72119.690410] 6666ffff 31306666 36393331 0000000a ffffffff 3233ffff 00000016 c00b97c0 [72119.690410] 00000019 c1201d00 c04053a0 00000001 c02e54c1 c6c63e08 00000003 c1201d00 [72119.690410] Call Trace: [72119.690410] [] ? scrup+0xe1/0xf0 [72119.690410] [] ? __call_console_drivers+0x3a/0x50 [72119.690410] [] ? __call_console_drivers+0x3a/0x50 [72119.690410] [] ? printk+0x17/0x1b [72119.690410] [] ? print_trace_address+0x49/0x60 [72119.690410] [] ? print_trace_address+0x49/0x60 [72119.690410] [] ? print_trace_address+0x49/0x60 [72119.690410] [] ? print_context_stack+0x4e/0xb0 [72119.690410] [] ? dump_trace+0x6d/0xb0 [72119.690410] [] ? show_trace_log_lvl+0x4b/0x60 [72119.690410] [] ? show_stack_log_lvl+0x5e/0x100 [72119.690410] [] ? show_stack+0x1b/0x20 [72119.690410] [] ? show_state_filter+0x4e/0x70 [72119.690410] [] ? __handle_sysrq+0xe0/0x130 [72119.690410] [] ? write_sysrq_trigger+0x0/0x30 [72119.690410] [] ? write_sysrq_trigger+0x2e/0x30 [72119.690410] [] ? proc_reg_write+0x47/0x70 [72119.690410] [] ? proc_reg_write+0x0/0x70 [72119.690410] [] ? vfs_write+0xa0/0x140 [72119.690410] [] ? sys_write+0x41/0x80 [72119.690410] [] ? sysenter_do_call+0x12/0x26 [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 Justin. From jaswinder@kernel.org Sun Aug 9 09:53:05 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=BAYES_00,RCVD_IN_BRBL 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 n79Er39B000584 for ; Sun, 9 Aug 2009 09:53:05 -0500 X-ASG-Debug-ID: 1249830224-7ad6030a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from hera.kernel.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id BA7F412B1213; Sun, 9 Aug 2009 08:03:44 -0700 (PDT) Received: from hera.kernel.org (hera.kernel.org [140.211.167.34]) by cuda.sgi.com with ESMTP id pN1Ho5QxVct8jU0i; Sun, 09 Aug 2009 08:03:44 -0700 (PDT) Received: from [192.168.1.220] (triband-del-59.180.74.103.bol.net.in [59.180.74.103] (may be forged)) (authenticated bits=0) by hera.kernel.org (8.14.2/8.13.8) with ESMTP id n79ErlLH027612 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sun, 9 Aug 2009 14:53:51 GMT X-ASG-Orig-Subj: [PATCH] XFS: includecheck fix for fs/xfs/xfs_iops.c Subject: [PATCH] XFS: includecheck fix for fs/xfs/xfs_iops.c From: Jaswinder Singh Rajput To: Felix Blyakher , xfs-masters@oss.sgi.com, xfs@oss.sgi.com Content-Type: text/plain Date: Sun, 09 Aug 2009 20:23:12 +0530 Message-Id: <1249829592.2957.22.camel@ht.satnam> Mime-Version: 1.0 X-Mailer: Evolution 2.24.5 (2.24.5-2.fc10) Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: ClamAV 0.93.3/9668/Fri Aug 7 21:36:10 2009 on hera.kernel.org X-Virus-Status: Clean X-Barracuda-Connect: hera.kernel.org[140.211.167.34] X-Barracuda-Start-Time: 1249830225 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.5727 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- fix the following 'make includecheck' warning: fs/xfs/linux-2.6/xfs_iops.c: xfs_acl.h is included more than once. Signed-off-by: Jaswinder Singh Rajput --- fs/xfs/linux-2.6/xfs_iops.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c index 8070b34..626b474 100644 --- a/fs/xfs/linux-2.6/xfs_iops.c +++ b/fs/xfs/linux-2.6/xfs_iops.c @@ -43,7 +43,6 @@ #include "xfs_error.h" #include "xfs_itable.h" #include "xfs_rw.h" -#include "xfs_acl.h" #include "xfs_attr.h" #include "xfs_buf_item.h" #include "xfs_utils.h" -- 1.6.0.6 From infor@cotriguacu.com.br Sun Aug 9 12:01:36 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_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 n79H1Zad005441 for ; Sun, 9 Aug 2009 12:01:36 -0500 X-ASG-Debug-ID: 1249837346-44f500420000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from server08.certto.com.br (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 255DE3B6720 for ; Sun, 9 Aug 2009 10:02:26 -0700 (PDT) Received: from server08.certto.com.br (server23.certto.com.br [201.66.22.23]) by cuda.sgi.com with ESMTP id HmYUdQBPzTcUxM9P for ; Sun, 09 Aug 2009 10:02:26 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by server08.certto.com.br (Postfix) with ESMTP id B407352D56; Sun, 9 Aug 2009 14:02:25 -0300 (BRT) Received: from server08.certto.com.br ([127.0.0.1]) by localhost (server08.certto.com.br [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OnfrVYxLA9a8; Sun, 9 Aug 2009 14:02:25 -0300 (BRT) Received: from mail.cotriguacu.com.br (localhost [127.0.0.1]) by server08.certto.com.br (Postfix) with ESMTP id 01EDB52D57; Sun, 9 Aug 2009 14:02:24 -0300 (BRT) Received: from 212.243.183.2 (proxying for 212.100.70.4) (SquirrelMail authenticated user cotriguacu@cotriguacu.com.br) by mail.cotriguacu.com.br with HTTP; Sun, 9 Aug 2009 14:02:25 -0300 (BRT) Message-ID: <53514.212.243.183.2.1249837345.squirrel@mail.cotriguacu.com.br> Date: Sun, 9 Aug 2009 14:02:25 -0300 (BRT) X-ASG-Orig-Subj: Get back to me! Subject: Get back to me! From: "Harvey Domenic" Reply-To: harvey_domenic04@yahoo.com.hk User-Agent: SquirrelMail/1.4.9a 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: server23.certto.com.br[201.66.22.23] X-Barracuda-Start-Time: 1249837348 X-Barracuda-Bayes: INNOCENT GLOBAL 0.6440 1.0000 0.9845 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.98 X-Barracuda-Spam-Status: No, SCORE=0.98 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.5737 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 Good day to you, I am Harvey Domenic, Staff of Standard Life Trust Bank Limited. I have a business that deals with tranfer of funds,please contact me if you are interested. Sincerely HARVEY DOMENIC harvey_domenic04@yahoo.com.hk From csamuel@vpac.org Sun Aug 9 22:42: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 n7A3gkqA031287 for ; Sun, 9 Aug 2009 22:42:46 -0500 X-ASG-Debug-ID: 1249875818-7b0a00af0000-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 B639B3B71D2 for ; Sun, 9 Aug 2009 20:43:38 -0700 (PDT) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by cuda.sgi.com with ESMTP id QACref8yaOW3OOEa for ; Sun, 09 Aug 2009 20:43:38 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.vpac.org (Postfix) with ESMTP id 8641D46D0103; Mon, 10 Aug 2009 13:43:36 +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 aJBRJxcW1fvU; Mon, 10 Aug 2009 13:43:31 +1000 (EST) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by mail.vpac.org (Postfix) with ESMTP id 911D446D004E; Mon, 10 Aug 2009 13:43:31 +1000 (EST) Date: Mon, 10 Aug 2009 13:43:29 +1000 (EST) From: Chris Samuel To: Eric Sandeen Cc: xfs@oss.sgi.com Message-ID: <759036422.1055591249875809461.JavaMail.root@mail.vpac.org> In-Reply-To: <7684694.1055541249875694469.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: 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: 1249875819 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0009 1.0000 -2.0151 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.5778 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ----- "Chris Samuel" wrote: > 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 :-( ). Unfortunately we had another failure on Saturday and after getting some feedback from users we've had to regress to the Debian 2.6.26-4 kernel (we avoided that initially because of a separate issue, which appears solved now). Of course it's possible that the issue still lurks in this one, but we won't know for a little bit. 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 From lmcilroy@redhat.com Mon Aug 10 00:12: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.4 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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7A5Ce3s037670 for ; Mon, 10 Aug 2009 00:12:41 -0500 X-ASG-Debug-ID: 1249881802-5a3802c70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C8A9EB1E970 for ; Sun, 9 Aug 2009 22:23:22 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id 3pf9qi4cbYPDXhwy for ; Sun, 09 Aug 2009 22:23:22 -0700 (PDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7A5DTUS021019; Mon, 10 Aug 2009 01:13:29 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n7A5DRpp008771; Mon, 10 Aug 2009 01:13:27 -0400 Date: Mon, 10 Aug 2009 01:13:27 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: Eric Sandeen Cc: xfs-oss , ext4 development Message-ID: <1871149413.1673471249881207275.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <4A7C7C1C.2010202@redhat.com> X-ASG-Orig-Subj: Re: [PATCH] xfstests: 220 - generic quota sanity Subject: Re: [PATCH] xfstests: 220 - generic quota sanity MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.72] X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1249881803 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.41 X-Barracuda-Spam-Status: No, SCORE=-1.41 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5784 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean This looks good Eric. Is this test just for quota accounting or should it be testing quota enforcement too? Lachlan ----- "Eric Sandeen" wrote: > 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 > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From kb@sysmikro.com.pl Mon Aug 10 03:20:14 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,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 n7A8KDQq046956 for ; Mon, 10 Aug 2009 03:20:14 -0500 X-ASG-Debug-ID: 1249892466-731f01e20000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from v007470.home.net.pl (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id 442651D557D5 for ; Mon, 10 Aug 2009 01:21:06 -0700 (PDT) Received: from v007470.home.net.pl (v007470.home.net.pl [212.85.125.104]) by cuda.sgi.com with SMTP id 8jCpSqznRAtDIiwu for ; Mon, 10 Aug 2009 01:21:06 -0700 (PDT) Received: from localhost (HELO linux2g2g.site) (kb.sysmikro@home@127.0.0.1) by m029.home.net.pl with SMTP; Mon, 10 Aug 2009 08:21:05 -0000 From: Krzysztof =?utf-8?q?B=C5=82aszkowski?= Organization: Systemy mikroprocesorowe To: 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) Date: Mon, 10 Aug 2009 10:20:41 +0200 User-Agent: KMail/1.9.5 Cc: Chris Samuel References: <1367391532.793061249444829356.JavaMail.root@mail.vpac.org> In-Reply-To: <1367391532.793061249444829356.JavaMail.root@mail.vpac.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908101020.42098.kb@sysmikro.com.pl> X-Barracuda-Connect: v007470.home.net.pl[212.85.125.104] X-Barracuda-Start-Time: 1249892467 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.5798 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 all, this may be a bit off topic but i want to point out that included xfs_objdump seems to be corrupted. I think there are too many branches and calls and no other instructions. i couldn't see also any function's prolog and my dump looks quite different. Regards, Krzysztof Blaszkowski On Wednesday 05 August 2009 06:00, 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. > > 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 From BATV+4f27b6b5ac4d91f643a8+2178+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 10 08:59:21 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 n7ADxD2e061652 for ; Mon, 10 Aug 2009 08:59:20 -0500 X-ASG-Debug-ID: 1249912807-5ceb01610000-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 C2C5B1D5617A for ; Mon, 10 Aug 2009 07:00:07 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id GduiaMsDrJYTIRqP for ; Mon, 10 Aug 2009 07:00:07 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MaVPy-00065i-Ct for xfs@oss.sgi.com; Mon, 10 Aug 2009 14:00:06 +0000 Date: Mon, 10 Aug 2009 10:00:06 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH] xfs: fix spin_is_locked assert on uni-processor builds Subject: [PATCH] xfs: fix spin_is_locked assert on uni-processor builds Message-ID: <20090810140006.GA21521@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: 1249912807 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 Without SMP or preemption spin_is_locked always returns false, so we can't do an assert with it. Instead use assert_spin_locked, which does the right thing on all builds. This fixes kernel.org BZ #13621. Signed-off-by: Christoph Hellwig Reported-by: Johannes Engel Tested-by: Johannes Engel Index: linux-2.6/fs/xfs/xfs_log.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_log.c 2009-08-09 23:27:07.889729629 -0300 +++ linux-2.6/fs/xfs/xfs_log.c 2009-08-09 23:27:24.092725926 -0300 @@ -3180,7 +3180,7 @@ try_again: STATIC void xlog_state_want_sync(xlog_t *log, xlog_in_core_t *iclog) { - ASSERT(spin_is_locked(&log->l_icloglock)); + assert_spin_locked(&log->l_icloglock); if (iclog->ic_state == XLOG_STATE_ACTIVE) { xlog_state_switch_iclogs(log, iclog, 0); From sandeen@sandeen.net Mon Aug 10 09:04:23 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 n7AE4NLD061939 for ; Mon, 10 Aug 2009 09:04:23 -0500 X-ASG-Debug-ID: 1249913116-5ce301a80000-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 DBD5C1D562B7 for ; Mon, 10 Aug 2009 07:05:16 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id oBShPzYpVxKY0lMF for ; Mon, 10 Aug 2009 07:05:16 -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 98A39A9BF20; Mon, 10 Aug 2009 09:05:14 -0500 (CDT) Message-ID: <4A80291D.6020200@sandeen.net> Date: Mon, 10 Aug 2009 09:05:17 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Lachlan McIlroy CC: Eric Sandeen , ext4 development , xfs-oss X-ASG-Orig-Subj: Re: [PATCH] xfstests: 220 - generic quota sanity Subject: Re: [PATCH] xfstests: 220 - generic quota sanity References: <1871149413.1673471249881207275.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <1871149413.1673471249881207275.JavaMail.root@zmail05.collab.prod.int.phx2.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: 1249913116 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.5820 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 Lachlan McIlroy wrote: > This looks good Eric. > > Is this test just for quota accounting or should it be testing quota > enforcement too? I guess 108 just did accounting; I was going to keep it parallel, and do a different one for accounting, but it could be added to this as well. -Eric > Lachlan > > ----- "Eric Sandeen" wrote: > >> 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 >> --- ... From BATV+4f27b6b5ac4d91f643a8+2178+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 10 09:08:43 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_16, 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 n7AE8g9G062222 for ; Mon, 10 Aug 2009 09:08:43 -0500 X-ASG-Debug-ID: 1249913970-17d7029d0000-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 56914B218F6 for ; Mon, 10 Aug 2009 07:19:31 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id sr728IDC2n43q1EO for ; Mon, 10 Aug 2009 07:19:31 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MaVZ4-0007Ep-H9; Mon, 10 Aug 2009 14:09:30 +0000 Date: Mon, 10 Aug 2009 10:09:30 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: Eric Sandeen , ext4 development , xfs mailing list X-ASG-Orig-Subj: Re: [PATCH V2] xfstests 218: very basic defragmentation testing for xfs & ext4 Subject: Re: [PATCH V2] xfstests 218: very basic defragmentation testing for xfs & ext4 Message-ID: <20090810140930.GA24174@infradead.org> References: <4A5E3A37.5050306@redhat.com> <4A7A5CA8.8040702@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A7A5CA8.8040702@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: 1249913971 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 Wed, Aug 05, 2009 at 11:31:36PM -0500, Eric Sandeen wrote: > 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. The patch loks good to me, Reviewed-by: Christoph Hellwig Unfortunately it still fails on my Debian testing system with: QA output created by 218 zero-length file: -Before: 0 -After: 0 +Before: 1 +After: 1 Sparse file (no blocks): -Before: 0 -After: 0 +Before: 1 +After: 1 But that's due to a bug in filefrag that I have already reported to the Debian BTS. From sandeen@sandeen.net Mon Aug 10 09:18:42 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 n7AEIgvP062638 for ; Mon, 10 Aug 2009 09:18:42 -0500 X-ASG-Debug-ID: 1249914569-17c102e80000-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 76E6DB22F3E for ; Mon, 10 Aug 2009 07:29:30 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id kGvpvpS2IItSCxW4 for ; Mon, 10 Aug 2009 07:29: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 3FBD1935E2E; Mon, 10 Aug 2009 09:19:30 -0500 (CDT) Message-ID: <4A802C75.3080904@sandeen.net> Date: Mon, 10 Aug 2009 09:19:33 -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] xfs: fix spin_is_locked assert on uni-processor builds Subject: Re: [PATCH] xfs: fix spin_is_locked assert on uni-processor builds References: <20090810140006.GA21521@infradead.org> In-Reply-To: <20090810140006.GA21521@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: 1249914570 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.5820 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: > Without SMP or preemption spin_is_locked always returns false, > so we can't do an assert with it. Instead use assert_spin_locked, > which does the right thing on all builds. oops! > This fixes kernel.org BZ #13621. > > > Signed-off-by: Christoph Hellwig > Reported-by: Johannes Engel > Tested-by: Johannes Engel Reviewed-by: Eric Sandeen > > Index: linux-2.6/fs/xfs/xfs_log.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_log.c 2009-08-09 23:27:07.889729629 -0300 > +++ linux-2.6/fs/xfs/xfs_log.c 2009-08-09 23:27:24.092725926 -0300 > @@ -3180,7 +3180,7 @@ try_again: > STATIC void > xlog_state_want_sync(xlog_t *log, xlog_in_core_t *iclog) > { > - ASSERT(spin_is_locked(&log->l_icloglock)); > + assert_spin_locked(&log->l_icloglock); > > if (iclog->ic_state == XLOG_STATE_ACTIVE) { > xlog_state_switch_iclogs(log, iclog, 0); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sandeen@sandeen.net Mon Aug 10 09:29: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 n7AET1Gg063162 for ; Mon, 10 Aug 2009 09:29:01 -0500 X-ASG-Debug-ID: 1249914586-717800130000-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 9CDB93B8527 for ; Mon, 10 Aug 2009 07:29:46 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id pBQwNTNhmbqYFGEd for ; Mon, 10 Aug 2009 07:29:46 -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 32FA19B355B; Mon, 10 Aug 2009 09:29:46 -0500 (CDT) Message-ID: <4A802EDC.1080706@sandeen.net> Date: Mon, 10 Aug 2009 09:29:48 -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: 1249914587 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.5822 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. > > 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 ... Just for the record, Chris let me know offline that he tried ext4 and got an error: > EXT4-fs: mounted filesystem sde1 with ordered data mode > end_request: I/O error, dev sde, sector 1430524111 > Aborting journal on device sde1:8. > ext4_abort called. > EXT4-fs error (device sde1): ext4_journal_start_sb: Detected aborted journal > Remounting filesystem read-only > > ext4_abort called. > EXT4-fs error (device sde1): ext4_put_super: Couldn't clean up the journal > end_request: I/O error, dev sde, sector 63 so he got IO errors to sector 1430524111 and sector 63 (!) the question may now be whether xfs got an IO error causing the dirty transaction cancellation but didn't report it as such. Also interesting that no other layers complained about the IO error ... What's your storage stack look like? -Eric > 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 > > > ------------------------------------------------------------------------ > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Mon Aug 10 09:37: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.2 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7AEbkLx063649 for ; Mon, 10 Aug 2009 09:37:46 -0500 X-ASG-Debug-ID: 1249915119-7901002c0000-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 29A823B8AB3 for ; Mon, 10 Aug 2009 07:38:39 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 3NV0HBCvcqGSAMYt for ; Mon, 10 Aug 2009 07:38:39 -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 D9424AAE388; Mon, 10 Aug 2009 09:38:38 -0500 (CDT) Message-ID: <4A8030F1.9060004@sandeen.net> Date: Mon, 10 Aug 2009 09:38:41 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Eric Sandeen CC: xfs-oss X-ASG-Orig-Subj: [PATCH V2 1/2] xfstests: split out xfs & generic quota existence tests Subject: [PATCH V2 1/2] xfstests: split out xfs & generic quota existence tests References: <4A7C7C1C.2010202@redhat.com> In-Reply-To: <4A7C7C1C.2010202@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: 1249915120 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.5822 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 Split out xfs & generic quota existence tests Make a new test to test for generic quota tools, for generic filesystem testing. Move the existing quota test to a new "xfs" name. Signed-off-by: Eric Sandeen --- 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/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 sandeen@sandeen.net Mon Aug 10 09:39: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.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 n7AEddOd063740 for ; Mon, 10 Aug 2009 09:39:40 -0500 X-ASG-Debug-ID: 1249915826-17ca03930000-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 415AB33C40B for ; Mon, 10 Aug 2009 07:50:27 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id yMZg1C6jxRLBMYCc for ; Mon, 10 Aug 2009 07:50:27 -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 AF86AA9B0CA; Mon, 10 Aug 2009 09:40:31 -0500 (CDT) Message-ID: <4A803162.8020806@sandeen.net> Date: Mon, 10 Aug 2009 09:40:34 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Eric Sandeen CC: xfs-oss X-ASG-Orig-Subj: [PATCH V2 2/2] xfstests: 220 - generic quota sanity Subject: [PATCH V2 2/2] xfstests: 220 - generic quota sanity References: <4A7C7C1C.2010202@redhat.com> In-Reply-To: <4A7C7C1C.2010202@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: 1249915828 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.5822 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 --- V2: xfs test changes split out, fix 220.out for 12-block IO diff --git a/220 b/220 new file mode 100644 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..a204087 --- /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: 49152 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/direct" + Size: 49152 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/mmap" + Size: 49152 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 -- 144 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: 49152 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/direct" + Size: 49152 Filetype: Regular File + Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) + File: "[SCR_MNT]/mmap" + Size: 49152 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 -- 144 0 0 3 0 0 + + 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 From BATV+4f27b6b5ac4d91f643a8+2178+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 10 10:43:45 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 n7AFhiXh067636 for ; Mon, 10 Aug 2009 10:43:45 -0500 X-ASG-Debug-ID: 1249919077-5ceb03e70000-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 8EBF51D56B24 for ; Mon, 10 Aug 2009 08:44:38 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Jzxvyo7rR7XskjrV for ; Mon, 10 Aug 2009 08:44:38 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MaX36-0006lj-N1; Mon, 10 Aug 2009 15:44:36 +0000 Date: Mon, 10 Aug 2009 11:44:36 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: Eric Sandeen , xfs-oss X-ASG-Orig-Subj: Re: [PATCH V2 1/2] xfstests: split out xfs & generic quota existence tests Subject: Re: [PATCH V2 1/2] xfstests: split out xfs & generic quota existence tests Message-ID: <20090810154436.GA23666@infradead.org> References: <4A7C7C1C.2010202@redhat.com> <4A8030F1.9060004@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A8030F1.9060004@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: 1249919078 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 10, 2009 at 09:38:41AM -0500, Eric Sandeen wrote: > Split out xfs & generic quota existence tests > > Make a new test to test for generic quota tools, for > generic filesystem testing. Move the existing quota test > to a new "xfs" name. Looks good, Reviewed-by: Christoph Hellwig From BATV+4f27b6b5ac4d91f643a8+2178+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 10 11:08: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 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 n7AG8G1a068824 for ; Mon, 10 Aug 2009 11:08:16 -0500 X-ASG-Debug-ID: 1249920550-351201660000-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 562723B947C for ; Mon, 10 Aug 2009 09:09:10 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id vDGUZMCjL2WAUhBY for ; Mon, 10 Aug 2009 09:09:10 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MaXQq-0005gR-Po; Mon, 10 Aug 2009 16:09:08 +0000 Date: Mon, 10 Aug 2009 12:09:08 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: Eric Sandeen , xfs-oss X-ASG-Orig-Subj: Re: [PATCH V2 2/2] xfstests: 220 - generic quota sanity Subject: Re: [PATCH V2 2/2] xfstests: 220 - generic quota sanity Message-ID: <20090810160908.GA17332@infradead.org> References: <4A7C7C1C.2010202@redhat.com> <4A803162.8020806@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A803162.8020806@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: 1249920550 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 10, 2009 at 09:40:34AM -0500, Eric Sandeen wrote: > 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. Looks good to me and passes at least for XFS. Reviewed-by: Christoph Hellwig From BATV+4f27b6b5ac4d91f643a8+2178+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 10 11:08:59 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 n7AG8wdr068881 for ; Mon, 10 Aug 2009 11:08:58 -0500 X-ASG-Debug-ID: 1249921187-6e4802ba0000-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 A3DCBB22B55 for ; Mon, 10 Aug 2009 09:19:47 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id GbKchg0JQVbu8MU0 for ; Mon, 10 Aug 2009 09:19:47 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MaXRV-0006TU-7p; Mon, 10 Aug 2009 16:09:49 +0000 Date: Mon, 10 Aug 2009 12:09:49 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: Lachlan McIlroy , Eric Sandeen , ext4 development , xfs-oss X-ASG-Orig-Subj: Re: [PATCH] xfstests: 220 - generic quota sanity Subject: Re: [PATCH] xfstests: 220 - generic quota sanity Message-ID: <20090810160949.GA21948@infradead.org> References: <1871149413.1673471249881207275.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <4A80291D.6020200@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A80291D.6020200@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: 1249921187 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 10, 2009 at 09:05:17AM -0500, Eric Sandeen wrote: > Lachlan McIlroy wrote: > > This looks good Eric. > > > > Is this test just for quota accounting or should it be testing quota > > enforcement too? > > I guess 108 just did accounting; I was going to keep it parallel, and do > a different one for accounting, but it could be added to this as well. Yeah, let's use a different one for enforement testing. From BATV+4f27b6b5ac4d91f643a8+2178+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 10 12:08:48 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 n7AH8lIq072254 for ; Mon, 10 Aug 2009 12:08:48 -0500 X-ASG-Debug-ID: 1249924180-6bb901010000-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 5B83A3B9940; Mon, 10 Aug 2009 10:09:40 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id KW0dlC9VU8eRFhDW; Mon, 10 Aug 2009 10:09:40 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MaYNQ-0000hO-4z; Mon, 10 Aug 2009 17:09:40 +0000 Date: Mon, 10 Aug 2009 13:09:40 -0400 From: Christoph Hellwig To: Felix Blyakher Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, 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: <20090810170940.GA2580@infradead.org> References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.526088000@bombadil.infradead.org> <24CFF78E-BB3F-47A1-8D6C-49EA198CCD94@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <24CFF78E-BB3F-47A1-8D6C-49EA198CCD94@sgi.com> 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: 1249924181 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 Fri, Aug 07, 2009 at 12:25:47PM -0500, Felix Blyakher wrote: >> + 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. >> + 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. The wait_on_inode is only sensible for the non-recycle case. But it's not actually very useful with our flags scheme, so for now I've reverted to do the old-style polling and just added an XXX comment that we'll eventually look into a better scheme. >> + /* >> + * 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? We actually had the test two times in the old code, once for the reclaim case, and once after the igrab succeeded. I just moved it into a single command place. I've updated the comment to match that. 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 (this is oss.sgi.com BZ #819) - 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-10 13:10:19.141974933 -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-10 13:19:06.913056731 -0300 @@ -191,80 +191,83 @@ 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. + * If we are racing with another cache hit that is currently + * instantiating this inode or currently recycling it out of + * reclaimabe state, wait for the initialisation to complete + * before continuing. + * + * XXX(hch): eventually we should do something equivalent to + * wait_on_inode to wait for these flags to be cleared + * instead of polling for it. */ - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { + if (ip->i_flags & (XFS_INEW|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 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 lookup is racing with unlink return an error immediately. + */ + 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); @@ -274,6 +277,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-10 13:10:19.146974522 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-10 13:10:59.958993938 -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-10 13:10:19.153974227 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-10 13:10:59.962994168 -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 jquigley@jquigley.com Mon Aug 10 16:22:28 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 n7ALMSr1083165 for ; Mon, 10 Aug 2009 16:22:28 -0500 X-ASG-Debug-ID: 1249939400-4b5602110000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 529461D5707C for ; Mon, 10 Aug 2009 14:23:20 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id u15XfOgyETZKAr2D for ; Mon, 10 Aug 2009 14:23:20 -0700 (PDT) Received: from jquigley.cleversafe.org (67-129-215-3.dia.static.qwest.net [67.129.215.3]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 300D22040DF for ; Mon, 10 Aug 2009 21:23:20 +0000 (UTC) Message-ID: <4A808FC7.2020800@jquigley.com> Date: Mon, 10 Aug 2009 16:23:19 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (X11/20090605) MIME-Version: 1.0 To: XFS Development X-ASG-Orig-Subj: Best design docs for XFS Subject: Best design docs for XFS Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1249939401 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0162 1.0000 -1.9156 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.82 X-Barracuda-Spam-Status: No, SCORE=-1.82 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC0_SA085 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5850 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 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 Hey Folks: What are the best and most current technical design documents pertaining to (Linux port of) XFS, as a companion to reading the actual code? Based upon what I've read on the community site: http://xfs.org/index.php/XFS_Papers_and_Documentation the most thorough technical documentation of the system lives at: http://oss.sgi.com/projects/xfs/design_docs/xfsdocs93_pdf/ My only concern with the above is the age - are these sufficiently up-to-date from an architecture perspective? Thanks very much. - John Quigley home: www.jquigley.com From csamuel@vpac.org Mon Aug 10 17:53: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 n7AMrRDS087416 for ; Mon, 10 Aug 2009 17:53:37 -0500 X-ASG-Debug-ID: 1249944846-4b4e03790000-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 23A041479353 for ; Mon, 10 Aug 2009 15:54:07 -0700 (PDT) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by cuda.sgi.com with ESMTP id lSHMyLFzRMltskHn for ; Mon, 10 Aug 2009 15:54:07 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.vpac.org (Postfix) with ESMTP id F04D446D0120; Tue, 11 Aug 2009 08:53:32 +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 YeCRb3ZTk4op; Tue, 11 Aug 2009 08:52:57 +1000 (EST) Received: from mail.vpac.org (mail.vpac.org [202.158.218.6]) by mail.vpac.org (Postfix) with ESMTP id 7B62546D0123; Tue, 11 Aug 2009 08:52:57 +1000 (EST) Date: Tue, 11 Aug 2009 08:52:57 +1000 (EST) From: Chris Samuel To: Eric Sandeen Cc: xfs@oss.sgi.com Message-ID: <896235104.1104761249944777416.JavaMail.root@mail.vpac.org> In-Reply-To: <4A802EDC.1080706@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: 1249944848 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.5856 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean ----- "Eric Sandeen" wrote: > Just for the record, Chris let me know offline that he tried ext4 and > got an error: Umm, I think you've mixed me up with another Chris, we've never run ext4 on that system! -- 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 sandeen@sandeen.net Mon Aug 10 17:56: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 n7AMtqCL087595 for ; Mon, 10 Aug 2009 17:56:02 -0500 X-ASG-Debug-ID: 1249944988-13a302400000-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 8004B146DA86 for ; Mon, 10 Aug 2009 15:56:28 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id IEfaYDX0Ky9WtEUL for ; Mon, 10 Aug 2009 15:56:28 -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 849649B355B; Mon, 10 Aug 2009 17:56:20 -0500 (CDT) Message-ID: <4A80A597.6050806@sandeen.net> Date: Mon, 10 Aug 2009 17:56:23 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: John Quigley CC: XFS Development X-ASG-Orig-Subj: Re: Best design docs for XFS Subject: Re: Best design docs for XFS References: <4A808FC7.2020800@jquigley.com> In-Reply-To: <4A808FC7.2020800@jquigley.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: 1249944990 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.92 X-Barracuda-Spam-Status: No, SCORE=-1.92 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC0_SA085 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5856 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 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 John Quigley wrote: > Hey Folks: > > What are the best and most current technical design documents > pertaining to (Linux port of) XFS, as a companion to reading the > actual code? Based upon what I've read on the community site: > > http://xfs.org/index.php/XFS_Papers_and_Documentation > > the most thorough technical documentation of the system lives at: > > http://oss.sgi.com/projects/xfs/design_docs/xfsdocs93_pdf/ > > My only concern with the above is the age - are these sufficiently > up-to-date from an architecture perspective? Thanks very much. It's pretty good still, the fundamental design is not substantially changed; you're more likely to find missing bits than "wrong" bits I think. http://oss.sgi.com/projects/xfs/training/index.html has more info as well. -Eric From sandeen@sandeen.net Mon Aug 10 18:20: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.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 n7ANKFie088908 for ; Mon, 10 Aug 2009 18:20:25 -0500 X-ASG-Debug-ID: 1249946454-39ed004f0000-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 A11313BAD49 for ; Mon, 10 Aug 2009 16:20:54 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id ytpM99ArF9Vrv5v7 for ; Mon, 10 Aug 2009 16:20: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 A1187AAE388; Mon, 10 Aug 2009 18:20:52 -0500 (CDT) Message-ID: <4A80AB57.4060604@sandeen.net> Date: Mon, 10 Aug 2009 18:20:55 -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: <896235104.1104761249944777416.JavaMail.root@mail.vpac.org> In-Reply-To: <896235104.1104761249944777416.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: 1249946460 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.5858 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: > ----- "Eric Sandeen" wrote: > >> Just for the record, Chris let me know offline that he tried ext4 and >> got an error: > > Umm, I think you've mixed me up with another Chris, > we've never run ext4 on that system! Oh, sigh, that's what I get for doing email before coffee. I did mix up one Chris for another. Sorry about that :) -Eric From lmcilroy@redhat.com Mon Aug 10 21:00:34 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 n7B20EGU095171 for ; Mon, 10 Aug 2009 21:00:24 -0500 X-ASG-Debug-ID: 1249956054-713a03e10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 14ED91478E8F for ; Mon, 10 Aug 2009 19:00:54 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id tJ9I1BTf9ykXA1Sh for ; Mon, 10 Aug 2009 19:00:54 -0700 (PDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7B1xkop005921; Mon, 10 Aug 2009 21:59:47 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n7B1xjO8022842; Mon, 10 Aug 2009 21:59:45 -0400 Date: Mon, 10 Aug 2009 21:59:45 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: Christoph Hellwig Cc: Eric Sandeen , ext4 development , xfs-oss , Eric Sandeen Message-ID: <669295477.1736351249955985378.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <20090810160949.GA21948@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfstests: 220 - generic quota sanity Subject: Re: [PATCH] xfstests: 220 - generic quota sanity MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.71] X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1249956055 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.5868 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 ----- "Christoph Hellwig" wrote: > On Mon, Aug 10, 2009 at 09:05:17AM -0500, Eric Sandeen wrote: > > Lachlan McIlroy wrote: > > > This looks good Eric. > > > > > > Is this test just for quota accounting or should it be testing > quota > > > enforcement too? > > > > I guess 108 just did accounting; I was going to keep it parallel, > and do > > a different one for accounting, but it could be added to this as > well. > > Yeah, let's use a different one for enforement testing. Agree, if quota enforcement isn't working correctly then the accounting is the first thing to check so having seperate tests is a good idea. From BATV+6d0c3f4af24de0d320f9+2179+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 10 21: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.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 n7B2rde2097032 for ; Mon, 10 Aug 2009 21:53:54 -0500 X-ASG-Debug-ID: 1249959238-65af01530000-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 6C682147C543 for ; Mon, 10 Aug 2009 19:53:58 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 29ebieQGobL4QPU3 for ; Mon, 10 Aug 2009 19:53:58 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MahUq-0007xP-CC; Tue, 11 Aug 2009 02:53:56 +0000 Date: Mon, 10 Aug 2009 22:53:56 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: John Quigley , XFS Development X-ASG-Orig-Subj: Re: Best design docs for XFS Subject: Re: Best design docs for XFS Message-ID: <20090811025356.GA28108@infradead.org> References: <4A808FC7.2020800@jquigley.com> <4A80A597.6050806@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A80A597.6050806@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: 1249959263 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 10, 2009 at 05:56:23PM -0500, Eric Sandeen wrote: > It's pretty good still, the fundamental design is not substantially > changed; you're more likely to find missing bits than "wrong" bits I think. > > http://oss.sgi.com/projects/xfs/training/index.html > > has more info as well. The fundamental design is mostly unchanged. What you might now want to bother reading of the original documents are: dir_design.pdf - the dir code has been completely replaced threads.pdf - this is totally IRIX specific scaffold.pdf - again mostly IRIX specific message.pdf - no idea what this is at all, I never saw traces of this in XFS For all others there's quite a bit of IRIXism in there. Is there anything specific you're looking for? > > -Eric > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs ---end quoted text--- From Christian.Fischer@easterngraphics.com Tue Aug 11 02:22: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.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 n7B7Lr6W110668 for ; Tue, 11 Aug 2009 02:22:10 -0500 X-ASG-Debug-ID: 1249975326-505703190000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from intranet.easterngraphics.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B12B93AD866 for ; Tue, 11 Aug 2009 00:22:07 -0700 (PDT) Received: from intranet.easterngraphics.com (intranet.easterngraphics.com [62.80.28.49]) by cuda.sgi.com with ESMTP id P3PjSG0tpEovjAWF for ; Tue, 11 Aug 2009 00:22:07 -0700 (PDT) Received: from localhost (unknown [127.0.0.1]) by intranet.easterngraphics.com (Postfix) with ESMTP id 79C0A1802D787; Tue, 11 Aug 2009 07:22:04 +0000 (UTC) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at easterngraphics.com Received: from intranet.easterngraphics.com ([127.0.0.1]) by localhost (intranet.easterngraphics.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k5sn7m4xCrgp; Tue, 11 Aug 2009 09:22:02 +0200 (CEST) Received: from iwan.easterngraphics.com (gw02dmz.easterngraphics.com [62.80.28.54]) (Authenticated sender: fischer) by intranet.easterngraphics.com (Postfix) with ESMTPSA id AF2FD1802D780; Tue, 11 Aug 2009 09:22:02 +0200 (CEST) From: Christian Fischer Organization: Eastern Graphics GmbH To: xfs@oss.sgi.com X-ASG-Orig-Subj: xfs crash, kernel 2.6.29 Subject: xfs crash, kernel 2.6.29 Date: Tue, 11 Aug 2009 09:21:50 +0200 User-Agent: KMail/1.9.9 Cc: Eric Sandeen , Andrew Lyon MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908110921.50752.Christian.Fischer@easterngraphics.com> X-Barracuda-Connect: intranet.easterngraphics.com[62.80.28.49] X-Barracuda-Start-Time: 1249975353 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.5890 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Virus-Status: Clean We had a new crash yesterday, server uptime maybe 20 hours. This is 2.6.29-xen-r4 from http://code.google.com/p/gentoo-xen-kernel/downloads/list @Eric/Andrew: do we have a xfs or a xen patches problem? Christian ------------[ cut here ]------------ Kernel BUG at ffffffff8045281d [verbose debug info unavailable] invalid opcode: 0000 [#1] SMP last sysfs file: /sys/devices/xen/pci-0/pci0000:00/0000:00:00.0/host3/target3:0:6/3:0:6:0/rev CPU 3 Modules linked in: nfsd Pid: 227, comm: kswapd0 Not tainted 2.6.29-xen-r4 #13 RIP: e030:[] [] radix_tree_tag_set+0x9d/0xb0 RSP: e02b:ffff8800ff97bce0 EFLAGS: 00010246 RAX: 000000000000002d RBX: 0000000000000000 RCX: ffff8800c13ceba8 RDX: 0000000000000000 RSI: 000000000022df71 RDI: ffff8800fe866e40 RBP: ffff8800fe866e00 R08: 000000000000002d R09: 000000000000000c R10: 0000000000000000 R11: 0000000000000003 R12: ffff8800fec59c00 R13: ffff8800067f7938 R14: 0000000000000080 R15: 000000000004828f FS: 00007f0617e8e6f0(0000) GS:ffff8800010061c0(0000) knlGS:0000000000000000 CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007f187e14a110 CR3: 00000000fdcbd000 CR4: 0000000000002620 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kswapd0 (pid: 227, threadinfo ffff8800ff97a000, task ffff8800ffb50540) Stack: ffff8800067f7840 ffffffff80422100 000000000004828f ffff8800067f7840 ffff8800067f79c0 ffff8800ff97bd80 0000000000000012 ffffffff8041229b ffff8800067f79c0 ffff8800067f79c0 ffff8800067f79c0 ffffffff80421146 Call Trace: [] ? xfs_inode_set_reclaim_tag+0x80/0xd0 [] ? xfs_reclaim+0x6b/0xe0 [] ? xfs_fs_destroy_inode+0x36/0x60 [] ? dispose_list+0xa2/0x150 [] ? shrink_icache_memory+0x1df/0x310 [] ? shrink_slab+0x124/0x180 [] ? kswapd+0x3bd/0x600 [] ? isolate_pages_global+0x0/0x280 [] ? autoremove_wake_function+0x0/0x30 [] ? __wake_up_common+0x5b/0x90 [] ? kswapd+0x0/0x600 [] ? kthread+0x4b/0x80 [] ? child_rip+0xa/0x20 [] ? kthread+0x0/0x80 [] ? child_rip+0x0/0x20 Code: 18 4d 85 d2 74 25 41 ff cb 75 c4 4d 85 d2 74 16 8b 47 04 8d 4b 15 ba 01 00 00 00 d3 e2 85 d0 75 05 09 d0 89 47 04 5b 4c 89 d0 c3 <0f> 0b eb fe 0f 0b eb fe 66 66 2e 0f 1f 84 00 00 00 00 00 41 57 RIP [] radix_tree_tag_set+0x9d/0xb0 RSP ---[ end trace 48e7c392f10d019e ]--- Aug 10 17:23:35 ganges ------------[ cut here ]------------ Aug 10 17:23:35 ganges Kernel BUG at ffffffff8045281d [verbose debug info unavailable] Aug 10 17:23:35 ganges invalid opcode: 0000 [#1] SMP Aug 10 17:23:35 ganges last sysfs file: /sys/devices/xen/pci-0/pci0000:00/0000:00:00.0/host3/target3:0:6/3:0:6:0/rev Aug 10 17:23:35 ganges CPU 3 Aug 10 17:23:35 ganges Modules linked in: nfsd Aug 10 17:23:35 ganges Pid: 227, comm: kswapd0 Not tainted 2.6.29-xen-r4 #13 Aug 10 17:23:35 ganges RIP: e030:[] [] radix_tree_tag_set+0x9d/0xb0 Aug 10 17:23:35 ganges RSP: e02b:ffff8800ff97bce0 EFLAGS: 00010246 Aug 10 17:23:35 ganges RAX: 000000000000002d RBX: 0000000000000000 RCX: ffff8800c13ceba8 Aug 10 17:23:35 ganges RDX: 0000000000000000 RSI: 000000000022df71 RDI: ffff8800fe866e40 Aug 10 17:23:35 ganges RBP: ffff8800fe866e00 R08: 000000000000002d R09: 000000000000000c Aug 10 17:23:35 ganges R10: 0000000000000000 R11: 0000000000000003 R12: ffff8800fec59c00 Aug 10 17:23:35 ganges R13: ffff8800067f7938 R14: 0000000000000080 R15: 000000000004828f Aug 10 17:23:35 ganges FS: 00007f0617e8e6f0(0000) GS:ffff8800010061c0(0000) knlGS:0000000000000000 Aug 10 17:23:35 ganges CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b Aug 10 17:23:35 ganges CR2: 00007f187e14a110 CR3: 00000000fdcbd000 CR4: 0000000000002620 Aug 10 17:23:35 ganges DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Aug 10 17:23:35 ganges DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Aug 10 17:23:35 ganges Process kswapd0 (pid: 227, threadinfo ffff8800ff97a000, task ffff8800ffb50540) Aug 10 17:23:35 ganges Stack: Aug 10 17:23:35 ganges ffff8800067f7840 ffffffff80422100 000000000004828f ffff8800067f7840 Aug 10 17:23:35 ganges ffff8800067f79c0 ffff8800ff97bd80 0000000000000012 ffffffff8041229b Aug 10 17:23:35 ganges ffff8800067f79c0 ffff8800067f79c0 ffff8800067f79c0 ffffffff80421146 Aug 10 17:23:35 ganges Call Trace: Aug 10 17:23:35 ganges [] ? xfs_inode_set_reclaim_tag+0x80/0xd0 Aug 10 17:23:35 ganges [] ? xfs_reclaim+0x6b/0xe0 Aug 10 17:23:35 ganges [] ? xfs_fs_destroy_inode+0x36/0x60 Aug 10 17:23:35 ganges [] ? dispose_list+0xa2/0x150 Aug 10 17:23:35 ganges [] ? shrink_icache_memory+0x1df/0x310 Aug 10 17:23:35 ganges [] ? shrink_slab+0x124/0x180 Aug 10 17:23:35 ganges [] ? kswapd+0x3bd/0x600 Aug 10 17:23:35 ganges [] ? isolate_pages_global+0x0/0x280 Aug 10 17:23:35 ganges [] ? autoremove_wake_function+0x0/0x30 Aug 10 17:23:35 ganges [] ? __wake_up_common+0x5b/0x90 Aug 10 17:23:35 ganges [] ? kswapd+0x0/0x600 Aug 10 17:23:35 ganges [] ? kthread+0x4b/0x80 Aug 10 17:23:35 ganges [] ? child_rip+0xa/0x20 Aug 10 17:23:35 ganges [] ? kthread+0x0/0x80 Aug 10 17:23:35 ganges [] ? child_rip+0x0/0x20 Aug 10 17:23:35 ganges Code: 18 4d 85 d2 74 25 41 ff cb 75 c4 4d 85 d2 74 16 8b 47 04 8d 4b 15 ba 01 00 00 00 d3 e2 85 d0 75 05 09 d0 89 47 04 5b 4c 89 d0 c3 <0f> 0b eb fe 0f 0b eb fe 66 66 2e 0f 1f 84 00 00 00 00 00 41 57 Aug 10 17:23:35 ganges RIP [] radix_tree_tag_set+0x9d/0xb0 Aug 10 17:23:35 ganges RSP Aug 10 17:23:35 ganges ---[ end trace 48e7c392f10d019e ]--- From Christian.Fischer@easterngraphics.com Tue Aug 11 03:09:44 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 n7B89Jvf112493 for ; Tue, 11 Aug 2009 03:09:34 -0500 X-ASG-Debug-ID: 1249978191-31ce014c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from intranet.easterngraphics.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1D78F3BBB51 for ; Tue, 11 Aug 2009 01:09:52 -0700 (PDT) Received: from intranet.easterngraphics.com (intranet.easterngraphics.com [62.80.28.49]) by cuda.sgi.com with ESMTP id HFEzDjaT3zDVGOsV for ; Tue, 11 Aug 2009 01:09:52 -0700 (PDT) Received: from localhost (unknown [127.0.0.1]) by intranet.easterngraphics.com (Postfix) with ESMTP id 19EAD1802D79E; Tue, 11 Aug 2009 08:09:21 +0000 (UTC) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at easterngraphics.com Received: from intranet.easterngraphics.com ([127.0.0.1]) by localhost (intranet.easterngraphics.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 20oCqMuFRKaG; Tue, 11 Aug 2009 10:09:19 +0200 (CEST) Received: from iwan.easterngraphics.com (gw02dmz.easterngraphics.com [62.80.28.54]) (Authenticated sender: fischer) by intranet.easterngraphics.com (Postfix) with ESMTPSA id 249211802D79D; Tue, 11 Aug 2009 10:09:19 +0200 (CEST) From: Christian Fischer Organization: Eastern Graphics GmbH To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs crash, kernel 2.6.29 Subject: Re: xfs crash, kernel 2.6.29 Date: Tue, 11 Aug 2009 10:09:06 +0200 User-Agent: KMail/1.9.9 Cc: Andrew Lyon , Eric Sandeen References: <200908110921.50752.Christian.Fischer@easterngraphics.com> In-Reply-To: <200908110921.50752.Christian.Fischer@easterngraphics.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908111009.06945.Christian.Fischer@easterngraphics.com> X-Barracuda-Connect: intranet.easterngraphics.com[62.80.28.49] X-Barracuda-Start-Time: 1249978196 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.5892 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Virus-Status: Clean On Tuesday 11 August 2009, Christian Fischer wrote: > We had a new crash yesterday, server uptime maybe 20 hours. > > This is 2.6.29-xen-r4 from > http://code.google.com/p/gentoo-xen-kernel/downloads/list > > @Eric/Andrew: do we have a xfs or a xen patches problem? > > Christian I found that: http://oss.sgi.com/archives/xfs-masters/2009-06/msg00056.html > > > > > ------------[ cut here ]------------ > Kernel BUG at ffffffff8045281d [verbose debug info unavailable] > invalid opcode: 0000 [#1] SMP > last sysfs > file: > /sys/devices/xen/pci-0/pci0000:00/0000:00:00.0/host3/target3:0:6/3:0:6:0/re >v CPU 3 > Modules linked in: nfsd > Pid: 227, comm: kswapd0 Not tainted 2.6.29-xen-r4 #13 > RIP: e030:[] [] > radix_tree_tag_set+0x9d/0xb0 > RSP: e02b:ffff8800ff97bce0 EFLAGS: 00010246 > RAX: 000000000000002d RBX: 0000000000000000 RCX: ffff8800c13ceba8 > RDX: 0000000000000000 RSI: 000000000022df71 RDI: ffff8800fe866e40 > RBP: ffff8800fe866e00 R08: 000000000000002d R09: 000000000000000c > R10: 0000000000000000 R11: 0000000000000003 R12: ffff8800fec59c00 > R13: ffff8800067f7938 R14: 0000000000000080 R15: 000000000004828f > FS: 00007f0617e8e6f0(0000) GS:ffff8800010061c0(0000) > knlGS:0000000000000000 CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b > CR2: 00007f187e14a110 CR3: 00000000fdcbd000 CR4: 0000000000002620 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > Process kswapd0 (pid: 227, threadinfo ffff8800ff97a000, task > ffff8800ffb50540) Stack: > ffff8800067f7840 ffffffff80422100 000000000004828f ffff8800067f7840 > ffff8800067f79c0 ffff8800ff97bd80 0000000000000012 ffffffff8041229b > ffff8800067f79c0 ffff8800067f79c0 ffff8800067f79c0 ffffffff80421146 > Call Trace: > [] ? xfs_inode_set_reclaim_tag+0x80/0xd0 > [] ? xfs_reclaim+0x6b/0xe0 > [] ? xfs_fs_destroy_inode+0x36/0x60 > [] ? dispose_list+0xa2/0x150 > [] ? shrink_icache_memory+0x1df/0x310 > [] ? shrink_slab+0x124/0x180 > [] ? kswapd+0x3bd/0x600 > [] ? isolate_pages_global+0x0/0x280 > [] ? autoremove_wake_function+0x0/0x30 > [] ? __wake_up_common+0x5b/0x90 > [] ? kswapd+0x0/0x600 > [] ? kthread+0x4b/0x80 > [] ? child_rip+0xa/0x20 > [] ? kthread+0x0/0x80 > [] ? child_rip+0x0/0x20 > Code: 18 4d 85 d2 74 25 41 ff cb 75 c4 4d 85 d2 74 16 8b 47 04 8d 4b 15 ba > 01 00 00 00 d3 e2 85 d0 75 05 09 d0 89 47 04 5b 4c 89 d0 c3 <0f> 0b eb fe > 0f 0b eb fe 66 66 2e 0f 1f 84 00 00 00 00 00 41 57 > RIP [] radix_tree_tag_set+0x9d/0xb0 > RSP > ---[ end trace 48e7c392f10d019e ]--- > Aug 10 17:23:35 ganges ------------[ cut here ]------------ > Aug 10 17:23:35 ganges Kernel BUG at ffffffff8045281d [verbose debug info > unavailable] > Aug 10 17:23:35 ganges invalid opcode: 0000 [#1] SMP > Aug 10 17:23:35 ganges last sysfs > file: > /sys/devices/xen/pci-0/pci0000:00/0000:00:00.0/host3/target3:0:6/3:0:6:0/re >v Aug 10 17:23:35 ganges CPU 3 > Aug 10 17:23:35 ganges Modules linked in: nfsd > Aug 10 17:23:35 ganges Pid: 227, comm: kswapd0 Not tainted 2.6.29-xen-r4 > #13 Aug 10 17:23:35 ganges RIP: e030:[] > [] radix_tree_tag_set+0x9d/0xb0 > Aug 10 17:23:35 ganges RSP: e02b:ffff8800ff97bce0 EFLAGS: 00010246 > Aug 10 17:23:35 ganges RAX: 000000000000002d RBX: 0000000000000000 RCX: > ffff8800c13ceba8 > Aug 10 17:23:35 ganges RDX: 0000000000000000 RSI: 000000000022df71 RDI: > ffff8800fe866e40 > Aug 10 17:23:35 ganges RBP: ffff8800fe866e00 R08: 000000000000002d R09: > 000000000000000c > Aug 10 17:23:35 ganges R10: 0000000000000000 R11: 0000000000000003 R12: > ffff8800fec59c00 > Aug 10 17:23:35 ganges R13: ffff8800067f7938 R14: 0000000000000080 R15: > 000000000004828f > Aug 10 17:23:35 ganges FS: 00007f0617e8e6f0(0000) > GS:ffff8800010061c0(0000) knlGS:0000000000000000 > Aug 10 17:23:35 ganges CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b > Aug 10 17:23:35 ganges CR2: 00007f187e14a110 CR3: 00000000fdcbd000 CR4: > 0000000000002620 > Aug 10 17:23:35 ganges DR0: 0000000000000000 DR1: 0000000000000000 DR2: > 0000000000000000 > Aug 10 17:23:35 ganges DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: > 0000000000000400 > Aug 10 17:23:35 ganges Process kswapd0 (pid: 227, threadinfo > ffff8800ff97a000, task ffff8800ffb50540) > Aug 10 17:23:35 ganges Stack: > Aug 10 17:23:35 ganges ffff8800067f7840 ffffffff80422100 000000000004828f > ffff8800067f7840 > Aug 10 17:23:35 ganges ffff8800067f79c0 ffff8800ff97bd80 0000000000000012 > ffffffff8041229b > Aug 10 17:23:35 ganges ffff8800067f79c0 ffff8800067f79c0 ffff8800067f79c0 > ffffffff80421146 > Aug 10 17:23:35 ganges Call Trace: > Aug 10 17:23:35 ganges [] ? > xfs_inode_set_reclaim_tag+0x80/0xd0 > Aug 10 17:23:35 ganges [] ? xfs_reclaim+0x6b/0xe0 > Aug 10 17:23:35 ganges [] ? > xfs_fs_destroy_inode+0x36/0x60 Aug 10 17:23:35 ganges [] > ? dispose_list+0xa2/0x150 Aug 10 17:23:35 ganges [] ? > shrink_icache_memory+0x1df/0x310 Aug 10 17:23:35 ganges > [] ? shrink_slab+0x124/0x180 Aug 10 17:23:35 ganges > [] ? kswapd+0x3bd/0x600 > Aug 10 17:23:35 ganges [] ? > isolate_pages_global+0x0/0x280 Aug 10 17:23:35 ganges [] > ? > autoremove_wake_function+0x0/0x30 > Aug 10 17:23:35 ganges [] ? __wake_up_common+0x5b/0x90 > Aug 10 17:23:35 ganges [] ? kswapd+0x0/0x600 > Aug 10 17:23:35 ganges [] ? kthread+0x4b/0x80 > Aug 10 17:23:35 ganges [] ? child_rip+0xa/0x20 > Aug 10 17:23:35 ganges [] ? kthread+0x0/0x80 > Aug 10 17:23:35 ganges [] ? child_rip+0x0/0x20 > Aug 10 17:23:35 ganges Code: 18 4d 85 d2 74 25 41 ff cb 75 c4 4d 85 d2 74 > 16 8b 47 04 8d 4b 15 ba 01 00 00 00 d3 e2 85 d0 75 05 09 d0 89 47 04 5b 4c > 89 d0 c3 <0f> 0b eb fe 0f 0b eb fe 66 66 2e 0f 1f 84 00 00 00 00 00 41 57 > Aug 10 17:23:35 ganges RIP [] > radix_tree_tag_set+0x9d/0xb0 Aug 10 17:23:35 ganges RSP > Aug 10 17:23:35 ganges ---[ end trace 48e7c392f10d019e ]--- > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- ------------------------------------------------------------ EasternGraphics - visualize your business Christian Fischer Administration http://www.EasternGraphics.com phone: +49 3677 678265 EasternGraphics GmbH - Albert-Einstein-Strasse 1 - DE-98693 Ilmenau Geschaeftsfuehrer - Ekkehard Beier, Volker Blankenberg, Frank Wicht Amtsgericht Jena - HRB 304052 From jpiszcz@lucidpixels.com Tue Aug 11 05:58:36 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_25, J_CHICKENPOX_34 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 n7BAwFvv130892 for ; Tue, 11 Aug 2009 05:58:25 -0500 X-ASG-Debug-ID: 1249988328-5e1e024d0000-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 38A9B147FD02 for ; Tue, 11 Aug 2009 03:58:48 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id Uhccjtm42TbuFel9 for ; Tue, 11 Aug 2009 03:58:48 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 8371F3E54; Tue, 11 Aug 2009 06:58:18 -0400 (EDT) Date: Tue, 11 Aug 2009 06:58:18 -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 (happened again) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (happened again) In-Reply-To: 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: 1249988331 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.5900 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 Sun, 9 Aug 2009, Justin Piszcz wrote: > > > 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 >> It has happened again, I am back to using 2.6.29.1 now, but here are some new sysrq -w and -t outputs from the last lockup: Would enabling debugging for the XFS filesystem provide more details if this is caused by XFS or is it another part of the kernel subsystem? sysrq-w: [215701.139416] SysRq : Show Blocked State [215701.139441] task PC stack pid father [215701.139458] pdflush D cf937f24 0 208 2 [215701.139476] cf8d9684 00000046 cf8d9500 cf937f24 00000002 cf331100 cf937f70 00000000 [215701.139504] cf92a380 cf92a394 00000000 cfaa1400 c03e72e5 c0273555 00000000 cf8d9500 [215701.139533] c0118a10 cf92a394 cf92a394 cf92a380 cf25383c 00000000 c027450f cf92a380 [215701.139560] Call Trace: [215701.139584] [] ? schedule+0x5/0x20 [215701.139600] [] ? xfs_buf_wait_unpin+0x95/0xd0 [215701.139617] [] ? default_wake_function+0x0/0x10 [215701.139631] [] ? xfs_buf_iorequest+0x5f/0x80 [215701.139646] [] ? xfs_bdstrat_cb+0x37/0x40 [215701.139659] [] ? xfs_bwrite+0x57/0xd0 [215701.139672] [] ? xfs_sync_fsdata+0xba/0x100 [215701.139686] [] ? xfs_fs_write_super+0x16/0x20 [215701.139703] [] ? sync_supers+0x67/0x90 [215701.139718] [] ? pdflush+0x0/0x180 [215701.139730] [] ? wb_kupdate+0x25/0x110 [215701.139743] [] ? pdflush+0x0/0x180 [215701.139755] [] ? pdflush+0xb5/0x180 [215701.139767] [] ? wb_kupdate+0x0/0x110 [215701.139785] [] ? kthread+0x40/0x70 [215701.139797] [] ? kthread+0x0/0x70 [215701.139811] [] ? kernel_thread_helper+0x7/0x14 [215701.139823] pdflush D c6cd41a4 0 209 2 [215701.139838] cf8d99d4 00000046 cf8d9850 c6cd41a4 ce0c18c0 cf331440 00000000 00006000 [215701.139852] cf9399d0 ce0c18c0 0000008b 00025ef5 c03e72e5 c025c03e cf216be0 00000001 [215701.139852] cf8d9850 c0118a10 ce0c18c0 ce0c18c0 cf216be0 0000008b 00000000 00000001 [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? xlog_state_sync+0x18e/0x1c0 [215701.139852] [] ? default_wake_function+0x0/0x10 [215701.139852] [] ? _xfs_log_force+0x4b/0x70 [215701.139852] [] ? xfs_log_force+0x1c/0x50 [215701.139852] [] ? xfs_alloc_ag_vextent+0xed/0x100 [215701.139852] [] ? xfs_alloc_vextent+0x347/0x480 [215701.139852] [] ? xfs_bmap_btalloc+0x54c/0x940 [215701.139852] [] ? xfs_bmap_search_multi_extents+0x91/0x100 [215701.139852] [] ? xfs_bmapi+0xd29/0x14d0 [215701.139852] [] ? kmem_zone_alloc+0x7d/0xc0 [215701.139852] [] ? xfs_iomap_write_allocate+0x2a9/0x470 [215701.139852] [] ? xfs_iomap+0x38e/0x3e0 [215701.139852] [] ? xfs_map_blocks+0x35/0x40 [215701.139852] [] ? xfs_page_state_convert+0x407/0x7d0 [215701.139852] [] ? xfs_vm_writepage+0x64/0x110 [215701.139852] [] ? __writepage+0x8/0x30 [215701.139852] [] ? write_cache_pages+0x18f/0x350 [215701.139852] [] ? __writepage+0x0/0x30 [215701.139852] [] ? xfs_buf_rele+0x20/0x80 [215701.139852] [] ? xfs_buf_iorequest+0x35/0x80 [215701.139852] [] ? xfs_vm_writepages+0x0/0x10 [215701.139852] [] ? generic_writepages+0x20/0x30 [215701.139852] [] ? do_writepages+0x2b/0x50 [215701.139852] [] ? __writeback_single_inode+0x77/0x380 [215701.139852] [] ? _xfs_buf_ioapply+0x18c/0x290 [215701.139852] [] ? generic_sync_sb_inodes+0x23e/0x3b0 [215701.139852] [] ? writeback_inodes+0x29/0x90 [215701.139852] [] ? background_writeout+0x96/0xc0 [215701.139852] [] ? pdflush+0x0/0x180 [215701.139852] [] ? pdflush+0xb5/0x180 [215701.139852] [] ? background_writeout+0x0/0xc0 [215701.139852] [] ? kthread+0x40/0x70 [215701.139852] [] ? kthread+0x0/0x70 [215701.139852] [] ? kernel_thread_helper+0x7/0x14 [215701.139852] xfsdatad/0 D 000007d8 0 216 2 [215701.139852] 00000000 00000046 cf8c5190 000007d8 00000000 cf331440 cf8c51bc 00000000 [215701.139852] cf5702e4 cf5702e4 cf975f64 cf95a8a8 c03e72e5 c03e85fd cf5702e8 cf8c5190 [215701.139852] cf8c5314 cf5702e4 00000000 cf570280 cf95a8a8 c03e870a cf5702e8 cf5702e8 [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? rwsem_down_failed_common+0x7d/0x170 [215701.139852] [] ? rwsem_down_write_failed+0x1a/0x30 [215701.139852] [] ? call_rwsem_down_write_failed+0x6/0x8 [215701.139852] [] ? down_write+0x11/0x20 [215701.139852] [] ? xfs_setfilesize+0x3d/0x120 [215701.139852] [] ? xfs_end_bio_written+0x0/0x20 [215701.139852] [] ? xfs_end_bio_written+0xd/0x20 [215701.139852] [] ? worker_thread+0xaa/0x140 [215701.139852] [] ? __schedule+0x1cb/0x330 [215701.139852] [] ? autoremove_wake_function+0x0/0x50 [215701.139852] [] ? worker_thread+0x0/0x140 [215701.139852] [] ? kthread+0x40/0x70 [215701.139852] [] ? kthread+0x0/0x70 [215701.139852] [] ? kernel_thread_helper+0x7/0x14 [215701.139852] loop0 D cf5d86c8 0 1971 2 [215701.139852] cf8b05b4 00000046 cf8b0430 cf5d86c8 00000008 cf331440 ce14be80 ce14be88 [215701.139852] c049f170 ce14be80 ce14be88 c1200438 c03e72e5 c03e7311 00000000 c014111d [215701.139852] c03e75a7 c01410f0 ce14be80 c1105ca0 ce14be9c cf8b0430 c0141335 00000002 [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit+0x47/0x70 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? wait_on_page_bit+0x95/0xb0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? wait_on_page_writeback_range+0x97/0x100 [215701.139852] [] ? generic_writepages+0x20/0x30 [215701.139852] [] ? do_writepages+0x2b/0x50 [215701.139852] [] ? __filemap_fdatawrite_range+0x6b/0x90 [215701.139852] [] ? xfs_wait_on_pages+0x20/0x30 [215701.139852] [] ? xfs_fsync+0x5a/0x190 [215701.139852] [] ? xfs_file_fsync+0x15/0x20 [215701.139852] [] ? vfs_fsync+0x6f/0xc0 [215701.139852] [] ? loop_thread+0x4a8/0x4c0 [215701.139852] [] ? do_lo_send_aops+0x0/0x1c0 [215701.139852] [] ? autoremove_wake_function+0x0/0x50 [215701.139852] [] ? loop_thread+0x0/0x4c0 [215701.139852] [] ? kthread+0x40/0x70 [215701.139852] [] ? kthread+0x0/0x70 [215701.139852] [] ? kernel_thread_helper+0x7/0x14 [215701.139852] xfssyncd D cce1fedc 0 1981 2 [215701.139852] cf9d4654 00000046 cf9d44d0 cce1fedc c0117636 cf288220 00000001 c025c0fc [215701.139852] c684c040 c684c0cc cce1ff08 cfaa1400 c03e72e5 c0252ffd 00000002 00000000 [215701.139852] cf9d44d0 c012dbe0 c684c0cc c684c0cc c29e4598 c684c040 00000002 c025512c [215701.139852] Call Trace: [215701.139852] [] ? update_curr+0x156/0x180 [215701.139852] [] ? xfs_log_force+0x1c/0x50 [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? __xfs_iunpin_wait+0x8d/0xc0 [215701.139852] [] ? autoremove_wake_function+0x0/0x50 [215701.139852] [] ? xfs_iflush+0x9c/0x2b0 [215701.139852] [] ? xfs_reclaim_inode+0xa9/0xe0 [215701.139852] [] ? xfs_reclaim_inodes_ag+0xd7/0x120 [215701.139852] [] ? xfs_reclaim_inodes+0x51/0x70 [215701.139852] [] ? xfs_sync_worker+0x56/0xa0 [215701.139852] [] ? xfssyncd+0xf9/0x160 [215701.139852] [] ? xfssyncd+0x0/0x160 [215701.139852] [] ? kthread+0x40/0x70 [215701.139852] [] ? kthread+0x0/0x70 [215701.139852] [] ? kernel_thread_helper+0x7/0x14 [215701.139852] misc-daemon D 00001397 0 2306 1 [215701.139852] cf8b1ce4 00200082 cf8b1b60 00001397 00005000 cfb65380 cf402380 00000010 [215701.139852] c049f170 cf8b1b60 cc41fe94 c1200670 c03e72e5 c03e7311 cc41fe8c c014111d [215701.139852] c03e76f2 0000000e c01410f0 c04c371c cf8b1b60 cc41fea8 c10ecda0 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x2a4/0x3e0 [215701.139852] [] ? do_sync_read+0xd5/0x120 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? autoremove_wake_function+0x0/0x50 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? vfs_read+0xff/0x140 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] vsftpd D c0499320 0 7269 1821 [215701.139852] c15e2bb4 00000082 c15e2a30 c0499320 00000005 cf0c5c40 000081b6 c684c040 [215701.139852] 00000286 0cd72fe2 c9f03cf4 0cd72fe1 c03e72e5 c03e74a0 00000000 ce22bd48 [215701.139852] c053ced8 c053ced8 0cd72fe2 c0124de0 c15e2a30 c053c7c0 c684c040 ce22bd48 [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? schedule_timeout+0xb0/0x110 [215701.139852] [] ? process_timeout+0x0/0x10 [215701.139852] [] ? xfs_iget+0x1a0/0x390 [215701.139852] [] ? xfs_trans_iget+0xf5/0x120 [215701.139852] [] ? xfs_ialloc+0xba/0x680 [215701.139852] [] ? xfs_dir_ialloc+0x89/0x2e0 [215701.139852] [] ? xfs_trans_reserve+0x82/0x220 [215701.139852] [] ? xfs_create+0x3ea/0x5d0 [215701.139852] [] ? xfs_vn_mknod+0x81/0x120 [215701.139852] [] ? vfs_create+0x90/0xe0 [215701.139852] [] ? xfs_vn_create+0x0/0x10 [215701.139852] [] ? do_filp_open+0x72b/0x830 [215701.139852] [] ? do_sys_open+0x5b/0x110 [215701.139852] [] ? sys_open+0x2c/0x40 [215701.139852] [] ? syscall_call+0x7/0xb [215701.139852] vsftpd D cf402150 0 19048 1821 [215701.139852] 00000000 00000086 c15e3770 cf402150 c1085ba0 cf331100 00000000 00000001 [215701.139852] 7fffffff 7fffffff 00000002 00000000 c03e72e5 c03e74cd c018552a 00001000 [215701.139852] 00000000 00001000 00000004 00000000 c027371c 00000000 7fffffff c997f878 [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? schedule_timeout+0xdd/0x110 [215701.139852] [] ? bio_add_page+0x3a/0x50 [215701.139852] [] ? _xfs_buf_ioapply+0x18c/0x290 [215701.139852] [] ? wait_for_common+0xef/0x110 [215701.139852] [] ? default_wake_function+0x0/0x10 [215701.139852] [] ? xfs_buf_iowait+0x2e/0x40 [215701.139852] [] ? xfs_buf_read_flags+0x4f/0x80 [215701.139852] [] ? xfs_trans_read_buf+0x181/0x340 [215701.139852] [] ? xfs_btree_read_bufl+0x71/0xa0 [215701.139852] [] ? xfs_bmap_read_extents+0xa6/0x380 [215701.139852] [] ? xfs_iread_extents+0x67/0xe0 [215701.139852] [] ? xfs_bmapi+0x11d/0x14d0 [215701.139852] [] ? nf_nat_setup_info+0x57e/0x660 [215701.139852] [] ? ipt_do_table+0x1bb/0x330 [215701.139852] [] ? tulip_start_xmit+0xec/0x120 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? xfs_iomap+0x1b4/0x3e0 [215701.139852] [] ? __xfs_get_blocks+0xa2/0x2a0 [215701.139852] [] ? alloc_buffer_head+0xd/0x60 [215701.139852] [] ? xfs_get_blocks+0x20/0x30 [215701.139852] [] ? __block_prepare_write+0x1d4/0x3f0 [215701.139852] [] ? add_to_page_cache_locked+0x4b/0xb0 [215701.139852] [] ? block_write_begin+0x45/0xe0 [215701.139852] [] ? xfs_get_blocks+0x0/0x30 [215701.139852] [] ? xfs_vm_write_begin+0x46/0x50 [215701.139852] [] ? xfs_get_blocks+0x0/0x30 [215701.139852] [] ? generic_file_buffered_write+0x106/0x300 [215701.139852] [] ? xfs_write+0x77a/0x860 [215701.139852] [] ? xfs_file_aio_write+0x61/0x70 [215701.139852] [] ? do_sync_write+0xd5/0x120 [215701.139852] [] ? autoremove_wake_function+0x0/0x50 [215701.139852] [] ? page_add_new_anon_rmap+0x56/0x80 [215701.139852] [] ? handle_mm_fault+0x42e/0x530 [215701.139852] [] ? sys_fstat64+0x1e/0x30 [215701.139852] [] ? do_sync_write+0x0/0x120 [215701.139852] [] ? vfs_write+0xa0/0x140 [215701.139852] [] ? sys_write+0x41/0x80 [215701.139852] [] ? syscall_call+0x7/0xb [215701.139852] vsftpd D 00000000 0 29887 1821 [215701.139852] 00000000 00000082 cf9e9580 00000000 4a7df9b3 cf288220 4a8077bb 03bca3c6 [215701.139852] cd1621bc ffffffff cf9e9580 cd1621c0 c03e78bb cd1621c0 cd1621c0 cf9e9580 [215701.139852] 00c372e8 00000000 c89589a0 c3b8a000 c03e7819 c0164c03 00000000 c0164be0 [215701.139852] Call Trace: [215701.139852] [] ? __mutex_lock_slowpath+0x4b/0x80 [215701.139852] [] ? mutex_lock+0x9/0x10 [215701.139852] [] ? generic_file_llseek+0x23/0x60 [215701.139852] [] ? generic_file_llseek+0x0/0x60 [215701.139852] [] ? vfs_llseek+0x3c/0x50 [215701.139852] [] ? sys_llseek+0x56/0x90 [215701.139852] [] ? syscall_call+0x7/0xb [215701.139852] md5sum D 02bb4af3 0 30660 19048 [215701.139852] 00000000 00000086 cf879b20 02bb4af3 00003000 cf35e600 cf402380 00000010 [215701.139852] c049f170 cf879b20 c15a7c74 c12003b0 c03e72e5 c03e7311 c15a7c6c c014111d [215701.139852] c03e76f2 00000003 c01410f0 c04c371c cf879b20 c15a7c88 c10b65a0 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x2a4/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? syscall_call+0x7/0xb [215701.139852] md5sum D c01202d3 0 30661 29887 [215701.139852] 00000000 00000082 cf8783f0 c01202d3 cf6e0390 cfb65520 c21abaa0 c1052d40 [215701.139852] c049f170 cf8783f0 c8123c74 c12003b0 c03e72e5 c03e7311 c8123c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf8783f0 c8123c88 c10b65a0 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? current_fs_time+0x13/0x20 [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? syscall_call+0x7/0xb [215701.139852] vsftpd D cf935088 0 30663 1821 [215701.139852] c15d9914 00000082 c15d9790 cf935088 c15d9790 cf288a40 c1200118 c02906a3 [215701.139852] c049f170 c15d9790 c14ebc74 c1200118 c03e72e5 c03e7311 c14ebc6c c014111d [215701.139852] c03e76f2 0000001b c01410f0 c04c371c c15d9790 c14ebc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? __generic_unplug_device+0x23/0x30 [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x2a4/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30664 1821 [215701.139852] 00000000 00000082 cf920800 00000000 0100a150 cfaca6e0 c7a057e0 80000000 [215701.139852] c049f170 cf920800 cc643c74 c1200118 c03e72e5 c03e7311 cc643c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf920800 cc643c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30671 1821 [215701.139852] 00000000 00000086 c15d90f0 00000000 010090f0 cfb65ba0 c4099c20 80000000 [215701.139852] c049f170 c15d90f0 c4099c74 c1200118 c03e72e5 c03e7311 c4099c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c15d90f0 c4099c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30672 1821 [215701.139852] 00000000 00000082 cf9204b0 00000000 0100a150 cf331780 ce03f2a0 80000000 [215701.139852] c049f170 cf9204b0 c3ac7c74 c1200118 c03e72e5 c03e7311 c3ac7c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf9204b0 c3ac7c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30673 1821 [215701.139852] 00000000 00000086 cf878de0 00000000 0100a150 cf0880c0 ce05b540 80000000 [215701.139852] c049f170 cf878de0 c9123c74 c1200118 c03e72e5 c03e7311 c9123c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf878de0 c9123c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30674 1821 [215701.139852] 00000000 00000082 c15d8a50 00000000 0100a150 cf35eae0 ce09ec60 80000000 [215701.139852] c049f170 c15d8a50 cd03dc74 c1200118 c03e72e5 c03e7311 cd03dc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c15d8a50 cd03dc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D cf402150 0 30683 30682 [215701.139852] 00000000 00000086 cf8b0780 cf402150 c1137380 cf288560 00000000 00000001 [215701.139852] 7fffffff 7fffffff 00000002 00000000 c03e72e5 c03e74cd c018552a 00001000 [215701.139852] 00000000 00001000 00000004 00000000 c027371c 00000000 7fffffff ccd84898 [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? schedule_timeout+0xdd/0x110 [215701.139852] [] ? bio_add_page+0x3a/0x50 [215701.139852] [] ? _xfs_buf_ioapply+0x18c/0x290 [215701.139852] [] ? wait_for_common+0xef/0x110 [215701.139852] [] ? default_wake_function+0x0/0x10 [215701.139852] [] ? xfs_buf_iowait+0x2e/0x40 [215701.139852] [] ? xfs_buf_read_flags+0x4f/0x80 [215701.139852] [] ? xfs_trans_read_buf+0x181/0x340 [215701.139852] [] ? xfs_da_do_buf+0x4aa/0x870 [215701.139852] [] ? xfs_da_read_buf+0x30/0x40 [215701.139852] [] ? xfs_dir2_block_lookup_int+0x51/0x200 [215701.139852] [] ? xfs_dir2_block_lookup_int+0x51/0x200 [215701.139852] [] ? xfs_bmap_last_offset+0x12f/0x140 [215701.139852] [] ? xfs_dir2_block_lookup+0x20/0xc0 [215701.139852] [] ? xfs_dir_lookup+0x145/0x170 [215701.139852] [] ? xfs_lookup+0x6b/0xf0 [215701.139852] [] ? xfs_vn_lookup+0x55/0xa0 [215701.139852] [] ? do_lookup+0x1ba/0x1e0 [215701.139852] [] ? __link_path_walk+0x17f/0xc40 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D cf402150 0 30686 30685 [215701.139852] 00000000 00000082 c15e2390 cf402150 c1037f80 cf288080 00000000 00000001 [215701.139852] 7fffffff 7fffffff 00000002 00000000 c03e72e5 c03e74cd c018552a 00001000 [215701.139852] 00000000 00001000 00000004 00000000 c027371c 00000000 7fffffff ccd84a18 [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? schedule_timeout+0xdd/0x110 [215701.139852] [] ? bio_add_page+0x3a/0x50 [215701.139852] [] ? _xfs_buf_ioapply+0x18c/0x290 [215701.139852] [] ? wait_for_common+0xef/0x110 [215701.139852] [] ? default_wake_function+0x0/0x10 [215701.139852] [] ? xfs_buf_iowait+0x2e/0x40 [215701.139852] [] ? xfs_buf_read_flags+0x4f/0x80 [215701.139852] [] ? xfs_trans_read_buf+0x181/0x340 [215701.139852] [] ? xfs_da_do_buf+0x4aa/0x870 [215701.139852] [] ? xfs_da_read_buf+0x30/0x40 [215701.139852] [] ? xfs_dir2_leaf_lookup_int+0x63/0x2f0 [215701.139852] [] ? xfs_dir2_leaf_lookup_int+0x63/0x2f0 [215701.139852] [] ? xfs_bmap_search_multi_extents+0x7b/0x100 [215701.139852] [] ? xfs_dir2_leaf_lookup+0x27/0xc0 [215701.139852] [] ? xfs_dir2_isleaf+0x1f/0x60 [215701.139852] [] ? xfs_dir_lookup+0xc8/0x170 [215701.139852] [] ? xfs_lookup+0x6b/0xf0 [215701.139852] [] ? xfs_vn_lookup+0x55/0xa0 [215701.139852] [] ? do_lookup+0x1ba/0x1e0 [215701.139852] [] ? __link_path_walk+0x6c9/0xc40 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D c0104a67 0 30689 30688 [215701.139852] 00000000 00000086 cf864a70 c0104a67 c1585e10 cf2c70a0 cf864a70 00000000 [215701.139852] cf6aa63c ffffffff cf864a70 cf6aa640 c03e78bb c1443e04 cf6aa640 cf864a70 [215701.139852] c1585e70 00000000 c1585ef4 c1585e70 c03e7819 c016b423 c1585e84 cf80c8a0 [215701.139852] Call Trace: [215701.139852] [] ? handle_irq+0x17/0x20 [215701.139852] [] ? __mutex_lock_slowpath+0x4b/0x80 [215701.139852] [] ? mutex_lock+0x9/0x10 [215701.139852] [] ? do_lookup+0xe3/0x1e0 [215701.139852] [] ? __link_path_walk+0x6c9/0xc40 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30695 1821 [215701.139852] 00000000 00000086 cf8643d0 00000000 0100a150 cfacad60 c8a126e0 80000000 [215701.139852] c049f170 cf8643d0 c70d7c74 c1200118 c03e72e5 c03e7311 c70d7c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf8643d0 c70d7c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30696 1821 [215701.139852] 00000000 00000086 c15e2d80 00000000 0100a150 cf088dc0 cfb99e60 80000000 [215701.139852] c049f170 c15e2d80 c38cbc74 c1200118 c03e72e5 c03e7311 c38cbc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c15e2d80 c38cbc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30697 1821 [215701.139852] 00000000 00000086 cf864dc0 00000000 0100a150 cf3312a0 ce03f520 80000000 [215701.139852] c049f170 cf864dc0 c926dc74 c1200118 c03e72e5 c03e7311 c926dc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf864dc0 c926dc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30698 1821 [215701.139852] 00000000 00000086 cf8d8b10 00000000 0100a150 cfacabc0 ce05b8c0 80000000 [215701.139852] c049f170 cf8d8b10 c260bc74 c1200118 c03e72e5 c03e7311 c260bc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf8d8b10 c260bc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30699 1821 [215701.139852] 00000000 00000086 cf9e8b90 00000000 0100a150 cf0c55c0 c7a05660 80000000 [215701.139852] c049f170 cf9e8b90 ce9cbc74 c1200118 c03e72e5 c03e7311 ce9cbc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf9e8b90 ce9cbc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30700 1821 [215701.139852] 00000000 00000082 cf9e9230 00000000 0100a150 cf2c7580 cf20e860 80000000 [215701.139852] c049f170 cf9e9230 ca90dc74 c1200118 c03e72e5 c03e7311 ca90dc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf9e9230 ca90dc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30707 1821 [215701.139852] 00000000 00000082 cf8c5b80 00000000 0100a150 cf35ee20 ce09f6a0 80000000 [215701.139852] c049f170 cf8c5b80 cc31fc74 c1200118 c03e72e5 c03e7311 cc31fc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf8c5b80 cc31fc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30708 1821 [215701.139852] 00000000 00000086 c15d8060 00000000 0100a150 cfaca3a0 ce09ed60 80000000 [215701.139852] c049f170 c15d8060 c5e13c74 c1200118 c03e72e5 c03e7311 c5e13c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c15d8060 c5e13c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30709 1821 [215701.139852] 00000000 00000082 c15d9440 00000000 0100a150 cf0c5420 c7a05e60 80000000 [215701.139852] c049f170 c15d9440 c802bc74 c1200118 c03e72e5 c03e7311 c802bc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c15d9440 c802bc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30710 1821 [215701.139852] 00000000 00000086 c15d8700 00000000 0100a150 cf0885a0 c21aba20 80000000 [215701.139852] c049f170 c15d8700 cc8d7c74 c1200118 c03e72e5 c03e7311 cc8d7c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c15d8700 cc8d7c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30711 1821 [215701.139852] 00000000 00000086 c15d9ae0 00000000 0100a150 cf2c7a60 c8958920 80000000 [215701.139852] c049f170 c15d9ae0 c1463c74 c1200118 c03e72e5 c03e7311 c1463c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c15d9ae0 c1463c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30712 1821 [215701.139852] 00000000 00000086 c15d83b0 00000000 0100a150 cf2c7c00 cf882740 80000000 [215701.139852] c049f170 c15d83b0 c1409c74 c1200118 c03e72e5 c03e7311 c1409c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c15d83b0 c1409c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30713 1821 [215701.139852] 00000000 00000086 cf8b0ad0 00000000 0100a150 cf331e00 c8a12ce0 80000000 [215701.139852] c049f170 cf8b0ad0 c140bc74 c1200118 c03e72e5 c03e7311 c140bc6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c cf8b0ad0 c140bc88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30720 1821 [215701.139852] 00000000 00000086 c14c5c20 00000000 0100a150 cf2c7da0 c47420e0 80000000 [215701.139852] c049f170 c14c5c20 c14c7c74 c1200118 c03e72e5 c03e7311 c14c7c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c14c5c20 c14c7c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D c04c371c 0 30721 1821 [215701.139852] 00000000 00000082 c14c41a0 c04c371c c0103269 cf35ec80 c4703000 00000500 [215701.139852] c049f170 c14c41a0 c1451c74 c1200118 c03e72e5 c03e7311 c1451c6c c014111d [215701.139852] c03e76f2 c02a07cb c01410f0 c04c371c c14c41a0 c1451c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? common_interrupt+0x29/0x30 [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? mmx_clear_page+0x2b/0xd0 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30722 1821 [215701.139852] 00000000 00000082 c14c58d0 00000000 0100a150 cf35e120 c8958d20 80000000 [215701.139852] c049f170 c14c58d0 c1453c74 c1200118 c03e72e5 c03e7311 c1453c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c14c58d0 c1453c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30723 1821 [215701.139852] 00000000 00000086 c14c44f0 00000000 0100a150 cf35e2c0 c8a12ee0 80000000 [215701.139852] c049f170 c14c44f0 c1651c74 c1200118 c03e72e5 c03e7311 c1651c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c14c44f0 c1651c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30724 1821 [215701.139852] 00000000 00000082 c14c5580 00000000 0100a150 cf35e940 ce05b940 80000000 [215701.139852] c049f170 c14c5580 c1505c74 c1200118 c03e72e5 c03e7311 c1505c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c14c5580 c1505c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? rcu_process_callbacks+0x1e/0x20 [215701.139852] [] ? __do_softirq+0x77/0xe0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D 00000000 0 30752 30751 [215701.139852] 00000000 00000082 c4a00510 00000000 00000000 cfaca880 00000000 00000000 [215701.139852] cf5a11bc ffffffff c4a00510 cf5a11c0 c03e78bb cf5a11c0 cf5a11c0 c4a00510 [215701.139852] c5ad9e70 00000000 c5ad9ef4 c5ad9e70 c03e7819 c016b423 c5ad9e84 cf80c8a0 [215701.139852] Call Trace: [215701.139852] [] ? __mutex_lock_slowpath+0x4b/0x80 [215701.139852] [] ? mutex_lock+0x9/0x10 [215701.139852] [] ? do_lookup+0xe3/0x1e0 [215701.139852] [] ? __link_path_walk+0x17f/0xc40 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D 00000044 0 30755 30754 [215701.139852] 00000000 00000086 c4a015a0 00000044 00000000 cf0c5900 00000000 00000000 [215701.139852] cf6aa63c ffffffff c4a015a0 cf6aa640 c03e78bb c1555e04 c1585e04 c4a015a0 [215701.139852] c1443e70 00000000 c1443ef4 c1443e70 c03e7819 c016b423 c1443e84 cf80c8a0 [215701.139852] Call Trace: [215701.139852] [] ? __mutex_lock_slowpath+0x4b/0x80 [215701.139852] [] ? mutex_lock+0x9/0x10 [215701.139852] [] ? do_lookup+0xe3/0x1e0 [215701.139852] [] ? __link_path_walk+0x6c9/0xc40 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D cf402150 0 30757 30756 [215701.139852] 00000000 00000082 c4a00f00 cf402150 c111e120 cf0c5280 00000000 00000002 [215701.139852] 7fffffff 7fffffff 00000002 00000000 c03e72e5 c03e74cd c018552a 00001000 [215701.139852] 00000000 00001000 00000008 00000000 c027371c 00000000 7fffffff c997f4b8 [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? schedule_timeout+0xdd/0x110 [215701.139852] [] ? bio_add_page+0x3a/0x50 [215701.139852] [] ? _xfs_buf_ioapply+0x18c/0x290 [215701.139852] [] ? wait_for_common+0xef/0x110 [215701.139852] [] ? default_wake_function+0x0/0x10 [215701.139852] [] ? xfs_buf_iowait+0x2e/0x40 [215701.139852] [] ? xfs_buf_read_flags+0x4f/0x80 [215701.139852] [] ? xfs_trans_read_buf+0x181/0x340 [215701.139852] [] ? xfs_imap_to_bp+0x48/0x110 [215701.139852] [] ? xfs_iread+0x94/0x1b0 [215701.139852] [] ? xfs_inode_alloc+0xd1/0x100 [215701.139852] [] ? xfs_iget+0x1f6/0x390 [215701.139852] [] ? xfs_lookup+0xc8/0xf0 [215701.139852] [] ? xfs_vn_lookup+0x55/0xa0 [215701.139852] [] ? do_lookup+0x1ba/0x1e0 [215701.139852] [] ? __link_path_walk+0x6c9/0xc40 [215701.139852] [] ? get_page_from_freelist+0x292/0x450 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? __do_fault+0x2b1/0x3d0 [215701.139852] [] ? do_sys_open+0x5b/0x110 [215701.139852] [] ? sys_open+0x2c/0x40 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D c90a9650 0 30760 30759 [215701.139852] 00000000 00000086 c146d910 c90a9650 c0185ee0 c44afb00 00000400 00000c00 [215701.139852] cf6aa63c ffffffff c146d910 cf6aa640 c03e78bb c1617e04 c1443e04 c146d910 [215701.139852] c1555e70 00000000 c1555ef4 c1555e70 c03e7819 c016b423 c1555e84 cf80c8a0 [215701.139852] Call Trace: [215701.139852] [] ? bio_fs_destructor+0x0/0x10 [215701.139852] [] ? __mutex_lock_slowpath+0x4b/0x80 [215701.139852] [] ? mutex_lock+0x9/0x10 [215701.139852] [] ? do_lookup+0xe3/0x1e0 [215701.139852] [] ? __link_path_walk+0x6c9/0xc40 [215701.139852] [] ? __link_path_walk+0x656/0xc40 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D 1ccf74c0 0 30763 30762 [215701.139852] 00000000 00000082 c146cf20 1ccf74c0 c4a01924 c44af620 c146d2a4 c029d591 [215701.139852] cf6aa63c ffffffff c146cf20 cf6aa640 c03e78bb c16b5e04 c1555e04 c146cf20 [215701.139852] c1617e70 00000000 c1617ef4 c1617e70 c03e7819 c016b423 c1617e84 cf80c8a0 [215701.139852] Call Trace: [215701.139852] [] ? rb_insert_color+0xc1/0xf0 [215701.139852] [] ? __mutex_lock_slowpath+0x4b/0x80 [215701.139852] [] ? mutex_lock+0x9/0x10 [215701.139852] [] ? do_lookup+0xe3/0x1e0 [215701.139852] [] ? __link_path_walk+0x6c9/0xc40 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D 00000000 0 30766 30765 [215701.139852] c146c6b4 00000082 c146c530 00000000 00000000 c44af140 00008068 00000008 [215701.139852] cf6aa63c ffffffff c146c530 cf6aa640 c03e78bb cf6aa640 c16b5e04 c146c530 [215701.139852] cce39e70 00000000 cce39ef4 cce39e70 c03e7819 c016b423 cce39e84 cf80c8a0 [215701.139852] Call Trace: [215701.139852] [] ? __mutex_lock_slowpath+0x4b/0x80 [215701.139852] [] ? mutex_lock+0x9/0x10 [215701.139852] [] ? do_lookup+0xe3/0x1e0 [215701.139852] [] ? __link_path_walk+0x6c9/0xc40 [215701.139852] [] ? do_truncate+0x79/0x90 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] sh D 30000000 0 30769 30768 [215701.139852] 00000000 00000086 c1489930 30000000 00000000 c8baaa00 00000040 00000286 [215701.139852] cf6aa63c ffffffff c1489930 cf6aa640 c03e78bb cce39e04 c1617e04 c1489930 [215701.139852] c16b5e70 00000000 c16b5ef4 c16b5e70 c03e7819 c016b423 c16b5e84 cf80c8a0 [215701.139852] Call Trace: [215701.139852] [] ? __mutex_lock_slowpath+0x4b/0x80 [215701.139852] [] ? mutex_lock+0x9/0x10 [215701.139852] [] ? do_lookup+0xe3/0x1e0 [215701.139852] [] ? __link_path_walk+0x6c9/0xc40 [215701.139852] [] ? path_walk+0x53/0xb0 [215701.139852] [] ? do_path_lookup+0x7b/0x140 [215701.139852] [] ? get_empty_filp+0x3a/0xd0 [215701.139852] [] ? do_filp_open+0xdb/0x830 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? open_exec+0x2f/0xc0 [215701.139852] [] ? do_execve+0x98/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 [215701.139852] vsftpd D 00000000 0 30788 1821 [215701.139852] 00000000 00000086 c1488200 00000000 0100a150 c8baa860 c4105660 80000000 [215701.139852] c049f170 c1488200 c7765c74 c1200118 c03e72e5 c03e7311 c7765c6c c014111d [215701.139852] c03e76f2 00000254 c01410f0 c04c371c c1488200 c7765c88 c11e7340 c01410cc [215701.139852] Call Trace: [215701.139852] [] ? schedule+0x5/0x20 [215701.139852] [] ? io_schedule+0x11/0x20 [215701.139852] [] ? sync_page+0x2d/0x60 [215701.139852] [] ? __wait_on_bit_lock+0x42/0x80 [215701.139852] [] ? sync_page+0x0/0x60 [215701.139852] [] ? __lock_page+0x8c/0xa0 [215701.139852] [] ? wake_bit_function+0x0/0x70 [215701.139852] [] ? find_lock_page+0x4f/0x70 [215701.139852] [] ? filemap_fault+0x115/0x3e0 [215701.139852] [] ? __do_fault+0x42/0x3d0 [215701.139852] [] ? handle_mm_fault+0x14e/0x530 [215701.139852] [] ? do_page_fault+0x132/0x290 [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? error_code+0x65/0x6c [215701.139852] [] ? do_page_fault+0x0/0x290 [215701.139852] [] ? clear_user+0x2f/0x50 [215701.139852] [] ? load_elf_binary+0x8bc/0x1960 [215701.139852] [] ? __alloc_pages_internal+0xac/0x460 [215701.139852] [] ? strrchr+0xb/0x20 [215701.139852] [] ? load_misc_binary+0x84/0x390 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? follow_page+0x117/0x150 [215701.139852] [] ? __get_user_pages+0xfa/0x310 [215701.139852] [] ? get_arg_page+0x4a/0xb0 [215701.139852] [] ? copy_strings+0x16e/0x190 [215701.139852] [] ? search_binary_handler+0x56/0x140 [215701.139852] [] ? do_execve+0x2bb/0x360 [215701.139852] [] ? sys_execve+0x46/0x70 [215701.139852] [] ? sysenter_do_call+0x12/0x26 sysrq-t: ge+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x2a4/0x3e0 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? vfs_read+0xff/0x140 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] misc-daemon S c0499320 0 2307 1 [215680.693452] 00000000 00200082 cf8d8120 c0499320 000f423f cf331440 cf29bb5c cf29bb2c [215680.693452] 19886cce 0000c429 cf29bb5c cf29bb2c c03e72e5 c03e7b43 000f423f 00000000 [215680.693452] 00000000 ce0c3b2c 00000000 00000000 1997af0d 0000c429 19886cce 0000c429 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_hrtimeout_range+0xc3/0x140 [215680.693452] [] ? hrtimer_wakeup+0x0/0x20 [215680.693452] [] ? poll_schedule_timeout+0x2e/0x50 [215680.693452] [] ? do_select+0x3cb/0x4f0 [215680.693452] [] ? __pollwait+0x0/0xf0 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? xfs_da_read_buf+0x30/0x40 [215680.693452] [] ? xfs_dir2_leaf_lookup_int+0x1d9/0x2f0 [215680.693452] [] ? xfs_da_brelse+0x40/0xd0 [215680.693452] [] ? xfs_dir2_leaf_lookup+0xa0/0xc0 [215680.693452] [] ? xfs_dir_lookup+0xc8/0x170 [215680.693452] [] ? igrab+0x1d/0x30 [215680.693452] [] ? xfs_iget+0x2bd/0x390 [215680.693452] [] ? __nf_conntrack_find+0xe7/0x100 [215680.693452] [] ? __nf_ct_refresh_acct+0x27/0xe0 [215680.693452] [] ? udp_packet+0x4f/0x70 [215680.693452] [] ? rtl8169_start_xmit+0x20d/0x3d0 [215680.693452] [] ? do_lookup+0x93/0x1e0 [215680.693452] [] ? core_sys_select+0x1de/0x310 [215680.693452] [] ? dput+0x82/0x100 [215680.693452] [] ? mntput_no_expire+0x13/0xa0 [215680.693452] [] ? path_walk+0xa0/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? getname+0x96/0xd0 [215680.693452] [] ? user_path_at+0x68/0x90 [215680.693452] [] ? cp_new_stat64+0xf7/0x110 [215680.693452] [] ? getnstimeofday+0x54/0x110 [215680.693452] [] ? sys_select+0x2f/0xc0 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] ssh S 00000000 0 3289 1 [215680.693452] 00000000 00000086 cf89d150 00000000 c049cc60 cf0c5aa0 c049c2c0 c0138836 [215680.693452] 00000000 00000000 00000000 00000000 c03e72e5 c03e7ba5 00000000 00000010 [215680.693452] 00000000 c0131c60 00000000 00000010 c011094f c04a1760 00000010 0000c41c [215680.693452] Call Trace: [215680.693452] [] ? tick_handle_periodic_broadcast+0x26/0x80 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_hrtimeout_range+0x125/0x140 [215680.693452] [] ? notify_die+0x30/0x40 [215680.693452] [] ? ack_apic_level+0x3f/0x140 [215680.693452] [] ? poll_schedule_timeout+0x2e/0x50 [215680.693452] [] ? do_select+0x3cb/0x4f0 [215680.693452] [] ? __pollwait+0x0/0xf0 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? dev_queue_xmit+0xbe/0x3b0 [215680.693452] [] ? ip_finish_output+0x192/0x270 [215680.693452] [] ? ip_local_out+0x15/0x20 [215680.693452] [] ? ip_queue_xmit+0x193/0x370 [215680.693452] [] ? tcp_transmit_skb+0x444/0x680 [215680.693452] [] ? sk_reset_timer+0xc/0x20 [215680.693452] [] ? tcp_write_xmit+0x1fb/0x9a0 [215680.693452] [] ? memcpy_toiovec+0x42/0x60 [215680.693452] [] ? __alloc_skb+0x52/0x130 [215680.693452] [] ? release_sock+0xc/0x80 [215680.693452] [] ? tcp_sendmsg+0x694/0xa40 [215680.693452] [] ? core_sys_select+0x1de/0x310 [215680.693452] [] ? do_sync_write+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? sys_select+0x2f/0xc0 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S ff66affe 0 3293 1 [215680.693452] 00000000 00000082 cf864080 ff66affe 00000001 cf288d80 000002f6 cf288d80 [215680.693452] 00000000 00000000 00000000 bfb85a24 c03e72e5 c01394bd 00000000 c049eda0 [215680.693452] c8595e58 00000000 00000000 00000064 c053eb40 c053eb40 c053eb48 c053eb48 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? futex_wait+0x38d/0x3d0 [215680.693452] [] ? wake_futex+0x27/0x40 [215680.693452] [] ? futex_wake+0xc9/0xe0 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_futex+0xe3/0x920 [215680.693452] [] ? __do_fault+0x2b1/0x3d0 [215680.693452] [] ? sys_futex+0x6e/0x120 [215680.693452] [] ? __schedule+0x1cb/0x330 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S 00000000 0 3294 1 [215680.693452] cf8648a4 00000082 cf864720 00000000 00000060 cf288d80 c020ad8c 00000000 [215680.693452] cfa9f800 ce1ffedc cfa9f82c 00000001 c03e72e5 c020b4ba 00000000 00000002 [215680.693452] ce1fff60 cfa9f83c cfa9f834 cfaa4ca0 cfa9f860 cfa9f824 00000000 c44d88fc [215680.693452] Call Trace: [215680.693452] [] ? request_end+0xdc/0x160 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? fuse_dev_read+0x29a/0x480 [215680.693452] [] ? end_bio_bh_io_sync+0x0/0x50 [215680.693452] [] ? fuse_dev_write+0x0/0x3a0 [215680.693452] [] ? do_sync_readv_writev+0xce/0x110 [215680.693452] [] ? cfq_completed_request+0x2b0/0x310 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_IRQ_event+0x2d/0xc0 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S 00000000 0 3295 1 [215680.693452] 00000000 00000082 cf8d87c0 00000000 00000060 cf288d80 c020ad8c 00000000 [215680.693452] cfa9f800 c407bedc cfa9f82c 00000001 c03e72e5 c020b4ba 00000000 00000002 [215680.693452] c407bf60 cfa9f83c cfa9f834 cfaa4ca0 cfa9f860 cfa9f824 00000000 c44d88fc [215680.693452] Call Trace: [215680.693452] [] ? request_end+0xdc/0x160 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? fuse_dev_read+0x29a/0x480 [215680.693452] [] ? fuse_dev_write+0x0/0x3a0 [215680.693452] [] ? do_sync_readv_writev+0xce/0x110 [215680.693452] [] ? tcp_v4_rcv+0x578/0x630 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S c0118423 0 3296 1 [215680.693452] cf89cc34 00000082 cf89cab0 c0118423 00000000 cf288d80 00000001 00000286 [215680.693452] c1e0be2c 7fffffff 7fffffff 00000000 c03e72e5 c03e74cd c88f7ba0 00000000 [215680.693452] c01184ff 00000000 c03c2de8 c88f7ba0 00000286 c89e9c00 c1e0be2c 00000000 [215680.693452] Call Trace: [215680.693452] [] ? __wake_up_common+0x43/0x70 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? __wake_up_sync+0xf/0x20 [215680.693452] [] ? unix_write_space+0x28/0x60 [215680.693452] [] ? unix_stream_recvmsg+0x374/0x4d0 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? sock_aio_read+0x125/0x140 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? do_futex+0xac/0x920 [215680.693452] [] ? tick_handle_periodic+0xf/0x80 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? vfs_read+0x12f/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S 00000000 0 6958 1 [215680.693452] 00000000 00000082 c15d8da0 00000000 00000060 cf288d80 c020ad8c 00000000 [215680.693452] cfa9f800 c1d51edc cfa9f82c 00000001 c03e72e5 c020b4ba 00000000 00000002 [215680.693452] c1d51f60 cfa9f83c cfa9f834 cfaa4ca0 cfa9f860 cfa9f824 00000000 c44d88fc [215680.693452] Call Trace: [215680.693452] [] ? request_end+0xdc/0x160 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? fuse_dev_read+0x29a/0x480 [215680.693452] [] ? fuse_dev_write+0x0/0x3a0 [215680.693452] [] ? do_sync_readv_writev+0xce/0x110 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] ssh S c0499318 0 3302 1 [215680.693452] cf921374 00000082 cf9211f0 c0499318 00000000 cf331920 cf525064 0852507c [215680.693452] 00000000 00000000 00000000 00000000 c03e72e5 c03e7ba5 18000086 eb032807 [215680.693452] 00000000 c9f1bc6c 00001000 c9f1bbd0 c05498a0 c9f1bbd0 00000246 c037b1b7 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_hrtimeout_range+0x125/0x140 [215680.693452] [] ? __nf_conntrack_find+0xe7/0x100 [215680.693452] [] ? poll_schedule_timeout+0x2e/0x50 [215680.693452] [] ? do_select+0x3cb/0x4f0 [215680.693452] [] ? __pollwait+0x0/0xf0 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? ip_finish_output+0x10e/0x270 [215680.693452] [] ? ip_output+0x80/0x90 [215680.693452] [] ? ip_local_out+0x15/0x20 [215680.693452] [] ? ip_queue_xmit+0x193/0x370 [215680.693452] [] ? tcp_transmit_skb+0x444/0x680 [215680.693452] [] ? sk_reset_timer+0xc/0x20 [215680.693452] [] ? tcp_write_xmit+0x1fb/0x9a0 [215680.693452] [] ? udp_manip_pkt+0xe4/0x100 [215680.693452] [] ? getnstimeofday+0x54/0x110 [215680.693452] [] ? __alloc_skb+0x52/0x130 [215680.693452] [] ? release_sock+0xc/0x80 [215680.693452] [] ? tcp_sendmsg+0x694/0xa40 [215680.693452] [] ? core_sys_select+0x1de/0x310 [215680.693452] [] ? common_interrupt+0x29/0x30 [215680.693452] [] ? do_sync_write+0xd5/0x120 [215680.693452] [] ? atomic_notifier_call_chain+0x17/0x20 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? sys_select+0x2f/0xc0 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S ff9ab1c5 0 3305 1 [215680.693452] 00000000 00000082 cf865110 ff9ab1c5 00000001 cf088a80 000002f6 cf088a80 [215680.693452] 00000000 00000000 00000000 bfeac0d4 c03e72e5 c01394bd 00000000 c049eda0 [215680.693452] c7a1fe58 00000000 00000000 00000064 c053dd70 c053dd70 c053dd78 c053dd78 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? futex_wait+0x38d/0x3d0 [215680.693452] [] ? wake_futex+0x27/0x40 [215680.693452] [] ? futex_wake+0xc9/0xe0 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_futex+0xe3/0x920 [215680.693452] [] ? __do_fault+0x2b1/0x3d0 [215680.693452] [] ? sys_futex+0x6e/0x120 [215680.693452] [] ? __schedule+0x1cb/0x330 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S 00000000 0 3306 1 [215680.693452] cf8b1994 00000082 cf8b1810 00000000 00000060 cf088a80 c020ad8c 00000000 [215680.693452] cf253000 c3a9bedc cf25302c 00000001 c03e72e5 c020b4ba 00000000 00000002 [215680.693452] c3a9bf60 cf25303c cf253034 cfa981a0 cf253060 cf253024 00000000 c44d88fc [215680.693452] Call Trace: [215680.693452] [] ? request_end+0xdc/0x160 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? fuse_dev_read+0x29a/0x480 [215680.693452] [] ? end_bio_bh_io_sync+0x0/0x50 [215680.693452] [] ? fuse_dev_write+0x0/0x3a0 [215680.693452] [] ? do_sync_readv_writev+0xce/0x110 [215680.693452] [] ? cfq_completed_request+0x2b0/0x310 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_IRQ_event+0x2d/0xc0 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S 00000000 0 3307 1 [215680.693452] 00000000 00000082 cf89c760 00000000 00000060 cf088a80 c020ad8c 00000000 [215680.693452] cf253000 ce08bedc cf25302c 00000001 c03e72e5 c020b4ba 00000000 00000002 [215680.693452] ce08bf60 cf25303c cf253034 cfa981a0 cf253060 cf253024 00000000 c44d88fc [215680.693452] Call Trace: [215680.693452] [] ? request_end+0xdc/0x160 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? fuse_dev_read+0x29a/0x480 [215680.693452] [] ? fuse_dev_write+0x0/0x3a0 [215680.693452] [] ? do_sync_readv_writev+0xce/0x110 [215680.693452] [] ? tcp_v4_rcv+0x5a4/0x630 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? do_futex+0xe3/0x920 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S c0118423 0 3308 1 [215680.693452] cf89d974 00000082 cf89d7f0 c0118423 00000000 cf088a80 00000001 00000282 [215680.693452] c653be2c 7fffffff 7fffffff 00000000 c03e72e5 c03e74cd c88f7e60 00000000 [215680.693452] c01184ff 00000000 c03c2de8 c88f7e60 00000286 cf208a40 c653be2c 00000000 [215680.693452] Call Trace: [215680.693452] [] ? __wake_up_common+0x43/0x70 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? __wake_up_sync+0xf/0x20 [215680.693452] [] ? unix_write_space+0x28/0x60 [215680.693452] [] ? unix_stream_recvmsg+0x374/0x4d0 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? sock_aio_read+0x125/0x140 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? do_futex+0xac/0x920 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? vfs_read+0x12f/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S 00000000 0 3190 1 [215680.693452] cf8655e4 00000082 cf865460 00000000 00000060 cf088a80 c020ad8c 00000000 [215680.693452] cf253000 c1511edc cf25302c 00000001 c03e72e5 c020b4ba 00000000 00000002 [215680.693452] c1511f60 cf25303c cf253034 cfa981a0 cf253060 cf253024 00000000 c44d88fc [215680.693452] Call Trace: [215680.693452] [] ? request_end+0xdc/0x160 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? fuse_dev_read+0x29a/0x480 [215680.693452] [] ? tcp_v4_do_rcv+0xa3/0x1b0 [215680.693452] [] ? fuse_dev_write+0x0/0x3a0 [215680.693452] [] ? do_sync_readv_writev+0xce/0x110 [215680.693452] [] ? tcp_v4_rcv+0x578/0x630 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? __do_softirq+0x77/0xe0 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S 00000000 0 3191 1 [215680.693452] 00000000 00000082 cf8fab30 00000000 00000060 cf088a80 c020ad8c 00000000 [215680.693452] cf253000 cc7cdedc cf25302c 00000001 c03e72e5 c020b4ba 00000000 00000002 [215680.693452] cc7cdf60 cf25303c cf253034 cfa981a0 cf253060 cf253024 00000000 c44d88fc [215680.693452] Call Trace: [215680.693452] [] ? request_end+0xdc/0x160 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? fuse_dev_read+0x29a/0x480 [215680.693452] [] ? fuse_dev_write+0x0/0x3a0 [215680.693452] [] ? do_sync_readv_writev+0xce/0x110 [215680.693452] [] ? getnstimeofday+0x54/0x110 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? do_futex+0xe3/0x920 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshfs S 00000000 0 3193 1 [215680.693452] 00000000 00000082 c15e30d0 00000000 00000060 cf088a80 c020ad8c 00000000 [215680.693452] cf253000 c1685edc cf25302c 00000001 c03e72e5 c020b4ba 00000000 00000002 [215680.693452] c1685f60 cf25303c cf253034 cfa981a0 cf253060 cf253024 00000000 c44d88fc [215680.693452] Call Trace: [215680.693452] [] ? request_end+0xdc/0x160 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? fuse_dev_read+0x29a/0x480 [215680.693452] [] ? fuse_dev_write+0x0/0x3a0 [215680.693452] [] ? do_sync_readv_writev+0xce/0x110 [215680.693452] [] ? tcp_v4_rcv+0x5e2/0x630 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd R running 0 7269 1821 [215680.693452] c15e2bb4 00000082 c15e2a30 c0499320 00000003 cf0c5c40 000081b6 c0103269 [215680.693452] 00000286 0cd6e035 c9f03cf4 0cd6e034 c03e72e5 c03e74a0 c9f12050 0000007b [215680.693452] 00000000 00200200 0cd6e035 c0124de0 c15e2a30 c053c7c0 c684c040 ce22bd48 [215680.693452] Call Trace: [215680.693452] [] ? common_interrupt+0x29/0x30 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xb0/0x110 [215680.693452] [] ? process_timeout+0x0/0x10 [215680.693452] [] ? xfs_iget+0x1a0/0x390 [215680.693452] [] ? xfs_trans_iget+0xf5/0x120 [215680.693452] [] ? xfs_ialloc+0xba/0x680 [215680.693452] [] ? xfs_dir_ialloc+0x89/0x2e0 [215680.693452] [] ? xfs_trans_reserve+0x82/0x220 [215680.693452] [] ? xfs_create+0x3ea/0x5d0 [215680.693452] [] ? xfs_vn_mknod+0x81/0x120 [215680.693452] [] ? vfs_create+0x90/0xe0 [215680.693452] [] ? xfs_vn_create+0x0/0x10 [215680.693452] [] ? do_filp_open+0x72b/0x830 [215680.693452] [] ? do_sys_open+0x5b/0x110 [215680.693452] [] ? sys_open+0x2c/0x40 [215680.693452] [] ? syscall_call+0x7/0xb [215680.693452] sshd S 00000000 0 13131 1529 [215680.693452] 00000000 00000086 cf920ea0 00000000 00000000 cf088260 00000000 00000000 [215680.693452] c16bfe2c 7fffffff 7fffffff 00000000 c03e72e5 c03e74cd c16bfdb8 c16bfdb8 [215680.693452] c9fa5e2c cc70c084 c16bfdfc cc70c090 c012dbfb 000000c1 c16bfe2c 00000000 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? autoremove_wake_function+0x1b/0x50 [215680.693452] [] ? unix_stream_recvmsg+0x374/0x4d0 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? sock_aio_read+0x125/0x140 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? vfs_read+0x12f/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshd S cf9e9818 0 13134 13131 [215680.693452] cf9202e4 00000082 cf920160 cf9e9818 c04a1760 cf0888e0 00000010 0813ee21 [215680.693452] 00000000 00000000 00000000 00000000 c03e72e5 c03e7ba5 188493cc 00000001 [215680.693452] 00000000 00000000 00000082 cf007400 c02d9ae0 00000082 00000000 00000000 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_hrtimeout_range+0x125/0x140 [215680.693452] [] ? n_tty_poll+0x0/0x1a0 [215680.693452] [] ? poll_schedule_timeout+0x2e/0x50 [215680.693452] [] ? do_select+0x3cb/0x4f0 [215680.693452] [] ? __pollwait+0x0/0xf0 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? ip_local_out+0x15/0x20 [215680.693452] [] ? ip_queue_xmit+0x193/0x370 [215680.693452] [] ? dev_queue_xmit+0xbe/0x3b0 [215680.693452] [] ? ip_finish_output+0x192/0x270 [215680.693452] [] ? ip_local_out+0x15/0x20 [215680.693452] [] ? ip_queue_xmit+0x193/0x370 [215680.693452] [] ? ip_finish_output+0x192/0x270 [215680.693452] [] ? tcp_v4_send_check+0x44/0xf0 [215680.693452] [] ? tcp_transmit_skb+0x444/0x680 [215680.693452] [] ? tcp_write_xmit+0x1fb/0x9a0 [215680.693452] [] ? __alloc_skb+0x52/0x130 [215680.693452] [] ? release_sock+0xc/0x80 [215680.693452] [] ? tcp_sendmsg+0x694/0xa40 [215680.693452] [] ? core_sys_select+0x1de/0x310 [215680.693452] [] ? do_sync_write+0xd5/0x120 [215680.693452] [] ? tty_wakeup+0x2f/0x70 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? sys_select+0x2f/0xc0 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] bash S 00000000 0 13135 13134 [215680.693452] 00000000 00000082 cf9e98d0 00000000 00000000 cf088c20 c0118423 00000004 [215680.693452] 00000001 7fffffff 00000001 00000001 c03e72e5 c03e74cd 00000286 00000000 [215680.693452] 00000004 cf007400 cf007000 c02d6e4f c04b5660 cf007400 00000001 cf007000 [215680.693452] Call Trace: [215680.693452] [] ? __wake_up_common+0x43/0x70 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? tty_wakeup+0x2f/0x70 [215680.693452] [] ? n_tty_read+0x441/0x6c0 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? tty_read+0x8d/0xd0 [215680.693452] [] ? n_tty_read+0x0/0x6c0 [215680.693452] [] ? tty_read+0x0/0xd0 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] screen S cf920160 0 13154 1 [215680.693452] 00000000 00000082 cf89ce00 cf920160 cf252c00 cfb65040 c02de400 c1bde340 [215680.693452] 00000000 00000000 00000000 00000000 c03e72e5 c03e7ba5 c1bde340 00000001 [215680.693452] 00000000 00000000 00000082 cf252c00 c02d9ae0 00000082 00000000 00000000 [215680.693452] Call Trace: [215680.693452] [] ? pty_write+0x0/0x60 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_hrtimeout_range+0x125/0x140 [215680.693452] [] ? n_tty_poll+0x0/0x1a0 [215680.693452] [] ? poll_schedule_timeout+0x2e/0x50 [215680.693452] [] ? do_select+0x3cb/0x4f0 [215680.693452] [] ? __pollwait+0x0/0xf0 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? getnstimeofday+0x54/0x110 [215680.693452] [] ? xlog_write+0x138/0x540 [215680.693452] [] ? xfs_trans_unlock_chunk+0xae/0x100 [215680.693452] [] ? xfs_trans_unlock_items+0x49/0xd0 [215680.693452] [] ? xlog_state_release_iclog+0x33/0x90 [215680.693452] [] ? xfs_log_release_iclog+0x11/0x40 [215680.693452] [] ? _xfs_trans_commit+0x285/0x360 [215680.693452] [] ? kmem_zone_alloc+0x7d/0xc0 [215680.693452] [] ? core_sys_select+0x1de/0x310 [215680.693452] [] ? check_preempt_wakeup+0xad/0xd0 [215680.693452] [] ? __send_signal+0x118/0x220 [215680.693452] [] ? __group_send_sig_info+0x17/0x20 [215680.693452] [] ? kill_pid_info+0x2c/0x50 [215680.693452] [] ? sys_kill+0x9a/0x140 [215680.693452] [] ? dput+0x82/0x100 [215680.693452] [] ? mntput_no_expire+0x13/0xa0 [215680.693452] [] ? do_utimes+0xbc/0x100 [215680.693452] [] ? sys_select+0x2f/0xc0 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] bash S c02d7c50 0 13155 13154 [215680.693452] cf89dcc4 00000082 cf89db40 c02d7c50 c6e288e0 cfb65d40 ccf8c000 c016f78f [215680.693452] cf89db38 cf89db40 cf89dc60 00000003 c03e72e5 c011edd0 ccf8df68 00000003 [215680.693452] 00000000 0000000e 00000000 bfee5c98 00000000 0000000e 00000000 0000000e [215680.693452] Call Trace: [215680.693452] [] ? tty_ioctl+0x0/0x740 [215680.693452] [] ? vfs_ioctl+0x1f/0x80 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] lftp S c02a0447 0 13169 13155 [215680.693452] 00000000 00000082 cf878a90 c02a0447 0000c350 cfb651e0 c14ddbe4 c14ddbb4 [215680.693452] a9e1351a 0000c5a8 c14ddbe4 c14ddbb4 c03e72e5 c03e7b43 0000c350 00000000 [215680.693452] 00000000 cfb71781 cf1a9b2c ce039f58 a9e1f86a 0000c5a8 a9e1351a 0000c5a8 [215680.693452] Call Trace: [215680.693452] [] ? __const_udelay+0x27/0x30 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_hrtimeout_range+0xc3/0x140 [215680.693452] [] ? hrtimer_wakeup+0x0/0x20 [215680.693452] [] ? poll_schedule_timeout+0x2e/0x50 [215680.693452] [] ? do_sys_poll+0x296/0x390 [215680.693452] [] ? __pollwait+0x0/0xf0 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? __generic_unplug_device+0x23/0x30 [215680.693452] [] ? cfq_insert_request+0x24b/0x350 [215680.693452] [] ? __nf_ct_refresh_acct+0xcb/0xe0 [215680.693452] [] ? tcp_packet+0x8ce/0xd40 [215680.693452] [] ? generic_make_request+0x224/0x2f0 [215680.693452] [] ? __nf_conntrack_find+0xe7/0x100 [215680.693452] [] ? nf_conntrack_find_get+0x16/0x120 [215680.693452] [] ? ipt_do_table+0x1bb/0x330 [215680.693452] [] ? sk_reset_timer+0xc/0x20 [215680.693452] [] ? tcp_rcv_established+0x66c/0x7f0 [215680.693452] [] ? tcp_v4_do_rcv+0xa3/0x1b0 [215680.693452] [] ? nf_iterate+0x76/0x90 [215680.693452] [] ? tcp_v4_rcv+0x578/0x630 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? ip_rcv_finish+0x13e/0x270 [215680.693452] [] ? __do_fault+0x2b1/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? getnstimeofday+0x54/0x110 [215680.693452] [] ? sys_poll+0x67/0xd0 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D cf402150 0 19048 1821 [215680.693452] 00000000 00000086 c15e3770 cf402150 c1085ba0 cf331100 00000000 00000001 [215680.693452] 7fffffff 7fffffff 00000002 00000000 c03e72e5 c03e74cd c018552a 00001000 [215680.693452] 00000000 00001000 00000004 00000000 c027371c 00000000 7fffffff c997f878 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? bio_add_page+0x3a/0x50 [215680.693452] [] ? _xfs_buf_ioapply+0x18c/0x290 [215680.693452] [] ? wait_for_common+0xef/0x110 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? xfs_buf_iowait+0x2e/0x40 [215680.693452] [] ? xfs_buf_read_flags+0x4f/0x80 [215680.693452] [] ? xfs_trans_read_buf+0x181/0x340 [215680.693452] [] ? xfs_btree_read_bufl+0x71/0xa0 [215680.693452] [] ? xfs_bmap_read_extents+0xa6/0x380 [215680.693452] [] ? xfs_iread_extents+0x67/0xe0 [215680.693452] [] ? xfs_bmapi+0x11d/0x14d0 [215680.693452] [] ? nf_nat_setup_info+0x57e/0x660 [215680.693452] [] ? ipt_do_table+0x1bb/0x330 [215680.693452] [] ? tulip_start_xmit+0xec/0x120 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? xfs_iomap+0x1b4/0x3e0 [215680.693452] [] ? __xfs_get_blocks+0xa2/0x2a0 [215680.693452] [] ? alloc_buffer_head+0xd/0x60 [215680.693452] [] ? xfs_get_blocks+0x20/0x30 [215680.693452] [] ? __block_prepare_write+0x1d4/0x3f0 [215680.693452] [] ? add_to_page_cache_locked+0x4b/0xb0 [215680.693452] [] ? block_write_begin+0x45/0xe0 [215680.693452] [] ? xfs_get_blocks+0x0/0x30 [215680.693452] [] ? xfs_vm_write_begin+0x46/0x50 [215680.693452] [] ? xfs_get_blocks+0x0/0x30 [215680.693452] [] ? generic_file_buffered_write+0x106/0x300 [215680.693452] [] ? xfs_write+0x77a/0x860 [215680.693452] [] ? xfs_file_aio_write+0x61/0x70 [215680.693452] [] ? do_sync_write+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? page_add_new_anon_rmap+0x56/0x80 [215680.693452] [] ? handle_mm_fault+0x42e/0x530 [215680.693452] [] ? sys_fstat64+0x1e/0x30 [215680.693452] [] ? do_sync_write+0x0/0x120 [215680.693452] [] ? vfs_write+0xa0/0x140 [215680.693452] [] ? sys_write+0x41/0x80 [215680.693452] [] ? syscall_call+0x7/0xb [215680.693452] vsftpd D 00000000 0 29887 1821 [215680.693452] 00000000 00000082 cf9e9580 00000000 4a7df9b3 cf288220 4a8077bb 03bca3c6 [215680.693452] cd1621bc ffffffff cf9e9580 cd1621c0 c03e78bb cd1621c0 cd1621c0 cf9e9580 [215680.693452] 00c372e8 00000000 c89589a0 c3b8a000 c03e7819 c0164c03 00000000 c0164be0 [215680.693452] Call Trace: [215680.693452] [] ? __mutex_lock_slowpath+0x4b/0x80 [215680.693452] [] ? mutex_lock+0x9/0x10 [215680.693452] [] ? generic_file_llseek+0x23/0x60 [215680.693452] [] ? generic_file_llseek+0x0/0x60 [215680.693452] [] ? vfs_llseek+0x3c/0x50 [215680.693452] [] ? sys_llseek+0x56/0x90 [215680.693452] [] ? syscall_call+0x7/0xb [215680.693452] md5sum D 02bb4af3 0 30660 19048 [215680.693452] 00000000 00000086 cf879b20 02bb4af3 00003000 cf35e600 cf402380 00000010 [215680.693452] c049f170 cf879b20 c15a7c74 c12003b0 c03e72e5 c03e7311 c15a7c6c c014111d [215680.693452] c03e76f2 00000003 c01410f0 c04c371c cf879b20 c15a7c88 c10b65a0 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x2a4/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? syscall_call+0x7/0xb [215680.693452] md5sum D c01202d3 0 30661 29887 [215680.693452] 00000000 00000082 cf8783f0 c01202d3 cf6e0390 cfb65520 c21abaa0 c1052d40 [215680.693452] c049f170 cf8783f0 c8123c74 c12003b0 c03e72e5 c03e7311 c8123c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf8783f0 c8123c88 c10b65a0 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? current_fs_time+0x13/0x20 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? syscall_call+0x7/0xb [215680.693452] vsftpd D cf935088 0 30663 1821 [215680.693452] c15d9914 00000082 c15d9790 cf935088 c15d9790 cf288a40 c1200118 c02906a3 [215680.693452] c049f170 c15d9790 c14ebc74 c1200118 c03e72e5 c03e7311 c14ebc6c c014111d [215680.693452] c03e76f2 0000001b c01410f0 c04c371c c15d9790 c14ebc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? __generic_unplug_device+0x23/0x30 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x2a4/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30664 1821 [215680.693452] 00000000 00000082 cf920800 00000000 0100a150 cfaca6e0 c7a057e0 80000000 [215680.693452] c049f170 cf920800 cc643c74 c1200118 c03e72e5 c03e7311 cc643c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf920800 cc643c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30671 1821 [215680.693452] 00000000 00000086 c15d90f0 00000000 010090f0 cfb65ba0 c4099c20 80000000 [215680.693452] c049f170 c15d90f0 c4099c74 c1200118 c03e72e5 c03e7311 c4099c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c15d90f0 c4099c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30672 1821 [215680.693452] 00000000 00000082 cf9204b0 00000000 0100a150 cf331780 ce03f2a0 80000000 [215680.693452] c049f170 cf9204b0 c3ac7c74 c1200118 c03e72e5 c03e7311 c3ac7c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf9204b0 c3ac7c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30673 1821 [215680.693452] 00000000 00000086 cf878de0 00000000 0100a150 cf0880c0 ce05b540 80000000 [215680.693452] c049f170 cf878de0 c9123c74 c1200118 c03e72e5 c03e7311 c9123c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf878de0 c9123c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30674 1821 [215680.693452] 00000000 00000082 c15d8a50 00000000 0100a150 cf35eae0 ce09ec60 80000000 [215680.693452] c049f170 c15d8a50 cd03dc74 c1200118 c03e72e5 c03e7311 cd03dc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c15d8a50 cd03dc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S c999be88 0 30681 1894 [215680.693452] 00000000 00000082 c15e26e0 c999be88 c696b534 cf088740 c016b3d3 c999be9c [215680.693452] cfaf6a00 c999bedc c999bf60 00001000 c03e72e5 c016a175 00000000 c15e26e0 [215680.693452] c012dbe0 cfaf6a00 cfaf6a00 c8c95860 c999bedc c016aa6e 000007f4 c999bf60 [215680.693452] Call Trace: [215680.693452] [] ? do_lookup+0x93/0x1e0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000000 0 30682 30681 [215680.693452] 00000000 00000086 c15e3420 00000000 c106c8c0 cf288700 c0152354 03646067 [215680.693452] c15e3418 c15e3420 c15e3540 00000003 c03e72e5 c011edd0 c1ba3f68 00000003 [215680.693452] 00000000 00000004 00000000 bfb26438 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x104/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D cf402150 0 30683 30682 [215680.693452] 00000000 00000086 cf8b0780 cf402150 c1137380 cf288560 00000000 00000001 [215680.693452] 7fffffff 7fffffff 00000002 00000000 c03e72e5 c03e74cd c018552a 00001000 [215680.693452] 00000000 00001000 00000004 00000000 c027371c 00000000 7fffffff ccd84898 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? bio_add_page+0x3a/0x50 [215680.693452] [] ? _xfs_buf_ioapply+0x18c/0x290 [215680.693452] [] ? wait_for_common+0xef/0x110 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? xfs_buf_iowait+0x2e/0x40 [215680.693452] [] ? xfs_buf_read_flags+0x4f/0x80 [215680.693452] [] ? xfs_trans_read_buf+0x181/0x340 [215680.693452] [] ? xfs_da_do_buf+0x4aa/0x870 [215680.693452] [] ? xfs_da_read_buf+0x30/0x40 [215680.693452] [] ? xfs_dir2_block_lookup_int+0x51/0x200 [215680.693452] [] ? xfs_dir2_block_lookup_int+0x51/0x200 [215680.693452] [] ? xfs_bmap_last_offset+0x12f/0x140 [215680.693452] [] ? xfs_dir2_block_lookup+0x20/0xc0 [215680.693452] [] ? xfs_dir_lookup+0x145/0x170 [215680.693452] [] ? xfs_lookup+0x6b/0xf0 [215680.693452] [] ? xfs_vn_lookup+0x55/0xa0 [215680.693452] [] ? do_lookup+0x1ba/0x1e0 [215680.693452] [] ? __link_path_walk+0x17f/0xc40 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S c6ed1e88 0 30684 1894 [215680.693452] 00000000 00000082 cf920b50 c6ed1e88 c696b534 cf288be0 c016b3d3 c6ed1e9c [215680.693452] cd054400 c6ed1edc c6ed1f60 00001000 c03e72e5 c016a175 00000000 cf920b50 [215680.693452] c012dbe0 cd054400 cd054400 c8c958e0 c6ed1edc c016aa6e 00000781 c6ed1f60 [215680.693452] Call Trace: [215680.693452] [] ? do_lookup+0x93/0x1e0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000000 0 30685 30684 [215680.693452] 00000000 00000086 cf921540 00000000 c103e780 cf2888a0 c0152354 01f3c067 [215680.693452] cf921538 cf921540 cf921660 00000003 c03e72e5 c011edd0 c8e33f68 00000003 [215680.693452] 00000000 00000004 00000000 bfedecd8 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x104/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D cf402150 0 30686 30685 [215680.693452] 00000000 00000082 c15e2390 cf402150 c1037f80 cf288080 00000000 00000001 [215680.693452] 7fffffff 7fffffff 00000002 00000000 c03e72e5 c03e74cd c018552a 00001000 [215680.693452] 00000000 00001000 00000004 00000000 c027371c 00000000 7fffffff ccd84a18 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? bio_add_page+0x3a/0x50 [215680.693452] [] ? _xfs_buf_ioapply+0x18c/0x290 [215680.693452] [] ? wait_for_common+0xef/0x110 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? xfs_buf_iowait+0x2e/0x40 [215680.693452] [] ? xfs_buf_read_flags+0x4f/0x80 [215680.693452] [] ? xfs_trans_read_buf+0x181/0x340 [215680.693452] [] ? xfs_da_do_buf+0x4aa/0x870 [215680.693452] [] ? xfs_da_read_buf+0x30/0x40 [215680.693452] [] ? xfs_dir2_leaf_lookup_int+0x63/0x2f0 [215680.693452] [] ? xfs_dir2_leaf_lookup_int+0x63/0x2f0 [215680.693452] [] ? xfs_bmap_search_multi_extents+0x7b/0x100 [215680.693452] [] ? xfs_dir2_leaf_lookup+0x27/0xc0 [215680.693452] [] ? xfs_dir2_isleaf+0x1f/0x60 [215680.693452] [] ? xfs_dir_lookup+0xc8/0x170 [215680.693452] [] ? xfs_lookup+0x6b/0xf0 [215680.693452] [] ? xfs_vn_lookup+0x55/0xa0 [215680.693452] [] ? do_lookup+0x1ba/0x1e0 [215680.693452] [] ? __link_path_walk+0x6c9/0xc40 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S c1415e88 0 30687 1894 [215680.693452] 00000000 00000086 c15e3ac0 c1415e88 c04c3774 cf2c78c0 c03efda0 0000002c [215680.693452] cd0d7c00 c1415edc c1415f60 00001000 c03e72e5 c016a175 00000000 c15e3ac0 [215680.693452] c012dbe0 cd0d7c00 cd0d7c00 c8b6d940 c1415edc c016aa6e 0000086b c1415f60 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000000 0 30688 30687 [215680.693452] 00000000 00000082 c15e2040 00000000 c10d3c20 cf2c7720 c0152354 069e1067 [215680.693452] c15e2038 c15e2040 c15e2160 00000003 c03e72e5 c011edd0 c1417f68 00000003 [215680.693452] 00000000 00000004 00000000 bfa14098 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x104/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D c0104a67 0 30689 30688 [215680.693452] 00000000 00000086 cf864a70 c0104a67 c1585e10 cf2c70a0 cf864a70 00000000 [215680.693452] cf6aa63c ffffffff cf864a70 cf6aa640 c03e78bb c1443e04 cf6aa640 cf864a70 [215680.693452] c1585e70 00000000 c1585ef4 c1585e70 c03e7819 c016b423 c1585e84 cf80c8a0 [215680.693452] Call Trace: [215680.693452] [] ? handle_irq+0x17/0x20 [215680.693452] [] ? __mutex_lock_slowpath+0x4b/0x80 [215680.693452] [] ? mutex_lock+0x9/0x10 [215680.693452] [] ? do_lookup+0xe3/0x1e0 [215680.693452] [] ? __link_path_walk+0x6c9/0xc40 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30695 1821 [215680.693452] 00000000 00000086 cf8643d0 00000000 0100a150 cfacad60 c8a126e0 80000000 [215680.693452] c049f170 cf8643d0 c70d7c74 c1200118 c03e72e5 c03e7311 c70d7c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf8643d0 c70d7c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30696 1821 [215680.693452] 00000000 00000086 c15e2d80 00000000 0100a150 cf088dc0 cfb99e60 80000000 [215680.693452] c049f170 c15e2d80 c38cbc74 c1200118 c03e72e5 c03e7311 c38cbc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c15e2d80 c38cbc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30697 1821 [215680.693452] 00000000 00000086 cf864dc0 00000000 0100a150 cf3312a0 ce03f520 80000000 [215680.693452] c049f170 cf864dc0 c926dc74 c1200118 c03e72e5 c03e7311 c926dc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf864dc0 c926dc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30698 1821 [215680.693452] 00000000 00000086 cf8d8b10 00000000 0100a150 cfacabc0 ce05b8c0 80000000 [215680.693452] c049f170 cf8d8b10 c260bc74 c1200118 c03e72e5 c03e7311 c260bc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf8d8b10 c260bc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30699 1821 [215680.693452] 00000000 00000086 cf9e8b90 00000000 0100a150 cf0c55c0 c7a05660 80000000 [215680.693452] c049f170 cf9e8b90 ce9cbc74 c1200118 c03e72e5 c03e7311 ce9cbc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf9e8b90 ce9cbc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30700 1821 [215680.693452] 00000000 00000082 cf9e9230 00000000 0100a150 cf2c7580 cf20e860 80000000 [215680.693452] c049f170 cf9e9230 ca90dc74 c1200118 c03e72e5 c03e7311 ca90dc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf9e9230 ca90dc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30707 1821 [215680.693452] 00000000 00000082 cf8c5b80 00000000 0100a150 cf35ee20 ce09f6a0 80000000 [215680.693452] c049f170 cf8c5b80 cc31fc74 c1200118 c03e72e5 c03e7311 cc31fc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf8c5b80 cc31fc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30708 1821 [215680.693452] 00000000 00000086 c15d8060 00000000 0100a150 cfaca3a0 ce09ed60 80000000 [215680.693452] c049f170 c15d8060 c5e13c74 c1200118 c03e72e5 c03e7311 c5e13c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c15d8060 c5e13c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30709 1821 [215680.693452] 00000000 00000082 c15d9440 00000000 0100a150 cf0c5420 c7a05e60 80000000 [215680.693452] c049f170 c15d9440 c802bc74 c1200118 c03e72e5 c03e7311 c802bc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c15d9440 c802bc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30710 1821 [215680.693452] 00000000 00000086 c15d8700 00000000 0100a150 cf0885a0 c21aba20 80000000 [215680.693452] c049f170 c15d8700 cc8d7c74 c1200118 c03e72e5 c03e7311 cc8d7c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c15d8700 cc8d7c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30711 1821 [215680.693452] 00000000 00000086 c15d9ae0 00000000 0100a150 cf2c7a60 c8958920 80000000 [215680.693452] c049f170 c15d9ae0 c1463c74 c1200118 c03e72e5 c03e7311 c1463c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c15d9ae0 c1463c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30712 1821 [215680.693452] 00000000 00000086 c15d83b0 00000000 0100a150 cf2c7c00 cf882740 80000000 [215680.693452] c049f170 c15d83b0 c1409c74 c1200118 c03e72e5 c03e7311 c1409c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c15d83b0 c1409c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30713 1821 [215680.693452] 00000000 00000086 cf8b0ad0 00000000 0100a150 cf331e00 c8a12ce0 80000000 [215680.693452] c049f170 cf8b0ad0 c140bc74 c1200118 c03e72e5 c03e7311 c140bc6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c cf8b0ad0 c140bc88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30720 1821 [215680.693452] 00000000 00000086 c14c5c20 00000000 0100a150 cf2c7da0 c47420e0 80000000 [215680.693452] c049f170 c14c5c20 c14c7c74 c1200118 c03e72e5 c03e7311 c14c7c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c14c5c20 c14c7c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D c04c371c 0 30721 1821 [215680.693452] 00000000 00000082 c14c41a0 c04c371c c0103269 cf35ec80 c4703000 00000500 [215680.693452] c049f170 c14c41a0 c1451c74 c1200118 c03e72e5 c03e7311 c1451c6c c014111d [215680.693452] c03e76f2 c02a07cb c01410f0 c04c371c c14c41a0 c1451c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? common_interrupt+0x29/0x30 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? mmx_clear_page+0x2b/0xd0 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30722 1821 [215680.693452] 00000000 00000082 c14c58d0 00000000 0100a150 cf35e120 c8958d20 80000000 [215680.693452] c049f170 c14c58d0 c1453c74 c1200118 c03e72e5 c03e7311 c1453c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c14c58d0 c1453c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30723 1821 [215680.693452] 00000000 00000086 c14c44f0 00000000 0100a150 cf35e2c0 c8a12ee0 80000000 [215680.693452] c049f170 c14c44f0 c1651c74 c1200118 c03e72e5 c03e7311 c1651c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c14c44f0 c1651c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] vsftpd D 00000000 0 30724 1821 [215680.693452] 00000000 00000082 c14c5580 00000000 0100a150 cf35e940 ce05b940 80000000 [215680.693452] c049f170 c14c5580 c1505c74 c1200118 c03e72e5 c03e7311 c1505c6c c014111d [215680.693452] c03e76f2 00000254 c01410f0 c04c371c c14c5580 c1505c88 c11e7340 c01410cc [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? io_schedule+0x11/0x20 [215680.693452] [] ? sync_page+0x2d/0x60 [215680.693452] [] ? __wait_on_bit_lock+0x42/0x80 [215680.693452] [] ? sync_page+0x0/0x60 [215680.693452] [] ? __lock_page+0x8c/0xa0 [215680.693452] [] ? wake_bit_function+0x0/0x70 [215680.693452] [] ? find_lock_page+0x4f/0x70 [215680.693452] [] ? filemap_fault+0x115/0x3e0 [215680.693452] [] ? __do_fault+0x42/0x3d0 [215680.693452] [] ? rcu_process_callbacks+0x1e/0x20 [215680.693452] [] ? __do_softirq+0x77/0xe0 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_page_fault+0x132/0x290 [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? error_code+0x65/0x6c [215680.693452] [] ? do_page_fault+0x0/0x290 [215680.693452] [] ? clear_user+0x2f/0x50 [215680.693452] [] ? load_elf_binary+0x8bc/0x1960 [215680.693452] [] ? __alloc_pages_internal+0xac/0x460 [215680.693452] [] ? strrchr+0xb/0x20 [215680.693452] [] ? load_misc_binary+0x84/0x390 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? follow_page+0x117/0x150 [215680.693452] [] ? __get_user_pages+0xfa/0x310 [215680.693452] [] ? get_arg_page+0x4a/0xb0 [215680.693452] [] ? copy_strings+0x16e/0x190 [215680.693452] [] ? search_binary_handler+0x56/0x140 [215680.693452] [] ? do_execve+0x2bb/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshd S 00000000 0 30725 1529 [215680.693452] 00000000 00000086 c14c4840 00000000 00000000 cf35e460 00000000 00000000 [215680.693452] c1507e2c 7fffffff 7fffffff 00000000 c03e72e5 c03e74cd c1507db8 c1507db8 [215680.693452] c1641e2c c6a28384 c1507dfc c6a28390 c012dbfb 000000c1 c1507e2c 00000000 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? autoremove_wake_function+0x1b/0x50 [215680.693452] [] ? unix_stream_recvmsg+0x374/0x4d0 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? sock_aio_read+0x125/0x140 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? vfs_read+0x12f/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sshd S c1489518 0 30728 30725 [215680.693452] 00000000 00000082 c14c4b90 c1489518 00000000 cf2c7240 00000046 08000030 [215680.693452] 00000000 00000000 00000000 00000000 c03e72e5 c03e7ba5 18641bec 00000001 [215680.693452] 00000000 00000000 00000082 c8159400 c02d9ae0 00000082 00000000 00000000 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_hrtimeout_range+0x125/0x140 [215680.693452] [] ? n_tty_poll+0x0/0x1a0 [215680.693452] [] ? poll_schedule_timeout+0x2e/0x50 [215680.693452] [] ? do_select+0x3cb/0x4f0 [215680.693452] [] ? __pollwait+0x0/0xf0 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? pollwake+0x0/0x50 [215680.693452] [] ? ip_local_out+0x15/0x20 [215680.693452] [] ? ip_queue_xmit+0x193/0x370 [215680.693452] [] ? skb_checksum+0x4d/0x280 [215680.693452] [] ? tcp_v4_send_check+0x44/0xf0 [215680.693452] [] ? tcp_transmit_skb+0x444/0x680 [215680.693452] [] ? sk_reset_timer+0xc/0x20 [215680.693452] [] ? tcp_write_xmit+0x1fb/0x9a0 [215680.693452] [] ? __alloc_skb+0x52/0x130 [215680.693452] [] ? release_sock+0xc/0x80 [215680.693452] [] ? tcp_sendmsg+0x694/0xa40 [215680.693452] [] ? core_sys_select+0x1de/0x310 [215680.693452] [] ? do_sync_write+0xd5/0x120 [215680.693452] [] ? tty_wakeup+0x2f/0x70 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? sys_select+0x2f/0xc0 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] bash S c02d7c50 0 30729 30728 [215680.693452] c14c53b4 00000086 c14c5230 c02d7c50 cf0afba0 cfaca060 c1440000 c016f78f [215680.693452] c14c5228 c14c5230 c14c5350 00000003 c03e72e5 c011edd0 c1441f68 00000003 [215680.693452] 00000000 0000000e 00000000 bf8316c8 00000000 0000000e 00000000 0000000e [215680.693452] Call Trace: [215680.693452] [] ? tty_ioctl+0x0/0x740 [215680.693452] [] ? vfs_ioctl+0x1f/0x80 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S c14e5e88 0 30750 1894 [215680.693452] 00000000 00000086 c4a00bb0 c14e5e88 c696b534 cf041860 c016b3d3 c14e5e9c [215680.693452] c99f7600 c14e5edc c14e5f60 00001000 c03e72e5 c016a175 00000000 c4a00bb0 [215680.693452] c012dbe0 c99f7600 c99f7600 cfaa45a0 c14e5edc c016aa6e 000005ed c14e5f60 [215680.693452] Call Trace: [215680.693452] [] ? do_lookup+0x93/0x1e0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000000 0 30751 30750 [215680.693452] 00000000 00000082 c4a00860 00000000 c106f760 cfaca540 c0152354 037bb067 [215680.693452] c4a00858 c4a00860 c4a00980 00000003 c03e72e5 c011edd0 c48c9f68 00000003 [215680.693452] 00000000 00000004 00000000 bfdf3088 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x104/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D 00000000 0 30752 30751 [215680.693452] 00000000 00000082 c4a00510 00000000 00000000 cfaca880 00000000 00000000 [215680.693452] cf5a11bc ffffffff c4a00510 cf5a11c0 c03e78bb cf5a11c0 cf5a11c0 c4a00510 [215680.693452] c5ad9e70 00000000 c5ad9ef4 c5ad9e70 c03e7819 c016b423 c5ad9e84 cf80c8a0 [215680.693452] Call Trace: [215680.693452] [] ? __mutex_lock_slowpath+0x4b/0x80 [215680.693452] [] ? mutex_lock+0x9/0x10 [215680.693452] [] ? do_lookup+0xe3/0x1e0 [215680.693452] [] ? __link_path_walk+0x17f/0xc40 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S c14e7e88 0 30753 1894 [215680.693452] 00000000 00000086 c4a001c0 c14e7e88 c696b534 cfaca200 c016b3d3 c14e7e9c [215680.693452] c4c42000 c14e7edc c14e7f60 00001000 c03e72e5 c016a175 00000000 c4a001c0 [215680.693452] c012dbe0 c4c42000 c4c42000 cf83dda0 c14e7edc c016aa6e 00000863 c14e7f60 [215680.693452] Call Trace: [215680.693452] [] ? do_lookup+0x93/0x1e0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000000 0 30754 30753 [215680.693452] 00000000 00000082 c4a01c40 00000000 c11e7720 cf0411e0 c0152354 0f3b9067 [215680.693452] c4a01c38 c4a01c40 c4a01d60 00000003 c03e72e5 c011edd0 c8733f68 00000003 [215680.693452] 00000000 00000004 00000000 bfa8dd98 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x104/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D 00000044 0 30755 30754 [215680.693452] 00000000 00000086 c4a015a0 00000044 00000000 cf0c5900 00000000 00000000 [215680.693452] cf6aa63c ffffffff c4a015a0 cf6aa640 c03e78bb c1555e04 c1585e04 c4a015a0 [215680.693452] c1443e70 00000000 c1443ef4 c1443e70 c03e7819 c016b423 c1443e84 cf80c8a0 [215680.693452] Call Trace: [215680.693452] [] ? __mutex_lock_slowpath+0x4b/0x80 [215680.693452] [] ? mutex_lock+0x9/0x10 [215680.693452] [] ? do_lookup+0xe3/0x1e0 [215680.693452] [] ? __link_path_walk+0x6c9/0xc40 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S c04c371c 0 30756 1894 [215680.693452] 00000000 00000082 c4a01250 c04c371c 000000d0 cf0c5de0 c04c371c 000000d0 [215680.693452] c99f7800 c1429edc c1429f60 00001000 c03e72e5 c016a175 00000000 c4a01250 [215680.693452] c012dbe0 c99f7800 c99f7800 c1bdec40 c1429edc c016aa6e 000006b7 c1429f60 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? getnstimeofday+0x54/0x110 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D cf402150 0 30757 30756 [215680.693452] 00000000 00000082 c4a00f00 cf402150 c111e120 cf0c5280 00000000 00000002 [215680.693452] 7fffffff 7fffffff 00000002 00000000 c03e72e5 c03e74cd c018552a 00001000 [215680.693452] 00000000 00001000 00000008 00000000 c027371c 00000000 7fffffff c997f4b8 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? schedule_timeout+0xdd/0x110 [215680.693452] [] ? bio_add_page+0x3a/0x50 [215680.693452] [] ? _xfs_buf_ioapply+0x18c/0x290 [215680.693452] [] ? wait_for_common+0xef/0x110 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? xfs_buf_iowait+0x2e/0x40 [215680.693452] [] ? xfs_buf_read_flags+0x4f/0x80 [215680.693452] [] ? xfs_trans_read_buf+0x181/0x340 [215680.693452] [] ? xfs_imap_to_bp+0x48/0x110 [215680.693452] [] ? xfs_iread+0x94/0x1b0 [215680.693452] [] ? xfs_inode_alloc+0xd1/0x100 [215680.693452] [] ? xfs_iget+0x1f6/0x390 [215680.693452] [] ? xfs_lookup+0xc8/0xf0 [215680.693452] [] ? xfs_vn_lookup+0x55/0xa0 [215680.693452] [] ? do_lookup+0x1ba/0x1e0 [215680.693452] [] ? __link_path_walk+0x6c9/0xc40 [215680.693452] [] ? get_page_from_freelist+0x292/0x450 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? __do_fault+0x2b1/0x3d0 [215680.693452] [] ? do_sys_open+0x5b/0x110 [215680.693452] [] ? sys_open+0x2c/0x40 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S 00000000 0 30758 1894 [215680.693452] 00000000 00000082 c4a018f0 00000000 00000000 c44afe40 c04c3740 00000246 [215680.693452] c99f7200 c142bedc c142bf60 00001000 c03e72e5 c016a175 00000000 c4a018f0 [215680.693452] c012dbe0 c99f7200 c99f7200 c1bde740 c142bedc c016aa6e 000006a3 c142bf60 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000008 0 30759 30758 [215680.693452] 00000000 00000086 c146dc60 00000008 c10a3920 c44afca0 c0152584 00000000 [215680.693452] c146dc58 c146dc60 c146dd80 00000003 c03e72e5 c011edd0 c146ff68 00000003 [215680.693452] 00000000 00000004 00000000 bfe0bf98 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x334/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D c90a9650 0 30760 30759 [215680.693452] 00000000 00000086 c146d910 c90a9650 c0185ee0 c44afb00 00000400 00000c00 [215680.693452] cf6aa63c ffffffff c146d910 cf6aa640 c03e78bb c1617e04 c1443e04 c146d910 [215680.693452] c1555e70 00000000 c1555ef4 c1555e70 c03e7819 c016b423 c1555e84 cf80c8a0 [215680.693452] Call Trace: [215680.693452] [] ? bio_fs_destructor+0x0/0x10 [215680.693452] [] ? __mutex_lock_slowpath+0x4b/0x80 [215680.693452] [] ? mutex_lock+0x9/0x10 [215680.693452] [] ? do_lookup+0xe3/0x1e0 [215680.693452] [] ? __link_path_walk+0x6c9/0xc40 [215680.693452] [] ? __link_path_walk+0x656/0xc40 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S 00000000 0 30761 1894 [215680.693452] 00000000 00000086 c146d5c0 00000000 00000000 c44af960 c04c3740 00000246 [215680.693452] c1855e00 c1557edc c1557f60 00001000 c03e72e5 c016a175 00000000 c146d5c0 [215680.693452] c012dbe0 c1855e00 c1855e00 c1b028c0 c1557edc c016aa6e 000007f3 c1557f60 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000000 0 30762 30761 [215680.693452] 00000000 00000086 c146d270 00000000 c10eb900 c44af7c0 c0152354 075c8067 [215680.693452] c146d268 c146d270 c146d390 00000003 c03e72e5 c011edd0 c1615f68 00000003 [215680.693452] 00000000 00000004 00000000 bf8208e8 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x104/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D 1ccf74c0 0 30763 30762 [215680.693452] 00000000 00000082 c146cf20 1ccf74c0 c4a01924 c44af620 c146d2a4 c029d591 [215680.693452] cf6aa63c ffffffff c146cf20 cf6aa640 c03e78bb c16b5e04 c1555e04 c146cf20 [215680.693452] c1617e70 00000000 c1617ef4 c1617e70 c03e7819 c016b423 c1617e84 cf80c8a0 [215680.693452] Call Trace: [215680.693452] [] ? rb_insert_color+0xc1/0xf0 [215680.693452] [] ? __mutex_lock_slowpath+0x4b/0x80 [215680.693452] [] ? mutex_lock+0x9/0x10 [215680.693452] [] ? do_lookup+0xe3/0x1e0 [215680.693452] [] ? __link_path_walk+0x6c9/0xc40 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S 00000000 0 30764 1894 [215680.693452] 00000000 00000082 c146cbd0 00000000 00000000 c44af480 c04c3740 00000246 [215680.693452] c1855a00 c8bfdedc c8bfdf60 00001000 c03e72e5 c016a175 00000000 c146cbd0 [215680.693452] c012dbe0 c1855a00 c1855a00 ce09f320 c8bfdedc c016aa6e 00000668 c8bfdf60 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000008 0 30765 30764 [215680.693452] 00000000 00000082 c146c880 00000008 c11002c0 c44af2e0 c0152584 00000000 [215680.693452] c146c878 c146c880 c146c9a0 00000003 c03e72e5 c011edd0 c9ea5f68 00000003 [215680.693452] 00000000 00000004 00000000 bff003a8 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x334/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D 00000000 0 30766 30765 [215680.693452] c146c6b4 00000082 c146c530 00000000 00000000 c44af140 00008068 00000008 [215680.693452] cf6aa63c ffffffff c146c530 cf6aa640 c03e78bb cf6aa640 c16b5e04 c146c530 [215680.693452] cce39e70 00000000 cce39ef4 cce39e70 c03e7819 c016b423 cce39e84 cf80c8a0 [215680.693452] Call Trace: [215680.693452] [] ? __mutex_lock_slowpath+0x4b/0x80 [215680.693452] [] ? mutex_lock+0x9/0x10 [215680.693452] [] ? do_lookup+0xe3/0x1e0 [215680.693452] [] ? __link_path_walk+0x6c9/0xc40 [215680.693452] [] ? do_truncate+0x79/0x90 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] cron S 00000000 0 30767 1894 [215680.693452] 00000000 00000082 c146c1e0 00000000 00000000 c8baad40 c04c3740 00000246 [215680.693452] c1855600 cceededc cceedf60 00001000 c03e72e5 c016a175 00000000 c146c1e0 [215680.693452] c012dbe0 c1855600 c1855600 c8a12ae0 cceededc c016aa6e 000006d9 cceedf60 [215680.693452] Call Trace: [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? pipe_wait+0x45/0x60 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? pipe_read+0x36e/0x430 [215680.693452] [] ? find_get_page+0x1c/0x70 [215680.693452] [] ? find_lock_page+0x1b/0x70 [215680.693452] [] ? do_sync_read+0xd5/0x120 [215680.693452] [] ? autoremove_wake_function+0x0/0x50 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? do_sync_read+0x0/0x120 [215680.693452] [] ? vfs_read+0x9d/0x140 [215680.693452] [] ? sys_read+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh S 00000000 0 30768 30767 [215680.693452] 00000000 00000086 c1489c80 00000000 c115c240 c8baaba0 c0152354 0ae12067 [215680.693452] c1489c78 c1489c80 c1489da0 00000003 c03e72e5 c011edd0 c148bf68 00000003 [215680.693452] 00000000 00000004 00000000 bfe63c48 00000000 00000004 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x104/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] sh D 30000000 0 30769 30768 [215680.693452] 00000000 00000086 c1489930 30000000 00000000 c8baaa00 00000040 00000286 [215680.693452] cf6aa63c ffffffff c1489930 cf6aa640 c03e78bb cce39e04 c1617e04 c1489930 [215680.693452] c16b5e70 00000000 c16b5ef4 c16b5e70 c03e7819 c016b423 c16b5e84 cf80c8a0 [215680.693452] Call Trace: [215680.693452] [] ? __mutex_lock_slowpath+0x4b/0x80 [215680.693452] [] ? mutex_lock+0x9/0x10 [215680.693452] [] ? do_lookup+0xe3/0x1e0 [215680.693452] [] ? __link_path_walk+0x6c9/0xc40 [215680.693452] [] ? path_walk+0x53/0xb0 [215680.693452] [] ? do_path_lookup+0x7b/0x140 [215680.693452] [] ? get_empty_filp+0x3a/0xd0 [215680.693452] [] ? do_filp_open+0xdb/0x830 [215680.693452] [] ? handle_mm_fault+0x14e/0x530 [215680.693452] [] ? open_exec+0x2f/0xc0 [215680.693452] [] ? do_execve+0x98/0x360 [215680.693452] [] ? sys_execve+0x46/0x70 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] su S 00000000 0 30780 30729 [215680.693452] c1489414 00000086 c1489290 00000000 c105ff20 c8baa6c0 c0152354 02ff9067 [215680.693452] c1489288 c1489290 c14893b0 00000003 c03e72e5 c011edd0 c9d01f68 00000003 [215680.693452] 00000000 00000006 00000000 bf87dcb8 00000000 00000006 00000000 00000006 [215680.693452] Call Trace: [215680.693452] [] ? do_wp_page+0x104/0x5d0 [215680.693452] [] ? schedule+0x5/0x20 [215680.693452] [] ? do_wait+0x260/0x300 [215680.693452] [] ? default_wake_function+0x0/0x10 [215680.693452] [] ? sys_wait4+0x7b/0xd0 [215680.693452] [] ? sys_waitpid+0x27/0x30 [215680.693452] [] ? sysenter_do_call+0x12/0x26 [215680.693452] bash R running 0 30781 30780 [215680.693452] c125fdbe c125feb0 00000000 00000001 00000008 00000001 00000010 ffffffff [215680.693452] 6666ffff 35326666 36393335 0000000a ffffffff 3830ffff 00000016 c00b8dc0 [215680.693452] 00000019 c1201d00 c04053a0 00000001 c02e54c1 c125fe08 00000003 c1201d00 [215680.693452] Call Trace: [215680.693452] [] ? scrup+0xe1/0xf0 [215680.693452] [] ? __call_console_drivers+0x3a/0x50 [215680.693452] [] ? __call_console_drivers+0x3a/0x50 [215680.693452] [] ? printk+0x17/0x1b [215680.693452] [] ? print_trace_address+0x49/0x60 [215680.693452] [] ? print_trace_address+0x49/0x60 [215680.693452] [] ? print_trace_address+0x49/0x60 [215680.693452] [] ? print_context_stack+0x4e/0xb0 [215680.693452] [] ? dump_trace+0x6d/0xb0 [215680.693452] [] ? show_trace_log_lvl+0x4b/0x60 [215680.693452] [] ? show_stack_log_lvl+0x5e/0x100 [215680.693452] [] ? show_stack+0x1b/0x20 [215680.693452] [] ? show_state_filter+0x4e/0x70 [215680.693452] [] ? __handle_sysrq+0xe0/0x130 [215680.693452] [] ? write_sysrq_trigger+0x0/0x30 [215680.693452] [] ? write_sysrq_trigger+0x2e/0x30 [215680.693452] [] ? proc_reg_write+0x47/0x70 [215680.693452] [] ? proc_reg_write+0x0/0x70 [215680.693452] [] ? vfs_write+0xa0/0x140 [215680.693452] [] ? sys_write+0x41/0x80 [215680.693452] [] ? sysenter_do_call+0x12/0x26 From BATV+6d0c3f4af24de0d320f9+2179+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 11 09:20:44 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 n7BEK96o138989 for ; Tue, 11 Aug 2009 09:20:34 -0500 X-ASG-Debug-ID: 1250000434-20b803710000-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 5E2D01BD7329 for ; Tue, 11 Aug 2009 07:20:34 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 3kTQmXKvFlcrnF2y for ; Tue, 11 Aug 2009 07:20:34 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MasDF-0000Bb-DN; Tue, 11 Aug 2009 14:20:29 +0000 Date: Tue, 11 Aug 2009 10:20:29 -0400 From: Christoph Hellwig To: Christian Fischer Cc: xfs@oss.sgi.com, Andrew Lyon , Eric Sandeen X-ASG-Orig-Subj: Re: xfs crash, kernel 2.6.29 Subject: Re: xfs crash, kernel 2.6.29 Message-ID: <20090811142029.GB30913@infradead.org> References: <200908110921.50752.Christian.Fischer@easterngraphics.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200908110921.50752.Christian.Fischer@easterngraphics.com> 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: 1250000454 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 11, 2009 at 09:21:50AM +0200, Christian Fischer wrote: > We had a new crash yesterday, server uptime maybe 20 hours. > > This is 2.6.29-xen-r4 from > http://code.google.com/p/gentoo-xen-kernel/downloads/list > > @Eric/Andrew: do we have a xfs or a xen patches problem? It's a known bug that we just fixed in 2.6.31-rc. Can you check if this patch http://bugzilla.kernel.org/attachment.cgi?id=22590 applies to 2.6.29 (I produced it against 2.6.30) From Christian.Fischer@easterngraphics.com Tue Aug 11 09:39:34 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 n7BEd9rk139959 for ; Tue, 11 Aug 2009 09:39:24 -0500 X-ASG-Debug-ID: 1250001587-206b03aa0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from intranet.easterngraphics.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1CF641483191 for ; Tue, 11 Aug 2009 07:39:47 -0700 (PDT) Received: from intranet.easterngraphics.com (intranet.easterngraphics.com [62.80.28.49]) by cuda.sgi.com with ESMTP id GoiKNR9IfZV9iZOe for ; Tue, 11 Aug 2009 07:39:47 -0700 (PDT) Received: from localhost (unknown [127.0.0.1]) by intranet.easterngraphics.com (Postfix) with ESMTP id CD65D1802D787; Tue, 11 Aug 2009 14:39:43 +0000 (UTC) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at easterngraphics.com Received: from intranet.easterngraphics.com ([127.0.0.1]) by localhost (intranet.easterngraphics.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L4Tewo2tQVHS; Tue, 11 Aug 2009 16:39:43 +0200 (CEST) Received: from iwan.easterngraphics.com (gw02dmz.easterngraphics.com [62.80.28.54]) (Authenticated sender: fischer) by intranet.easterngraphics.com (Postfix) with ESMTPSA id 040621802D780; Tue, 11 Aug 2009 16:39:43 +0200 (CEST) From: Christian Fischer Organization: Eastern Graphics GmbH To: Christoph Hellwig X-ASG-Orig-Subj: Re: xfs crash, kernel 2.6.29 Subject: Re: xfs crash, kernel 2.6.29 Date: Tue, 11 Aug 2009 16:39:28 +0200 User-Agent: KMail/1.9.9 Cc: xfs@oss.sgi.com, Andrew Lyon , Eric Sandeen References: <200908110921.50752.Christian.Fischer@easterngraphics.com> <20090811142029.GB30913@infradead.org> In-Reply-To: <20090811142029.GB30913@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908111639.28786.Christian.Fischer@easterngraphics.com> X-Barracuda-Connect: intranet.easterngraphics.com[62.80.28.49] X-Barracuda-Start-Time: 1250001591 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.5911 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean On Tuesday 11 August 2009, Christoph Hellwig wrote: > On Tue, Aug 11, 2009 at 09:21:50AM +0200, Christian Fischer wrote: > > We had a new crash yesterday, server uptime maybe 20 hours. > > > > This is 2.6.29-xen-r4 from > > http://code.google.com/p/gentoo-xen-kernel/downloads/list > > > > @Eric/Andrew: do we have a xfs or a xen patches problem? > > It's a known bug that we just fixed in 2.6.31-rc. Can you check if this > patch > > http://bugzilla.kernel.org/attachment.cgi?id=22590 > > applies to 2.6.29 (I produced it against 2.6.30) Yes, I've seen this after sending my first mail. If there are no patches against 2.6.29 then i have no other chance than trying this, or i switch to ext4. But what happens then? What a bullshit, from one bug to the next, my company kills me. Thanks for all comments and help. Christian From felixb@oss.sgi.com Tue Aug 11 11:07:07 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=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7BG720O145051 for ; Tue, 11 Aug 2009 11:07:07 -0500 Received: (from felixb@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n7BG72EP144969; Tue, 11 Aug 2009 11:07:02 -0500 Date: Tue, 11 Aug 2009 11:07:02 -0500 Message-Id: <200908111607.n7BG72EP144969@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-1256-g7509ee3 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: a81655ae5a9da16a08ba14637dc6c10217e57492 X-Git-Newrev: 7509ee34a365c041718d0b676e5ee255b58b5dda This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated 7509ee3 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get 5a25f1a xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap f56ebd6 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set 837273b xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory ea78cd5 xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result eeb6f67 xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make 0043dd8 xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc 1ec2b8a xfs: switch to NOFS allocation under i_lock in xfs_getbmap efe1f30 xfs: avoid memory allocation under m_peraglock in growfs code from a81655ae5a9da16a08ba14637dc6c10217e57492 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7509ee34a365c041718d0b676e5ee255b58b5dda Author: Christoph Hellwig Date: Sat Jul 18 18:15:01 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get xfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 5a25f1abb26f5ab7c6c72fe0b3807c137ee484bb Author: Christoph Hellwig Date: Sat Jul 18 18:15:00 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap xfs_readlink_bmap is called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f56ebd66df411446030e2cc820554c6ce4ba0836 Author: Christoph Hellwig Date: Sat Jul 18 18:14:59 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set xfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 837273b8a150a3761467573c5eb477791cf19268 Author: Christoph Hellwig Date: Sat Jul 18 18:14:58 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory xfs_buf_associate_memory is used for setting up the spare buffer for the log wrap case in xlog_sync which can happen under i_lock when called from xfs_fsync. The i_lock mutex is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. There are a couple more uses of xfs_buf_associate_memory in the log recovery code that are also affected by this, but I'd rather keep the code simple than passing on a gfp_mask argument. Longer term we should just stop requiring the memoery allocation in xlog_sync by some smaller rework of the buffer layer. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ea78cd5e6b6ebe123641382d5040252d19829332 Author: Christoph Hellwig Date: Sat Jul 18 18:14:57 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit eeb6f67ba1176a141b6802b2ec8505835482f631 Author: Christoph Hellwig Date: Sat Jul 18 18:14:56 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make i_lock is taken in the reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 0043dd88af762d3a9154317d351400b5b941ec8d Author: Christoph Hellwig Date: Sat Jul 18 18:14:55 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs_da_state_alloc is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 1ec2b8a777d6ac5464a836b3c5520b1a5190194c Author: Christoph Hellwig Date: Sat Jul 18 18:14:54 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_getbmap xfs_getbmap allocates memory with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit efe1f30e8f05a3836dfcf6302774707b3b47193f Author: Christoph Hellwig Date: Sat Jul 18 18:14:53 2009 -0400 xfs: avoid memory allocation under m_peraglock in growfs code Allocate the memory for the larger m_perag array before taking the per-AG lock as the per-AG lock can be taken under the i_lock which can be taken from reclaim context. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/xfs_buf.c | 2 +- fs/xfs/xfs_attr.c | 8 +++++--- fs/xfs/xfs_bmap.c | 2 +- fs/xfs/xfs_da_btree.c | 6 +++--- fs/xfs/xfs_dir2.c | 2 +- fs/xfs/xfs_fsops.c | 20 ++++++++++++++------ fs/xfs/xfs_vnodeops.c | 4 +++- 7 files changed, 28 insertions(+), 16 deletions(-) hooks/post-receive -- XFS development tree From jquigley@jquigley.com Tue Aug 11 12:27:11 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 n7BHQpcB148333 for ; Tue, 11 Aug 2009 12:27:01 -0500 X-ASG-Debug-ID: 1250011646-55d702190000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3BD7012152EC for ; Tue, 11 Aug 2009 10:27:26 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id QnXzx5FwCrGGXAn4 for ; Tue, 11 Aug 2009 10:27:26 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id A114B204116; Tue, 11 Aug 2009 17:27:23 +0000 (UTC) Message-ID: <4A81A9F9.4030509@jquigley.com> Date: Tue, 11 Aug 2009 12:27:21 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: Eric Sandeen , XFS Development X-ASG-Orig-Subj: Re: Best design docs for XFS Subject: Re: Best design docs for XFS References: <4A808FC7.2020800@jquigley.com> <4A80A597.6050806@sandeen.net> <20090811025356.GA28108@infradead.org> In-Reply-To: <20090811025356.GA28108@infradead.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250011646 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.5921 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: > On Mon, Aug 10, 2009 at 05:56:23PM -0500, Eric Sandeen wrote: >> It's pretty good still, the fundamental design is not substantially >> changed; you're more likely to find missing bits than "wrong" bits I think. >> >> http://oss.sgi.com/projects/xfs/training/index.html >> >> has more info as well. > > The fundamental design is mostly unchanged. What you might now want to > bother reading of the original documents are: > > dir_design.pdf - the dir code has been completely replaced > threads.pdf - this is totally IRIX specific > scaffold.pdf - again mostly IRIX specific > message.pdf - no idea what this is at all, I never saw traces of this in XFS Thanks a lot guys, that helps. > For all others there's quite a bit of IRIXism in there. Ack. > Is there anything specific you're looking for? In my work, I've just begun to use XFS as the interface into a very large, virtual storage system, to great effect. It's my first direct interaction with the file system, and I've been hugely impressed with its power, speed and versatility. The only unresolved problem that we're experiencing has to do with file system corruption in a failover scenario, and my immediate need in understanding some of the internals is to wrap my hands around this problem (I may email this list with details if I can sufficiently explain myself). A more long-term need we have is for clustering support. I've read lightly about CXFS, though it appears to be inactive, or at least not open source. Has clustering support been discussed with the members here? If so, I'd like to take part in those conversations if there's sufficient interest to engage in that way. Thanks very much again. John Quigley jquigley.com From info@winners.com Tue Aug 11 12:30:40 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_50,DOS_FAKE_SQUIRREL, J_CHICKENPOX_34,J_CHICKENPOX_82,J_CHICKENPOX_83 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 n7BHUIQK148498 for ; Tue, 11 Aug 2009 12:30:30 -0500 X-ASG-Debug-ID: 1250011858-5a9601fb0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.tasr.sk (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id 8076E1215351 for ; Tue, 11 Aug 2009 10:30:58 -0700 (PDT) Received: from mail.tasr.sk (mail.Tasr.sk [195.46.72.7]) by cuda.sgi.com with SMTP id NvU8jAO4R4YkQnaR for ; Tue, 11 Aug 2009 10:30:58 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.tasr.sk (Postfix) with ESMTP id 7834A174A24; Tue, 11 Aug 2009 19:31:50 +0200 (CEST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: Debian amavisd-new at tasr.sk Received: from mail.tasr.sk ([127.0.0.1]) by localhost (mail.tasr.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E7rOTWzk2202; Tue, 11 Aug 2009 19:31:50 +0200 (CEST) Received: from webmail.tasr.sk (localhost [127.0.0.1]) by mail.tasr.sk (Postfix) with ESMTP id C7DC5174A20; Tue, 11 Aug 2009 19:31:49 +0200 (CEST) Received: from 65.120.57.68 (proxying for 192.168.6.8) (SquirrelMail authenticated user telefoto) by webmail.tasr.sk with HTTP; Tue, 11 Aug 2009 19:31:50 +0200 (CEST) Message-ID: <27dd157be63e9677343e4cbc5862baaf.squirrel@webmail.tasr.sk> Date: Tue, 11 Aug 2009 19:31:50 +0200 (CEST) X-ASG-Orig-Subj: Subject: From: "Camelot Group News." Reply-To: prof.shaw09@9.cn User-Agent: SquirrelMail/1.4.15 MIME-Version: 1.0 Content-Type: text/plain;charset=utf-8 X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail.Tasr.sk[195.46.72.7] X-Barracuda-Start-Time: 1250011859 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4728 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 1.29 X-Barracuda-Spam-Status: No, SCORE=1.29 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MISSING_SUBJECT, MISSING_SUBJECT_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5921 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 MISSING_SUBJECT Missing Subject: header 1.28 MISSING_SUBJECT_2 Missing Subject: header X-Virus-Status: Clean REF NO.REF:UKL/74-A0802742009 Congrats!You were selected,in our Uk monthly online Award Bonanza.acknowledge this mail by sending your.Name,Add,Age,Tel,Occupation,Country.to(prof.shaw09@9.cn) for 1,23O,310 GBP.send your data for more details. From info@winners.com Tue Aug 11 12:30:42 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_50,DOS_FAKE_SQUIRREL, J_CHICKENPOX_34,J_CHICKENPOX_82,J_CHICKENPOX_83 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 n7BHUMdU148504 for ; Tue, 11 Aug 2009 12:30:32 -0500 X-ASG-Debug-ID: 1250011860-219e038f0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.tasr.sk (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id 2A04F1215351 for ; Tue, 11 Aug 2009 10:31:00 -0700 (PDT) Received: from mail.tasr.sk (mail.Tasr.sk [195.46.72.7]) by cuda.sgi.com with SMTP id 6rNQyOF7Fs71qk15 for ; Tue, 11 Aug 2009 10:31:00 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.tasr.sk (Postfix) with ESMTP id 5A794174A28; Tue, 11 Aug 2009 19:31:51 +0200 (CEST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: Debian amavisd-new at tasr.sk Received: from mail.tasr.sk ([127.0.0.1]) by localhost (mail.tasr.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ap3Egwt5ocxH; Tue, 11 Aug 2009 19:31:50 +0200 (CEST) Received: from webmail.tasr.sk (localhost [127.0.0.1]) by mail.tasr.sk (Postfix) with ESMTP id 33ABD174A22; Tue, 11 Aug 2009 19:31:50 +0200 (CEST) Received: from 65.120.57.68 (proxying for 192.168.6.8) (SquirrelMail authenticated user telefoto) by webmail.tasr.sk with HTTP; Tue, 11 Aug 2009 19:31:50 +0200 (CEST) Message-ID: Date: Tue, 11 Aug 2009 19:31:50 +0200 (CEST) X-ASG-Orig-Subj: Subject: From: "Camelot Group News." Reply-To: prof.shaw09@9.cn User-Agent: SquirrelMail/1.4.15 MIME-Version: 1.0 Content-Type: text/plain;charset=utf-8 X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail.Tasr.sk[195.46.72.7] X-Barracuda-Start-Time: 1250011864 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4728 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 1.29 X-Barracuda-Spam-Status: No, SCORE=1.29 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MISSING_SUBJECT, MISSING_SUBJECT_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5921 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 MISSING_SUBJECT Missing Subject: header 1.28 MISSING_SUBJECT_2 Missing Subject: header X-Virus-Status: Clean REF NO.REF:UKL/74-A0802742009 Congrats!You were selected,in our Uk monthly online Award Bonanza.acknowledge this mail by sending your.Name,Add,Age,Tel,Occupation,Country.to(prof.shaw09@9.cn) for 1,23O,310 GBP.send your data for more details. From info@winners.com Tue Aug 11 12: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.3 required=5.0 tests=AWL,BAYES_50,DOS_FAKE_SQUIRREL, J_CHICKENPOX_34,J_CHICKENPOX_82,J_CHICKENPOX_83,MISSING_MIMEOLE,SUBJ_ALL_CAPS 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 n7BHUUkP148512 for ; Tue, 11 Aug 2009 12:30:40 -0500 X-ASG-Debug-ID: 1250011854-3d9103490000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.tasr.sk (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id 74B9A3BE3D2 for ; Tue, 11 Aug 2009 10:30:54 -0700 (PDT) Received: from mail.tasr.sk (mail.Tasr.sk [195.46.72.7]) by cuda.sgi.com with SMTP id QrGt5ogrONRPaxaE for ; Tue, 11 Aug 2009 10:30:54 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.tasr.sk (Postfix) with ESMTP id 891AD174A1D; Tue, 11 Aug 2009 19:31:49 +0200 (CEST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: Debian amavisd-new at tasr.sk Received: from mail.tasr.sk ([127.0.0.1]) by localhost (mail.tasr.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x4fshag2wdzN; Tue, 11 Aug 2009 19:31:49 +0200 (CEST) Received: from webmail.tasr.sk (localhost [127.0.0.1]) by mail.tasr.sk (Postfix) with ESMTP id C43F6174A1A; Tue, 11 Aug 2009 19:31:48 +0200 (CEST) Received: from 65.120.57.68 (proxying for 192.168.6.8) (SquirrelMail authenticated user telefoto) by webmail.tasr.sk with HTTP; Tue, 11 Aug 2009 19:31:49 +0200 (CEST) Message-ID: Date: Tue, 11 Aug 2009 19:31:49 +0200 (CEST) X-ASG-Orig-Subj: Subject: ***** SUSPECTED SPAM ***** From: "Camelot Group News." Reply-To: prof.shaw09@9.cn User-Agent: SquirrelMail/1.4.15 MIME-Version: 1.0 Content-Type: text/plain;charset=utf-8 X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail.Tasr.sk[195.46.72.7] X-Barracuda-Start-Time: 1250011858 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5055 1.0000 0.7500 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 2.04 X-Barracuda-Spam-Status: Yes, SCORE=2.04 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MISSING_SUBJECT, MISSING_SUBJECT_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5921 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 MISSING_SUBJECT Missing Subject: header 1.28 MISSING_SUBJECT_2 Missing Subject: header X-Priority: 5 (Lowest) X-MSMail-Priority: Low Importance: Low X-Barracuda-Spam-Flag: YES X-Virus-Status: Clean REF NO.REF:UKL/74-A0802742009 Congrats!You were selected,in our Uk monthly online Award Bonanza.acknowledge this mail by sending your.Name,Add,Age,Tel,Occupation,Country.to(prof.shaw09@9.cn) for 1,23O,310 GBP.send your data for more details. From sandeen@sandeen.net Tue Aug 11 12:47: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7BHlaN4149213 for ; Tue, 11 Aug 2009 12:47:46 -0500 X-ASG-Debug-ID: 1250012878-289800500000-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 817B03BE84A for ; Tue, 11 Aug 2009 10:47:58 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id 67x0XEkfAKTQGjlt for ; Tue, 11 Aug 2009 10:47:58 -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 n7BHlowJ021191; Tue, 11 Aug 2009 13:47:50 -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 n7BHlmni030443; Tue, 11 Aug 2009 13:47:49 -0400 Received: from neon.msp.redhat.com (neon.msp.redhat.com [10.15.80.10]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n7BHllko031606; Tue, 11 Aug 2009 13:47:48 -0400 Message-ID: <4A81AEC3.1060200@sandeen.net> Date: Tue, 11 Aug 2009 12:47:47 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: John Quigley CC: Christoph Hellwig , XFS Development X-ASG-Orig-Subj: Re: Best design docs for XFS Subject: Re: Best design docs for XFS References: <4A808FC7.2020800@jquigley.com> <4A80A597.6050806@sandeen.net> <20090811025356.GA28108@infradead.org> <4A81A9F9.4030509@jquigley.com> In-Reply-To: <4A81A9F9.4030509@jquigley.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-Barracuda-Connect: mx2.redhat.com[66.187.237.31] X-Barracuda-Start-Time: 1250012901 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.5921 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 John Quigley wrote: > Christoph Hellwig wrote: ... >> Is there anything specific you're looking for? > > In my work, I've just begun to use XFS as the interface into a very > large, virtual storage system, to great effect. It's my first direct > interaction with the file system, and I've been hugely impressed with > its power, speed and versatility. > > The only unresolved problem that we're experiencing has to do with > file system corruption in a failover scenario, and my immediate need > in understanding some of the internals is to wrap my hands around > this problem (I may email this list with details if I can > sufficiently explain myself). Any failover you're doing would need to be handled outside the filesystem, of course; STONITH etc? I don't know that reading xfs internals will be all that relevant. But I suppose the details may help if you think it is an xfs-related problem. > A more long-term need we have is for clustering support. I've read > lightly about CXFS, though it appears to be inactive, or at least not > open source. Has clustering support been discussed with the members > here? If so, I'd like to take part in those conversations if there's > sufficient interest to engage in that way. CXFS is and probably will be the only direct clustering mechanism for xfs... it is still active, though as you note it is not (and probably will never be?) open source. block-layer failover should be as possible on xfs as any other filesystem, though. -Eric > Thanks very much again. > > John Quigley jquigley.com > From felixb@oss.sgi.com Tue Aug 11 16:05: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.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7BL5nHn156982 for ; Tue, 11 Aug 2009 16:05:54 -0500 Received: (from felixb@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n7BL5niF156932; Tue, 11 Aug 2009 16:05:49 -0500 Date: Tue, 11 Aug 2009 16:05:49 -0500 Message-Id: <200908112105.n7BL5niF156932@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-1259-g79dd43b X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 7509ee34a365c041718d0b676e5ee255b58b5dda X-Git-Newrev: 79dd43bb85d64ba14a781f940c858d7bbe8c9a6d This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated 79dd43b xfs: fix spin_is_locked assert on uni-processor builds 16715db xfs: check for dinode realtime flag corruption 583e0e4 use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock from 7509ee34a365c041718d0b676e5ee255b58b5dda (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 79dd43bb85d64ba14a781f940c858d7bbe8c9a6d Author: Christoph Hellwig Date: Mon Aug 10 11:32:44 2009 -0300 xfs: fix spin_is_locked assert on uni-processor builds Without SMP or preemption spin_is_locked always returns false, so we can't do an assert with it. Instead use assert_spin_locked, which does the right thing on all builds. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reported-by: Johannes Engel Tested-by: Johannes Engel Signed-off-by: Felix Blyakher commit 16715dbe64ccac265010ab8b60848d212d002521 Author: Christoph Hellwig Date: Mon Aug 10 11:32:18 2009 -0300 xfs: check for dinode realtime flag corruption Ramon tested XFS with a modified version of fsfuzzer and hit a NULL pointer dereference in __xfs_get_blocks due to the RT device target pointer being NULL. To fix this reject inode with the realtime bit set on a a filesystem without an RT subvolume during inode read. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Reported-by: Ramon de Carvalho Valle Tested-by: Ramon de Carvalho Valle Signed-off-by: Felix Blyakher commit 583e0e41ee29478e2147aeffeb772657f8db767a Author: Eric Sandeen Date: Mon Jul 20 10:52:15 2009 -0500 use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock 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. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_btree.c | 4 ++-- fs/xfs/xfs_inode.c | 10 ++++++++++ fs/xfs/xfs_log.c | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) hooks/post-receive -- XFS development tree From felixb@oss.sgi.com Wed Aug 12 01:08:45 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=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7C68eNa181382 for ; Wed, 12 Aug 2009 01:08:45 -0500 Received: (from felixb@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n7C68eIT181287; Wed, 12 Aug 2009 01:08:40 -0500 Date: Wed, 12 Aug 2009 01:08:40 -0500 Message-Id: <200908120608.n7C68eIT181287@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-linus, updated. v2.6.30-rc4-4473-ga8914f3 X-Git-Refname: refs/heads/for-linus X-Git-Reftype: branch X-Git-Oldrev: c8a4051c3731b6db224482218cfd535ab9393ff8 X-Git-Newrev: a8914f3a6d72c97328597a556a99daaf5cc288ae This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-linus has been updated a8914f3 xfs: fix spin_is_locked assert on uni-processor builds b89d420 xfs: check for dinode realtime flag corruption e0c222c use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock ddd3a14 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get 7b02ecb xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap 10746e4 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set 36fae17 xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory 3f52c2f xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result 73195ed xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make f41d7fb xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc ca35dcd xfs: switch to NOFS allocation under i_lock in xfs_getbmap 0cc6eee xfs: avoid memory allocation under m_peraglock in growfs code from c8a4051c3731b6db224482218cfd535ab9393ff8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a8914f3a6d72c97328597a556a99daaf5cc288ae Author: Christoph Hellwig Date: Mon Aug 10 11:32:44 2009 -0300 xfs: fix spin_is_locked assert on uni-processor builds Without SMP or preemption spin_is_locked always returns false, so we can't do an assert with it. Instead use assert_spin_locked, which does the right thing on all builds. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reported-by: Johannes Engel Tested-by: Johannes Engel Signed-off-by: Felix Blyakher commit b89d4208de3de442c9025919c4261be0b38e79a4 Author: Christoph Hellwig Date: Mon Aug 10 11:32:18 2009 -0300 xfs: check for dinode realtime flag corruption Ramon tested XFS with a modified version of fsfuzzer and hit a NULL pointer dereference in __xfs_get_blocks due to the RT device target pointer being NULL. To fix this reject inode with the realtime bit set on a a filesystem without an RT subvolume during inode read. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Reported-by: Ramon de Carvalho Valle Tested-by: Ramon de Carvalho Valle Signed-off-by: Felix Blyakher commit e0c222c411e22f086e929cd69fdcc89336164ec1 Author: Eric Sandeen Date: Mon Jul 20 10:52:15 2009 -0500 use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock 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. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit ddd3a14e0f030f0f7b900621f67532285b8657ef Author: Christoph Hellwig Date: Sat Jul 18 18:15:01 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get xfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 7b02ecb3031b192823bc732ae717febc0a59aa92 Author: Christoph Hellwig Date: Sat Jul 18 18:15:00 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap xfs_readlink_bmap is called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 10746e47e722b5688fcd6eba9fbf9b2e64a248a7 Author: Christoph Hellwig Date: Sat Jul 18 18:14:59 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set xfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 36fae17a648e0aee5d9560514d08477ef48dc87f Author: Christoph Hellwig Date: Sat Jul 18 18:14:58 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory xfs_buf_associate_memory is used for setting up the spare buffer for the log wrap case in xlog_sync which can happen under i_lock when called from xfs_fsync. The i_lock mutex is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. There are a couple more uses of xfs_buf_associate_memory in the log recovery code that are also affected by this, but I'd rather keep the code simple than passing on a gfp_mask argument. Longer term we should just stop requiring the memoery allocation in xlog_sync by some smaller rework of the buffer layer. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 3f52c2f0a07c23771909cc53f2e9451a7f1bf253 Author: Christoph Hellwig Date: Sat Jul 18 18:14:57 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 73195ed7864ae4a1fb0bea2ed9df59d19b4fde90 Author: Christoph Hellwig Date: Sat Jul 18 18:14:56 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make i_lock is taken in the reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e Author: Christoph Hellwig Date: Sat Jul 18 18:14:55 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs_da_state_alloc is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ca35dcd6cae7d4a780c484c53f45548c4719f82c Author: Christoph Hellwig Date: Sat Jul 18 18:14:54 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_getbmap xfs_getbmap allocates memory with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 0cc6eee130b0c062feec8446d9cecdb17d2cfad3 Author: Christoph Hellwig Date: Sat Jul 18 18:14:53 2009 -0400 xfs: avoid memory allocation under m_peraglock in growfs code Allocate the memory for the larger m_perag array before taking the per-AG lock as the per-AG lock can be taken under the i_lock which can be taken from reclaim context. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/xfs_buf.c | 2 +- fs/xfs/xfs_attr.c | 8 +++++--- fs/xfs/xfs_bmap.c | 2 +- fs/xfs/xfs_btree.c | 4 ++-- fs/xfs/xfs_da_btree.c | 6 +++--- fs/xfs/xfs_dir2.c | 2 +- fs/xfs/xfs_fsops.c | 20 ++++++++++++++------ fs/xfs/xfs_inode.c | 10 ++++++++++ fs/xfs/xfs_log.c | 2 +- fs/xfs/xfs_vnodeops.c | 4 +++- 10 files changed, 41 insertions(+), 19 deletions(-) hooks/post-receive -- XFS development tree From felixb@sgi.com Wed Aug 12 01:22:33 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 n7C6MD8h182047 for ; Wed, 12 Aug 2009 01:22:23 -0500 Received: from attica.americas.sgi.com (attica.americas.sgi.com [128.162.236.44]) by relay1.corp.sgi.com (Postfix) with ESMTP id 196688F80E0 for ; Tue, 11 Aug 2009 23:22:57 -0700 (PDT) Received: by attica.americas.sgi.com (Postfix, from userid 29043) id F29EAA1FAFA7; Wed, 12 Aug 2009 01:13:31 -0500 (CDT) Date: Wed, 12 Aug 2009 01:13:31 -0500 To: torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com, akpm@linux-foundation.org Subject: [GIT PULL] XFS update for 2.6.31-rc6 User-Agent: Heirloom mailx 12.2 01/07/07 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20090812061331.F29EAA1FAFA7@attica.americas.sgi.com> From: felixb@sgi.com (Felix Blyakher) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean The following changes since commit 7cb7beb31aa3d941833b6a6e553687422c31e4b6: Linus Torvalds (1): Merge branch 'release' of git://git.kernel.org/.../fyu/linux-2.6 are available in the git repository at: git://oss.sgi.com/xfs/xfs for-linus Christoph Hellwig (11): xfs: avoid memory allocation under m_peraglock in growfs code xfs: switch to NOFS allocation under i_lock in xfs_getbmap xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get xfs: check for dinode realtime flag corruption xfs: fix spin_is_locked assert on uni-processor builds Eric Sandeen (1): use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock fs/xfs/linux-2.6/xfs_buf.c | 2 +- fs/xfs/xfs_attr.c | 8 +++++--- fs/xfs/xfs_bmap.c | 2 +- fs/xfs/xfs_btree.c | 4 ++-- fs/xfs/xfs_da_btree.c | 6 +++--- fs/xfs/xfs_dir2.c | 2 +- fs/xfs/xfs_fsops.c | 20 ++++++++++++++------ fs/xfs/xfs_inode.c | 10 ++++++++++ fs/xfs/xfs_log.c | 2 +- fs/xfs/xfs_vnodeops.c | 4 +++- 10 files changed, 41 insertions(+), 19 deletions(-) From info_2@sify.com Wed Aug 12 03:06:40 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.2 required=5.0 tests=BAYES_50,DOS_FAKE_SQUIRREL, J_CHICKENPOX_32,J_CHICKENPOX_44 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 n7C86KSh186267 for ; Wed, 12 Aug 2009 03:06:30 -0500 X-ASG-Debug-ID: 1250064388-1f7c03d50000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from squirrelmail.gigahost.dk (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0BE2C3C1118 for ; Wed, 12 Aug 2009 01:06:28 -0700 (PDT) Received: from squirrelmail.gigahost.dk (squirrelmail.gigahost.dk [217.116.232.236]) by cuda.sgi.com with ESMTP id B0X9xdyKu50pDHOd for ; Wed, 12 Aug 2009 01:06:28 -0700 (PDT) Received: by squirrelmail.gigahost.dk (Postfix, from userid 33) id 77FAF35BC0D6; Wed, 12 Aug 2009 09:27:06 +0200 (CEST) Received: from 124.13.126.236 (SquirrelMail authenticated user iam@crunk.dk) by squirrelmail.gigahost.dk with HTTP; Wed, 12 Aug 2009 09:27:06 +0200 Message-ID: <390e4668d5b9625da90cd6d0469ccc3b.squirrel@squirrelmail.gigahost.dk> Date: Wed, 12 Aug 2009 09:27:06 +0200 X-ASG-Orig-Subj: Attorney At Law Subject: Attorney At Law From: "Henry lee" Reply-To: henrylee@gmail.com User-Agent: SquirrelMail/1.4.19 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: squirrelmail.gigahost.dk[217.116.232.236] X-Barracuda-Start-Time: 1250064419 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4992 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.5978 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, I am Henry Lee,an attorney at law. A deceased client of mine,that shares the same last name as yours, died as the result of a heart-related condition on March 12th 2005. His heart condition was due to the death of all the members of his family in the tsunami disaster on the 26th December2004 in Sumatra Indonesia . http://en.wikipedia.org/wiki/2004_Indian_Ocean_earthquake My late Client has a deposit of seventeen point five Million Dollars' I can be reached for more information. Best regards, Henry Lee, Attorney at Law TEL: 011 60173942586 From SEMA-CR-1-6A0JUC@ptcmarketing.com Wed Aug 12 03:25:25 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, MIME_8BIT_HEADER 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 n7C8P0P2186986 for ; Wed, 12 Aug 2009 03:25:15 -0500 X-ASG-Debug-ID: 1250065520-5cf700e70000-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 C8B713C1446 for ; Wed, 12 Aug 2009 01:25:21 -0700 (PDT) Received: from relay2.ptc.com (relay2.ptc.com [12.11.148.122]) by cuda.sgi.com with ESMTP id D5GYYzYlCIkcFWWF for ; Wed, 12 Aug 2009 01:25:21 -0700 (PDT) X-IronPort-AV: E=Sophos;i="4.43,365,1246852800"; d="scan'208,217";a="310161594" Received: from hqcrmprdint18.ptcnet.ptc.com ([132.253.201.206]) by crmmaxx.ptc.com with ESMTP; 12 Aug 2009 04:25:21 -0400 Date: Wed, 12 Aug 2009 04:21:15 -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: Expert Guidance on =?utf-8?q?PLM=E2=80=94from?= Intel, HP and PTC Subject: Expert Guidance on =?utf-8?q?PLM=E2=80=94from?= Intel, HP and PTC Sender: "PTC Info" Message-ID: Content-Type: multipart/alternative; boundary=BF_1250065312397_575407010 X-Barracuda-Connect: relay2.ptc.com[12.11.148.122] X-Barracuda-Start-Time: 1250065544 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.5980 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_1250065312397_575407010 Content-Type: text/plain; charset=UTF-8 How to Create an Optimal PLM Implementation Read New Article Series from Leaders in PLM solutions (http://www.ptc.com/read?&u=1-5LWLN-2077&c=1-3VRBYM&o=1-482XH5&w=2354034&t=http%3A%2F%2Fwww.ptc.com%2Fview%3Fim_dbkey%3D90973) What's the key to a successful PLM (Product Lifecycle Management) implementation? That's easy: solid upfront planning, proven PLM software, and the right choice of supporting applications, platforms and storage products. With a successful PLM implementation, you can achieve quicker time-to-market for products, lower development and production costs, and increased revenue during the life of the product. No doubt, we all want that PLM pot of gold, but what's the fastest, easiest route to the end of that rainbow? Most of us don't have the luxury of starting from scratch with PLM--but we do need to get moving fast, because we are now working in a functional, yet sub-optimal environment. We are spending far too much time searching for data, re-creating lost data, and repairing CAD models instead of creating new products or adding features to existing products. We know that we have to work smarter but we find ourselves wondering: * Where do we start? * How do we update our existing product development environment without interrupting current projects? * Where is the best place to spend our IT dollars? * How do we choose from the myriad options available? Now that PLM has been implemented and proven across global industry, there are clear answers to these important questions regarding best solutions, appropriate hardware, and ideal processors for PLM. This article series from HP, Intel and PTC will help you navigate the complex PLM IT territory. Click here to learn more (http://www.ptc.com/read?&u=1-5LWLN-2077&c=1-3VRBYM&o=1-482XH5&w=2354034&t=http%3A%2F%2Fwww.ptc.com%2Fview%3Fim_dbkey%3D90973) =============================================================================== 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-482XH5&campd=1-3VRBYM&conud=1-5LWLN-2077&mailkey=2354034&email=xfs@oss.sgi.com change preferences http://www.ptc.com/appserver/mkt/mail/preferences.jsp?&offd=1-482XH5&campd=1-3VRBYM&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 If you wish to unsubscribe from all PTC Emails, please send a blank email to . --BF_1250065312397_575407010 Content-Type: text/html; charset=UTF-8 Email 1 NA HP/PTC Marketing Program FY09
PTC.com

How to Create an Optimal PLM Implementation

Read New Article Series from Leaders in PLM solutions

What's the key to a successful PLM (Product Lifecycle Management) implementation? That's easy: solid upfront planning, proven PLM software, and the right choice of supporting applications, platforms and storage products. With a successful PLM implementation, you can achieve quicker time-to-market for products, lower development and production costs, and increased revenue during the life of the product. No doubt, we all want that PLM pot of gold, but what's the fastest, easiest route to the end of that rainbow?

Most of us don't have the luxury of starting from scratch with PLM--but we do need to get moving fast, because we are now working in a functional, yet sub-optimal environment. We are spending far too much time searching for data, re-creating lost data, and repairing CAD models instead of creating new products or adding features to existing products. We know that we have to work smarter but we find ourselves wondering:

  • Where do we start?
  • How do we update our existing product development environment without interrupting current projects?
  • Where is the best place to spend our IT dollars?
  • How do we choose from the myriad options available?

Now that PLM has been implemented and proven across global industry, there are clear answers to these important questions regarding best solutions, appropriate hardware, and ideal processors for PLM. This article series from HP, Intel and PTC will help you navigate the complex PLM IT territory.

Click here to learn more

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
If you wish to unsubscribe from all PTC Emails, please send a blank email to unsubscribe@ptc.com.
--BF_1250065312397_575407010-- From info_2@sify.com Wed Aug 12 04:51:55 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.2 required=5.0 tests=BAYES_50,DOS_FAKE_SQUIRREL, J_CHICKENPOX_32,J_CHICKENPOX_44 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7C9pZkf190593 for ; Wed, 12 Aug 2009 04:51:45 -0500 X-ASG-Debug-ID: 1250070712-443200bf0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from squirrelmail.gigahost.dk (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id CF9A81BD8422 for ; Wed, 12 Aug 2009 02:51:52 -0700 (PDT) Received: from squirrelmail.gigahost.dk (squirrelmail.gigahost.dk [217.116.232.236]) by cuda.sgi.com with ESMTP id jF8C37bOtWmKYnGG for ; Wed, 12 Aug 2009 02:51:52 -0700 (PDT) Received: by squirrelmail.gigahost.dk (Postfix, from userid 33) id 07CD255AC2FD; Wed, 12 Aug 2009 09:49:23 +0200 (CEST) Received: from 124.13.126.236 (SquirrelMail authenticated user iam@crunk.dk) by squirrelmail.gigahost.dk with HTTP; Wed, 12 Aug 2009 09:49:23 +0200 Message-ID: <6470b147a65ec7332d3dc59cb6e67f97.squirrel@squirrelmail.gigahost.dk> Date: Wed, 12 Aug 2009 09:49:23 +0200 X-ASG-Orig-Subj: Attorney At Law Subject: Attorney At Law From: "Henry lee" Reply-To: henrylee73@gmail.com User-Agent: SquirrelMail/1.4.19 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: squirrelmail.gigahost.dk[217.116.232.236] X-Barracuda-Start-Time: 1250070736 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: 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.5986 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, I am Henry Lee,an attorney at law. A deceased client of mine,that shares the same last name as yours, died as the result of a heart-related condition on March 12th 2005. His heart condition was due to the death of all the members of his family in the tsunami disaster on the 26th December2004 in Sumatra Indonesia . http://en.wikipedia.org/wiki/2004_Indian_Ocean_earthquake My late Client has a deposit of seventeen point five Million Dollars' I can be reached for more information. Best regards, Henry Lee, Attorney at Law TEL: 011 60173942586 From edvx1@systemanalysen.net Wed Aug 12 13:09:52 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_65 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7CI9Vww215938 for ; Wed, 12 Aug 2009 13:09:42 -0500 X-ASG-Debug-ID: 1250100588-76ae00040000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ngcobalt07.manitu.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6A32C1D576C3 for ; Wed, 12 Aug 2009 11:09:48 -0700 (PDT) Received: from ngcobalt07.manitu.net (ngcobalt07.manitu.net [217.11.48.107]) by cuda.sgi.com with ESMTP id 9FFbFPTxG6wDYBVM for ; Wed, 12 Aug 2009 11:09:48 -0700 (PDT) Received: from mobil.systemanalysen.net (localhost [127.0.0.1]) (authenticated as r.mail with PLAIN) by localhost (8.10.2/8.10.2) with ESMTP id n7CI9mX12171; Wed, 12 Aug 2009 20:09:48 +0200 X-manitu-Original-Sender-IP: 127.0.0.1 X-manitu-Original-Receiver-Name: localhost From: Roland Eggner Reply-To: "Roland Eggner" To: SGI Project XFS mailing list X-ASG-Orig-Subj: free space of root partition decreases unaccountably by some 1024 blocks on every umount+linux shutdown Subject: free space of root partition decreases unaccountably by some 1024 blocks on every umount+linux shutdown Date: Wed, 12 Aug 2009 19:54:14 +0200 User-Agent: KMail/1.11.2 (Linux/2.6.30.4.roland.1; KDE/4.2.2; i686; ; ) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2002440.2gsuD8tyeh"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200908121955.07682.edvx1@systemanalysen.net> X-Barracuda-Connect: ngcobalt07.manitu.net[217.11.48.107] X-Barracuda-Start-Time: 1250100609 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.01 X-Barracuda-Spam-Status: No, SCORE=-1.01 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MARKETING_SUBJECT, SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6015 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --nextPart2002440.2gsuD8tyeh Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline History which lead to actual problem =2D----------------------------------- On July 4th I switched from kernel 2.6.29.5 to 2.6.29.6. On July 18th I noticed the first time this unaccountable decrease of free s= pace of my root partition /dev/hda7: =46or at least several boot-shutdown-cycles it has decreased on every cycle= by some 1020 =E2=80=A6 1030 blocks from originally above 100 MB to 96 MB. Expected change at most =C2=B11 block. Neither xfs_check nor xfs_repair -d= n could detect any flaws. I booted a sidux image with kernel 2.6.27, mounted /dev/hda7 readonly (actu= ally sidux flavour =E2=80=9C/dev/sda7=E2=80=9D), and compared reported free= space =E2=9E=9C decrease seems to occur on umount + system shutdown. Neit= her xfs_check nor =E2=80=9Cxfs_repair -dn=E2=80=9D running under sidux kern= el 2.6.27 could detect any flaws. Only one other flaw is noteworthy (seperate bugreport scheduled): Since one of the 2.6.28.? kernels mount procedures require a time randomly = dithering between less than 1 second and more than 30 seconds with almost n= o harddisk i/o activity, with NO difference between =E2=80=9Cmount -a=E2=80=9D during boot and manual mou= nts, NO difference between mounts of plain and loop-aes-encrypted partitions, NO difference between kernels 2.6.29.[1-6] and 2.6.30.4. Only loop mounts of vfat images happen without remarkable delay. Just after xfs_check and =E2=80=9Cxfs_repair -dn=E2=80=9D have verified a p= articular loop-aes-encrypted filesystem errorfree, kernel complains every t= ime =E2=80=9Csuperblock invalid=E2=80=9D and mounts it successfully. Kerne= l 2.6.30.4 shows the same crazy behavior on mounting of the same and additi= onally another particular loop-aes-encrypted filesystem. Cannot say, if th= is extreme slow mounts are XFS specific, because I do not use any other fil= esystem on this linux system. On August 10th =E2=80=94 after reading =E2=80=9Ckernel.org/ChangeLog-2.6.30= =2Ebz2: xfs: fix bad_features2 fixups for the root filesystem =E2=80=A6=E2= =80=9D =E2=80=94 I switched to kernel 2.6.30.4, which left the problem UNMO= DIFIED. On August 12th free space has decreased to 48 MB, so I am forced to take ac= tions. System details =2D------------- System based on Debian testing. Kernel: from kernel.org tainted by NVIDIA video driver. Applied patches: one from loop-aes-source and another one to fs/namespace.= c setting MNT_STRICTATIME as default mount option. smartmontools short selftest reports are errorfree. =E2=80=9Chdparm -W0 /dev/hda=E2=80=9D performed by a bootscript and externa= l encrypted logdevices are precautions to ensure consistent loop-aes-encryp= ted xfs filesystems =E2=80=94 during 1 year of usage I encountered a few po= wer failures, which caused =E2=80=9Cdirty=E2=80=9D shutdowns of my notebook= but never any filesystem related problems :) # /usr/sbin/xfs_info / meta-data=3D/dev/root isize=3D256 agcount=3D4, agsize=3D748= 776 blks =3D sectsz=3D512 attr=3D2 data =3D bsize=3D1024 blocks=3D2995102, imaxpct= =3D25 =3D sunit=3D0 swidth=3D0 blks naming =3Dversion 2 bsize=3D1024 ascii-ci=3D0 log =3Dinternal bsize=3D1024 blocks=3D10240, version= =3D2 =3D sectsz=3D512 sunit=3D0 blks, lazy-coun= t=3D1 realtime =3Dnone extsz=3D4096 blocks=3D0, rtextents=3D0 $ grep /dev/root /proc/mounts /dev/root / xfs rw,strictatime,attr2,nobarrier,noquota 0 0 At /var /tmp /home are other partitions mounted, therefore the only known w= rite activities on root partition apart from atime updates and temporary lo= ckfiles are concerning at most 6 blocks: # ( export LANGUAGE=3Den_GB ; find / -ctime -1 -not -type d -print0 | xarg= s -0 -- du -bc ) 16 /etc/network/run/ifstate 44 /etc/adjtime~ 44 /etc/adjtime 23 /etc/resolv.conf 1970 /etc/mtab 2097 total No known write activities on system startup prior to mount or on shutdown a= fter umount in directories on root partition, which are hidden by mounts wh= en system is running. xfs_metadump output from 2 consecutive linux sessions, lzma compressed, pro= vided via http-server on request from known XFS developers (preferable gpg = signed). Should I perform a xfsdump|mkfs.xfs|xfsrestore-cycle? Thanks! =2D-=20 Roland Eggner --nextPart2002440.2gsuD8tyeh 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) iEYEABECAAYFAkqDAccACgkQdN/hKfT7G/J9HgCfVNWwvDcM5aQaynFvV7HgjPBw qaoAniqNAYx2khcOib9VQo7AFq1nWOuE =lytW -----END PGP SIGNATURE----- --nextPart2002440.2gsuD8tyeh-- From sandeen@sandeen.net Wed Aug 12 22:16:58 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_65 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7D3GcK1248043 for ; Wed, 12 Aug 2009 22:16:48 -0500 X-ASG-Debug-ID: 1250133412-0ee103720000-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 59856149FBE3 for ; Wed, 12 Aug 2009 20:17:14 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id QctMYnZTMoAZOgyz for ; Wed, 12 Aug 2009 20:17:14 -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 194B4A9BF20; Wed, 12 Aug 2009 22:16:40 -0500 (CDT) Message-ID: <4A838598.4000608@sandeen.net> Date: Wed, 12 Aug 2009 22:16:40 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Roland Eggner CC: SGI Project XFS mailing list X-ASG-Orig-Subj: Re: free space of root partition decreases unaccountably by some 1024 blocks on every umount+linux shutdown Subject: Re: free space of root partition decreases unaccountably by some 1024 blocks on every umount+linux shutdown References: <200908121955.07682.edvx1@systemanalysen.net> In-Reply-To: <200908121955.07682.edvx1@systemanalysen.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1250133440 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.01 X-Barracuda-Spam-Status: No, SCORE=-1.01 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MARKETING_SUBJECT, SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6051 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Roland Eggner wrote: > History which lead to actual problem > ------------------------------------ > On July 4th I switched from kernel 2.6.29.5 to 2.6.29.6. > > On July 18th I noticed the first time this unaccountable decrease of free space of my root partition /dev/hda7: > For at least several boot-shutdown-cycles it has decreased on every cycle by some 1020 … 1030 blocks from originally above 100 MB to 96 MB. > Expected change at most ±1 block. Neither xfs_check nor xfs_repair -dn could detect any flaws. Maybe I missed it in the email, but how have you ruled out the possibility that files are simply growing, thereby using the space? Have you compared # ls -laR / and/or # du -hcx / between a couple of boots? -Eric From bgs@bgs.hu Thu Aug 13 07:37:52 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 n7DCbW77020987 for ; Thu, 13 Aug 2009 07:37:42 -0500 X-ASG-Debug-ID: 1250167069-21b500c10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.bgs.hu (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id B07583C741A for ; Thu, 13 Aug 2009 05:37:49 -0700 (PDT) Received: from mail.bgs.hu (bgs.hu [195.228.254.245]) by cuda.sgi.com with SMTP id 1PH8LZEdUsGU5ASP for ; Thu, 13 Aug 2009 05:37:49 -0700 (PDT) Received: (qmail 19862 invoked from network); 13 Aug 2009 12:37:45 -0000 Received: from unknown (HELO ?192.168.4.159?) (bgs@127.0.0.1) by 0 with SMTP; 13 Aug 2009 12:37:45 -0000 Message-ID: <4A84090A.6040601@bgs.hu> Date: Thu, 13 Aug 2009 14:37:30 +0200 From: Bgs User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: SGI Project XFS mailing list X-ASG-Orig-Subj: fs change on read-only mount Subject: fs change on read-only mount X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: bgs.hu[195.228.254.245] X-Barracuda-Start-Time: 1250167093 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0001 1.0000 -2.0203 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6088 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 Greetings, I don't know xfs' superblock handling well enough, so I'm asking for advice here: Does xfs write anything on the disk when mounting read-only? Is it possible to use a partitions hash (or some well defined portion of the partition) for integrity checks? The partitions are used read-only and hash would be re-generated if any rw action was done (after remount ro or full reboot of course). Can this be done? I'm concerned about 'mount count' like writes... Thanks in advance Bgs From BATV+bb9c7a187b0b6c9972e7+2181+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 13 08:14:11 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 n7DDDk1L022742 for ; Thu, 13 Aug 2009 08:14:01 -0500 X-ASG-Debug-ID: 1250169251-4f04016a0000-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 B2B9114A8AB6 for ; Thu, 13 Aug 2009 06:14:11 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id BlCUoYitnVDuAToC for ; Thu, 13 Aug 2009 06:14:11 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mba87-0003wb-2h; Thu, 13 Aug 2009 13:14:07 +0000 Date: Thu, 13 Aug 2009 09:14:07 -0400 From: Christoph Hellwig To: Bgs Cc: SGI Project XFS mailing list X-ASG-Orig-Subj: Re: fs change on read-only mount Subject: Re: fs change on read-only mount Message-ID: <20090813131407.GA1088@infradead.org> References: <4A84090A.6040601@bgs.hu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A84090A.6040601@bgs.hu> 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: 1250169271 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 13, 2009 at 02:37:30PM +0200, Bgs wrote: > > Greetings, > > I don't know xfs' superblock handling well enough, so I'm asking for > advice here: > > Does xfs write anything on the disk when mounting read-only? Is it > possible to use a partitions hash (or some well defined portion of the > partition) for integrity checks? It should not write anything to disk [1], but older versions did so due to bugs. Doing a hash of a read-only filesystem should be fine. > The partitions are used read-only and hash would be re-generated if any > rw action was done (after remount ro or full reboot of course). Can this > be done? I'm concerned about 'mount count' like writes... There is no mount-count like write in XFS. [1] the only exception is that log reocvery is performed when we attempt a read-only mount with an unclean log, that is the box crashed while writing the filesystems. To make sure you never do this always mark the underlying device readonly, using blkdev --ro. From bgs@bgs.hu Thu Aug 13 08:47: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.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 n7DDkkDx024291 for ; Thu, 13 Aug 2009 08:46:56 -0500 X-ASG-Debug-ID: 1250171239-211b01c50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.bgs.hu (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id 37A313C7DB9 for ; Thu, 13 Aug 2009 06:47:19 -0700 (PDT) Received: from mail.bgs.hu (bgs.hu [195.228.254.245]) by cuda.sgi.com with SMTP id AL0ETIA2ptwBCsKV for ; Thu, 13 Aug 2009 06:47:19 -0700 (PDT) Received: (qmail 22527 invoked from network); 13 Aug 2009 13:47:19 -0000 Received: from unknown (HELO ?192.168.4.159?) (bgs@127.0.0.1) by 0 with SMTP; 13 Aug 2009 13:47:19 -0000 Message-ID: <4A84195C.8070002@bgs.hu> Date: Thu, 13 Aug 2009 15:47:08 +0200 From: Bgs User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: SGI Project XFS mailing list X-ASG-Orig-Subj: Re: fs change on read-only mount Subject: Re: fs change on read-only mount References: <4A84090A.6040601@bgs.hu> <20090813131407.GA1088@infradead.org> In-Reply-To: <20090813131407.GA1088@infradead.org> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: bgs.hu[195.228.254.245] X-Barracuda-Start-Time: 1250171249 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.6091 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 Thanks for the fast answer. So the following scenarios should be ok: 1) Normal boot (no crash, previous mount was ro as well, journal empty) -> mount ro from the beginning => partition hash stays the same 2) Mount rw at any point -> make changes -> remount ro -> sync -> create new hash -> next boot with ro mount has this new hash. Regards Bgs Christoph Hellwig wrote: > On Thu, Aug 13, 2009 at 02:37:30PM +0200, Bgs wrote: >> Greetings, >> >> I don't know xfs' superblock handling well enough, so I'm asking for >> advice here: >> >> Does xfs write anything on the disk when mounting read-only? Is it >> possible to use a partitions hash (or some well defined portion of the >> partition) for integrity checks? > > It should not write anything to disk [1], but older versions did so due to > bugs. Doing a hash of a read-only filesystem should be fine. > >> The partitions are used read-only and hash would be re-generated if any >> rw action was done (after remount ro or full reboot of course). Can this >> be done? I'm concerned about 'mount count' like writes... > > There is no mount-count like write in XFS. > > [1] the only exception is that log reocvery is performed when we attempt > a read-only mount with an unclean log, that is the box crashed while > writing the filesystems. To make sure you never do this always mark > the underlying device readonly, using blkdev --ro. > From BATV+bb9c7a187b0b6c9972e7+2181+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 13 08:48:58 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 n7DDmXM7024412 for ; Thu, 13 Aug 2009 08:48:48 -0500 X-ASG-Debug-ID: 1250171358-210201d70000-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 3F8DA3C7DDE for ; Thu, 13 Aug 2009 06:49:18 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id THLDd9KPK3LTK41I for ; Thu, 13 Aug 2009 06:49:18 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MbagA-0001nJ-C5; Thu, 13 Aug 2009 13:49:18 +0000 Date: Thu, 13 Aug 2009 09:49:18 -0400 From: Christoph Hellwig To: Bgs Cc: SGI Project XFS mailing list X-ASG-Orig-Subj: Re: fs change on read-only mount Subject: Re: fs change on read-only mount Message-ID: <20090813134918.GA6464@infradead.org> References: <4A84090A.6040601@bgs.hu> <20090813131407.GA1088@infradead.org> <4A84195C.8070002@bgs.hu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A84195C.8070002@bgs.hu> 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: 1250171359 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 13, 2009 at 03:47:08PM +0200, Bgs wrote: > > Thanks for the fast answer. > > So the following scenarios should be ok: > > 1) Normal boot (no crash, previous mount was ro as well, journal empty) > -> mount ro from the beginning => partition hash stays the same > > 2) Mount rw at any point -> make changes -> remount ro -> sync -> create > new hash -> next boot with ro mount has this new hash. Yes. From kanishk.85@gmail.com Thu Aug 13 13:17: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.2 required=5.0 tests=AWL,BAYES_00,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 n7DIGisd040795 for ; Thu, 13 Aug 2009 13:16:54 -0500 X-ASG-Debug-ID: 1250187425-343e01970000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-pz0-f200.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 620A33C9411 for ; Thu, 13 Aug 2009 11:17:05 -0700 (PDT) Received: from mail-pz0-f200.google.com (mail-pz0-f200.google.com [209.85.222.200]) by cuda.sgi.com with ESMTP id oLllLEAF8gnWfKtn for ; Thu, 13 Aug 2009 11:17:05 -0700 (PDT) Received: by pzk38 with SMTP id 38so811149pzk.33 for ; Thu, 13 Aug 2009 11:17:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=l9YGtKDfJEXsPgmZZDGHbnvfOxaP4ra1t4LWmIkXB3E=; b=vIn/jzLWQCTY2ZWw4SlycwOSmyaFQL5QTzUoGj0sL24BrtBNHYQnHotSASLm8FdYKn kEC0tv6WBaOIOULYHjju0alkjuFYVwJdA7Zc4mbSTB4SvZCrTf98M7xVKpY2iWLoMiIz y7ZhYzcHd+iaP/CitVyWfuyS9sD9T8Oi+69vA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=pWU7NIYK9p4uMqpSHJHxki6+3VTJKO0wxEipmn/mggsjqIY7x4z0KtImyrPSweBcaP vtg5IDmY/ChiXxasAT0F0SymQLM6X5zzKoLR9Vs5g5oFML/D4GeHdVFnBOi8pKjcSVb9 MX/DnnP3IwWHAPIoIqvEIj4g1Bhj+TZ132go0= MIME-Version: 1.0 Received: by 10.142.13.13 with SMTP id 13mr201189wfm.119.1250187423270; Thu, 13 Aug 2009 11:17:03 -0700 (PDT) Date: Thu, 13 Aug 2009 23:47:03 +0530 Message-ID: <9ee2fe770908131117o5b7ec317me4524d020bbe216b@mail.gmail.com> X-ASG-Orig-Subj: xfs buffers Subject: xfs buffers From: kanishk rastogi To: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=000e0cd5097a444823047109f198 X-Barracuda-Connect: mail-pz0-f200.google.com[209.85.222.200] X-Barracuda-Start-Time: 1250187449 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0002 1.0000 -2.0196 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.6109 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 --000e0cd5097a444823047109f198 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit hi all, I was trying to understand the xfs_buf_t management in XFS. I was looking at the xfs_bufhash_t which is used to keep the info of buffers which have ongoing transactions. I wanted to know if it uses it for caching these pages. As far as i can see in xfs_buf_relse calls :: list_del_init(&bp->b_hash_list); if the count drops down to 0 for the buffer... if (atomic_dec_and_lock(&bp->b_hold, &hash->bh_lock)) { if (bp->b_relse) { ----->set only in case of error?? atomic_inc(&bp->b_hold); spin_unlock(&hash->bh_lock); (*(bp->b_relse)) (bp); } else if (bp->b_flags & XBF_FS_MANAGED) { ----> mostly unset...... spin_unlock(&hash->bh_lock); } else { ASSERT(!(bp->b_flags & (XBF_DELWRI|_XBF_DELWRI_Q))); *list_del_init(&bp->b_hash_list);* spin_unlock(&hash->bh_lock); xfs_buf_free(bp); } } --------------- CMIIW: So it doesnt keeps buffers if they are not in use.... ?? I dont think that should be the case... -- regards kanishk --000e0cd5097a444823047109f198 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable hi all,
I was trying to understand the xfs_buf_t management in XFS.
I= was looking at the xfs_bufhash_t which is used to keep the info of buffers= which have ongoing transactions.
I wanted to know if it uses it for cac= hing these pages.

As far as i can see in xfs_buf_relse=A0 calls ::

l= ist_del_init(&bp->b_hash_list);

if the count drops down to 0 = for the buffer...

if (atomic_dec_and_lock(&bp->b_hold, &h= ash->bh_lock)) {
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (bp->b_relse) { -----&g= t;set only in case of error??
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 atomic_inc(&bp->b_hold);
=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 spin_unlock(&= hash->bh_lock);
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 (*(bp->b_relse)) (bp);
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if (bp->b_flags &am= p; XBF_FS_MANAGED) { ----> mostly unset......
=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 spin_unlock(&hash->= bh_lock);
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else {
=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 ASSERT(!= (bp->b_flags & (XBF_DELWRI|_XBF_DELWRI_Q)));
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 li= st_del_init(&bp->b_hash_list);
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 spin_unlock(&hash->bh_lock);=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 x= fs_buf_free(bp);
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 }
=A0= =A0=A0=A0=A0=A0=A0 }

---------------

CMIIW:
So it doesnt keeps buffers if they are not in use....=A0 ??
I dont think that should be the case...

--
regards
kan= ishk
--000e0cd5097a444823047109f198-- From jquigley@jquigley.com Thu Aug 13 15:17: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.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 n7DKGjUQ047513 for ; Thu, 13 Aug 2009 15:16:55 -0500 X-ASG-Debug-ID: 1250194646-13d301ac0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2B56814AE816 for ; Thu, 13 Aug 2009 13:17:26 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id 1Tc95c10IsMEihSK for ; Thu, 13 Aug 2009 13:17:26 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 3076E204116 for ; Thu, 13 Aug 2009 20:17:23 +0000 (UTC) Message-ID: <4A8474D2.7050508@jquigley.com> Date: Thu, 13 Aug 2009 15:17:22 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: XFS Development X-ASG-Orig-Subj: XFS corruption with failover Subject: XFS corruption with failover Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250194648 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.6117 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 Folks: We're deploying XFS in a configuration where the file system is being exported with NFS. XFS is being mounted on Linux, with default options; an iSCSI volume is the formatted media. We're working out a failover solution for this deployment utilizing Linux HA. Things appear to work correctly in the general case, but in continuous testing we're getting XFS superblock corruption on a very reproducible basis. The sequence of events in our test scenario: 1. NFS server #1 online 2. Run IO to NFS server #1 from NFS client 3. NFS server #1 offline, (via passing 'b' to /proc/sysrq-trigger) 4. NFS server #2 online 5. XFS mounted as part of failover mechanism, mount fails The mount fails with the following: kernel: XFS mounting filesystem sde kernel: Starting XFS recovery on filesystem: sde (logdev: internal) kernel: XFS: xlog_recover_process_data: bad clientid kernel: XFS: log mount/recovery failed: error 5 kernel: XFS: log mount failed When running xfs_repair: [root@machine ~]# xfs_repair /dev/sde xfs_repair: warning - cannot set blocksize on block device /dev/sde: Invalid argument Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... ERROR: The filesystem has valuable metadata changes in a log which needs ... Any advice or insight into what we're doing wrong would be very much appreciated. My apologies in advance for the somewhat off-topic question. - John Quigley From eflorac@intellique.com Thu Aug 13 16:19:38 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=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 n7DLJHi4051988 for ; Thu, 13 Aug 2009 16:19:28 -0500 X-ASG-Debug-ID: 1250198350-7b8100740000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from smtp5-g21.free.fr (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id EBE2314AF272 for ; Thu, 13 Aug 2009 14:19:14 -0700 (PDT) Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id HWxYNKurXR09W2Fj for ; Thu, 13 Aug 2009 14:19:14 -0700 (PDT) Received: from smtp5-g21.free.fr (localhost [127.0.0.1]) by smtp5-g21.free.fr (Postfix) with ESMTP id 00C4FD480D4; Thu, 13 Aug 2009 23:19:04 +0200 (CEST) Received: from galadriel.home (pla78-1-82-235-234-79.fbx.proxad.net [82.235.234.79]) by smtp5-g21.free.fr (Postfix) with ESMTP id 03E59D4808B; Thu, 13 Aug 2009 23:19:01 +0200 (CEST) Date: Thu, 13 Aug 2009 23:17:39 +0200 From: Emmanuel Florac To: John Quigley Cc: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover Message-ID: <20090813231739.5c7db91d@galadriel.home> In-Reply-To: <4A8474D2.7050508@jquigley.com> References: <4A8474D2.7050508@jquigley.com> Organization: Intellique X-Mailer: Claws Mail 3.0.2 (GTK+ 2.12.9; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1250198361 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.6123 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 Le Thu, 13 Aug 2009 15:17:22 -0500 vous =E9criviez: > Any advice or insight into what we're doing wrong would be very much > appreciated. My apologies in advance for the somewhat off-topic > question. By killing abruptly the primary server while doing IO, you're probably pushing the envelope... You may have a somewhat better luck with a cluster fs, OCFS2 works very well for me usually (GFS is a complete PITA to setup).=20 The better option would be to disallow completely write caching on the client side (because this is probably where it's going wrong) however I don't know how. You can get it to flush extremely often by playing with /proc/sys/vm/dirty_expire_centiseconds and /proc/sys/vm/dirty_writeback_centisecs, though. Safer settings generally imply terrible performance, though, you've been warned. Ah another thing may be some cache option in the iSCSI target. what target are you using? =20 --=20 -------------------------------------------------- Emmanuel Florac www.intellique.com =20 -------------------------------------------------- From felixb@sgi.com Thu Aug 13 17:00:32 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 n7DM0Cb4053816 for ; Thu, 13 Aug 2009 17:00:22 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2AA8F304089 for ; Thu, 13 Aug 2009 15:00:58 -0700 (PDT) Received: from eagdhcp-232-172.americas.sgi.com (eagdhcp-232-172.americas.sgi.com [128.162.232.172]) by estes.americas.sgi.com (Postfix) with ESMTP id BBB2E7000103; Thu, 13 Aug 2009 16:44:05 -0500 (CDT) Cc: XFS Development Message-Id: From: Felix Blyakher To: John Quigley In-Reply-To: <4A8474D2.7050508@jquigley.com> 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: XFS corruption with failover Date: Thu, 13 Aug 2009 16:44:05 -0500 References: <4A8474D2.7050508@jquigley.com> 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 13, 2009, at 3:17 PM, John Quigley wrote: > Folks: > > We're deploying XFS in a configuration where the file system is > being exported with NFS. XFS is being mounted on Linux, with > default options; an iSCSI volume is the formatted media. We're > working out a failover solution for this deployment utilizing Linux > HA. Things appear to work correctly in the general case, but in > continuous testing we're getting XFS superblock corruption on a very > reproducible basis. > The sequence of events in our test scenario: > > 1. NFS server #1 online > 2. Run IO to NFS server #1 from NFS client > 3. NFS server #1 offline, (via passing 'b' to /proc/sysrq-trigger) > 4. NFS server #2 online > 5. XFS mounted as part of failover mechanism, mount fails > > The mount fails with the following: > > > kernel: XFS mounting filesystem sde > kernel: Starting XFS recovery on filesystem: sde (logdev: internal) > kernel: XFS: xlog_recover_process_data: bad clientid > kernel: XFS: log mount/recovery failed: error 5 This is an IO error. Is the block device (/dev/sde) accessible from the server #2 OK? Can you dd from that device? > > kernel: XFS: log mount failed > > > When running xfs_repair: That's not a good time to run xfs_repair. There were no indication that the filesystem is corrupted. Let's take for a sec "NFS server #2" out of the picture. Can you mount the filesystem from the original server after it reboots? Felix > > > > [root@machine ~]# xfs_repair /dev/sde xfs_repair: warning - cannot > set blocksize on block device /dev/sde: Invalid argument > Phase 1 - find and verify superblock... > Phase 2 - using internal log > - zero log... > ERROR: The filesystem has valuable metadata changes in a log which > needs ... > > > Any advice or insight into what we're doing wrong would be very much > appreciated. My apologies in advance for the somewhat off-topic > question. > > - John Quigley > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Thu Aug 13 17:15:58 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 n7DMFcBi054665 for ; Thu, 13 Aug 2009 17:15:48 -0500 X-ASG-Debug-ID: 1250201756-174b03210000-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 8C24B1432158 for ; Thu, 13 Aug 2009 15:15:56 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id y4ZOwDYwZQ5AgU1g for ; Thu, 13 Aug 2009 15:15:56 -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 n7DMFqei023167 for ; Thu, 13 Aug 2009 18:15:52 -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 n7DMFq7A027113 for ; Thu, 13 Aug 2009 18:15:52 -0400 Received: from neon.msp.redhat.com (neon.msp.redhat.com [10.15.80.10]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n7DMFoN3009350 for ; Thu, 13 Aug 2009 18:15:51 -0400 Message-ID: <4A849096.1010600@sandeen.net> Date: Thu, 13 Aug 2009 17:15:50 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: xfs mailing list X-ASG-Orig-Subj: [PATCH] xfs_io: actually issue 0 size writes Subject: [PATCH] xfs_io: actually issue 0 size writes 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: 1250201783 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.6125 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 While testing some stuff in generic_write_checks() in the kernel I realized that you can't actually use xfs_io to send a 0-byte write in. This is actually a condition worth testing: If count is zero and fd refers to a regular file, then write() may return a failure status if one of the errors below is detected. If no errors are detected, 0 will be returned without causing any other effect. So fix that up. Signed-off-by: Eric Sandeen --- iff --git a/io/pwrite.c b/io/pwrite.c index 54c3f78..26a7850 100644 --- a/io/pwrite.c +++ b/io/pwrite.c @@ -163,7 +163,7 @@ write_buffer( int ops = 0; *total = 0; - while (count > 0) { + while (count >= 0) { if (fd > 0) { /* input file given, read buffer first */ if (read_buffer(fd, skip + *total, bs, &bar, 0, 1) < 0) break; @@ -182,6 +182,8 @@ write_buffer( break; offset += bytes; count -= bytes; + if (count == 0) + break; } return ops; } From felixb@sgi.com Thu Aug 13 17:52: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=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 n7DMphgf056108 for ; Thu, 13 Aug 2009 17:51:53 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 64825304112 for ; Thu, 13 Aug 2009 15:52:29 -0700 (PDT) Received: from eagdhcp-232-172.americas.sgi.com (eagdhcp-232-172.americas.sgi.com [128.162.232.172]) by estes.americas.sgi.com (Postfix) with ESMTP id 4FA2270001C8; Thu, 13 Aug 2009 17:52:29 -0500 (CDT) Cc: xfs mailing list Message-Id: <1CDE853D-47DB-4E76-8D8F-DA1B77CC1F54@sgi.com> From: Felix Blyakher To: Eric Sandeen In-Reply-To: <4A849096.1010600@sandeen.net> Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [PATCH] xfs_io: actually issue 0 size writes Date: Thu, 13 Aug 2009 17:52:28 -0500 References: <4A849096.1010600@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 13, 2009, at 5:15 PM, Eric Sandeen wrote: > While testing some stuff in generic_write_checks() in the > kernel I realized that you can't actually use xfs_io to send > a 0-byte write in. This is actually a condition worth testing: > > If count is zero and fd refers to a regular file, > then write() may return a failure status if one of > the errors below is detected. If no errors are > detected, 0 will be returned without causing any > other effect. As I understand the desire to be able to issue 0 size writes from xfs_io is to test the possibility of writing to a given fd. What kind of errors would you expect to test for? Otherwise looks good. Felix > > > So fix that up. > > Signed-off-by: Eric Sandeen > --- > > iff --git a/io/pwrite.c b/io/pwrite.c > index 54c3f78..26a7850 100644 > --- a/io/pwrite.c > +++ b/io/pwrite.c > @@ -163,7 +163,7 @@ write_buffer( > int ops = 0; > > *total = 0; > - while (count > 0) { > + while (count >= 0) { > if (fd > 0) { /* input file given, read buffer first */ > if (read_buffer(fd, skip + *total, bs, &bar, 0, 1) < 0) > break; > @@ -182,6 +182,8 @@ write_buffer( > break; > offset += bytes; > count -= bytes; > + if (count == 0) > + break; > } > return ops; > } > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From felixb@sgi.com Thu Aug 13 18:40:33 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 n7DNeD8U058143 for ; Thu, 13 Aug 2009 18:40:23 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 05E9D8F8112 for ; Thu, 13 Aug 2009 16:40:59 -0700 (PDT) Received: from eagdhcp-232-172.americas.sgi.com (eagdhcp-232-172.americas.sgi.com [128.162.232.172]) by estes.americas.sgi.com (Postfix) with ESMTP id C557D7000103; Thu, 13 Aug 2009 17:42:56 -0500 (CDT) Cc: John Quigley , XFS Development Message-Id: From: Felix Blyakher To: Emmanuel Florac In-Reply-To: <20090813231739.5c7db91d@galadriel.home> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: XFS corruption with failover Date: Thu, 13 Aug 2009 17:42:56 -0500 References: <4A8474D2.7050508@jquigley.com> <20090813231739.5c7db91d@galadriel.home> 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 13, 2009, at 4:17 PM, Emmanuel Florac wrote: > Le Thu, 13 Aug 2009 15:17:22 -0500 vous =E9criviez: > >> Any advice or insight into what we're doing wrong would be very much >> appreciated. My apologies in advance for the somewhat off-topic >> question. > > By killing abruptly the primary server while doing IO, you're probably > pushing the envelope... I don't think it's pushing too much. XFS was designed to survive such events. > You may have a somewhat better luck with a > cluster fs, OCFS2 works very well for me usually (GFS is a complete > PITA to setup). > > > The better option would be to disallow completely write > caching on the client side (because this is probably where it's going > wrong) however I don't know how. Client's caching can't affect the metadata and the log in particular operations on the server. Client may indeed loose some data, but that's completely different issue. Felix > You can get it to flush extremely > often by playing with /proc/sys/vm/dirty_expire_centiseconds > and /proc/sys/vm/dirty_writeback_centisecs, though. Safer settings > generally imply terrible performance, though, you've been warned. > > Ah another thing may be some cache option in the iSCSI target. what > target are you using? > > --=20 > -------------------------------------------------- > Emmanuel Florac www.intellique.com > -------------------------------------------------- > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From michael.monnerie@is.it-management.at Thu Aug 13 18:48:45 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_33 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 n7DNmK4a058481 for ; Thu, 13 Aug 2009 18:48:35 -0500 X-ASG-Debug-ID: 1250207313-2cf901c50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv1.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E6D0D3CA6D8 for ; Thu, 13 Aug 2009 16:48:33 -0700 (PDT) Received: from mailsrv1.zmi.at (mailsrv1.zmi.at [212.69.162.198]) by cuda.sgi.com with ESMTP id Qv5qpoPAuME6kLlI for ; Thu, 13 Aug 2009 16:48:33 -0700 (PDT) Received: from mailsrv.i.zmi.at (unknown [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv1.zmi.at (Postfix) with ESMTP id 45AD2498A for ; Fri, 14 Aug 2009 01:48:29 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 4782D400174 for ; Fri, 14 Aug 2009 01:48:29 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: Resizing XFS on GPT partition Subject: Resizing XFS on GPT partition Date: Fri, 14 Aug 2009 01:48:24 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.4-ZMI; KDE/4.1.3; x86_64; ; ) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1331764.dXdeGpVVYs"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200908140148.28810@zmi.at> X-Barracuda-Connect: mailsrv1.zmi.at[212.69.162.198] X-Barracuda-Start-Time: 1250207336 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.61 X-Barracuda-Spam-Status: No, SCORE=-1.61 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6128 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --nextPart1331764.dXdeGpVVYs Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline I've had a XEN VM with a 90GB disk, increased it to 250GB. Then I had the problem that I used GPT partitioning, meaning only=20 "parted" being usable. parted doesn't support resizing partitions for=20 xfs and refuses to do it. The simple thing is to delete and recreate with bigger size that=20 partition. Later mount the partition and run xfs_growfs. I don't understand why parted doesn't support that, just resizing the=20 partition and not refusing it. :-( mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 --nextPart1331764.dXdeGpVVYs Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEABECAAYFAkqEpkwACgkQzhSR9xwSCbRpmQCdEgQkRTpNxGQx3YpOWyuMueUV UZYAn10KKeRTwEHxBairGgbuTSuHozQC =Kr4N -----END PGP SIGNATURE----- --nextPart1331764.dXdeGpVVYs-- From sandeen@sandeen.net Thu Aug 13 19:15:29 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 n7E0F8fa059805 for ; Thu, 13 Aug 2009 19:15:18 -0500 X-ASG-Debug-ID: 1250208945-3b5b02ac0000-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 8828D1B68FEA for ; Thu, 13 Aug 2009 17:15:45 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id BCI8McpsFMTFGTgM for ; Thu, 13 Aug 2009 17:15:45 -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 51563A9B0DC; Thu, 13 Aug 2009 19:15:44 -0500 (CDT) Message-ID: <4A84ACB1.7070602@sandeen.net> Date: Thu, 13 Aug 2009 19:15:45 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Felix Blyakher CC: xfs mailing list X-ASG-Orig-Subj: Re: [PATCH] xfs_io: actually issue 0 size writes Subject: Re: [PATCH] xfs_io: actually issue 0 size writes References: <4A849096.1010600@sandeen.net> <1CDE853D-47DB-4E76-8D8F-DA1B77CC1F54@sgi.com> In-Reply-To: <1CDE853D-47DB-4E76-8D8F-DA1B77CC1F54@sgi.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: 1250208951 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.6128 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 Felix Blyakher wrote: > On Aug 13, 2009, at 5:15 PM, Eric Sandeen wrote: > >> While testing some stuff in generic_write_checks() in the >> kernel I realized that you can't actually use xfs_io to send >> a 0-byte write in. This is actually a condition worth testing: >> >> If count is zero and fd refers to a regular file, >> then write() may return a failure status if one of >> the errors below is detected. If no errors are >> detected, 0 will be returned without causing any >> other effect. > > As I understand the desire to be able to issue 0 size writes > from xfs_io is to test the possibility of writing to a given fd. > What kind of errors would you expect to test for? In general EFBIG or ENOSPC. This sort of thing in generic_write_checks(): if (unlikely(*pos >= inode->i_sb->s_maxbytes)) { if (*count || *pos > inode->i_sb->s_maxbytes) { return -EFBIG; } /* zero-length writes at ->s_maxbytes are OK */ } Although I'm a little confused about why "*pos == s_maxbytes" is ok; I thought s_maxbytes was a count/size whereas pos is an offset, so it seems to me that pos == s_maxbytes is one past the max. But anyway, that's mostly unrelated to the patch in this thread. :) -Eric > Otherwise looks good. > > Felix From sandeen@sandeen.net Thu Aug 13 19:27:23 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 n7E0R3dp060409 for ; Thu, 13 Aug 2009 19:27:13 -0500 X-ASG-Debug-ID: 1250209644-3b6102ab0000-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 4A8531B690B0 for ; Thu, 13 Aug 2009 17:27:24 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id oU4UeCa5dY1PpjfU for ; Thu, 13 Aug 2009 17:27:24 -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 29C0FA9ED21; Thu, 13 Aug 2009 19:27:24 -0500 (CDT) Message-ID: <4A84AF6C.3010801@sandeen.net> Date: Thu, 13 Aug 2009 19:27:24 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Michael Monnerie CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Resizing XFS on GPT partition Subject: Re: Resizing XFS on GPT partition References: <200908140148.28810@zmi.at> In-Reply-To: <200908140148.28810@zmi.at> 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: 1250209668 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.61 X-Barracuda-Spam-Status: No, SCORE=-1.61 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6128 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Michael Monnerie wrote: > I've had a XEN VM with a 90GB disk, increased it to 250GB. > Then I had the problem that I used GPT partitioning, meaning only > "parted" being usable. parted doesn't support resizing partitions for > xfs and refuses to do it. > > The simple thing is to delete and recreate with bigger size that > partition. Later mount the partition and run xfs_growfs. > > I don't understand why parted doesn't support that, just resizing the > partition and not refusing it. :-( File a bug against parted. :) I agree, parted should just resize the partition as you asked and shut up about anything else. I'm surprised that it can't - even if the fs is unmounted? I have no idea what happened to "do one thing and do it well." :) -Eric From sandeen@sandeen.net Thu Aug 13 19:30:52 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 n7E0UWuP060654 for ; Thu, 13 Aug 2009 19:30:42 -0500 X-ASG-Debug-ID: 1250209871-7b8103be0000-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 D35DD1B68C19 for ; Thu, 13 Aug 2009 17:31:11 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id PGHHkWebnmPMdB2B for ; Thu, 13 Aug 2009 17:31: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 59A4BA9BF20; Thu, 13 Aug 2009 19:31:11 -0500 (CDT) Message-ID: <4A84B050.4020500@sandeen.net> Date: Thu, 13 Aug 2009 19:31:12 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Felix Blyakher CC: John Quigley , XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <4A8474D2.7050508@jquigley.com> In-Reply-To: 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: 1250209874 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.6128 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 Felix Blyakher wrote: > On Aug 13, 2009, at 3:17 PM, John Quigley wrote: > >> Folks: >> >> We're deploying XFS in a configuration where the file system is >> being exported with NFS. XFS is being mounted on Linux, with >> default options; an iSCSI volume is the formatted media. We're >> working out a failover solution for this deployment utilizing Linux >> HA. Things appear to work correctly in the general case, but in >> continuous testing we're getting XFS superblock corruption on a very >> reproducible basis. >> The sequence of events in our test scenario: >> >> 1. NFS server #1 online >> 2. Run IO to NFS server #1 from NFS client >> 3. NFS server #1 offline, (via passing 'b' to /proc/sysrq-trigger) >> 4. NFS server #2 online >> 5. XFS mounted as part of failover mechanism, mount fails >> >> The mount fails with the following: >> >> >> kernel: XFS mounting filesystem sde >> kernel: Starting XFS recovery on filesystem: sde (logdev: internal) >> kernel: XFS: xlog_recover_process_data: bad clientid >> kernel: XFS: log mount/recovery failed: error 5 > > This is an IO error. Is the block device (/dev/sde) accessible > from the server #2 OK? Can you dd from that device? Are you sure? if (ohead->oh_clientid != XFS_TRANSACTION && ohead->oh_clientid != XFS_LOG) { xlog_warn( "XFS: xlog_recover_process_data: bad clientid"); ASSERT(0); return (XFS_ERROR(EIO)); } so it does say EIO but that seems to me to be the wrong error; loks more like a bad log to me. It does make me wonder if there's any sort of per-initiator caching on the iscsi target or something. -Eric From lmcilroy@redhat.com Thu Aug 13 19: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=-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 n7E0cBpJ061225 for ; Thu, 13 Aug 2009 19:38:21 -0500 X-ASG-Debug-ID: 1250210329-2735014c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 586CE1B68C8C; Thu, 13 Aug 2009 17:38:49 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id zXpyWtU7IWBY5nkz; Thu, 13 Aug 2009 17:38:49 -0700 (PDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7E0ceqg030741; Thu, 13 Aug 2009 20:38:40 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n7E0cdhR013533; Thu, 13 Aug 2009 20:38:40 -0400 Date: Thu, 13 Aug 2009 20:38:39 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: Felix Blyakher Cc: XFS Development , John Quigley Message-ID: <1851101658.1934521250210319746.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <424153067.1934481250210293891.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.72] X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1250210334 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.6128 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 ----- "Felix Blyakher" wrote: > On Aug 13, 2009, at 3:17 PM, John Quigley wrote: > > > Folks: > > > > We're deploying XFS in a configuration where the file system is > > being exported with NFS. XFS is being mounted on Linux, with > > default options; an iSCSI volume is the formatted media. We're > > working out a failover solution for this deployment utilizing Linux > > > HA. Things appear to work correctly in the general case, but in > > continuous testing we're getting XFS superblock corruption on a very > > > reproducible basis. > > The sequence of events in our test scenario: > > > > 1. NFS server #1 online > > 2. Run IO to NFS server #1 from NFS client > > 3. NFS server #1 offline, (via passing 'b' to /proc/sysrq-trigger) > > 4. NFS server #2 online > > 5. XFS mounted as part of failover mechanism, mount fails > > > > The mount fails with the following: > > > > > > kernel: XFS mounting filesystem sde > > kernel: Starting XFS recovery on filesystem: sde (logdev: internal) > > kernel: XFS: xlog_recover_process_data: bad clientid > > kernel: XFS: log mount/recovery failed: error 5 > > This is an IO error. Is the block device (/dev/sde) accessible > from the server #2 OK? Can you dd from that device? > > > > > kernel: XFS: log mount failed > > > > > > When running xfs_repair: > > That's not a good time to run xfs_repair. There were no > indication that the filesystem is corrupted. > > Let's take for a sec "NFS server #2" out of the picture. > Can you mount the filesystem from the original server > after it reboots? If that fails too can you run xfs_logprint on /dev/sde and post any errors it reports? > > Felix > > > > > > > > > [root@machine ~]# xfs_repair /dev/sde xfs_repair: warning - cannot > > > set blocksize on block device /dev/sde: Invalid argument > > Phase 1 - find and verify superblock... > > Phase 2 - using internal log > > - zero log... > > ERROR: The filesystem has valuable metadata changes in a log which > > > needs ... > > > > > > Any advice or insight into what we're doing wrong would be very much > > > appreciated. My apologies in advance for the somewhat off-topic > > question. > > > > - John Quigley > > > > _______________________________________________ > > xfs mailing list > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From jquigley@jquigley.com Thu Aug 13 19:50:28 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 n7E0o6Gw061996 for ; Thu, 13 Aug 2009 19:50:18 -0500 X-ASG-Debug-ID: 1250211042-047a012b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A48983CB1F1 for ; Thu, 13 Aug 2009 17:50:42 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id Jg4k6PhyAeka0SsI for ; Thu, 13 Aug 2009 17:50:42 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 1CEFF204116; Fri, 14 Aug 2009 00:50:40 +0000 (UTC) Message-ID: <4A84B4DE.1090809@jquigley.com> Date: Thu, 13 Aug 2009 19:50:38 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Emmanuel Florac CC: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <4A8474D2.7050508@jquigley.com> <20090813231739.5c7db91d@galadriel.home> In-Reply-To: <20090813231739.5c7db91d@galadriel.home> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250211049 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.6128 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 Emmanuel Florac wrote: > By killing abruptly the primary server while doing IO, you're probably > pushing the envelope... You may have a somewhat better luck with a > cluster fs, OCFS2 works very well for me usually (GFS is a complete > PITA to setup). Acknowledged; we've looked at GFS, and I've been meaning to read up on OCFS2. For various reasons, particularly performance, ease of deployment and flexible growth, XFS has been the clear winner in our particular case (and our case is fairly unique, as our volume is backed by a distributed storage device). > You can get it to flush extremely > often by playing with /proc/sys/vm/dirty_expire_centiseconds > and /proc/sys/vm/dirty_writeback_centisecs, though. Safer settings > generally imply terrible performance, though, you've been warned. Okay, interesting, I wasn't aware of these and will look into it. > Ah another thing may be some cache option in the iSCSI target. what > target are you using? No caching target side - I can speak definitely on that because I wrote it (integrates with our data dispersal stack [1]). Also, we're utilizing the same target when failing over; it's just the ISCSI initiator (aka, the NFS server) that is changing. Thank you kindly for the quick response. - John Quigley From jquigley@jquigley.com Thu Aug 13 19:52:34 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=AWL,BAYES_00,MISSING_HEADERS 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 n7E0qDuF062152 for ; Thu, 13 Aug 2009 19:52:23 -0500 X-ASG-Debug-ID: 1250211177-01d3031b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id ED4033CB11A for ; Thu, 13 Aug 2009 17:52:57 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id wpFtCDGCaka1sb3e for ; Thu, 13 Aug 2009 17:52:57 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 8EBCB204116 for ; Fri, 14 Aug 2009 00:52:27 +0000 (UTC) Message-ID: <4A84B54A.8040807@jquigley.com> Date: Thu, 13 Aug 2009 19:52:26 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 CC: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <4A8474D2.7050508@jquigley.com> <20090813231739.5c7db91d@galadriel.home> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250211179 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0656 1.0000 -1.6023 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.02 X-Barracuda-Spam-Status: No, SCORE=-0.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MISSING_HEADERS X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6128 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 1.58 MISSING_HEADERS Missing To: header X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Felix Blyakher wrote: > I don't think it's pushing too much. XFS was designed to > survive such events. And that was my understanding, based on all I've read about the design and intended usage. XFS has been remarkably resilient in the face of various poor operating conditions, and this is the only environment under which failure has been observed. It's for this reason that I assumed it's something we're doing wrong, and not an inherent issue with the file system. - John Quigley From jquigley@jquigley.com Thu Aug 13 19:55:47 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_00,MISSING_HEADERS 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 n7E0tRfu062357 for ; Thu, 13 Aug 2009 19:55:37 -0500 X-ASG-Debug-ID: 1250211371-0472012d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B75253CB216 for ; Thu, 13 Aug 2009 17:56:11 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id EkDbDBiV5FgDxh9x for ; Thu, 13 Aug 2009 17:56:11 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 05388204116 for ; Fri, 14 Aug 2009 00:56:10 +0000 (UTC) Message-ID: <4A84B629.3080208@jquigley.com> Date: Thu, 13 Aug 2009 19:56:09 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 CC: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <4A8474D2.7050508@jquigley.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250211371 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.44 X-Barracuda-Spam-Status: No, SCORE=-0.44 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MISSING_HEADERS X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6128 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 1.58 MISSING_HEADERS Missing To: header X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Felix Blyakher wrote: > This is an IO error. Is the block device (/dev/sde) accessible > from the server #2 OK? Can you dd from that device? Interesting suggestion; I don't recall having seen any indication of IO errors, but I'm testing again this evening, and will report back on what I find with dd. > That's not a good time to run xfs_repair. There were no > indication that the filesystem is corrupted. Interesting again. I ran the tool merely because I had no other recourse to remedy this. > Let's take for a sec "NFS server #2" out of the picture. > Can you mount the filesystem from the original server > after it reboots? This has been tested and fails, so it does appear to be a corruption issue on the stable media. Based on your first comment, I'm re-running tests to verify that the ISCSI volumes are fully online and ready to accept IO before mounting the file system. Thank you very much. - John Quigley From lmcilroy@redhat.com Thu Aug 13 19:56:29 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 n7E0u82W062416 for ; Thu, 13 Aug 2009 19:56:19 -0500 X-ASG-Debug-ID: 1250211414-2d2a02670000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D6F1D3CB21B for ; Thu, 13 Aug 2009 17:56:54 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id C9jIQgmNj6sBHP2z for ; Thu, 13 Aug 2009 17:56:54 -0700 (PDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7E0urjc009316; Thu, 13 Aug 2009 20:56:53 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n7E0uqxN022276; Thu, 13 Aug 2009 20:56:53 -0400 Date: Thu, 13 Aug 2009 20:56:52 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: Eric Sandeen Cc: xfs mailing list , Felix Blyakher Message-ID: <318271513.1935011250211412750.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <139598026.1934901250211190252.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> X-ASG-Orig-Subj: Re: [PATCH] xfs_io: actually issue 0 size writes Subject: Re: [PATCH] xfs_io: actually issue 0 size writes MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.72] X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1250211414 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.6128 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: > Felix Blyakher wrote: > > On Aug 13, 2009, at 5:15 PM, Eric Sandeen wrote: > > > >> While testing some stuff in generic_write_checks() in the > >> kernel I realized that you can't actually use xfs_io to send > >> a 0-byte write in. This is actually a condition worth testing: > >> > >> If count is zero and fd refers to a regular file, > >> then write() may return a failure status if one of > >> the errors below is detected. If no errors are > >> detected, 0 will be returned without causing any > >> other effect. > > > > As I understand the desire to be able to issue 0 size writes > > from xfs_io is to test the possibility of writing to a given fd. > > What kind of errors would you expect to test for? > > In general EFBIG or ENOSPC. > > This sort of thing in generic_write_checks(): > > if (unlikely(*pos >= inode->i_sb->s_maxbytes)) { > if (*count || *pos > inode->i_sb->s_maxbytes) { > return -EFBIG; > } > /* zero-length writes at ->s_maxbytes are OK */ > } > > Although I'm a little confused about why "*pos == s_maxbytes" is ok; > I > thought s_maxbytes was a count/size whereas pos is an offset, so it > seems to me that pos == s_maxbytes is one past the max. But anyway, > that's mostly unrelated to the patch in this thread. :) pos == s_maxbytes is only okay if count == 0 also. So even though we are writing at the limit we are not actually going to write anything. At s_maxbytes-1 we are allowed to write one byte and at s_maxbytes we are allowed to write nothing - literally. > > -Eric > > > Otherwise looks good. > > > > Felix > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From lmcilroy@redhat.com Thu Aug 13 19:57: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 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 n7E0vL0p062513 for ; Thu, 13 Aug 2009 19:57:31 -0500 X-ASG-Debug-ID: 1250211483-047601440000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B04383CB226 for ; Thu, 13 Aug 2009 17:58:03 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id HHyTYvH8AItUAroF for ; Thu, 13 Aug 2009 17:58:03 -0700 (PDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7E0w26t009817; Thu, 13 Aug 2009 20:58:02 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n7E0w1Wu022668; Thu, 13 Aug 2009 20:58:01 -0400 Date: Thu, 13 Aug 2009 20:58:01 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: Eric Sandeen Cc: John Quigley , XFS Development , Felix Blyakher Message-ID: <1405534054.1935051250211481446.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <4A84B050.4020500@sandeen.net> X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.72] X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1250211483 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.6128 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: > Felix Blyakher wrote: > > On Aug 13, 2009, at 3:17 PM, John Quigley wrote: > > > >> Folks: > >> > >> We're deploying XFS in a configuration where the file system is > >> being exported with NFS. XFS is being mounted on Linux, with > >> default options; an iSCSI volume is the formatted media. We're > >> working out a failover solution for this deployment utilizing Linux > > >> HA. Things appear to work correctly in the general case, but in > >> continuous testing we're getting XFS superblock corruption on a > very > >> reproducible basis. > >> The sequence of events in our test scenario: > >> > >> 1. NFS server #1 online > >> 2. Run IO to NFS server #1 from NFS client > >> 3. NFS server #1 offline, (via passing 'b' to /proc/sysrq-trigger) > >> 4. NFS server #2 online > >> 5. XFS mounted as part of failover mechanism, mount fails > >> > >> The mount fails with the following: > >> > >> > >> kernel: XFS mounting filesystem sde > >> kernel: Starting XFS recovery on filesystem: sde (logdev: > internal) > >> kernel: XFS: xlog_recover_process_data: bad clientid > >> kernel: XFS: log mount/recovery failed: error 5 > > > > This is an IO error. Is the block device (/dev/sde) accessible > > from the server #2 OK? Can you dd from that device? > > Are you sure? > > if (ohead->oh_clientid != XFS_TRANSACTION && > ohead->oh_clientid != XFS_LOG) { > xlog_warn( > "XFS: xlog_recover_process_data: bad clientid"); > ASSERT(0); > return (XFS_ERROR(EIO)); > } > > so it does say EIO but that seems to me to be the wrong error; loks > more > like a bad log to me. > > It does make me wonder if there's any sort of per-initiator caching > on > the iscsi target or something. Should barriers be enabled in XFS then? > > -Eric > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From jquigley@jquigley.com Thu Aug 13 20:06:28 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from 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 n7E167S5063009 for ; Thu, 13 Aug 2009 20:06:18 -0500 X-ASG-Debug-ID: 1250212012-3b55039b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4878D1B69441 for ; Thu, 13 Aug 2009 18:06:52 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id V0dZrCjnynyf2hgb for ; Thu, 13 Aug 2009 18:06:52 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 7F102204116 for ; Fri, 14 Aug 2009 01:06:19 +0000 (UTC) Message-ID: <4A84B88A.4070701@jquigley.com> Date: Thu, 13 Aug 2009 20:06:18 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <4A8474D2.7050508@jquigley.com> <4A84B050.4020500@sandeen.net> In-Reply-To: <4A84B050.4020500@sandeen.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250212013 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.6128 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: > Are you sure? > > if (ohead->oh_clientid != XFS_TRANSACTION && > ohead->oh_clientid != XFS_LOG) { > xlog_warn( > "XFS: xlog_recover_process_data: bad clientid"); > ASSERT(0); > return (XFS_ERROR(EIO)); > } > > so it does say EIO but that seems to me to be the wrong error; loks more > like a bad log to me. Hey Eric: That would certainly be consistent with our experience, as the only way we're able to bring the file system back online is by zeroing the log. > It does make me wonder if there's any sort of per-initiator caching on > the iscsi target or something. There isn't, as mentioned above, though we have several intermediate layers between the file system and iSCSI initiator, including multipath and LVM, both of which I was initially suspicious of. In testing with a similar scenario but in a more isolate fashion without those two intermediates, the behavior was still present. Also, just to clarify the topology: /-----[Failover Secondary]------\ / \ NFS Client ----/ \-----[ISCSI Target]----[Distributed Storage] \ / \ / \-----[Failover Primary]--------/ Those two failover machines, Primary and Secondary, act as the NFS server, the XFS mountpoint and ISCSI initiator. Only one failover machine is logged into the ISCSI target/has XFS mounted. Thanks very much for your cycles on this guys. - John Quigley From michael.monnerie@is.it-management.at Thu Aug 13 20:09: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.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_33 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 n7E19V8B063464 for ; Thu, 13 Aug 2009 20:09:47 -0500 X-ASG-Debug-ID: 1250212205-2cf902b90000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv1.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 97F183CB055 for ; Thu, 13 Aug 2009 18:10:06 -0700 (PDT) Received: from mailsrv1.zmi.at (mailsrv1.zmi.at [212.69.162.198]) by cuda.sgi.com with ESMTP id StQ6E9yN1xtWaJNG for ; Thu, 13 Aug 2009 18:10:06 -0700 (PDT) Received: from mailsrv.i.zmi.at (unknown [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv1.zmi.at (Postfix) with ESMTP id A014F4EEE; Fri, 14 Aug 2009 03:09:34 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 943CD400174; Fri, 14 Aug 2009 03:09:34 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Resizing XFS on GPT partition Subject: Re: Resizing XFS on GPT partition Date: Fri, 14 Aug 2009 03:09:29 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.4-ZMI; KDE/4.1.3; x86_64; ; ) Cc: Eric Sandeen References: <200908140148.28810@zmi.at> <4A84AF6C.3010801@sandeen.net> In-Reply-To: <4A84AF6C.3010801@sandeen.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart37899587.xJ3sraQm2n"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200908140309.34058@zmi.at> X-Barracuda-Connect: mailsrv1.zmi.at[212.69.162.198] X-Barracuda-Start-Time: 1250212208 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.61 X-Barracuda-Spam-Status: No, SCORE=-1.61 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6128 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean --nextPart37899587.xJ3sraQm2n Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Freitag 14 August 2009 Eric Sandeen wrote: > File a bug against parted. =A0:) You think that's easy? I went there: http://parted.alioth.debian.org/cgi-bin/trac.cgi/newticket#preview And always got this: 500 Internal Server Error (Submission rejected as potential spam) After creating an account the text was accepted: http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/222 > I agree, parted should just resize the partition as you asked and > shut up about anything else. =A0I'm surprised that it can't - even if > the fs is unmounted? Yes, unmounted, of course. They are strange. They know xfs does this=20 only when online. I wonder what they will write about my report. > I have no idea what happened to "do one thing and do it well." =A0:) Yes, KISS (keep it small and simple). mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 --nextPart37899587.xJ3sraQm2n Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEABECAAYFAkqEuU0ACgkQzhSR9xwSCbTY7QCeLf+WHU33ihfcBXvXUmo5Flbj RdAAoON65huS32JgjlJ39LSIHn+Bz8tT =ZxAD -----END PGP SIGNATURE----- --nextPart37899587.xJ3sraQm2n-- From jquigley@jquigley.com Thu Aug 13 20: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.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 n7E1DoeS063752 for ; Thu, 13 Aug 2009 20:14:00 -0500 X-ASG-Debug-ID: 1250212472-2ca902c60000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AB5603CB301 for ; Thu, 13 Aug 2009 18:14:32 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id MjhxbaZWtprWTLtU for ; Thu, 13 Aug 2009 18:14:32 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 26C5F204116; Fri, 14 Aug 2009 01:14:02 +0000 (UTC) Message-ID: <4A84BA59.5010604@jquigley.com> Date: Thu, 13 Aug 2009 20:14:01 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Lachlan McIlroy CC: Felix Blyakher , XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <1851101658.1934521250210319746.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <1851101658.1934521250210319746.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250212472 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.6128 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 Lachlan McIlroy wrote: > If that fails too can you run xfs_logprint on /dev/sde and > post any errors it reports? I'll definitely do so, thanks. - John Quigley From sandeen@sandeen.net Thu Aug 13 20:33:48 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 n7E1XRhr064793 for ; Thu, 13 Aug 2009 20:33:38 -0500 X-ASG-Debug-ID: 1250213642-3b4a03cc0000-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 94A441B68A57 for ; Thu, 13 Aug 2009 18:34:02 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id XWDEgp2WksusTaez for ; Thu, 13 Aug 2009 18:34:02 -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 C66E2AAE38C; Thu, 13 Aug 2009 20:34:01 -0500 (CDT) Message-ID: <4A84BF0A.2020003@sandeen.net> Date: Thu, 13 Aug 2009 20:34:02 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Lachlan McIlroy CC: xfs mailing list , Felix Blyakher X-ASG-Orig-Subj: Re: [PATCH] xfs_io: actually issue 0 size writes Subject: Re: [PATCH] xfs_io: actually issue 0 size writes References: <318271513.1935011250211412750.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <318271513.1935011250211412750.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.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: 1250213650 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.6129 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 Lachlan McIlroy wrote: > ----- "Eric Sandeen" wrote: > >> Felix Blyakher wrote: >>> On Aug 13, 2009, at 5:15 PM, Eric Sandeen wrote: >>> >>>> While testing some stuff in generic_write_checks() in the >>>> kernel I realized that you can't actually use xfs_io to send >>>> a 0-byte write in. This is actually a condition worth testing: >>>> >>>> If count is zero and fd refers to a regular file, >>>> then write() may return a failure status if one of >>>> the errors below is detected. If no errors are >>>> detected, 0 will be returned without causing any >>>> other effect. >>> As I understand the desire to be able to issue 0 size writes >>> from xfs_io is to test the possibility of writing to a given fd. >>> What kind of errors would you expect to test for? >> In general EFBIG or ENOSPC. >> >> This sort of thing in generic_write_checks(): >> >> if (unlikely(*pos >= inode->i_sb->s_maxbytes)) { >> if (*count || *pos > inode->i_sb->s_maxbytes) { >> return -EFBIG; >> } >> /* zero-length writes at ->s_maxbytes are OK */ >> } >> >> Although I'm a little confused about why "*pos == s_maxbytes" is ok; >> I >> thought s_maxbytes was a count/size whereas pos is an offset, so it >> seems to me that pos == s_maxbytes is one past the max. But anyway, >> that's mostly unrelated to the patch in this thread. :) > pos == s_maxbytes is only okay if count == 0 also. So even though we > are writing at the limit we are not actually going to write anything. > At s_maxbytes-1 we are allowed to write one byte and at s_maxbytes we > are allowed to write nothing - literally. I think my confusion over maxbytes is whether it's a size or an offset. The comment says ... max size. Also in the above function it does i_size_read on the block device - again a size. If it's a max offset you're right; if it's a max -size- then pos == s_maxbytes is already off the end, one past the limit. -eric From sandeen@sandeen.net Thu Aug 13 20:35: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.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 n7E1YkVl064898 for ; Thu, 13 Aug 2009 20:34:56 -0500 X-ASG-Debug-ID: 1250213722-046b01d20000-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 E68FB3CADE3 for ; Thu, 13 Aug 2009 18:35:22 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id rzF4SixsYJmIkn2l for ; Thu, 13 Aug 2009 18:35:22 -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 36D1DA9BF33; Thu, 13 Aug 2009 20:35:22 -0500 (CDT) Message-ID: <4A84BF5A.8030502@sandeen.net> Date: Thu, 13 Aug 2009 20:35:22 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Lachlan McIlroy CC: John Quigley , XFS Development , Felix Blyakher X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <1405534054.1935051250211481446.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <1405534054.1935051250211481446.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.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: 1250213728 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.6129 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 Lachlan McIlroy wrote: > ----- "Eric Sandeen" wrote: > >> Felix Blyakher wrote: >>> On Aug 13, 2009, at 3:17 PM, John Quigley wrote: >>> >>>> Folks: >>>> >>>> We're deploying XFS in a configuration where the file system is >>>> being exported with NFS. XFS is being mounted on Linux, with >>>> default options; an iSCSI volume is the formatted media. We're >>>> working out a failover solution for this deployment utilizing Linux >> >>>> HA. Things appear to work correctly in the general case, but in >>>> continuous testing we're getting XFS superblock corruption on a >> very >>>> reproducible basis. >>>> The sequence of events in our test scenario: >>>> >>>> 1. NFS server #1 online >>>> 2. Run IO to NFS server #1 from NFS client >>>> 3. NFS server #1 offline, (via passing 'b' to /proc/sysrq-trigger) >>>> 4. NFS server #2 online >>>> 5. XFS mounted as part of failover mechanism, mount fails >>>> >>>> The mount fails with the following: >>>> >>>> >>>> kernel: XFS mounting filesystem sde >>>> kernel: Starting XFS recovery on filesystem: sde (logdev: >> internal) >>>> kernel: XFS: xlog_recover_process_data: bad clientid >>>> kernel: XFS: log mount/recovery failed: error 5 >>> This is an IO error. Is the block device (/dev/sde) accessible >>> from the server #2 OK? Can you dd from that device? >> Are you sure? >> >> if (ohead->oh_clientid != XFS_TRANSACTION && >> ohead->oh_clientid != XFS_LOG) { >> xlog_warn( >> "XFS: xlog_recover_process_data: bad clientid"); >> ASSERT(0); >> return (XFS_ERROR(EIO)); >> } >> >> so it does say EIO but that seems to me to be the wrong error; loks >> more >> like a bad log to me. >> >> It does make me wonder if there's any sort of per-initiator caching >> on >> the iscsi target or something. > Should barriers be enabled in XFS then? Could try it but I bet the iscsi target doesn't claim to support them... -eric >> -Eric >> >> _______________________________________________ >> xfs mailing list >> xfs@oss.sgi.com >> http://oss.sgi.com/mailman/listinfo/xfs > From jquigley@jquigley.com Thu Aug 13 20:44: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.2 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 n7E1hvEh065820 for ; Thu, 13 Aug 2009 20:44:07 -0500 X-ASG-Debug-ID: 1250214277-045d01dd0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1C9ED3CAE37 for ; Thu, 13 Aug 2009 18:44:37 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id OnwMYs8QG2X8xlc1 for ; Thu, 13 Aug 2009 18:44:37 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id DCACE204116 for ; Fri, 14 Aug 2009 01:44:36 +0000 (UTC) Message-ID: <4A84C183.2020609@jquigley.com> Date: Thu, 13 Aug 2009 20:44:35 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <1405534054.1935051250211481446.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <4A84BF5A.8030502@sandeen.net> In-Reply-To: <4A84BF5A.8030502@sandeen.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250214283 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.6129 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: >> Should barriers be enabled in XFS then? > > Could try it but I bet the iscsi target doesn't claim to support them... The target implementation, being new, is fairly naive and does not support this (or have any caching facilities, for that matter) at this time. - John Quigley From lmcilroy@redhat.com Thu Aug 13 20:44:13 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 n7E1hr36065812 for ; Thu, 13 Aug 2009 20:44:03 -0500 X-ASG-Debug-ID: 1250214272-344202360000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2B2431B690F5 for ; Thu, 13 Aug 2009 18:44:32 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id 4eTiN3kmo2hTbItg for ; Thu, 13 Aug 2009 18:44:32 -0700 (PDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7E1hSAY001777; Thu, 13 Aug 2009 21:43:28 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n7E1hRkf012781; Thu, 13 Aug 2009 21:43:28 -0400 Date: Thu, 13 Aug 2009 21:43:27 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: Eric Sandeen Cc: John Quigley , XFS Development , Felix Blyakher Message-ID: <2001880032.1935971250214207721.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <835473717.1935811250214078456.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.72] X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1250214276 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.6129 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: > Lachlan McIlroy wrote: > > ----- "Eric Sandeen" wrote: > > > >> Felix Blyakher wrote: > >>> On Aug 13, 2009, at 3:17 PM, John Quigley wrote: > >>> > >>>> Folks: > >>>> > >>>> We're deploying XFS in a configuration where the file system is > > >>>> being exported with NFS. XFS is being mounted on Linux, with > >>>> default options; an iSCSI volume is the formatted media. We're > > >>>> working out a failover solution for this deployment utilizing > Linux > >> > >>>> HA. Things appear to work correctly in the general case, but in > > >>>> continuous testing we're getting XFS superblock corruption on a > >> very > >>>> reproducible basis. > >>>> The sequence of events in our test scenario: > >>>> > >>>> 1. NFS server #1 online > >>>> 2. Run IO to NFS server #1 from NFS client > >>>> 3. NFS server #1 offline, (via passing 'b' to > /proc/sysrq-trigger) > >>>> 4. NFS server #2 online > >>>> 5. XFS mounted as part of failover mechanism, mount fails > >>>> > >>>> The mount fails with the following: > >>>> > >>>> > >>>> kernel: XFS mounting filesystem sde > >>>> kernel: Starting XFS recovery on filesystem: sde (logdev: > >> internal) > >>>> kernel: XFS: xlog_recover_process_data: bad clientid > >>>> kernel: XFS: log mount/recovery failed: error 5 > >>> This is an IO error. Is the block device (/dev/sde) accessible > >>> from the server #2 OK? Can you dd from that device? > >> Are you sure? > >> > >> if (ohead->oh_clientid != XFS_TRANSACTION && > >> ohead->oh_clientid != XFS_LOG) { > >> xlog_warn( > >> "XFS: xlog_recover_process_data: bad clientid"); > >> ASSERT(0); > >> return (XFS_ERROR(EIO)); > >> } > >> > >> so it does say EIO but that seems to me to be the wrong error; > loks > >> more > >> like a bad log to me. > >> > >> It does make me wonder if there's any sort of per-initiator > caching > >> on > >> the iscsi target or something. > > Should barriers be enabled in XFS then? > > Could try it but I bet the iscsi target doesn't claim to support > them... You're probably right. Is it possible for a transaction record to span two log buffers and only one made it to disk so the rest of the transction record appears corrupt? > > -eric > > >> -Eric > >> > >> _______________________________________________ > >> xfs mailing list > >> xfs@oss.sgi.com > >> http://oss.sgi.com/mailman/listinfo/xfs > > From lmcilroy@redhat.com Thu Aug 13 20:55: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 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 n7E1tWTL066775 for ; Thu, 13 Aug 2009 20:55:43 -0500 X-ASG-Debug-ID: 1250214964-343e02880000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AD0F81B696C9 for ; Thu, 13 Aug 2009 18:56:04 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id Ecu4REPqQpXzGwgq for ; Thu, 13 Aug 2009 18:56:04 -0700 (PDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7E1u0IC009438; Thu, 13 Aug 2009 21:56:00 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n7E1txTj019638; Thu, 13 Aug 2009 21:56:00 -0400 Date: Thu, 13 Aug 2009 21:55:59 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: Eric Sandeen Cc: xfs mailing list Message-ID: <1976979656.1936191250214959588.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <148381776.1936161250214905902.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> X-ASG-Orig-Subj: Re: [PATCH] xfs_io: actually issue 0 size writes Subject: Re: [PATCH] xfs_io: actually issue 0 size writes MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.71] X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1250214969 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.6131 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: > Lachlan McIlroy wrote: > > ----- "Eric Sandeen" wrote: > > > >> Felix Blyakher wrote: > >>> On Aug 13, 2009, at 5:15 PM, Eric Sandeen wrote: > >>> > >>>> While testing some stuff in generic_write_checks() in the > >>>> kernel I realized that you can't actually use xfs_io to send > >>>> a 0-byte write in. This is actually a condition worth testing: > >>>> > >>>> If count is zero and fd refers to a regular file, > >>>> then write() may return a failure status if one of > >>>> the errors below is detected. If no errors are > >>>> detected, 0 will be returned without causing any > >>>> other effect. > >>> As I understand the desire to be able to issue 0 size writes > >>> from xfs_io is to test the possibility of writing to a given fd. > >>> What kind of errors would you expect to test for? > >> In general EFBIG or ENOSPC. > >> > >> This sort of thing in generic_write_checks(): > >> > >> if (unlikely(*pos >= inode->i_sb->s_maxbytes)) { > >> if (*count || *pos > inode->i_sb->s_maxbytes) { > >> return -EFBIG; > >> } > >> /* zero-length writes at ->s_maxbytes are OK */ > >> } > >> > >> Although I'm a little confused about why "*pos == s_maxbytes" is > ok; > >> I > >> thought s_maxbytes was a count/size whereas pos is an offset, so > it > >> seems to me that pos == s_maxbytes is one past the max. But > anyway, > >> that's mostly unrelated to the patch in this thread. :) > > > pos == s_maxbytes is only okay if count == 0 also. So even though > we > > are writing at the limit we are not actually going to write > anything. > > At s_maxbytes-1 we are allowed to write one byte and at s_maxbytes > we > > are allowed to write nothing - literally. > > I think my confusion over maxbytes is whether it's a size or an > offset. > > The comment says ... max size. Yes it's a size. > > Also in the above function it does i_size_read on the block device - > again a size. Yes. > > If it's a max offset you're right; if it's a max -size- then pos == > s_maxbytes is already off the end, one past the limit. Technically it's only off the end if you try to read something. > > -eric > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From Christian.Fischer@easterngraphics.com Fri Aug 14 07:57:44 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 n7ECvIDS104041 for ; Fri, 14 Aug 2009 07:57:34 -0500 X-ASG-Debug-ID: 1250254654-754501110000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from intranet.easterngraphics.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 4A3F21B6E244 for ; Fri, 14 Aug 2009 05:57:34 -0700 (PDT) Received: from intranet.easterngraphics.com (intranet.easterngraphics.com [62.80.28.49]) by cuda.sgi.com with ESMTP id rSiHHXVB9wfVYl4L for ; Fri, 14 Aug 2009 05:57:34 -0700 (PDT) Received: from localhost (unknown [127.0.0.1]) by intranet.easterngraphics.com (Postfix) with ESMTP id 777A61802D787; Fri, 14 Aug 2009 12:57:31 +0000 (UTC) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at easterngraphics.com Received: from intranet.easterngraphics.com ([127.0.0.1]) by localhost (intranet.easterngraphics.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MBWAJduxir1z; Fri, 14 Aug 2009 14:57:30 +0200 (CEST) Received: from iwan.easterngraphics.com (gw02dmz.easterngraphics.com [62.80.28.54]) (Authenticated sender: fischer) by intranet.easterngraphics.com (Postfix) with ESMTPSA id AF6FE1802D780; Fri, 14 Aug 2009 14:57:30 +0200 (CEST) From: Christian Fischer Organization: Eastern Graphics GmbH To: Christoph Hellwig X-ASG-Orig-Subj: [Patch] Re: xfs crash, kernel 2.6.29 Subject: [Patch] Re: xfs crash, kernel 2.6.29 Date: Fri, 14 Aug 2009 14:56:58 +0200 User-Agent: KMail/1.9.9 Cc: xfs@oss.sgi.com, Andrew Lyon , Eric Sandeen References: <200908110921.50752.Christian.Fischer@easterngraphics.com> <20090811142029.GB30913@infradead.org> In-Reply-To: <20090811142029.GB30913@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908141456.58683.Christian.Fischer@easterngraphics.com> X-Barracuda-Connect: intranet.easterngraphics.com[62.80.28.49] X-Barracuda-Start-Time: 1250254678 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.6175 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean On Tuesday 11 August 2009, Christoph Hellwig wrote: > On Tue, Aug 11, 2009 at 09:21:50AM +0200, Christian Fischer wrote: > > We had a new crash yesterday, server uptime maybe 20 hours. > > > > This is 2.6.29-xen-r4 from > > http://code.google.com/p/gentoo-xen-kernel/downloads/list > > > > @Eric/Andrew: do we have a xfs or a xen patches problem? > > It's a known bug that we just fixed in 2.6.31-rc. Can you check if this > patch > > http://bugzilla.kernel.org/attachment.cgi?id=22590 > > applies to 2.6.29 (I produced it against 2.6.30) backported to 2.6.29-xen-r4 from http://code.google.com/p/gentoo-xen-kernel/downloads/list Can you please review it? The kernel complies and runs, but I can't test it. I can't reproduce a crash as you could with 2.6.30 and 2.6.31. Nothing triggers it. http://bugzilla.kernel.org/show_bug.cgi?id=13375 Christian From Christian.Fischer@easterngraphics.com Fri Aug 14 08:02:52 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, J_CHICKENPOX_73 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 n7ED2Q5e104565 for ; Fri, 14 Aug 2009 08:02:42 -0500 X-ASG-Debug-ID: 1250254987-759a014a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from intranet.easterngraphics.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0E4F71B6DA0E for ; Fri, 14 Aug 2009 06:03:07 -0700 (PDT) Received: from intranet.easterngraphics.com (intranet.easterngraphics.com [62.80.28.49]) by cuda.sgi.com with ESMTP id puXzDBfh8fyLEQ8f for ; Fri, 14 Aug 2009 06:03:07 -0700 (PDT) Received: from localhost (unknown [127.0.0.1]) by intranet.easterngraphics.com (Postfix) with ESMTP id 609791802D787; Fri, 14 Aug 2009 13:03:07 +0000 (UTC) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at easterngraphics.com Received: from intranet.easterngraphics.com ([127.0.0.1]) by localhost (intranet.easterngraphics.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1UtP9UJOAobN; Fri, 14 Aug 2009 15:03:03 +0200 (CEST) Received: from iwan.easterngraphics.com (gw02dmz.easterngraphics.com [62.80.28.54]) (Authenticated sender: fischer) by intranet.easterngraphics.com (Postfix) with ESMTPSA id 175B61802D780; Fri, 14 Aug 2009 15:03:03 +0200 (CEST) From: Christian Fischer Organization: Eastern Graphics GmbH To: Christoph Hellwig X-ASG-Orig-Subj: Re: xfs crash, kernel 2.6.29 Subject: Re: xfs crash, kernel 2.6.29 Date: Fri, 14 Aug 2009 15:02:30 +0200 User-Agent: KMail/1.9.9 Cc: xfs@oss.sgi.com, Andrew Lyon , Eric Sandeen References: <200908110921.50752.Christian.Fischer@easterngraphics.com> <20090811142029.GB30913@infradead.org> In-Reply-To: <20090811142029.GB30913@infradead.org> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_mBWhK9/P10gJ6AO" Message-Id: <200908141502.30887.Christian.Fischer@easterngraphics.com> X-Barracuda-Connect: intranet.easterngraphics.com[62.80.28.49] X-Barracuda-Start-Time: 1250254990 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.6175 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean --Boundary-00=_mBWhK9/P10gJ6AO Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Tuesday 11 August 2009, Christoph Hellwig wrote: > On Tue, Aug 11, 2009 at 09:21:50AM +0200, Christian Fischer wrote: > > We had a new crash yesterday, server uptime maybe 20 hours. > > > > This is 2.6.29-xen-r4 from > > http://code.google.com/p/gentoo-xen-kernel/downloads/list > > > > @Eric/Andrew: do we have a xfs or a xen patches problem? > > It's a known bug that we just fixed in 2.6.31-rc. Can you check if this > patch > > http://bugzilla.kernel.org/attachment.cgi?id=22590 > > applies to 2.6.29 (I produced it against 2.6.30) > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs Well, attached the patch. --Boundary-00=_mBWhK9/P10gJ6AO Content-Type: text/x-diff; charset="iso-8859-1"; name="xfs_mine.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="xfs_mine.diff" diff -Nurp linux-2.6.29-xen-r4.orig/fs/exportfs/Makefile linux-2.6.29-xen-r4/fs/exportfs/Makefile --- linux-2.6.29-xen-r4.orig/fs/exportfs/Makefile 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29-xen-r4/fs/exportfs/Makefile 2009-08-14 10:36:22.572098064 +0200 @@ -1,6 +1,8 @@ # # Makefile for the filesystem export support routines. +EXTRA_CFLAGS += -I$(src)/../../fs/xfs -I$(src)/../../fs/xfs/linux-2.6 + obj-$(CONFIG_EXPORTFS) += exportfs.o exportfs-objs := expfs.o diff -Nurp linux-2.6.29-xen-r4.orig/fs/exportfs/expfs.c linux-2.6.29-xen-r4/fs/exportfs/expfs.c --- linux-2.6.29-xen-r4.orig/fs/exportfs/expfs.c 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29-xen-r4/fs/exportfs/expfs.c 2009-08-14 10:39:58.917630424 +0200 @@ -15,6 +15,11 @@ #include #include #include +#include "xfs.h" +#include "xfs_inum.h" +#include "xfs_bmap_btree.h" +#include "xfs_dinode.h" +#include "xfs_inode.h" #define dprintk(fmt, args...) do{}while(0) @@ -187,8 +192,25 @@ reconnect_path(struct vfsmount *mnt, str */ if (npd == pd) noprogress = 0; - else + else { printk("%s: npd != pd\n", __func__); + if (npd->d_inode) { + printk("npd = 0x%p, inode = 0%p, ino = 0x%llx\n", + npd, npd->d_inode, + (unsigned long long)npd->d_inode->i_ino); + printk("i_state = 0x%lx, i_flags = 0x%x\n", + npd->d_inode->i_state, + XFS_I(npd->d_inode)->i_flags); + } + if (pd->d_inode) { + printk("pd = 0x%p, inode = 0%p, ino = 0x%llx\n", + pd, pd->d_inode, + (unsigned long long)pd->d_inode->i_ino); + printk("i_state = 0x%lx, i_flags = 0x%x\n", + pd->d_inode->i_state, + XFS_I(pd->d_inode)->i_flags); + } + } dput(npd); dput(ppd); if (IS_ROOT(pd)) { diff -Nurp linux-2.6.29-xen-r4.orig/fs/inode.c linux-2.6.29-xen-r4/fs/inode.c --- linux-2.6.29-xen-r4.orig/fs/inode.c 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29-xen-r4/fs/inode.c 2009-08-14 14:08:17.373785137 +0200 @@ -117,7 +117,7 @@ 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; @@ -147,14 +147,10 @@ struct inode *inode_init_always(struct s inode->i_cdev = NULL; inode->i_rdev = 0; inode->dirtied_when = 0; - if (security_inode_alloc(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; - } - + + if (security_inode_alloc(inode)) + return -ENOMEM; + spin_lock_init(&inode->i_lock); lockdep_set_class(&inode->i_lock, &sb->s_type->i_lock_key); @@ -188,7 +184,7 @@ struct inode *inode_init_always(struct s inode->i_private = NULL; inode->i_mapping = mapping; - return inode; + return 0; } EXPORT_SYMBOL(inode_init_always); @@ -201,22 +197,34 @@ 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) +void __destroy_inode(struct inode *inode) { BUG_ON(inode_has_buffers(inode)); security_inode_free(inode); +} +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 diff -Nurp linux-2.6.29-xen-r4.orig/fs/xfs/linux-2.6/xfs_sync.c linux-2.6.29-xen-r4/fs/xfs/linux-2.6/xfs_sync.c --- linux-2.6.29-xen-r4.orig/fs/xfs/linux-2.6/xfs_sync.c 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29-xen-r4/fs/xfs/linux-2.6/xfs_sync.c 2009-08-14 09:43:47.487023831 +0200 @@ -619,6 +619,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 @@ -633,9 +644,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); @@ -643,27 +652,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); } diff -Nurp linux-2.6.29-xen-r4.orig/fs/xfs/linux-2.6/xfs_sync.h linux-2.6.29-xen-r4/fs/xfs/linux-2.6/xfs_sync.h --- linux-2.6.29-xen-r4.orig/fs/xfs/linux-2.6/xfs_sync.h 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29-xen-r4/fs/xfs/linux-2.6/xfs_sync.h 2009-08-14 10:41:10.087152772 +0200 @@ -49,7 +49,6 @@ int xfs_reclaim_inode(struct xfs_inode * int xfs_reclaim_inodes(struct xfs_mount *mp, int noblock, 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); #endif diff -Nurp linux-2.6.29-xen-r4.orig/fs/xfs/xfs_iget.c linux-2.6.29-xen-r4/fs/xfs/xfs_iget.c --- linux-2.6.29-xen-r4.orig/fs/xfs/xfs_iget.c 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29-xen-r4/fs/xfs/xfs_iget.c 2009-08-14 09:36:23.472454929 +0200 @@ -64,20 +64,20 @@ xfs_inode_alloc( if (!ip) return NULL; - 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)); - /* * initialise the VFS inode here to get failures * out of the way early. */ - if (!inode_init_always(mp->m_super, VFS_I(ip))) { + 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); + ASSERT(!spin_is_locked(&ip->i_flags_lock)); + ASSERT(completion_done(&ip->i_flush)); + /* initialise the xfs inode */ ip->i_ino = ino; ip->i_mount = mp; @@ -114,9 +114,77 @@ xfs_inode_alloc( ip->i_dir_trace = ktrace_alloc(XFS_DIR2_KTRACE_SIZE, KM_NOFS); #endif + /* prevent anyone from using this yet */ + VFS_I(ip)->i_state = I_NEW|I_LOCK; + 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 */ @@ -127,80 +195,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 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 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); + 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 (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { - error = ENOENT; - iput(VFS_I(ip)); - goto out_error; + if (!igrab(inode)) { + error = EAGAIN; + 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); @@ -210,6 +288,7 @@ xfs_iget_cache_hit( return 0; out_error: + spin_unlock(&ip->i_flags_lock); read_unlock(&pag->pag_ici_lock); return error; } @@ -293,7 +372,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; } @@ -470,17 +550,21 @@ xfs_ireclaim( { struct xfs_mount *mp = ip->i_mount; struct xfs_perag *pag; + xfs_agino_t agino = XFS_INO_TO_AGINO(mp, ip->i_ino); XFS_STATS_INC(xs_ig_reclaims); /* - * Remove the inode from the per-AG radix tree. It doesn't matter - * if it was never added to it because radix_tree_delete can deal - * with that case just fine. + * Remove the inode from the per-AG radix tree. + * + * Because radix_tree_delete won't complain even if the item was never + * added to the tree assert that it's been there before to catch + * problems with the inode life time early on. */ pag = xfs_get_perag(mp, ip->i_ino); write_lock(&pag->pag_ici_lock); - radix_tree_delete(&pag->pag_ici_root, XFS_INO_TO_AGINO(mp, ip->i_ino)); + ASSERT(radix_tree_lookup(&pag->pag_ici_root, agino)); + radix_tree_delete(&pag->pag_ici_root, agino); write_unlock(&pag->pag_ici_lock); xfs_put_perag(mp, pag); @@ -500,63 +584,7 @@ xfs_ireclaim( */ XFS_QM_DQDETACH(ip->i_mount, ip); xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_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); } /* diff -Nurp linux-2.6.29-xen-r4.orig/fs/xfs/xfs_inode.h linux-2.6.29-xen-r4/fs/xfs/xfs_inode.h --- linux-2.6.29-xen-r4.orig/fs/xfs/xfs_inode.h 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29-xen-r4/fs/xfs/xfs_inode.h 2009-08-14 10:35:44.458392694 +0200 @@ -309,23 +309,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) -{ - make_bad_inode(VFS_I(ip)); - return destroy_inode(VFS_I(ip)); -} - -/* * i_flags helper functions */ static inline void diff -Nurp linux-2.6.29-xen-r4.orig/include/linux/fs.h linux-2.6.29-xen-r4/include/linux/fs.h --- linux-2.6.29-xen-r4.orig/include/linux/fs.h 2009-03-24 00:12:14.000000000 +0100 +++ linux-2.6.29-xen-r4/include/linux/fs.h 2009-08-14 10:34:54.366761940 +0200 @@ -1905,7 +1905,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 *); @@ -1932,6 +1932,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 *); --Boundary-00=_mBWhK9/P10gJ6AO-- From felixb@sgi.com Fri Aug 14 08:50:32 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 n7EDoCVD107915 for ; Fri, 14 Aug 2009 08:50:22 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 845898F8111 for ; Fri, 14 Aug 2009 06:50:58 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id 316EA700016A; Fri, 14 Aug 2009 08:21:58 -0500 (CDT) Cc: John Quigley , XFS Development Message-Id: From: Felix Blyakher To: Eric Sandeen In-Reply-To: <4A84B050.4020500@sandeen.net> 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: XFS corruption with failover Date: Fri, 14 Aug 2009 08:21:57 -0500 References: <4A8474D2.7050508@jquigley.com> <4A84B050.4020500@sandeen.net> 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 13, 2009, at 7:31 PM, Eric Sandeen wrote: >> This is an IO error. Is the block device (/dev/sde) accessible >> from the server #2 OK? Can you dd from that device? > > Are you sure? No, I'm not. Replied first without looking at the code ^) > > > if (ohead->oh_clientid != XFS_TRANSACTION && > ohead->oh_clientid != XFS_LOG) { > xlog_warn( > "XFS: xlog_recover_process_data: bad clientid"); > ASSERT(0); > return (XFS_ERROR(EIO)); > } > > so it does say EIO but that seems to me to be the wrong error; loks > more > like a bad log to me. Agree. It does look like corrupted (incomplete) log. > > > It does make me wonder if there's any sort of per-initiator caching on > the iscsi target or something. Yep, somewhere piece of log left out in a cache, and wasn't flushed to disk. Felix From BATV+daa538504ee73a6bfc0c+2182+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 14 09:21: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 n7EEKYVW109613 for ; Fri, 14 Aug 2009 09:20:50 -0500 X-ASG-Debug-ID: 1250259680-205402050000-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 2E1CB1B6E4B3 for ; Fri, 14 Aug 2009 07:21:21 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id INHRrOMZj7DNWoCs for ; Fri, 14 Aug 2009 07:21:21 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mbxbb-0000pw-Ha; Fri, 14 Aug 2009 14:18:07 +0000 Date: Fri, 14 Aug 2009 10:18:07 -0400 From: Christoph Hellwig To: Christian Fischer Cc: Christoph Hellwig , xfs@oss.sgi.com, Andrew Lyon , Eric Sandeen X-ASG-Orig-Subj: Re: [Patch] Re: xfs crash, kernel 2.6.29 Subject: Re: [Patch] Re: xfs crash, kernel 2.6.29 Message-ID: <20090814141807.GA2891@infradead.org> References: <200908110921.50752.Christian.Fischer@easterngraphics.com> <20090811142029.GB30913@infradead.org> <200908141456.58683.Christian.Fischer@easterngraphics.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200908141456.58683.Christian.Fischer@easterngraphics.com> 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: 1250259681 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 Fri, Aug 14, 2009 at 02:56:58PM +0200, Christian Fischer wrote: > backported to 2.6.29-xen-r4 from > http://code.google.com/p/gentoo-xen-kernel/downloads/list > > Can you please review it? I'll reviewed it and do some QA over the weekend, and we'll send it to -stable then. From webmaster@upol.cz Fri Aug 14 11:17:23 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,J_CHICKENPOX_42, 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 n7EGGuTx116081 for ; Fri, 14 Aug 2009 11:17:13 -0500 X-ASG-Debug-ID: 1250266627-51a5032e0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from salnet.salnet.com.ar (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9D93F14B0578 for ; Fri, 14 Aug 2009 09:17:11 -0700 (PDT) Received: from salnet.salnet.com.ar (ns1.salnet.com.ar [200.70.50.2]) by cuda.sgi.com with ESMTP id tdS9UUGDrq8ZXxmE for ; Fri, 14 Aug 2009 09:17:11 -0700 (PDT) Received: from webmail.salnet.com.ar ([200.70.50.46]) by salnet.salnet.com.ar (8.9.3/8.9.3) with ESMTP id NAA21445; Fri, 14 Aug 2009 13:13:36 -0300 Received: from 41.220.75.3 (SquirrelMail authenticated user puenoe) by webmail.salnet.com.ar with HTTP; Fri, 14 Aug 2009 13:07:03 -0300 (ART) Message-ID: <5802.41.220.75.3.1250266023.squirrel@webmail.salnet.com.ar> Date: Fri, 14 Aug 2009 13:07:03 -0300 (ART) X-ASG-Orig-Subj: =?utf-8?B?VsOhxb5lbsOtIHVwb2wuY3ogU3ViY3JpYmVy?= Subject: =?utf-8?B?VsOhxb5lbsOtIHVwb2wuY3ogU3ViY3JpYmVy?= From: =?utf-8?B?VW5pdmVyeml0YSBQYWxhY2vDqWhvOiBIbGF2bsOtIHN0cmFuYQ==?= Reply-To: webmaster.s2274@yahoo.com User-Agent: SquirrelMail/1.4.8-4.0.1.el5.centos.2 MIME-Version: 1.0 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal X-Barracuda-Connect: ns1.salnet.com.ar[200.70.50.2] X-Barracuda-Start-Time: 1250266662 X-Barracuda-Bayes: INNOCENT GLOBAL 0.1698 1.0000 -0.9907 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.59 X-Barracuda-Spam-Status: No, SCORE=0.59 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=MISSING_HEADERS, TO_CC_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6187 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 1.58 MISSING_HEADERS Missing To: header 0.00 TO_CC_NONE No To: or Cc: header To: undisclosed-recipients:; X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Vážení upol.cz Subcriber, Tato zpráva je z upol.cz zpráv centrum pro všechny uživatele z této domény. V současné době modernizaci naší databázi a e-mailový účet centra. Jsme smazání všech nevyužitých e-mailový účet vytvořit více prostoru pro nové accounts.To zabránit svému účtu od uzavření budete muset aktualizovat níže tak, že budeme vědět, že je to v současné době používá účet. Potvrdit svou e-mailovou IDENTITY níže Email Uživatelské jméno: ............... Email Heslo: ................ Datum narození :....................... Země nebo území: .......... Upozornění! Účet vlastníků, které odmítají aktualizovat jeho účet do sedmi dnů od obdržení tohoto varování bude ztrácet svou úvahu trvale. Děkujeme vám Upozornění: Kód: VX2G99AAJ From cattelan@thebarn.com Fri Aug 14 12:57: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.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 n7EHvSaZ119860 for ; Fri, 14 Aug 2009 12:57:43 -0500 X-ASG-Debug-ID: 1250272659-28b101d50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from slurp.thebarn.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id CFC3F14B0DDE for ; Fri, 14 Aug 2009 10:57:40 -0700 (PDT) Received: from slurp.thebarn.com (mail.thebarn.com [208.42.117.202]) by cuda.sgi.com with ESMTP id c5wuqnAqCfLaREVY for ; Fri, 14 Aug 2009 10:57:40 -0700 (PDT) Received: from funky.x.thebarn.com (slurp.x.thebarn.com [10.0.0.11]) (authenticated bits=0) by slurp.thebarn.com (8.14.3/8.14.0) with ESMTP id n7EHvMKi040635; Fri, 14 Aug 2009 12:57:37 -0500 (CDT) (envelope-from cattelan@thebarn.com) Message-ID: <4A85A582.5000701@thebarn.com> Date: Fri, 14 Aug 2009 12:57:22 -0500 From: Russell Cattelan User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728) MIME-Version: 1.0 To: kanishk rastogi CC: xfs-oss X-ASG-Orig-Subj: Re: xfs buffers Subject: Re: xfs buffers References: <9ee2fe770908131117o5b7ec317me4524d020bbe216b@mail.gmail.com> In-Reply-To: <9ee2fe770908131117o5b7ec317me4524d020bbe216b@mail.gmail.com> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail.thebarn.com[208.42.117.202] X-Barracuda-Start-Time: 1250272685 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.6195 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 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 kanishk rastogi wrote: > hi all, I was trying to understand the xfs_buf_t management in XFS. > I was looking at the xfs_bufhash_t which is used to keep the info > of buffers which have ongoing transactions. I wanted to know if it > uses it for caching these pages. > > As far as i can see in xfs_buf_relse calls :: > > list_del_init(&bp->b_hash_list); > > if the count drops down to 0 for the buffer... > > if (atomic_dec_and_lock(&bp->b_hold, &hash->bh_lock)) { if > (bp->b_relse) { ----->set only in case of error?? > atomic_inc(&bp->b_hold); spin_unlock(&hash->bh_lock); > (*(bp->b_relse)) (bp); } else if (bp->b_flags & XBF_FS_MANAGED) { > ----> mostly unset......\ Indeed. that flag is used on exactly one buffer, the superblock. Basically the superblock is pinned in memory and only flushed by the filesystem. > spin_unlock(&hash->bh_lock); } else { ASSERT(!(bp->b_flags & > (XBF_DELWRI|_XBF_DELWRI_Q))); *list_del_init(&bp->b_hash_list);* > spin_unlock(&hash->bh_lock); xfs_buf_free(bp); } } > > --------------- > > CMIIW: So it doesnt keeps buffers if they are not in use.... ?? buffers are released back to the buf_t zone when they are done. zone allocation / free is very fast so managing lists of "free" buffers doesn't make a lot of sense. > > I dont think that should be the case... > > -- regards kanishk > > ---------------------------------------------------------------------- > > > _______________________________________________ xfs mailing list > xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFKhaWBNRmM+OaGhBgRAtqgAJ9CZfj0QXz8Yy7P4jYemgEPsvR9pQCfcSWM a9OI8A4ckMdOuiXQ60o4PLE= =OJAD -----END PGP SIGNATURE----- From BATV+3a38a3c89f47af5234de+2184+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 15 19:47:11 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_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 n7G0kixV213677 for ; Sat, 15 Aug 2009 19:47:01 -0500 X-ASG-Debug-ID: 1250383630-247400390000-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 3E7B714C03B3 for ; Sat, 15 Aug 2009 17:47:10 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id sheySQVqleOK62fL for ; Sat, 15 Aug 2009 17:47:10 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1McTtp-0005PX-Q3; Sun, 16 Aug 2009 00:47:05 +0000 Date: Sat, 15 Aug 2009 20:47:05 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, liml@rtr.ca, jens.axboe@oracle.com X-ASG-Orig-Subj: [PATCH, RFC] xfs: batched discard support Subject: [PATCH, RFC] xfs: batched discard support Message-ID: <20090816004705.GA7347@infradead.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0OAP2g/MAC+5xKAE" 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: 1250383651 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 --0OAP2g/MAC+5xKAE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Given that everyone is so big in the discard discussion I'd like to present what I had started to prepare for XFS. I didn't plan to send it out until I get my hands onto a TRIM capable device (or at least get time to add support to qemu), and so far it's only been tested in dry-run mode. The basic idea is to add an ioctl which walks the free space btrees in each allocation group and simply discard everythin that is free. Given that XFS doesn't gragment freespace very much that's a very efficient way to do it. In addition we also already support setting a threshold under which we don't bother to discard an extent, it's currently hardcoded in the helper tool. In the future we could also add things like a sequence number in the AG headers if anything has changed at all, but let's leave those optimizations until we need them. XFS locks the allocation btree using the btree buffers, so we do not block allocations from any extent which we're not currenly discarding. Now the caveat for that is that we really do want to do the discard synchronously, that is wait for the request to finish. That's what I've implemented in this patch, but it's the part I haven't been able to test so far. (and yes, this should be separate patch, but it's really just an RFC for now) Mark, any chance to try it? Just create an XFS filesystem, age it a bit and then call the attached little trim.c program on the mountmoint (or any file inside the filesystem for that matter) Index: linux-2.6/fs/xfs/linux-2.6/xfs_ioctl.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_ioctl.c 2009-08-15 20:15:14.379163976 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_ioctl.c 2009-08-15 21:19:19.342664224 -0300 @@ -1275,6 +1275,31 @@ xfs_ioc_getbmapx( return 0; } +STATIC int +xfs_ioc_trim( + struct xfs_mount *mp, + __uint32_t *argp) +{ + xfs_agnumber_t agno; + int error = 0; + __uint32_t minlen; + + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + if (get_user(minlen, argp)) + return -EFAULT; + + down_read(&mp->m_peraglock); + for (agno = 0; agno < mp->m_sb.sb_agcount; agno++) { + error = -xfs_trim_extents(mp, agno, minlen); + if (error) + break; + } + up_read(&mp->m_peraglock); + + return error; +} + /* * Note: some of the ioctl's return positive numbers as a * byte count indicating success, such as readlink_by_handle. @@ -1524,6 +1549,9 @@ xfs_file_ioctl( error = xfs_errortag_clearall(mp, 1); return -error; + case XFS_IOC_TRIM: + return xfs_ioc_trim(mp, arg); + default: return -ENOTTY; } Index: linux-2.6/fs/xfs/xfs_alloc.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_alloc.c 2009-08-15 20:11:00.791163409 -0300 +++ linux-2.6/fs/xfs/xfs_alloc.c 2009-08-15 21:40:16.226666638 -0300 @@ -2470,6 +2470,96 @@ error0: return error; } +STATIC int +xfs_trim_extent( + struct xfs_mount *mp, + xfs_agnumber_t agno, + xfs_agblock_t fbno, + xfs_extlen_t flen) +{ + xfs_daddr_t blkno = XFS_AGB_TO_DADDR(mp, agno, fbno); + sector_t nblks = XFS_FSB_TO_BB(mp, flen); + int error; + + xfs_fs_cmn_err(CE_NOTE, mp, "discarding sectors [0x%llx-0x%llx]", + blkno, nblks); + + error = -__blkdev_issue_discard(mp->m_ddev_targp->bt_bdev, + blkno, nblks, GFP_NOFS, 1); + if (error && error != EOPNOTSUPP) + xfs_fs_cmn_err(CE_NOTE, mp, "discard failed, error %d", error); + return error; +} + +/* + * Notify the underlying block device about our free extent map. + * + * This walks all free extents above a minimum threshold and notifies the + * underlying device that these blocks are unused. That information is + * useful for SSDs or thinly provisioned storage in high end arrays or + * virtualization scenarios. + */ +int +xfs_trim_extents( + struct xfs_mount *mp, + xfs_agnumber_t agno, + xfs_extlen_t minlen) /* minimum extent size to bother */ +{ + struct xfs_btree_cur *cur; /* cursor for the by-block btree */ + struct xfs_buf *agbp; /* AGF buffer pointer */ + xfs_agblock_t bno; /* block the for next search */ + xfs_agblock_t fbno; /* start block of found extent */ + xfs_extlen_t flen; /* length of found extent */ + int error; + int i; + + error = xfs_alloc_read_agf(mp, NULL, agno, 0, &agbp); + if (error) + return error; + + bno = 0; + for (;;) { + cur = xfs_allocbt_init_cursor(mp, NULL, agbp, agno, + XFS_BTNUM_BNO); + + error = xfs_alloc_lookup_ge(cur, bno, minlen, &i); + if (error) + goto error0; + if (!i) { + /* + * No more free extents found: done. + */ + xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); + break; + } + + error = xfs_alloc_get_rec(cur, &fbno, &flen, &i); + if (error) + goto error0; + XFS_WANT_CORRUPTED_GOTO(i == 1, error0); + + /* + * Pass if the freespace extent isn't long enough to bother. + */ + if (flen >= minlen) { + error = xfs_trim_extent(mp, agno, fbno, flen); + if (error) { + xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); + break; + } + } + + xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); + bno = fbno + flen; + } + +out: + xfs_buf_relse(agbp); + return error; +error0: + xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); + goto out; +} /* * AG Busy list management Index: linux-2.6/fs/xfs/xfs_alloc.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_alloc.h 2009-08-15 20:12:51.762661386 -0300 +++ linux-2.6/fs/xfs/xfs_alloc.h 2009-08-15 20:15:07.334667592 -0300 @@ -217,4 +217,7 @@ xfs_free_extent( xfs_fsblock_t bno, /* starting block number of extent */ xfs_extlen_t len); /* length of extent */ +int xfs_trim_extents(struct xfs_mount *mp, xfs_agnumber_t agno, + xfs_extlen_t minlen); + #endif /* __XFS_ALLOC_H__ */ Index: linux-2.6/fs/xfs/xfs_fs.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_fs.h 2009-08-15 20:22:03.735200427 -0300 +++ linux-2.6/fs/xfs/xfs_fs.h 2009-08-15 20:24:18.677996430 -0300 @@ -475,6 +475,7 @@ typedef struct xfs_handle { #define XFS_IOC_ATTRMULTI_BY_HANDLE _IOW ('X', 123, struct xfs_fsop_attrmulti_handlereq) #define XFS_IOC_FSGEOMETRY _IOR ('X', 124, struct xfs_fsop_geom) #define XFS_IOC_GOINGDOWN _IOR ('X', 125, __uint32_t) +#define XFS_IOC_TRIM _IOR ('X', 126, __uint32_t) /* XFS_IOC_GETFSUUID ---------- deprecated 140 */ Index: linux-2.6/block/blk-barrier.c =================================================================== --- linux-2.6.orig/block/blk-barrier.c 2009-08-15 21:36:30.426696824 -0300 +++ linux-2.6/block/blk-barrier.c 2009-08-15 21:41:11.490664659 -0300 @@ -348,22 +348,27 @@ static void blkdev_discard_end_io(struct clear_bit(BIO_UPTODATE, &bio->bi_flags); } + if (bio->bi_private) + complete(bio->bi_private); bio_put(bio); } /** - * blkdev_issue_discard - queue a discard + * __blkdev_issue_discard - queue a discard * @bdev: blockdev to issue discard for * @sector: start sector * @nr_sects: number of sectors to discard * @gfp_mask: memory allocation flags (for bio_alloc) + * @wait: if %1 wait for the discard to finish * * Description: - * Issue a discard request for the sectors in question. Does not wait. + * Issue a discard request for the sectors in question. */ -int blkdev_issue_discard(struct block_device *bdev, - sector_t sector, sector_t nr_sects, gfp_t gfp_mask) +int __blkdev_issue_discard(struct block_device *bdev, + sector_t sector, sector_t nr_sects, gfp_t gfp_mask, + int wait) { + DECLARE_COMPLETION_ONSTACK(done); struct request_queue *q; struct bio *bio; int ret = 0; @@ -385,6 +390,7 @@ int blkdev_issue_discard(struct block_de bio->bi_end_io = blkdev_discard_end_io; bio->bi_bdev = bdev; + bio->bi_private = wait ? &done : NULL; bio->bi_sector = sector; @@ -399,6 +405,9 @@ int blkdev_issue_discard(struct block_de bio_get(bio); submit_bio(DISCARD_BARRIER, bio); + if (wait) + wait_for_completion(&done); + /* Check if it failed immediately */ if (bio_flagged(bio, BIO_EOPNOTSUPP)) ret = -EOPNOTSUPP; @@ -408,4 +417,4 @@ int blkdev_issue_discard(struct block_de } return ret; } -EXPORT_SYMBOL(blkdev_issue_discard); +EXPORT_SYMBOL(__blkdev_issue_discard); Index: linux-2.6/include/linux/blkdev.h =================================================================== --- linux-2.6.orig/include/linux/blkdev.h 2009-08-15 21:40:20.507164178 -0300 +++ linux-2.6/include/linux/blkdev.h 2009-08-15 21:42:15.734715355 -0300 @@ -977,8 +977,14 @@ static inline struct request *blk_map_qu } extern int blkdev_issue_flush(struct block_device *, sector_t *); -extern int blkdev_issue_discard(struct block_device *, - sector_t sector, sector_t nr_sects, gfp_t); +extern int __blkdev_issue_discard(struct block_device *, sector_t sector, + sector_t nr_sects, gfp_t, int wait); + +static inline int blkdev_issue_discard(struct block_device *bdev, + sector_t sector, sector_t nr_sects, gfp_t gfp_mask) +{ + return __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, 0); +} static inline int sb_issue_discard(struct super_block *sb, sector_t block, sector_t nr_blocks) --0OAP2g/MAC+5xKAE Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="trim.c" #include #include #include #include #include #define XFS_IOC_TRIM _IOR ('X', 126, uint32_t) int main(int argc, char **argv) { int minsize = 4096; int fd; if (argc != 2) { fprintf(stderr, "usage: %s mountpoint\n", argv[0]); return 1; } fd = open(argv[1], O_RDONLY); if (fd < 0) { perror("open"); return 1; } if (ioctl(fd, XFS_IOC_TRIM, &minsize)) { if (errno == EOPNOTSUPP) fprintf(stderr, "TRIM not supported\n"); else perror("XFS_IOC_TRIM"); return 1; } return 0; } --0OAP2g/MAC+5xKAE-- From alexueng@seed.net.tw Sat Aug 15 19:54:45 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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7G0sO60214149 for ; Sat, 15 Aug 2009 19:54:35 -0500 X-ASG-Debug-ID: 1250384101-292603080000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from seed.net.tw (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 64A891D5941B for ; Sat, 15 Aug 2009 17:55:01 -0700 (PDT) Received: from seed.net.tw (sn12.seed.net.tw [139.175.54.12]) by cuda.sgi.com with ESMTP id DMCWHt2BIL8GC2D2 for ; Sat, 15 Aug 2009 17:55:01 -0700 (PDT) Received: from [82.11.245.169] (port=59640 helo=M1330) by seed.net.tw with esmtpa (Seednet 4.67:1) User alexueng@seed.net.tw is authenticated id 1McTtu-0000Qg-D6; Sun, 16 Aug 2009 08:47:11 +0800 Reply-To: <08100845@glam.ac.uk> From: "08100845@glam.ac.uk" To: <08100845@glam.ac.uk> X-ASG-Orig-Subj: Academic research about computer forenisc guidelines Subject: Academic research about computer forenisc guidelines Date: Sun, 16 Aug 2009 01:46:27 +0100 Organization: University of Glamorgan Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0220_01CA1E13.761C52A0" X-Mailer: Microsoft Office Outlook 11 Thread-Index: Acod8UoGR11XlO56SbK1u+nU1KI4MQAADzMwAAAVgeAAADhbIAAATRMQAABJPhA= X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.18005 X-Barracuda-Connect: sn12.seed.net.tw[139.175.54.12] X-Barracuda-Start-Time: 1250384108 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.6316 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 3o,O MIME .f&!*: Multipart 6l%s!C ------=_NextPart_000_0220_01CA1E13.761C52A0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit ***If you get duplicate mail or feel this is annoying, please just skip it and delete it!! *** Hi It's Jonas, a master student in University of Glamorgan (UK) I'm doing a research project about forensic guidelines of IM (instant messaging) And I really need some help and opinion from you, the experts or investigators in this field. Please kindly reply me with some response of the questions below. All of this are only used for academic research and all messages from you will be kept secret. ---- Question1: How long have you worked in forensic field? Answer: Question2: Do you use any guidelines (like ACPO or any document from NIJ or DoJ in USA)? What is it? Answer: Question3: Do you think the guideline documents are enough to provide guidance in investigating e-crimes? Answer: Question4: Have you ever deal with any e-crime case which was using IM as criminal tool or included the abuse of IM? If yes, please mention the IM client type. Answer: Question5: As a guideline for IM forensic, what part do you think is the most important one to be mentioned? (Example: Background information, procedures, or other considerations....) Answer: ---- Really thanks for your help. And I'll be appreciating if you can forward this mail to other friends who work in this field too. Jonas ------=_NextPart_000_0220_01CA1E13.761C52A0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

***If you get = duplicate mail or feel this is annoying, please just skip it and delete it!! = ***

 

Hi

It's Jonas, a master student in University of Glamorgan (UK)

I'm doing a research project about forensic = guidelines of IM (instant messaging)

And I really need some help and opinion from = you, the experts or investigators in this field.

Please kindly reply me with some response of = the questions below.

All of this are only used for academic research = and all messages from you will be kept secret.

----

Question1: How = long have you worked in forensic field?

Answer:

Question2: Do you = use any guidelines (like ACPO or any document from NIJ or DoJ in USA)? What is = it?

Answer:

Question3: Do you = think the guideline documents are enough to provide guidance in investigating = e-crimes?

Answer:

Question4: Have = you ever deal with any e-crime case which was using IM as criminal tool or = included the abuse of IM? If yes, please mention the IM client = type.

Answer:

Question5: As a = guideline for IM forensic, what part do you think is the most important one to be = mentioned?

        =         (Example: Background information, procedures, or other = considerations....)

Answer:

----

Really thanks for your help. And I'll be = appreciating if you can forward this mail to other friends who work in this field = too.

Jonas

------=_NextPart_000_0220_01CA1E13.761C52A0-- From liml@rtr.ca Sat Aug 15 20:35: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.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 n7G1ZH0J216957 for ; Sat, 15 Aug 2009 20:35:27 -0500 X-ASG-Debug-ID: 1250386554-293303b20000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8E3F31D59121 for ; Sat, 15 Aug 2009 18:35:54 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id 9uGFulHCv3ZGFSPu for ; Sat, 15 Aug 2009 18:35:54 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id 12F67771C1; Sat, 15 Aug 2009 21:35:18 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id AAC867717C; Sat, 15 Aug 2009 21:35:18 -0400 (EDT) Message-ID: <4A876255.10606@rtr.ca> Date: Sat, 15 Aug 2009 21:35:17 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> In-Reply-To: <20090816004705.GA7347@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250386560 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.6318 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 Christoph Hellwig wrote: > Given that everyone is so big in the discard discussion I'd like to > present what I had started to prepare for XFS. I didn't plan to send it > out until I get my hands onto a TRIM capable device (or at least get > time to add support to qemu), and so far it's only been tested in > dry-run mode. > > The basic idea is to add an ioctl which walks the free space btrees in > each allocation group and simply discard everythin that is free. Given > that XFS doesn't gragment freespace very much that's a very efficient > way to do it. In addition we also already support setting a threshold > under which we don't bother to discard an extent, it's currently > hardcoded in the helper tool. In the future we could also add things > like a sequence number in the AG headers if anything has changed at all, > but let's leave those optimizations until we need them. > > XFS locks the allocation btree using the btree buffers, so we do not > block allocations from any extent which we're not currenly discarding. > > Now the caveat for that is that we really do want to do the discard > synchronously, that is wait for the request to finish. That's what > I've implemented in this patch, but it's the part I haven't been > able to test so far. (and yes, this should be separate patch, but it's > really just an RFC for now) > > Mark, any chance to try it? Just create an XFS filesystem, age it a > bit and then call the attached little trim.c program on the mountmoint > (or any file inside the filesystem for that matter) .. Looking at it now. Thanks, Christoph! From liml@rtr.ca Sat Aug 15 21:19: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 n7G2JYY6220028 for ; Sat, 15 Aug 2009 21:19:44 -0500 X-ASG-Debug-ID: 1250389162-36ac00380000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5265C3D2D54 for ; Sat, 15 Aug 2009 19:19:22 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id SiKCjGg0GwmQaQIC for ; Sat, 15 Aug 2009 19:19:22 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id 9B412771BD; Sat, 15 Aug 2009 22:19:18 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 39DF17718C; Sat, 15 Aug 2009 22:19:18 -0400 (EDT) Message-ID: <4A876CA9.20906@rtr.ca> Date: Sat, 15 Aug 2009 22:19:21 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> In-Reply-To: <4A876255.10606@rtr.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250389188 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.6322 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 Mark Lord wrote: > Christoph Hellwig wrote: .. >> Mark, any chance to try it? Just create an XFS filesystem, age it a >> bit and then call the attached little trim.c program on the mountmoint >> (or any file inside the filesystem for that matter) > .. > > Looking at it now. Thanks, Christoph! .. Fails to work on 64-bit kernel w/ 32-bit userspace (no compat ioctl). Rebuilding with 32-bit kernel now.. From BATV+3a38a3c89f47af5234de+2184+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 15 21:23: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 n7G2MkYT220171 for ; Sat, 15 Aug 2009 21:23:02 -0500 X-ASG-Debug-ID: 1250389413-36b5004c0000-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 F3CB83D29E9; Sat, 15 Aug 2009 19:23:33 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 82JMTI3eCV81VdDv; Sat, 15 Aug 2009 19:23:33 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1McVPA-0003Dm-HQ; Sun, 16 Aug 2009 02:23:32 +0000 Date: Sat, 15 Aug 2009 22:23:31 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: Felix Blyakher , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (happened again) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (happened again) Message-ID: <20090816022331.GA2309@infradead.org> References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1250389413 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 All your traces seem to have in common that you're block on locks hold by processed doing I/O. Especially a lot of page locks which are controlled by the VM and not the filesystem. Can you try with commit 8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0 from 2.6.31-rc applied, or better directly 2.6.3-rc6? I would be surprised if this is something inside XFS, but running with CONFIG_XFS_DEBUG never hurts. From BATV+3a38a3c89f47af5234de+2184+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 15 21:24: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 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 n7G2OGwc220236 for ; Sat, 15 Aug 2009 21:24:31 -0500 X-ASG-Debug-ID: 1250389501-36c0004e0000-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 583EA3D2D86 for ; Sat, 15 Aug 2009 19:25:01 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id pNx76kIThExvFS3K for ; Sat, 15 Aug 2009 19:25:01 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1McVQa-0003Mm-Mo; Sun, 16 Aug 2009 02:25:00 +0000 Date: Sat, 15 Aug 2009 22:25:00 -0400 From: Christoph Hellwig To: Mark Lord Cc: Christoph Hellwig , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support Message-ID: <20090816022500.GA12392@infradead.org> References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A876CA9.20906@rtr.ca> 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: 1250389501 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 Sat, Aug 15, 2009 at 10:19:21PM -0400, Mark Lord wrote: > Mark Lord wrote: >> Christoph Hellwig wrote: > .. >>> Mark, any chance to try it? Just create an XFS filesystem, age it a >>> bit and then call the attached little trim.c program on the mountmoint >>> (or any file inside the filesystem for that matter) >> .. >> >> Looking at it now. Thanks, Christoph! > .. > > Fails to work on 64-bit kernel w/ 32-bit userspace (no compat ioctl). > Rebuilding with 32-bit kernel now.. The actual ioctl is compatible, just add the case XFS_IOC_TRIM: return xfs_ioc_trim(mp, arg); to xfs_file_compat_ioctl(). I'll add this to the next spin of the patch. From liml@rtr.ca Sat Aug 15 21:50: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.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 n7G2nmIr221309 for ; Sat, 15 Aug 2009 21:49:58 -0500 X-ASG-Debug-ID: 1250391015-7580015a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C8EB61D598CC for ; Sat, 15 Aug 2009 19:50:15 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id VDHFTGv5pskiffNU for ; Sat, 15 Aug 2009 19:50:15 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id 7D171771BB; Sat, 15 Aug 2009 22:49:41 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 1EDBE771B8; Sat, 15 Aug 2009 22:49:41 -0400 (EDT) Message-ID: <4A8773C4.6030409@rtr.ca> Date: Sat, 15 Aug 2009 22:49:40 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> <20090816022500.GA12392@infradead.org> In-Reply-To: <20090816022500.GA12392@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250391035 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.6324 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 Christoph Hellwig wrote: > On Sat, Aug 15, 2009 at 10:19:21PM -0400, Mark Lord wrote: >> Mark Lord wrote: >>> Christoph Hellwig wrote: >> .. >>>> Mark, any chance to try it? Just create an XFS filesystem, age it a >>>> bit and then call the attached little trim.c program on the mountmoint >>>> (or any file inside the filesystem for that matter) >>> .. >>> >>> Looking at it now. Thanks, Christoph! >> .. >> >> Fails to work on 64-bit kernel w/ 32-bit userspace (no compat ioctl). >> Rebuilding with 32-bit kernel now.. > > The actual ioctl is compatible, just add the > > case XFS_IOC_TRIM: > return xfs_ioc_trim(mp, arg); > > to xfs_file_compat_ioctl(). I'll add this to the next spin of the patch. .. Peachy. Rebuilding again now.. Don't wait up for this .. I'll finish it on Sunday. Bedtime. :) From liml@rtr.ca Sat Aug 15 22:25: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=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 n7G3P9FC222952 for ; Sat, 15 Aug 2009 22:25:20 -0500 X-ASG-Debug-ID: 1250393131-36ae01b90000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9B93F3D2E83 for ; Sat, 15 Aug 2009 20:25:31 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id o8C4W6CVgzrkZyuQ for ; Sat, 15 Aug 2009 20:25:31 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id 8C526771BA; Sat, 15 Aug 2009 23:25:30 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 28378771AA; Sat, 15 Aug 2009 23:25:30 -0400 (EDT) Message-ID: <4A877C29.1070706@rtr.ca> Date: Sat, 15 Aug 2009 23:25:29 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> <20090816022500.GA12392@infradead.org> <4A8773C4.6030409@rtr.ca> In-Reply-To: <4A8773C4.6030409@rtr.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250393133 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.92 X-Barracuda-Spam-Status: No, SCORE=-0.92 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC5_MJ3078, COMMA_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6326 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 COMMA_SUBJECT Subject is like 'Re: FDSDS, this is a subject' 0.50 BSF_SC5_MJ3078 Custom Rule MJ3078 X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Mark Lord wrote: > Christoph Hellwig wrote: >> On Sat, Aug 15, 2009 at 10:19:21PM -0400, Mark Lord wrote: >>> Mark Lord wrote: >>>> Christoph Hellwig wrote: >>> .. >>>>> Mark, any chance to try it? Just create an XFS filesystem, age it a >>>>> bit and then call the attached little trim.c program on the mountmoint >>>>> (or any file inside the filesystem for that matter) >>>> .. >>>> >>>> Looking at it now. Thanks, Christoph! >>> .. >>> >>> Fails to work on 64-bit kernel w/ 32-bit userspace (no compat ioctl). >>> Rebuilding with 32-bit kernel now.. >> >> The actual ioctl is compatible, just add the >> >> case XFS_IOC_TRIM: >> return xfs_ioc_trim(mp, arg); >> >> to xfs_file_compat_ioctl(). I'll add this to the next spin of the patch. > .. > > Peachy. Rebuilding again now.. > > Don't wait up for this .. I'll finish it on Sunday. Bedtime. :) .. Mmm.. doesn't work on stock 2.6.31-rc6. It must also require Matthew's patches for discard/trim support. Later. From liml@rtr.ca Sun Aug 16 08:01: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 n7GD0pT7252209 for ; Sun, 16 Aug 2009 08:01:02 -0500 X-ASG-Debug-ID: 1250427668-7df901140000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id CC8C93D3B82 for ; Sun, 16 Aug 2009 06:01:08 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id LByjjo7t2TjCNJzb for ; Sun, 16 Aug 2009 06:01:08 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id AFAF8262007; Sun, 16 Aug 2009 09:00:35 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 6624A78623; Sun, 16 Aug 2009 09:00:35 -0400 (EDT) Message-ID: <4A8802F3.6010908@rtr.ca> Date: Sun, 16 Aug 2009 09:00:35 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> <20090816022500.GA12392@infradead.org> In-Reply-To: <20090816022500.GA12392@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250427695 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.6364 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 Christoph Hellwig wrote: > On Sat, Aug 15, 2009 at 10:19:21PM -0400, Mark Lord wrote: >> Mark Lord wrote: >>> Christoph Hellwig wrote: >> .. >>>> Mark, any chance to try it? Just create an XFS filesystem, age it a >>>> bit and then call the attached little trim.c program on the mountmoint >>>> (or any file inside the filesystem for that matter) >>> .. >>> >>> Looking at it now. Thanks, Christoph! >> .. >> >> Fails to work on 64-bit kernel w/ 32-bit userspace (no compat ioctl). >> Rebuilding with 32-bit kernel now.. > > The actual ioctl is compatible, just add the > > case XFS_IOC_TRIM: > return xfs_ioc_trim(mp, arg); > > to xfs_file_compat_ioctl(). I'll add this to the next spin of the patch. .. Okay, this gives me ENOSYS now --> discard/trim support is missing from the lower layers. What other patches do I need to make this work? The latest from Matthew's discard tree (May 2009) don't appear to be sufficient, even after updating them for 2.6.31-rc6. ??? From huntsville1@bellnet.ca Sun Aug 16 08:31:39 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 n7GDVE7X253609 for ; Sun, 16 Aug 2009 08:31:29 -0500 X-ASG-Debug-ID: 1250429494-1a7102da0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from tomts45-srv.bellnexxia.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 477EC1D5A233 for ; Sun, 16 Aug 2009 06:31:35 -0700 (PDT) Received: from tomts45-srv.bellnexxia.net (tomts45-srv.bellnexxia.net [209.226.175.112]) by cuda.sgi.com with ESMTP id soMx0r5r03biRZFN for ; Sun, 16 Aug 2009 06:31:35 -0700 (PDT) Received: from toip53-bus.srvr.bell.ca ([67.69.240.54]) by tomts45-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20090816133134.IQWI22696.tomts45-srv.bellnexxia.net@toip53-bus.srvr.bell.ca>; Sun, 16 Aug 2009 09:31:34 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtU1AC+nh0rR4q/5/2dsb2JhbACBMoptArohWYpChAQF Received: from tofep1.bellnexxia.net (HELO smtp.bellnexxia.net) ([209.226.175.249]) by toip53-bus.srvr.bell.ca with SMTP; 16 Aug 2009 09:31:26 -0400 X-Mailer: Openwave WebEngine, version 2.8.11 (webedge20-101-194-20030622) X-Originating-IP: [200.65.129.2] From: Reply-To: nelsonwht1@btinternet.com To: X-ASG-Orig-Subj: Confirmed Receipt Subject: Confirmed Receipt Date: Sun, 16 Aug 2009 9:31:25 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-Id: <20090816133134.IQWI22696.tomts45-srv.bellnexxia.net@toip53-bus.srvr.bell.ca> X-Barracuda-Connect: tomts45-srv.bellnexxia.net[209.226.175.112] X-Barracuda-Start-Time: 1250429518 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5408 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.6366 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 You are among the lucky people. Confirm this receipt by replying the due process unit officer: Fill the details: FullName,Address,Tel,Occupation,etc,Reply to nelsonwht1@btinternet.com From BATV+3a38a3c89f47af5234de+2184+infradead.org+hch@bombadil.srs.infradead.org Sun Aug 16 08:53: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.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 n7GDqtew254627 for ; Sun, 16 Aug 2009 08:53:10 -0500 X-ASG-Debug-ID: 1250430800-02f501e70000-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 220821D5A49B for ; Sun, 16 Aug 2009 06:53:20 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 6jzsWUuSPidO5LLH for ; Sun, 16 Aug 2009 06:53:20 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1McgAd-0008UQ-Uj; Sun, 16 Aug 2009 13:53:15 +0000 Date: Sun, 16 Aug 2009 09:53:15 -0400 From: Christoph Hellwig To: Mark Lord Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, jens.axboe@oracle.com, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support Message-ID: <20090816135315.GA25251@infradead.org> References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> <20090816022500.GA12392@infradead.org> <4A8802F3.6010908@rtr.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A8802F3.6010908@rtr.ca> 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: 1250430821 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 16, 2009 at 09:00:35AM -0400, Mark Lord wrote: > Okay, this gives me ENOSYS now --> discard/trim support is missing from > the lower layers. ENOSYS or EOPNOTSUPP? > What other patches do I need to make this work? > > The latest from Matthew's discard tree (May 2009) don't appear to be sufficient, > even after updating them for 2.6.31-rc6. Hmm. That was kinda the reason why I didn't want to post stuff yet. In current mainline only MTD implements the prepare_discard_fn, and we'll need it implemented and working. I think Matthews patches should be sufficient, unless they have some ATA revision check to not issue the TRIM for your device. From liml@rtr.ca Sun Aug 16 08:59:19 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,LOCAL_GNU_PATCH 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 n7GDwxUo254922 for ; Sun, 16 Aug 2009 08:59:09 -0500 X-ASG-Debug-ID: 1250431174-7dfa026c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6B9573D3FEA for ; Sun, 16 Aug 2009 06:59:34 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id IC88a6HNwS8QRv50 for ; Sun, 16 Aug 2009 06:59:34 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id 1CB562621CB; Sun, 16 Aug 2009 09:59:34 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id BBB572621C4; Sun, 16 Aug 2009 09:59:33 -0400 (EDT) Message-ID: <4A8810C4.3050800@rtr.ca> Date: Sun, 16 Aug 2009 09:59:32 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> <20090816022500.GA12392@infradead.org> <4A8802F3.6010908@rtr.ca> In-Reply-To: <4A8802F3.6010908@rtr.ca> Content-Type: multipart/mixed; boundary="------------080808060703000702020109" X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250431180 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.6368 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 This is a multi-part message in MIME format. --------------080808060703000702020109 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Mark Lord wrote: > Christoph Hellwig wrote: >> On Sat, Aug 15, 2009 at 10:19:21PM -0400, Mark Lord wrote: >>> Mark Lord wrote: >>>> Christoph Hellwig wrote: >>> .. >>>>> Mark, any chance to try it? Just create an XFS filesystem, age it a >>>>> bit and then call the attached little trim.c program on the mountmoint >>>>> (or any file inside the filesystem for that matter) >>>> .. >>>> >>>> Looking at it now. Thanks, Christoph! >>> .. >>> >>> Fails to work on 64-bit kernel w/ 32-bit userspace (no compat ioctl). >>> Rebuilding with 32-bit kernel now.. >> >> The actual ioctl is compatible, just add the >> >> case XFS_IOC_TRIM: >> return xfs_ioc_trim(mp, arg); >> >> to xfs_file_compat_ioctl(). I'll add this to the next spin of the patch. > .. > > Okay, this gives me ENOSYS now --> discard/trim support is missing from > the lower layers. > > What other patches do I need to make this work? > > The latest from Matthew's discard tree (May 2009) don't appear to be sufficient, > even after updating them for 2.6.31-rc6. .. Okay, I got Matthews patches updated onto 2.6.31, and fixed the incompatibilities between those and the XFS TRIM patch (from Christoph), plus a sector_t printk issue. My apologies for attachments, but I am attaching the updated Christoph patch, as well as my hacked-up forward-port of Matthew's patches. Not pretty, but they work. :) Now.. running Christoph's "xfs trim" on a 4.6GB mostly already-trimmed XFS partition gave this for the first time around: [ 25.961891] Filesystem "sdb3": discarding sectors [0xc558-0x102328] [ 27.814553] Filesystem "sdb3": discarding sectors [0x10ea78-0x10e688] [ 29.771218] Filesystem "sdb3": discarding sectors [0x21d120-0x10e860] [ 31.726444] Filesystem "sdb3": discarding sectors [0x32b9a0-0x10e860] [ 33.679023] Filesystem "sdb3": discarding sectors [0x43f220-0x109860] [ 35.629948] Filesystem "sdb3": discarding sectors [0x548aa0-0x10e860] [ 37.583142] Filesystem "sdb3": discarding sectors [0x657320-0x10e860] [ 39.531822] Filesystem "sdb3": discarding sectors [0x765ba0-0x10e860] Slow, but presumably thorough. Subsequent runs were equally slow. The problem is, it still issues TRIMs to the LLD one extent at a time. Compare this with doing it all in a single TRIM command with the wiper.sh script (filesystem unmounted): [~] time wiper.sh /dev/sdb3 --commit wiper.sh: Linux SATA SSD TRIM utility, version 1.9b, by Mark Lord. Preparing for offline TRIM of free space on /dev/sdb3 (xfs non-mounted). This operation could destroy your data. Are you sure (y/N)? y Syncing disks.. Beginning TRIM operations.. Trimming 168 free extents encompassing 8793136 sectors (4294 MB) Done. real 0m1.249s user 0m0.110s sys 0m0.063s That includes the time for me to type 'y' and hit enter. :) Cheers --------------080808060703000702020109 Content-Type: text/x-diff; name="51_add_trim_support.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="51_add_trim_support.patch" diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6/Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6/.gitignore linux-2.6.31-rc6/block/blk-barrier.c linux/block/blk-barrier.c --- linux-2.6.31-rc6/block/blk-barrier.c 2009-08-16 09:16:36.303766940 -0400 +++ linux/block/blk-barrier.c 2009-08-16 09:19:07.287086209 -0400 @@ -348,30 +348,22 @@ clear_bit(BIO_UPTODATE, &bio->bi_flags); } + if (bio_has_data(bio)) + __free_page(bio_page(bio)); + + if (bio->bi_private) + complete(bio->bi_private); + bio_put(bio); } -/** - * blkdev_issue_discard - queue a discard - * @bdev: blockdev to issue discard for - * @sector: start sector - * @nr_sects: number of sectors to discard - * @gfp_mask: memory allocation flags (for bio_alloc) - * - * Description: - * Issue a discard request for the sectors in question. Does not wait. - */ -int blkdev_issue_discard(struct block_device *bdev, - sector_t sector, sector_t nr_sects, gfp_t gfp_mask) +int __blkdev_issue_discard(struct block_device *bdev, sector_t sector, + sector_t nr_sects, gfp_t gfp_mask, + unsigned type, struct completion *completion) { - struct request_queue *q; - struct bio *bio; int ret = 0; + struct request_queue *q = bdev_get_queue(bdev); - if (bdev->bd_disk == NULL) - return -ENXIO; - - q = bdev_get_queue(bdev); if (!q) return -ENXIO; @@ -379,12 +371,13 @@ return -EOPNOTSUPP; while (nr_sects && !ret) { - bio = bio_alloc(gfp_mask, 0); + struct bio *bio = bio_alloc(gfp_mask, 1); if (!bio) return -ENOMEM; bio->bi_end_io = blkdev_discard_end_io; bio->bi_bdev = bdev; + bio->bi_private = completion; bio->bi_sector = sector; @@ -396,10 +389,13 @@ bio->bi_size = nr_sects << 9; nr_sects = 0; } + bio_get(bio); - submit_bio(DISCARD_BARRIER, bio); + submit_bio(type, bio); + + if (completion) + wait_for_completion(completion); - /* Check if it failed immediately */ if (bio_flagged(bio, BIO_EOPNOTSUPP)) ret = -EOPNOTSUPP; else if (!bio_flagged(bio, BIO_UPTODATE)) @@ -408,4 +404,24 @@ } return ret; } + +/** + * blkdev_issue_discard - queue a discard + * @bdev: blockdev to issue discard for + * @sector: start sector + * @nr_sects: number of sectors to discard + * @gfp_mask: memory allocation flags (for bio_alloc) + * + * Description: + * Issue a discard request for the sectors in question. Does not wait. + */ +int blkdev_issue_discard(struct block_device *bdev, + sector_t sector, sector_t nr_sects, gfp_t gfp_mask) +{ + if (bdev->bd_disk == NULL) + return -ENXIO; + + return __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, + DISCARD_BARRIER, NULL); +} EXPORT_SYMBOL(blkdev_issue_discard); diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6/Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6/.gitignore linux-2.6.31-rc6/block/blk-core.c linux/block/blk-core.c --- linux-2.6.31-rc6/block/blk-core.c 2009-08-16 09:16:36.307099905 -0400 +++ linux/block/blk-core.c 2009-08-16 08:53:19.000000000 -0400 @@ -1107,6 +1107,8 @@ void init_request_from_bio(struct request *req, struct bio *bio) { + might_sleep(); + req->cpu = bio->bi_comp_cpu; req->cmd_type = REQ_TYPE_FS; @@ -1127,7 +1129,7 @@ req->cmd_flags |= REQ_DISCARD; if (bio_barrier(bio)) req->cmd_flags |= REQ_SOFTBARRIER; - req->q->prepare_discard_fn(req->q, req); + req->q->prepare_discard_fn(req->q, req, bio); } else if (unlikely(bio_barrier(bio))) req->cmd_flags |= REQ_HARDBARRIER; diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6/Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6/.gitignore linux-2.6.31-rc6/block/blk.h linux/block/blk.h --- linux-2.6.31-rc6/block/blk.h 2009-08-16 09:16:36.310433289 -0400 +++ linux/block/blk.h 2009-08-16 08:53:19.000000000 -0400 @@ -17,6 +17,10 @@ struct bio *bio); void blk_dequeue_request(struct request *rq); void __blk_queue_free_tags(struct request_queue *q); +int __blkdev_issue_discard(struct block_device *bdev, sector_t sector, + sector_t nr_sects, gfp_t gfp_mask, + unsigned type, struct completion *completion); + void blk_unplug_work(struct work_struct *work); void blk_unplug_timeout(unsigned long data); diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6/Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6/.gitignore linux-2.6.31-rc6/block/ioctl.c linux/block/ioctl.c --- linux-2.6.31-rc6/block/ioctl.c 2009-08-16 09:16:36.313766813 -0400 +++ linux/block/ioctl.c 2009-08-16 08:53:19.000000000 -0400 @@ -7,6 +7,7 @@ #include #include #include +#include "blk.h" static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user *arg) { @@ -112,21 +113,10 @@ return res; } -static void blk_ioc_discard_endio(struct bio *bio, int err) -{ - if (err) { - if (err == -EOPNOTSUPP) - set_bit(BIO_EOPNOTSUPP, &bio->bi_flags); - clear_bit(BIO_UPTODATE, &bio->bi_flags); - } - complete(bio->bi_private); -} - static int blk_ioctl_discard(struct block_device *bdev, uint64_t start, uint64_t len) { - struct request_queue *q = bdev_get_queue(bdev); - int ret = 0; + DECLARE_COMPLETION_ONSTACK(wait); if (start & 511) return -EINVAL; @@ -138,39 +128,8 @@ if (start + len > (bdev->bd_inode->i_size >> 9)) return -EINVAL; - if (!q->prepare_discard_fn) - return -EOPNOTSUPP; - - while (len && !ret) { - DECLARE_COMPLETION_ONSTACK(wait); - struct bio *bio; - - bio = bio_alloc(GFP_KERNEL, 0); - - bio->bi_end_io = blk_ioc_discard_endio; - bio->bi_bdev = bdev; - bio->bi_private = &wait; - bio->bi_sector = start; - - if (len > queue_max_hw_sectors(q)) { - bio->bi_size = queue_max_hw_sectors(q) << 9; - len -= queue_max_hw_sectors(q); - start += queue_max_hw_sectors(q); - } else { - bio->bi_size = len << 9; - len = 0; - } - submit_bio(DISCARD_NOBARRIER, bio); - - wait_for_completion(&wait); - - if (bio_flagged(bio, BIO_EOPNOTSUPP)) - ret = -EOPNOTSUPP; - else if (!bio_flagged(bio, BIO_UPTODATE)) - ret = -EIO; - bio_put(bio); - } - return ret; + return __blkdev_issue_discard(bdev, start, len, GFP_KERNEL, + DISCARD_NOBARRIER, &wait); } static int put_ushort(unsigned long arg, unsigned short val) diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6/Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6/.gitignore linux-2.6.31-rc6/drivers/ata/libata-scsi.c linux/drivers/ata/libata-scsi.c --- linux-2.6.31-rc6/drivers/ata/libata-scsi.c 2009-08-16 09:16:36.350433414 -0400 +++ linux/drivers/ata/libata-scsi.c 2009-08-16 08:53:19.000000000 -0400 @@ -1051,6 +1051,46 @@ desc[11] = block; } +static int ata_discard_fn(struct request_queue *q, struct request *req, + struct bio *bio) +{ + unsigned size; + struct page *page = alloc_page(GFP_KERNEL); + if (!page) + goto error; + + size = ata_set_lba_range_entries(page_address(page), PAGE_SIZE / 8, + bio->bi_sector, bio_sectors(bio)); + bio->bi_size = 0; + if (bio_add_pc_page(q, bio, page, size, 0) < size) + goto free_page; + + req->cmd_type = REQ_TYPE_BLOCK_PC; + req->cmd_len = 16; + req->cmd[0] = ATA_16; + req->cmd[1] = (6 << 1) | 1; /* dma, 48-bit */ + req->cmd[2] = 0x6; /* length, direction */ + req->cmd[3] = 0; /* feature high */ + req->cmd[4] = ATA_DSM_TRIM; /* feature low */ + req->cmd[5] = (size / 512) >> 8; /* nsect high */ + req->cmd[6] = size / 512; /* nsect low */ + req->cmd[7] = 0; /* lba */ + req->cmd[8] = 0; /* lba */ + req->cmd[9] = 0; /* lba */ + req->cmd[10] = 0; /* lba */ + req->cmd[11] = 0; /* lba */ + req->cmd[12] = 0; /* lba */ + req->cmd[13] = ATA_LBA; /* device */ + req->cmd[14] = ATA_CMD_DSM; /* command */ + req->cmd[15] = 0; /* control */ + + return 0; + free_page: + __free_page(page); + error: + return -ENOMEM; +} + static void ata_scsi_sdev_config(struct scsi_device *sdev) { sdev->use_10_for_rw = 1; @@ -1099,6 +1139,9 @@ /* configure max sectors */ blk_queue_max_sectors(sdev->request_queue, dev->max_sectors); + if (ata_id_has_trim(dev->id)) + blk_queue_set_discard(sdev->request_queue, ata_discard_fn); + if (dev->class == ATA_DEV_ATAPI) { struct request_queue *q = sdev->request_queue; void *buf; @@ -1747,6 +1790,12 @@ * whether the command completed successfully or not. If there * was no error, SK, ASC and ASCQ will all be zero. */ + + if (need_sense && qc->tf.command == ATA_CMD_DSM) { + ata_port_printk(ap, KERN_ERR, "%s: DISCARD/TRIM failed: disabling it\n", __func__); + blk_queue_set_discard(qc->dev->sdev->request_queue, NULL); + } + if (((cdb[0] == ATA_16) || (cdb[0] == ATA_12)) && ((cdb[2] & 0x20) || need_sense)) { ata_gen_passthru_sense(qc); diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6/Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6/.gitignore linux-2.6.31-rc6/drivers/mtd/mtd_blkdevs.c linux/drivers/mtd/mtd_blkdevs.c --- linux-2.6.31-rc6/drivers/mtd/mtd_blkdevs.c 2009-08-16 09:16:36.963766818 -0400 +++ linux/drivers/mtd/mtd_blkdevs.c 2009-08-16 08:53:19.000000000 -0400 @@ -33,7 +33,7 @@ }; static int blktrans_discard_request(struct request_queue *q, - struct request *req) + struct request *req, struct bio *bio) { req->cmd_type = REQ_TYPE_LINUX_BLOCK; req->cmd[0] = REQ_LB_OP_DISCARD; diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6/Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6/.gitignore linux-2.6.31-rc6/include/linux/blkdev.h linux/include/linux/blkdev.h --- linux-2.6.31-rc6/include/linux/blkdev.h 2009-08-16 09:16:39.053766322 -0400 +++ linux/include/linux/blkdev.h 2009-08-16 08:53:19.000000000 -0400 @@ -255,7 +255,8 @@ typedef int (make_request_fn) (struct request_queue *q, struct bio *bio); typedef int (prep_rq_fn) (struct request_queue *, struct request *); typedef void (unplug_fn) (struct request_queue *); -typedef int (prepare_discard_fn) (struct request_queue *, struct request *); +typedef int (prepare_discard_fn) (struct request_queue *, struct request *, + struct bio *bio); struct bio_vec; struct bvec_merge_data { diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6/Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6/.gitignore linux-2.6.31-rc6/include/linux/fs.h linux/include/linux/fs.h --- linux-2.6.31-rc6/include/linux/fs.h 2009-08-16 09:16:39.070433246 -0400 +++ linux/include/linux/fs.h 2009-08-16 08:53:19.000000000 -0400 @@ -161,8 +161,8 @@ * These aren't really reads or writes, they pass down information about * parts of device that are now unused by the file system. */ -#define DISCARD_NOBARRIER (1 << BIO_RW_DISCARD) -#define DISCARD_BARRIER ((1 << BIO_RW_DISCARD) | (1 << BIO_RW_BARRIER)) +#define DISCARD_NOBARRIER (WRITE | (1 << BIO_RW_DISCARD)) +#define DISCARD_BARRIER (DISCARD_NOBARRIER | (1 << BIO_RW_BARRIER)) #define SEL_IN 1 #define SEL_OUT 2 --------------080808060703000702020109 Content-Type: text/x-diff; name="52_christoph_xfs_trim.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="52_christoph_xfs_trim.patch" diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6//Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6//.gitignore linux-2.6.31-rc6/block/blk-barrier.c linux/block/blk-barrier.c --- linux-2.6.31-rc6/block/blk-barrier.c 2009-08-16 09:36:36.431146680 -0400 +++ linux/block/blk-barrier.c 2009-08-16 09:20:15.164578531 -0400 @@ -425,3 +425,4 @@ DISCARD_BARRIER, NULL); } EXPORT_SYMBOL(blkdev_issue_discard); +EXPORT_SYMBOL(__blkdev_issue_discard); diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6//Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6//.gitignore linux-2.6.31-rc6/fs/xfs/linux-2.6/xfs_ioctl.c linux/fs/xfs/linux-2.6/xfs_ioctl.c --- linux-2.6.31-rc6/fs/xfs/linux-2.6/xfs_ioctl.c 2009-08-16 09:16:39.000433070 -0400 +++ linux/fs/xfs/linux-2.6/xfs_ioctl.c 2009-08-16 09:30:38.973683042 -0400 @@ -1274,6 +1274,31 @@ return 0; } +int +xfs_ioc_trim( + struct xfs_mount *mp, + __uint32_t *argp) +{ + xfs_agnumber_t agno; + int error = 0; + __uint32_t minlen; + + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + if (get_user(minlen, argp)) + return -EFAULT; + + down_read(&mp->m_peraglock); + for (agno = 0; agno < mp->m_sb.sb_agcount; agno++) { + error = -xfs_trim_extents(mp, agno, minlen); + if (error) + break; + } + up_read(&mp->m_peraglock); + + return error; +} + /* * Note: some of the ioctl's return positive numbers as a * byte count indicating success, such as readlink_by_handle. @@ -1523,6 +1548,9 @@ error = xfs_errortag_clearall(mp, 1); return -error; + case XFS_IOC_TRIM: + return xfs_ioc_trim(mp, arg); + default: return -ENOTTY; } diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6//Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6//.gitignore linux-2.6.31-rc6/fs/xfs/linux-2.6/xfs_ioctl32.c linux/fs/xfs/linux-2.6/xfs_ioctl32.c --- linux-2.6.31-rc6/fs/xfs/linux-2.6/xfs_ioctl32.c 2009-06-09 23:05:27.000000000 -0400 +++ linux/fs/xfs/linux-2.6/xfs_ioctl32.c 2009-08-16 09:31:21.005588977 -0400 @@ -539,6 +539,7 @@ void __user *arg = (void __user *)p; int ioflags = 0; int error; + extern int xfs_ioc_trim(struct xfs_mount *mp, __uint32_t *argp); if (filp->f_mode & FMODE_NOCMTIME) ioflags |= IO_INVIS; @@ -564,6 +565,8 @@ case XFS_IOC_ERROR_INJECTION: case XFS_IOC_ERROR_CLEARALL: return xfs_file_ioctl(filp, cmd, p); + case XFS_IOC_TRIM: + return xfs_ioc_trim(mp, arg); #ifndef BROKEN_X86_ALIGNMENT /* These are handled fine if no alignment issues */ case XFS_IOC_ALLOCSP: diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6//Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6//.gitignore linux-2.6.31-rc6/fs/xfs/xfs_alloc.h linux/fs/xfs/xfs_alloc.h --- linux-2.6.31-rc6/fs/xfs/xfs_alloc.h 2009-06-09 23:05:27.000000000 -0400 +++ linux/fs/xfs/xfs_alloc.h 2009-08-16 09:20:15.167913313 -0400 @@ -215,4 +215,7 @@ xfs_fsblock_t bno, /* starting block number of extent */ xfs_extlen_t len); /* length of extent */ +int xfs_trim_extents(struct xfs_mount *mp, xfs_agnumber_t agno, + xfs_extlen_t minlen); + #endif /* __XFS_ALLOC_H__ */ diff -u --recursive --new-file --exclude-from=linux-2.6.31-rc6//Documentation/dontdiff --exclude='*.lds' --exclude-from=linux-2.6.31-rc6//.gitignore linux-2.6.31-rc6/fs/xfs/xfs_fs.h linux/fs/xfs/xfs_fs.h --- linux-2.6.31-rc6/fs/xfs/xfs_fs.h 2009-08-16 09:16:39.017099926 -0400 +++ linux/fs/xfs/xfs_fs.h 2009-08-16 09:20:15.171246419 -0400 @@ -475,6 +475,7 @@ #define XFS_IOC_ATTRMULTI_BY_HANDLE _IOW ('X', 123, struct xfs_fsop_attrmulti_handlereq) #define XFS_IOC_FSGEOMETRY _IOR ('X', 124, struct xfs_fsop_geom) #define XFS_IOC_GOINGDOWN _IOR ('X', 125, __uint32_t) +#define XFS_IOC_TRIM _IOR ('X', 126, __uint32_t) /* XFS_IOC_GETFSUUID ---------- deprecated 140 */ --- linux-2.6.31-rc6/fs/xfs/xfs_alloc.c 2009-06-09 23:05:27.000000000 -0400 +++ linux/fs/xfs/xfs_alloc.c 2009-08-16 09:44:51.073580438 -0400 @@ -39,6 +39,9 @@ #include "xfs_alloc.h" #include "xfs_error.h" +int __blkdev_issue_discard(struct block_device *bdev, sector_t sector, + sector_t nr_sects, gfp_t gfp_mask, + unsigned type, struct completion *completion); #define XFS_ABSDIFF(a,b) (((a) <= (b)) ? ((b) - (a)) : ((a) - (b))) @@ -2609,6 +2612,97 @@ return error; } +STATIC int +xfs_trim_extent( + struct xfs_mount *mp, + xfs_agnumber_t agno, + xfs_agblock_t fbno, + xfs_extlen_t flen) +{ + xfs_daddr_t blkno = XFS_AGB_TO_DADDR(mp, agno, fbno); + sector_t nblks = XFS_FSB_TO_BB(mp, flen); + int error; + DECLARE_COMPLETION_ONSTACK(done); + + xfs_fs_cmn_err(CE_NOTE, mp, "discarding sectors [0x%llx-0x%llx]", + blkno, (u64)nblks); + + error = -__blkdev_issue_discard(mp->m_ddev_targp->bt_bdev, + blkno, nblks, GFP_NOFS, DISCARD_BARRIER, &done); + if (error && error != EOPNOTSUPP) + xfs_fs_cmn_err(CE_NOTE, mp, "discard failed, error %d", error); + return error; +} + +/* + * Notify the underlying block device about our free extent map. + * + * This walks all free extents above a minimum threshold and notifies the + * underlying device that these blocks are unused. That information is + * useful for SSDs or thinly provisioned storage in high end arrays or + * virtualization scenarios. + */ +int +xfs_trim_extents( + struct xfs_mount *mp, + xfs_agnumber_t agno, + xfs_extlen_t minlen) /* minimum extent size to bother */ +{ + struct xfs_btree_cur *cur; /* cursor for the by-block btree */ + struct xfs_buf *agbp; /* AGF buffer pointer */ + xfs_agblock_t bno; /* block the for next search */ + xfs_agblock_t fbno; /* start block of found extent */ + xfs_extlen_t flen; /* length of found extent */ + int error; + int i; + + error = xfs_alloc_read_agf(mp, NULL, agno, 0, &agbp); + if (error) + return error; + + bno = 0; + for (;;) { + cur = xfs_allocbt_init_cursor(mp, NULL, agbp, agno, + XFS_BTNUM_BNO); + + error = xfs_alloc_lookup_ge(cur, bno, minlen, &i); + if (error) + goto error0; + if (!i) { + /* + * No more free extents found: done. + */ + xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); + break; + } + + error = xfs_alloc_get_rec(cur, &fbno, &flen, &i); + if (error) + goto error0; + XFS_WANT_CORRUPTED_GOTO(i == 1, error0); + + /* + * Pass if the freespace extent isn't long enough to bother. + */ + if (flen >= minlen) { + error = xfs_trim_extent(mp, agno, fbno, flen); + if (error) { + xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); + break; + } + } + + xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); + bno = fbno + flen; + } + +out: + xfs_buf_relse(agbp); + return error; +error0: + xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); + goto out; +} /* * AG Busy list management --------------080808060703000702020109-- From liml@rtr.ca Sun Aug 16 09:05:44 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.8 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 n7GE5OBl255282 for ; Sun, 16 Aug 2009 09:05:34 -0500 X-ASG-Debug-ID: 1250431564-7df902be0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0A2EB3D3F04 for ; Sun, 16 Aug 2009 07:06:04 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id 4Spjv9AXUwoDahWt for ; Sun, 16 Aug 2009 07:06:04 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id 247B22621D0; Sun, 16 Aug 2009 10:06:01 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id D43FD2621CB; Sun, 16 Aug 2009 10:06:00 -0400 (EDT) Message-ID: <4A881248.2000907@rtr.ca> Date: Sun, 16 Aug 2009 10:06:00 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> <20090816022500.GA12392@infradead.org> <4A8802F3.6010908@rtr.ca> <4A8810C4.3050800@rtr.ca> In-Reply-To: <4A8810C4.3050800@rtr.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250431568 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.6368 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 Mark Lord wrote: .. > Slow, but presumably thorough. > Subsequent runs were equally slow. > > The problem is, it still issues TRIMs to the LLD one extent at a time. > Compare this with doing it all in a single TRIM command > with the wiper.sh script (filesystem unmounted): > > [~] time wiper.sh /dev/sdb3 --commit > > wiper.sh: Linux SATA SSD TRIM utility, version 1.9b, by Mark Lord. > Preparing for offline TRIM of free space on /dev/sdb3 (xfs > non-mounted). > This operation could destroy your data. Are you sure (y/N)? y > Syncing disks.. > Beginning TRIM operations.. > Trimming 168 free extents encompassing 8793136 sectors (4294 MB) > Done. > > real 0m1.249s > user 0m0.110s > sys 0m0.063s > > That includes the time for me to type 'y' and hit enter. :) .. For completeness, here's the same operation again, except this time on the *mounted* xfs filesystem. It won't be trimming quite as many blocks (leaves 1% free space in reserve), but otherwise is similar: [~] time wiper.sh /dev/sdb3 --commit wiper.sh: Linux SATA SSD TRIM utility, version 1.9b, by Mark Lord. Preparing for online TRIM of free space on /dev/sdb3 (xfs mounted read-write at /x). This operation could destroy your data. Are you sure (y/N)? y Creating temporary file (4348405 KB).. Syncing disks.. Beginning TRIM operations.. Trimming 134 free extents encompassing 8696816 sectors (4246 MB) Removing temporary file.. Syncing disks.. Done. real 0m1.212s user 0m0.043s sys 0m0.053s From liml@rtr.ca Sun Aug 16 09:25: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.8 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 n7GEPTTd256374 for ; Sun, 16 Aug 2009 09:25:40 -0500 X-ASG-Debug-ID: 1250432765-02ec02cc0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 042C61B6FF14 for ; Sun, 16 Aug 2009 07:26:05 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id SiiQsn9ppdnFCA2R for ; Sun, 16 Aug 2009 07:26:05 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id DEB542621DA; Sun, 16 Aug 2009 10:26:04 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 9501C2621D8; Sun, 16 Aug 2009 10:26:04 -0400 (EDT) Message-ID: <4A8816FB.8070408@rtr.ca> Date: Sun, 16 Aug 2009 10:26:03 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> <20090816022500.GA12392@infradead.org> <4A8802F3.6010908@rtr.ca> <4A8810C4.3050800@rtr.ca> <20090816142331.GA4284@infradead.org> In-Reply-To: <20090816142331.GA4284@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250432774 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.6370 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 Christoph Hellwig wrote: > On Sun, Aug 16, 2009 at 09:59:32AM -0400, Mark Lord wrote: >> Okay, I got Matthews patches updated onto 2.6.31, and fixed the incompatibilities >> between those and the XFS TRIM patch (from Christoph), plus a sector_t printk issue. >> >> My apologies for attachments, but I am attaching the updated Christoph patch, >> as well as my hacked-up forward-port of Matthew's patches. >> >> Not pretty, but they work. :) >> >> Now.. running Christoph's "xfs trim" on a 4.6GB mostly already-trimmed >> XFS partition gave this for the first time around: > >> The problem is, it still issues TRIMs to the LLD one extent at a time. >> Compare this with doing it all in a single TRIM command >> with the wiper.sh script (filesystem unmounted): > > I could do a variant which issues a single TRIM, but that would require > us to lock out all other allocations for the time the trim takes. I'll > hack that up once I get some time. .. Matthew's stuff will have to change to support that, too. From BATV+3a38a3c89f47af5234de+2184+infradead.org+hch@bombadil.srs.infradead.org Sun Aug 16 09:26: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=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 n7GEPrFF256398 for ; Sun, 16 Aug 2009 09:26:08 -0500 X-ASG-Debug-ID: 1250432801-02f302d90000-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 479851B6FF1A for ; Sun, 16 Aug 2009 07:26:41 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id vLsJbcSoBt3Z807f for ; Sun, 16 Aug 2009 07:26:41 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mcgdv-000683-9R; Sun, 16 Aug 2009 14:23:31 +0000 Date: Sun, 16 Aug 2009 10:23:31 -0400 From: Christoph Hellwig To: Mark Lord Cc: Christoph Hellwig , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support Message-ID: <20090816142331.GA4284@infradead.org> References: <20090816004705.GA7347@infradead.org> <4A876255.10606@rtr.ca> <4A876CA9.20906@rtr.ca> <20090816022500.GA12392@infradead.org> <4A8802F3.6010908@rtr.ca> <4A8810C4.3050800@rtr.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A8810C4.3050800@rtr.ca> 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: 1250432801 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 16, 2009 at 09:59:32AM -0400, Mark Lord wrote: > Okay, I got Matthews patches updated onto 2.6.31, and fixed the incompatibilities > between those and the XFS TRIM patch (from Christoph), plus a sector_t printk issue. > > My apologies for attachments, but I am attaching the updated Christoph patch, > as well as my hacked-up forward-port of Matthew's patches. > > Not pretty, but they work. :) > > Now.. running Christoph's "xfs trim" on a 4.6GB mostly already-trimmed > XFS partition gave this for the first time around: > The problem is, it still issues TRIMs to the LLD one extent at a time. > Compare this with doing it all in a single TRIM command > with the wiper.sh script (filesystem unmounted): I could do a variant which issues a single TRIM, but that would require us to lock out all other allocations for the time the trim takes. I'll hack that up once I get some time. From sandeen@sandeen.net Sun Aug 16 16:01:33 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 n7GL1Dnm018430 for ; Sun, 16 Aug 2009 16:01:23 -0500 X-ASG-Debug-ID: 1250456499-38e500370000-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 80F801D5A952 for ; Sun, 16 Aug 2009 14:01:40 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id g6BuZZikR0J6ILcX for ; Sun, 16 Aug 2009 14:01:40 -0700 (PDT) Received: from Liberator.lan (h112.131.23.98.static.ip.windstream.net [98.23.131.112]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id E45C3AAE388; Sun, 16 Aug 2009 16:01:37 -0500 (CDT) Message-ID: <4A8873B0.30203@sandeen.net> Date: Sun, 16 Aug 2009 16:01:36 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: Felix Blyakher , linux-fsdevel@vger.kernel.org, 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> <24CFF78E-BB3F-47A1-8D6C-49EA198CCD94@sgi.com> <20090810170940.GA2580@infradead.org> In-Reply-To: <20090810170940.GA2580@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: 1250456520 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.6395 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: > New version below: > 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 > (this is oss.sgi.com BZ #819) > - 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 This seems ok to me but I have to be honest, I'm having a hard time getting my head around back into the inode lifecycle. one comment, I wonder if it's worth capturing the actual error from inode_init_always() vs. turning every error into ENOMEM? True, today it's the only error we can get but why re-set it? -Eric > Index: linux-2.6/fs/xfs/xfs_iget.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-10 13:10:19.141974933 -0300 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-10 13:19:06.913056731 -0300 > @@ -191,80 +191,83 @@ 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. > + * If we are racing with another cache hit that is currently > + * instantiating this inode or currently recycling it out of > + * reclaimabe state, wait for the initialisation to complete > + * before continuing. > + * > + * XXX(hch): eventually we should do something equivalent to > + * wait_on_inode to wait for these flags to be cleared > + * instead of polling for it. > */ > - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { > + if (ip->i_flags & (XFS_INEW|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 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 lookup is racing with unlink return an error immediately. > + */ > + 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); > > @@ -274,6 +277,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-10 13:10:19.146974522 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-10 13:10:59.958993938 -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-10 13:10:19.153974227 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-10 13:10:59.962994168 -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 felixb@sgi.com Sun Aug 16 18:37:11 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 n7GNapQd029112 for ; Sun, 16 Aug 2009 18:37:01 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1EFC18F80FC for ; Sun, 16 Aug 2009 16:37:39 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id B15F4700016A; Sun, 16 Aug 2009 17:54:37 -0500 (CDT) Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Message-Id: From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090810170940.GA2580@infradead.org> 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: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit Date: Sun, 16 Aug 2009 17:54:35 -0500 References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.526088000@bombadil.infradead.org> <24CFF78E-BB3F-47A1-8D6C-49EA198CCD94@sgi.com> <20090810170940.GA2580@infradead.org> 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 10, 2009, at 12:09 PM, Christoph Hellwig wrote: > On Fri, Aug 07, 2009 at 12:25:47PM -0500, Felix Blyakher wrote: >>> + 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. > >>> + 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. > > The wait_on_inode is only sensible for the non-recycle case. The case, I was referring to, was indeed the reclaimable one when the first thread is going through xfs_iget xfs_iget_cache_hit if (ip->i_flags & XFS_IRECLAIMABLE) { ip->i_flags |= XFS_INEW; --> xfs_setup_inode inode->i_state = I_NEW|I_LOCK; while another therad run through the following sequence right where the arrow shows above: xfs_iget_cache_hit if (ip->i_flags & XFS_INEW) { wait_on_inode There is nothing to wait on here yet, as I_LOCK is not set yet. > But it's > not actually very useful with our flags scheme, so for now I've > reverted > to do the old-style polling and just added an XXX comment that we'll > eventually look into a better scheme. > >>> + /* >>> + * 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? > > We actually had the test two times in the old code, once for the > reclaim case, and once after the igrab succeeded. I just moved it into > a single command place. which doesn't test for XFS_IRECLAIMABLE. I just wanted to make sure that was the intention. > I've updated the comment to match that. Thanks, that will make the intention clear. > > > > 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 > (this is oss.sgi.com BZ #819) > - 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 Reviewed-by: Felix Blyakher > > > Index: linux-2.6/fs/xfs/xfs_iget.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-10 13:10:19.141974933 > -0300 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-10 13:19:06.913056731 -0300 > @@ -191,80 +191,83 @@ 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. > + * If we are racing with another cache hit that is currently > + * instantiating this inode or currently recycling it out of > + * reclaimabe state, wait for the initialisation to complete ^ l > > + * before continuing. > + * > + * XXX(hch): eventually we should do something equivalent to > + * wait_on_inode to wait for these flags to be cleared > + * instead of polling for it. > */ > - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { > + if (ip->i_flags & (XFS_INEW|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 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 lookup is racing with unlink return an error immediately. > + */ > + 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; Seems redundant, as that will be set one step later in xfs_setup_inode(). > + } 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); > > @@ -274,6 +277,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-10 > 13:10:19.146974522 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-10 > 13:10:59.958993938 -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-10 > 13:10:19.153974227 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-10 > 13:10:59.962994168 -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 BATV+8ab3a5e9df498b79c779+2185+infradead.org+hch@bombadil.srs.infradead.org Sun Aug 16 19:36:33 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 n7H0a8LX033033 for ; Sun, 16 Aug 2009 19:36:23 -0500 X-ASG-Debug-ID: 1250469395-67b303de0000-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 6FCA83D4E37; Sun, 16 Aug 2009 17:36:35 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id ThTQhZ2OPYsofogK; Sun, 16 Aug 2009 17:36:35 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1McqDC-0008DT-Px; Mon, 17 Aug 2009 00:36:34 +0000 Date: Sun, 16 Aug 2009 20:36:34 -0400 From: Christoph Hellwig To: Felix Blyakher Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, 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: <20090817003634.GA31274@infradead.org> References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.526088000@bombadil.infradead.org> <24CFF78E-BB3F-47A1-8D6C-49EA198CCD94@sgi.com> <20090810170940.GA2580@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1250469415 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 16, 2009 at 05:54:35PM -0500, Felix Blyakher wrote: >> The wait_on_inode is only sensible for the non-recycle case. > > The case, I was referring to, was indeed the reclaimable one when > the first thread is going through > > xfs_iget > xfs_iget_cache_hit > if (ip->i_flags & XFS_IRECLAIMABLE) { > ip->i_flags |= XFS_INEW; > --> > xfs_setup_inode > inode->i_state = I_NEW|I_LOCK; > > > while another therad run through the following sequence right where the > arrow shows above: > > xfs_iget_cache_hit > if (ip->i_flags & XFS_INEW) { > wait_on_inode > > There is nothing to wait on here yet, as I_LOCK is not set yet. Yeah. The new version should fix it. Here's a version with the small update that Eric suggested, any chance we could get this into 2.6.31 still? -- 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 (this is oss.sgi.com BZ #819) - 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 Reviewed-by: Felix Blyakher Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-16 20:10:25.200960533 -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-16 20:11:30.580432781 -0300 @@ -191,80 +191,82 @@ 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. + * If we are racing with another cache hit that is currently + * instantiating this inode or currently recycling it out of + * reclaimabe state, wait for the initialisation to complete + * before continuing. + * + * XXX(hch): eventually we should do something equivalent to + * wait_on_inode to wait for these flags to be cleared + * instead of polling for it. */ - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { + if (ip->i_flags & (XFS_INEW|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 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 lookup is racing with unlink return an error immediately. + */ + 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))) { - error = ENOMEM; - goto out_error; - } + ip->i_flags |= XFS_INEW; + ip->i_flags &= ~XFS_IRECLAIMABLE; + __xfs_inode_clear_reclaim_tag(mp, pag, ip); - /* - * 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); + spin_unlock(&ip->i_flags_lock); + read_unlock(&pag->pag_ici_lock); - /* clear the radix tree reclaim flag as well. */ - __xfs_inode_clear_reclaim_tag(mp, pag, ip); - } else if (!igrab(VFS_I(ip))) { + error = -inode_init_always(mp->m_super, inode); + if (error) { + /* + * 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); + goto out_error; + } + 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); @@ -274,6 +276,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-16 20:01:14.632430664 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-16 20:10:25.740968342 -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-16 20:01:14.640431122 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-16 20:10:25.744967593 -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 felixb@sgi.com Sun Aug 16 22:30: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.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 n7H3UBMP042400 for ; Sun, 16 Aug 2009 22:30:21 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 58E048F80FC for ; Sun, 16 Aug 2009 20:30:59 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id B6246700016A; Sun, 16 Aug 2009 22:05:48 -0500 (CDT) Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Message-Id: <7168AA57-8F65-42DC-9D6A-E30A1C315FA9@sgi.com> From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090817003634.GA31274@infradead.org> 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: [PATCH 1/4] xfs: fix locking in xfs_iget_cache_hit Date: Sun, 16 Aug 2009 22:05:46 -0500 References: <20090804141554.992235000@bombadil.infradead.org> <20090804141834.526088000@bombadil.infradead.org> <24CFF78E-BB3F-47A1-8D6C-49EA198CCD94@sgi.com> <20090810170940.GA2580@infradead.org> <20090817003634.GA31274@infradead.org> 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 16, 2009, at 7:36 PM, Christoph Hellwig wrote: > On Sun, Aug 16, 2009 at 05:54:35PM -0500, Felix Blyakher wrote: >>> The wait_on_inode is only sensible for the non-recycle case. >> >> The case, I was referring to, was indeed the reclaimable one when >> the first thread is going through >> >> xfs_iget >> xfs_iget_cache_hit >> if (ip->i_flags & XFS_IRECLAIMABLE) { >> ip->i_flags |= XFS_INEW; >> --> >> xfs_setup_inode >> inode->i_state = I_NEW|I_LOCK; >> >> >> while another therad run through the following sequence right where >> the >> arrow shows above: >> >> xfs_iget_cache_hit >> if (ip->i_flags & XFS_INEW) { >> wait_on_inode >> >> There is nothing to wait on here yet, as I_LOCK is not set yet. > > Yeah. The new version should fix it. Agree. > Here's a version with the small update that Eric suggested, any chance > we could get this into 2.6.31 still? Will send the pull request tonight. Felix > > > -- > > 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 > (this is oss.sgi.com BZ #819) > - 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 > Reviewed-by: Felix Blyakher > > Index: linux-2.6/fs/xfs/xfs_iget.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-16 20:10:25.200960533 > -0300 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-16 20:11:30.580432781 -0300 > @@ -191,80 +191,82 @@ 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. > + * If we are racing with another cache hit that is currently > + * instantiating this inode or currently recycling it out of > + * reclaimabe state, wait for the initialisation to complete > + * before continuing. > + * > + * XXX(hch): eventually we should do something equivalent to > + * wait_on_inode to wait for these flags to be cleared > + * instead of polling for it. > */ > - if (xfs_iflags_test(ip, (XFS_INEW|XFS_IRECLAIM))) { > + if (ip->i_flags & (XFS_INEW|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 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 lookup is racing with unlink return an error immediately. > + */ > + 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))) { > - error = ENOMEM; > - goto out_error; > - } > + ip->i_flags |= XFS_INEW; > + ip->i_flags &= ~XFS_IRECLAIMABLE; > + __xfs_inode_clear_reclaim_tag(mp, pag, ip); > > - /* > - * 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); > + spin_unlock(&ip->i_flags_lock); > + read_unlock(&pag->pag_ici_lock); > > - /* clear the radix tree reclaim flag as well. */ > - __xfs_inode_clear_reclaim_tag(mp, pag, ip); > - } else if (!igrab(VFS_I(ip))) { > + error = -inode_init_always(mp->m_super, inode); > + if (error) { > + /* > + * 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); > + goto out_error; > + } > + 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); > > @@ -274,6 +276,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-16 > 20:01:14.632430664 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-16 > 20:10:25.740968342 -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-16 > 20:01:14.640431122 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.h 2009-08-16 > 20:10:25.744967593 -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 felixb@oss.sgi.com Mon Aug 17 01:28: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.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7H6S7ui054379 for ; Mon, 17 Aug 2009 01:28:12 -0500 Received: (from felixb@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n7H6S7Du054301; Mon, 17 Aug 2009 01:28:07 -0500 Date: Mon, 17 Aug 2009 01:28:07 -0500 Message-Id: <200908170628.n7H6S7Du054301@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-linus, updated. v2.6.30-rc4-12441-gbc990f5 X-Git-Refname: refs/heads/for-linus X-Git-Reftype: branch X-Git-Oldrev: a8914f3a6d72c97328597a556a99daaf5cc288ae X-Git-Newrev: bc990f5cb424cdca9dda866785d088e2c2110ecc This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-linus has been updated bc990f5 xfs: fix locking in xfs_iget_cache_hit 78efd1d Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs b36ec04 xfs: fix freeing of inodes not yet added to the inode cache 54e3462 vfs: fix inode_init_always calling convention f5266cb Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs 405f557 headers: smp_lock.h redux 8aa7e84 Fix congestion_wait() sync/async vs read/write confusion 1cbd20d switch xfs to generic acl caching helpers 90c699a block: rename CONFIG_LBD to CONFIG_LBDAF from a8914f3a6d72c97328597a556a99daaf5cc288ae (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit bc990f5cb424cdca9dda866785d088e2c2110ecc Author: Christoph Hellwig Date: Sun Aug 16 20:36:34 2009 -0400 xfs: fix locking in xfs_iget_cache_hit 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 (this is oss.sgi.com BZ #819) - 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 Reviewed-by: Felix Blyakher Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/kmem.c | 4 +- fs/xfs/linux-2.6/xfs_acl.c | 73 ++----------- fs/xfs/linux-2.6/xfs_buf.c | 2 +- fs/xfs/linux-2.6/xfs_file.c | 1 - fs/xfs/linux-2.6/xfs_linux.h | 2 +- fs/xfs/linux-2.6/xfs_super.c | 2 +- fs/xfs/linux-2.6/xfs_sync.c | 13 ++- fs/xfs/linux-2.6/xfs_sync.h | 1 + fs/xfs/xfs_acl.h | 4 - fs/xfs/xfs_iget.c | 255 +++++++++++++++++++++--------------------- fs/xfs/xfs_inode.h | 22 ---- 11 files changed, 156 insertions(+), 223 deletions(-) hooks/post-receive -- XFS development tree From felixb@oss.sgi.com Mon Aug 17 01:28:33 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=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7H6SSHw054544 for ; Mon, 17 Aug 2009 01:28:33 -0500 Received: (from felixb@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n7H6SSLm054391; Mon, 17 Aug 2009 01:28:28 -0500 Date: Mon, 17 Aug 2009 01:28:28 -0500 Message-Id: <200908170628.n7H6SSLm054391@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, mainline, updated. v2.6.30-rc4-12441-g04c1b29 X-Git-Refname: refs/heads/mainline X-Git-Reftype: branch X-Git-Oldrev: 1d89b30cc9be41af87881682ec82e2c107849dbe X-Git-Newrev: 04c1b29578233ab87dfce8db5d379eab327e60c6 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, mainline has been updated 04c1b29 xfs: fix locking in xfs_iget_cache_hit 78efd1d Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs a8914f3 xfs: fix spin_is_locked assert on uni-processor builds b89d420 xfs: check for dinode realtime flag corruption e0c222c use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock ddd3a14 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get 7b02ecb xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap 10746e4 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set 36fae17 xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory 3f52c2f xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result 73195ed xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make f41d7fb xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc ca35dcd xfs: switch to NOFS allocation under i_lock in xfs_getbmap 0cc6eee xfs: avoid memory allocation under m_peraglock in growfs code b36ec04 xfs: fix freeing of inodes not yet added to the inode cache 54e3462 vfs: fix inode_init_always calling convention f5266cb Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs c8a4051 xfs: bump up nr_to_write in xfs_vm_writepage 97db39a xfs: reduce bmv_count in xfs_vn_fiemap 405f557 headers: smp_lock.h redux 8aa7e84 Fix congestion_wait() sync/async vs read/write confusion 1cbd20d switch xfs to generic acl caching helpers 90c699a block: rename CONFIG_LBD to CONFIG_LBDAF from 1d89b30cc9be41af87881682ec82e2c107849dbe (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 04c1b29578233ab87dfce8db5d379eab327e60c6 Author: Christoph Hellwig Date: Sun Aug 16 20:36:34 2009 -0400 xfs: fix locking in xfs_iget_cache_hit 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 (this is oss.sgi.com BZ #819) - 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 Reviewed-by: Felix Blyakher Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/kmem.c | 4 +- fs/xfs/linux-2.6/xfs_acl.c | 73 ++----------- fs/xfs/linux-2.6/xfs_aops.c | 8 ++ fs/xfs/linux-2.6/xfs_buf.c | 4 +- fs/xfs/linux-2.6/xfs_file.c | 1 - fs/xfs/linux-2.6/xfs_iops.c | 4 +- fs/xfs/linux-2.6/xfs_linux.h | 2 +- fs/xfs/linux-2.6/xfs_super.c | 2 +- fs/xfs/linux-2.6/xfs_sync.c | 13 ++- fs/xfs/linux-2.6/xfs_sync.h | 1 + fs/xfs/xfs_acl.h | 4 - fs/xfs/xfs_attr.c | 8 +- fs/xfs/xfs_bmap.c | 2 +- fs/xfs/xfs_btree.c | 4 +- fs/xfs/xfs_da_btree.c | 6 +- fs/xfs/xfs_dir2.c | 2 +- fs/xfs/xfs_fsops.c | 20 +++- fs/xfs/xfs_iget.c | 255 +++++++++++++++++++++--------------------- fs/xfs/xfs_inode.c | 10 ++ fs/xfs/xfs_inode.h | 22 ---- fs/xfs/xfs_log.c | 2 +- fs/xfs/xfs_vnodeops.c | 4 +- 22 files changed, 207 insertions(+), 244 deletions(-) hooks/post-receive -- XFS development tree From felixb@sgi.com Mon Aug 17 01:52:34 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 n7H6qDxH055775 for ; Mon, 17 Aug 2009 01:52:24 -0500 Received: from attica.americas.sgi.com (attica.americas.sgi.com [128.162.236.44]) by relay2.corp.sgi.com (Postfix) with ESMTP id DC53D3040D8 for ; Sun, 16 Aug 2009 23:53:01 -0700 (PDT) Received: by attica.americas.sgi.com (Postfix, from userid 29043) id 0CF1DA4A9DC6; Mon, 17 Aug 2009 01:44:47 -0500 (CDT) Date: Mon, 17 Aug 2009 01:44:47 -0500 To: torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com, akpm@linux-foundation.org Subject: [GIT PULL] XFS update for 2.6.31-rc7 User-Agent: Heirloom mailx 12.2 01/07/07 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20090817064448.0CF1DA4A9DC6@attica.americas.sgi.com> From: felixb@sgi.com (Felix Blyakher) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean The following changes since commit 894ef820b10d77e2d6d717342fc408bdd9825139: Randy Dunlap (1): dm-log-userspace: fix printk format warning are available in the git repository at: git://oss.sgi.com/xfs/xfs for-linus Christoph Hellwig (1): xfs: fix locking in xfs_iget_cache_hit fs/xfs/linux-2.6/xfs_sync.c | 13 ++++- fs/xfs/linux-2.6/xfs_sync.h | 1 + fs/xfs/xfs_iget.c | 113 ++++++++++++++++++++++--------------------- 3 files changed, 70 insertions(+), 57 deletions(-) From marketing@impulsecommercialbrokers.com Mon Aug 17 02:49:46 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: **** X-Spam-Status: No, score=4.0 required=5.0 tests=BAYES_50,HTML_FONT_SIZE_LARGE, HTML_MESSAGE,RCVD_IN_BRBL 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 n7H7nQSc058592 for ; Mon, 17 Aug 2009 02:49:36 -0500 X-ASG-Debug-ID: 1250495397-4ce600b70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from outbound-mail-05.bluehost.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id 209463D58BC for ; Mon, 17 Aug 2009 00:49:57 -0700 (PDT) Received: from outbound-mail-05.bluehost.com (outbound-mail-05.bluehost.com [69.89.21.15]) by cuda.sgi.com with SMTP id bhx9h8JU3oSHCCe6 for ; Mon, 17 Aug 2009 00:49:57 -0700 (PDT) Received: (qmail 5850 invoked by uid 0); 17 Aug 2009 07:49:57 -0000 Received: from unknown (HELO box370.bluehost.com) (69.89.31.170) by outboundproxy1.bluehost.com with SMTP; 17 Aug 2009 07:49:56 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=impulsecommercialbrokers.com; h=Received:Reply-To:From:To:Subject:Date:MIME-Version:Content-Type:X-Priority:X-MSMail-Priority:X-Mailer:Importance:Thread-Index:X-MimeOLE:X-Identified-User; b=Xj+QU1RYXXa+fJG9YOFo/4jdfey33OhU9C04qn2PmM/XTqcBEgRWbf21MMiuiRolk6orpoQbAvj3jpygYwFccvlcculWWGhZvTfi558RKexqy1E9M/kNalom4dmnbZh3; Received: from de2-as5493.alshamil.net.ae ([92.97.121.159] helo=mehta) by box370.bluehost.com with esmtpa (Exim 4.69) (envelope-from ) id 1McwyW-00089I-IQ; Mon, 17 Aug 2009 01:49:56 -0600 Reply-To: From: To: X-ASG-Orig-Subj: =?us-ascii?Q?=22Advertise_at_no_extra_cost=22?= Subject: =?us-ascii?Q?=22Advertise_at_no_extra_cost=22?= Date: Mon, 17 Aug 2009 10:20:37 +0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0004_01CA1F30.D58FE8F0" X-Priority: 1 (Highest) X-MSMail-Priority: High X-Mailer: Microsoft Outlook, Build 11.0.5207 Importance: High Thread-Index: AcofAYyVFw5GEDfiSw6JLx63h/aB7A== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-Identified-User: {2908:box370.bluehost.com:impulsec:impulsecommercialbrokers.com} {sentby:smtp auth 92.97.121.159 authed with marketing@impulsecommercialbrokers.com} X-Barracuda-Connect: outbound-mail-05.bluehost.com[69.89.21.15] X-Barracuda-Start-Time: 1250495401 Message-Id: <20090817074957.209463D58BC@cuda.sgi.com> 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_SC0_SA_TO_FROM_ADDR_MATCH, HTML_FONT_SIZE_LARGE, HTML_MESSAGE, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6435 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 HTML_FONT_SIZE_LARGE BODY: HTML font size is large 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address 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. ------=_NextPart_000_0004_01CA1F30.D58FE8F0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit "Advertise at no extra cost" Register your esteem firm @ http://www.icbsource.com " The Future - One stop source engine" Advertise, Promote and expose your products, Services to all importers, exporters, end users around the globe via free advertisement. Advertise Products & Services FREE !! at the One Stop Source engine.. Regards. ICBSOURCE.COM Ps. All queries from customers are directly forwarded to your email id.. we do not entertain any enquiries IF YOU WOULD NOT LIKE TO RECEIVE THIS EMAIL IN FUTURE PLEASE click Remove ------=_NextPart_000_0004_01CA1F30.D58FE8F0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

__________ Information from ESET Smart Security, version of = virus signature database 4340 (20090816) __________

The message = was checked by ESET Smart Security.

http://www.eset.com
------=_NextPart_000_0004_01CA1F30.D58FE8F0-- From jpiszcz@lucidpixels.com Mon Aug 17 09:25:19 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 n7HEOw7D074999 for ; Mon, 17 Aug 2009 09:25:09 -0500 X-ASG-Debug-ID: 1250519143-622d008c0000-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 A49281BBF144 for ; Mon, 17 Aug 2009 07:25:43 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id GASeFguLprwVTBZ7 for ; Mon, 17 Aug 2009 07:25:43 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 4C5003D86; Mon, 17 Aug 2009 10:25:22 -0400 (EDT) Date: Mon, 17 Aug 2009 10:25:22 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: Felix Blyakher , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (happened again) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (happened again) In-Reply-To: <20090816022331.GA2309@infradead.org> Message-ID: References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> <20090816022331.GA2309@infradead.org> 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: 1250519143 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.6460 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 Sat, 15 Aug 2009, Christoph Hellwig wrote: > All your traces seem to have in common that you're block on locks hold > by processed doing I/O. Especially a lot of page locks which are > controlled by the VM and not the filesystem. Can you try with commit > 8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0 from 2.6.31-rc applied, or > better directly 2.6.3-rc6? > > I would be surprised if this is something inside XFS, but running with > CONFIG_XFS_DEBUG never hurts. > Christoph, Thanks, running with DEBUG and 2.6.31-rc6. CONFIG_XFS_DEBUG=y So far the problem has not surfaced, but it normally takes 24-48 hours. Justin. From jquigley@jquigley.com Mon Aug 17 13:05: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=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 n7HI4k5n086263 for ; Mon, 17 Aug 2009 13:04:56 -0500 X-ASG-Debug-ID: 1250532301-3d3800920000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7927A1BD9FC9 for ; Mon, 17 Aug 2009 11:05:01 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id C6gc1Yu5Shyzk4oB for ; Mon, 17 Aug 2009 11:05:01 -0700 (PDT) Received: from jquigley.cleversafe.org (67-129-215-3.dia.static.qwest.net [67.129.215.3]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 05268204118 for ; Mon, 17 Aug 2009 18:04:57 +0000 (UTC) Message-ID: <4A899BC9.6070604@jquigley.com> Date: Mon, 17 Aug 2009 13:04:57 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (X11/20090605) MIME-Version: 1.0 To: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <1851101658.1934521250210319746.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <1851101658.1934521250210319746.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250532325 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.6475 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 Lachlan McIlroy wrote: > If that fails too can you run xfs_logprint on /dev/sde and > post any errors it reports? My apologies for the delayed response; output of logprint can be downloaded as a ~4MB bzip: http://www.jquigley.com/files/tmp/xfs-failover-logprint.bz2 Thanks very much for your consideration. - John Quigley From michael.monnerie@is.it-management.at Mon Aug 17 16:11:28 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_33 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 n7HLB1fY093557 for ; Mon, 17 Aug 2009 16:11:18 -0500 X-ASG-Debug-ID: 1250543470-511800b10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv1.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 066743D8D0D for ; Mon, 17 Aug 2009 14:11:11 -0700 (PDT) Received: from mailsrv1.zmi.at (mailsrv1.zmi.at [212.69.162.198]) by cuda.sgi.com with ESMTP id hqacrP7H4WNxRpve for ; Mon, 17 Aug 2009 14:11:11 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv1.zmi.at (Postfix) with ESMTP id E44635380 for ; Mon, 17 Aug 2009 23:11:08 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 3AD20400166 for ; Mon, 17 Aug 2009 23:11:08 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: disk performance strange/low Subject: disk performance strange/low Date: Mon, 17 Aug 2009 23:11:07 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.4-ZMI; KDE/4.1.3; x86_64; ; ) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200908172311.07660@zmi.at> X-Barracuda-Connect: mailsrv1.zmi.at[212.69.162.198] X-Barracuda-Start-Time: 1250543500 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.6486 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 I've got an Areca RAID Controller with 5x 1TB disks, and in the last=20 time I often found it to be strange. Now I investigated, and found this.=20 =46rom another server I NFS mount a share, and make dd if=3D/dev/sda of=3D/server/share/test.dd bs=3D1024k so that should do big sequential writes. But the performance goes up and=20 down, like you see in this output from "iostat -kx 5 555". You see write=20 KB/s is 5824, 23207, 87283, 704, 40187. Up and down all the time. Could=20 that be solved by the patch you discussed last time, or is there=20 something else? Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq- sz avgqu-sz await svctm %util sdb 0,00 401,20 1,20 77,09 4,78 5824,00 =20 148,91 152,25 2595,77 12,76 99,92 avg-cpu: %user %nice %system %iowait %steal %idle 0,00 0,00 34,77 67,03 2,20 7,21 sdb 0,00 1094,40 2,20 245,80 8,80 23207,20 =20 187,23 153,64 43,24 4,03 100,00 avg-cpu: %user %nice %system %iowait %steal %idle 0,00 0,00 41,08 56,83 0,30 15,65 sdb 0,00 295,20 6,40 791,20 25,60 87283,40 =20 218,93 119,19 259,89 1,21 96,56 avg-cpu: %user %nice %system %iowait %steal %idle 0,00 0,00 61,45 55,92 0,50 4,62 sdb 0,00 3,60 0,00 4,60 0,00 704,80 =20 306,43 140,01 2979,30 217,39 100,00 avg-cpu: %user %nice %system %iowait %steal %idle 0,00 0,00 21,12 75,50 0,10 10,06 sdb 0,00 1252,80 0,20 270,00 0,80 40187,20 =20 297,47 151,38 1160,49 3,70 99,84 mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From BATV+8ab3a5e9df498b79c779+2185+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 17 16:17:48 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 n7HLHNKB093812 for ; Mon, 17 Aug 2009 16:17:38 -0500 X-ASG-Debug-ID: 1250543868-583f00ce0000-w1Z2WR 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 6F4D114CC975 for ; Mon, 17 Aug 2009 14:17:48 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Jnnhxlx44FqCgj9E for ; Mon, 17 Aug 2009 14:17:48 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Md9XJ-0002xl-VN; Mon, 17 Aug 2009 21:14:38 +0000 Date: Mon, 17 Aug 2009 17:14:37 -0400 From: Christoph Hellwig To: Tommy van Leeuwen Cc: Christoph Hellwig , Patrick Schreurs , linux-xfs@oss.sgi.com, Lachlan McIlroy , Eric Sandeen X-ASG-Orig-Subj: Re: 2.6.30 panic - xfs_fs_destroy_inode Subject: Re: 2.6.30 panic - xfs_fs_destroy_inode Message-ID: <20090817211437.GA5929@infradead.org> References: <4A408316.2070903@news-service.com> <1587994907.388291245745033392.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <20090623171305.GB23971@infradead.org> <4A4A7205.6010101@news-service.com> <20090701124441.GA12844@infradead.org> <4A4CEEF2.7040101@news-service.com> <20090721141225.GA24330@infradead.org> <89c4f90c0907220155u5d9331dj3cbe53efcf6b51f2@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <89c4f90c0907220155u5d9331dj3cbe53efcf6b51f2@mail.gmail.com> 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: 1250543891 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 Wed, Jul 22, 2009 at 10:55:54AM +0200, Tommy van Leeuwen wrote: > Unfortunately we still get errors, with this patch on top of the > previous one: The difference is that is now crashes within an hour > instead of once a week, so that might be good for troubleshooting. Hi Tommy and sorry for dropping the ball on this, I didn't remember this mail anymore until I look for more reporters of the inode related problems. Current mainline (Linus' git as of today) has a lot of the fixes in this area, any chance I could trick you into trying it? Maybe including the debug patch below which adds a printk to that one culprit that I thing might remain: Also if it still happens any chance you could send output of the dmesg command instead of the syslog files? For some reason syslogd usually eats up some bits of kernel oops message.. Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-17 18:08:39.563217129 -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-17 18:09:12.999316531 -0300 @@ -242,6 +242,8 @@ xfs_iget_cache_hit( error = -inode_init_always(mp->m_super, inode); if (error) { + printk("XFS: inode_init_always failed to re-initialize inode\n"); + /* * Re-initializing the inode failed, and we are in deep * trouble. Try to re-add it to the reclaim list. From BATV+8ab3a5e9df498b79c779+2185+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 17 16:41: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=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 n7HLfBmH094869 for ; Mon, 17 Aug 2009 16:41:26 -0500 X-ASG-Debug-ID: 1250545298-1ee902eb0000-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 B0EEF1BDADFA for ; Mon, 17 Aug 2009 14:41:38 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id lasE1JBSWWX92MHg for ; Mon, 17 Aug 2009 14:41:38 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Md9xQ-0007Hc-QE; Mon, 17 Aug 2009 21:41:36 +0000 Date: Mon, 17 Aug 2009 17:41:36 -0400 From: Christoph Hellwig To: Michael Monnerie Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: disk performance strange/low Subject: Re: disk performance strange/low Message-ID: <20090817214136.GA26060@infradead.org> References: <200908172311.07660@zmi.at> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200908172311.07660@zmi.at> 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: 1250545318 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 17, 2009 at 11:11:07PM +0200, Michael Monnerie wrote: > I've got an Areca RAID Controller with 5x 1TB disks, and in the last > time I often found it to be strange. Now I investigated, and found this. > >From another server I NFS mount a share, and make > dd if=/dev/sda of=/server/share/test.dd bs=1024k > so that should do big sequential writes. But the performance goes up and > down, like you see in this output from "iostat -kx 5 555". You see write > KB/s is 5824, 23207, 87283, 704, 40187. Up and down all the time. Could > that be solved by the patch you discussed last time, or is there > something else? Yes, that sounds like the problem of the VM not feeding us enough pages to write. What kernel is this on? Latest 2.6.31-rc has a workaround for it. From michael.monnerie@is.it-management.at Mon Aug 17 21:08: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.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_33 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 n7I28L89106218 for ; Mon, 17 Aug 2009 21:08:39 -0500 X-ASG-Debug-ID: 1250561335-290600010000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv1.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A88351074BA3 for ; Mon, 17 Aug 2009 19:08:55 -0700 (PDT) Received: from mailsrv1.zmi.at (mailsrv1.zmi.at [212.69.162.198]) by cuda.sgi.com with ESMTP id 1EPRJxDmRNoEYWSZ for ; Mon, 17 Aug 2009 19:08:55 -0700 (PDT) Received: from mailsrv.i.zmi.at (unknown [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv1.zmi.at (Postfix) with ESMTP id B3A753E4E for ; Tue, 18 Aug 2009 04:08:31 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 02516400166 for ; Tue, 18 Aug 2009 04:08:23 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: disk performance strange/low Subject: Re: disk performance strange/low Date: Tue, 18 Aug 2009 04:08:05 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.4-ZMI; KDE/4.1.3; x86_64; ; ) References: <200908172311.07660@zmi.at> <20090817214136.GA26060@infradead.org> In-Reply-To: <20090817214136.GA26060@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200908180408.10738@zmi.at> X-Barracuda-Connect: mailsrv1.zmi.at[212.69.162.198] X-Barracuda-Start-Time: 1250561340 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.6506 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 Montag 17 August 2009 Christoph Hellwig wrote: > Yes, that sounds like the problem of the VM not feeding us enough > pages to write. =A0What kernel is this on? =A0Latest 2.6.31-rc has a > workaround for it. 2.6.27.23-0.1-xen from openSUSE 11.1 I can't switch as I use it with the free Xen. Thanks for the info. mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From BATV+150018ffa858695cd27f+2186+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 17 21:43: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7I2h3Fp107936 for ; Mon, 17 Aug 2009 21:43:20 -0500 X-ASG-Debug-ID: 1250563431-165401550000-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 AEE051074C31 for ; Mon, 17 Aug 2009 19:43:51 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id NG79a4mu2wKECbtk for ; Mon, 17 Aug 2009 19:43:51 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MdEfu-0001EQ-Ob; Tue, 18 Aug 2009 02:43:50 +0000 Date: Mon, 17 Aug 2009 22:43:50 -0400 From: Christoph Hellwig To: Michael Monnerie Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: disk performance strange/low Subject: Re: disk performance strange/low Message-ID: <20090818024350.GA3591@infradead.org> References: <200908172311.07660@zmi.at> <20090817214136.GA26060@infradead.org> <200908180408.10738@zmi.at> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200908180408.10738@zmi.at> 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: 1250563431 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 18, 2009 at 04:08:05AM +0200, Michael Monnerie wrote: > On Montag 17 August 2009 Christoph Hellwig wrote: > > Yes, that sounds like the problem of the VM not feeding us enough > > pages to write. ?What kernel is this on? ?Latest 2.6.31-rc has a > > workaround for it. > > 2.6.27.23-0.1-xen from openSUSE 11.1 > I can't switch as I use it with the free Xen. Thanks for the info. Try backporting commit c8a4051c3731b6db224482218cfd535ab9393ff8 from mainline - it should apply just fine to a 2.6.27-ish kernel. From kanishk.85@gmail.com Mon Aug 17 21:45:18 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=AWL,BAYES_00,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 n7I2iv9W108033 for ; Mon, 17 Aug 2009 21:45:08 -0500 X-ASG-Debug-ID: 1250563536-12d201ab0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from wf-out-1314.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C3D2C1074C4F for ; Mon, 17 Aug 2009 19:45:36 -0700 (PDT) Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.171]) by cuda.sgi.com with ESMTP id 7KV2ggosqVwgYVZT for ; Mon, 17 Aug 2009 19:45:36 -0700 (PDT) Received: by wf-out-1314.google.com with SMTP id 29so1060533wff.32 for ; Mon, 17 Aug 2009 19:45:33 -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; bh=mNU2eBjb9arglIE+hiV7DKkzoJ+WZPVLQ35u1DyJwC4=; b=mJYbZPGOKFQkUSNHj5RYLsDVOgwbX2AZnW0Imt/xZMDDkvwcdxV/oXM/mkA9rF2sL9 9wKUJ2IuoFHzvlMBzgyAUhzXDoR0qFY8XcqqhUw3WBzANmzeeeIMmfM1K+v++fGYAnmw 9h+Xb0PqDQjPw1RwuqoGS/sBvLrqHJnIYmq5k= 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; b=LWOVtXzXM49D1Qg3Gy+ttHUhaqGq4jFzISXdVVYMpOXSLRLMHyTriFCheiy6B/J84h leC4IntCcEIXGKln5Ld4nfbQFozdbsjHzO/g0T9Toravjyt+mdnSFh16wwC1om0zlHw9 cfctFmw9anGvKjXkhSq5KGOrq0Aiijdoj/+Fo= MIME-Version: 1.0 Received: by 10.142.248.39 with SMTP id v39mr776442wfh.227.1250563176139; Mon, 17 Aug 2009 19:39:36 -0700 (PDT) In-Reply-To: <4A85A582.5000701@thebarn.com> References: <9ee2fe770908131117o5b7ec317me4524d020bbe216b@mail.gmail.com> <4A85A582.5000701@thebarn.com> Date: Mon, 17 Aug 2009 22:39:36 -0400 Message-ID: <9ee2fe770908171939sbc1d311x119762ed55ee095c@mail.gmail.com> X-ASG-Orig-Subj: Re: xfs buffers Subject: Re: xfs buffers From: kanishk rastogi To: Russell Cattelan Cc: xfs-oss Content-Type: multipart/alternative; boundary=00504502ceb3e20d550471616d43 X-Barracuda-Connect: wf-out-1314.google.com[209.85.200.171] X-Barracuda-Start-Time: 1250563539 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6508 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 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 --00504502ceb3e20d550471616d43 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit inline... On Fri, Aug 14, 2009 at 1:57 PM, Russell Cattelan wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > kanishk rastogi wrote: > > hi all, I was trying to understand the xfs_buf_t management in XFS. > > I was looking at the xfs_bufhash_t which is used to keep the info > > of buffers which have ongoing transactions. I wanted to know if it > > uses it for caching these pages. > > > > As far as i can see in xfs_buf_relse calls :: > > > > list_del_init(&bp->b_hash_list); > > > > if the count drops down to 0 for the buffer... > > > > if (atomic_dec_and_lock(&bp->b_hold, &hash->bh_lock)) { if > > (bp->b_relse) { ----->set only in case of error?? > > atomic_inc(&bp->b_hold); spin_unlock(&hash->bh_lock); > > (*(bp->b_relse)) (bp); } else if (bp->b_flags & XBF_FS_MANAGED) { > > ----> mostly unset......\ > Indeed. that flag is used on exactly one buffer, the superblock.ode of the > Basically the superblock is pinned in memory and only flushed by the > filesystem. > > spin_unlock(&hash->bh_lock); } else { ASSERT(!(bp->b_flags & > > (XBF_DELWRI|_XBF_DELWRI_Q))); *list_del_init(&bp->b_hash_list);* > > spin_unlock(&hash->bh_lock); xfs_buf_free(bp); } } > > > > > > --------------- > > > > CMIIW: So it doesnt keeps buffers if they are not in use.... ?? > buffers are released back to the buf_t zone when they are done. > > zone allocation / free is very fast so managing lists of "free" > buffers doesn't make a lot of sense. > sorry my fault i was asking about the pages these buffers point to? .... I see them being pickd from the device inode of the monted device... thankx kanishk > > > > > I dont think that should be the case... > > > > -- regards kanishk > > > > ---------------------------------------------------------------------- > > > > > > _______________________________________________ xfs mailing list > > xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.7 (Darwin) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFKhaWBNRmM+OaGhBgRAtqgAJ9CZfj0QXz8Yy7P4jYemgEPsvR9pQCfcSWM > a9OI8A4ckMdOuiXQ60o4PLE= > =OJAD > -----END PGP SIGNATURE----- > > -- regards kanishk --00504502ceb3e20d550471616d43 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable inline...

On Fri, Aug 14, 2009 at 1:57 PM= , Russell Cattelan <cattelan@thebarn.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

kanishk rastogi wrote:
> hi all, I was trying to understand the xfs_buf_t management in XFS. > =A0I was looking at the xfs_bufhash_t which is used to keep the info > of buffers which have ongoing transactions. I wanted to know if it
> uses it for caching these pages.
>
> As far as i can see in xfs_buf_relse =A0calls ::
>
> list_del_init(&bp->b_hash_list);
>
> if the count drops down to 0 for the buffer...
>
> if (atomic_dec_and_lock(&bp->b_hold, &hash->bh_lock)) { = if
> (bp->b_relse) { ----->set only in case of error??
> atomic_inc(&bp->b_hold); spin_unlock(&hash->bh_lock); > (*(bp->b_relse)) (bp); } else if (bp->b_flags & XBF_FS_MANAG= ED) {
> ----> mostly unset......\
Indeed. that flag is used on exactly one buffer, the superblock.ode of the<= br> Basically the superblock is pinned in memory and only flushed by the
filesystem.
> spin_unlock(&hash->bh_lock); } else { ASSERT(= !(bp->b_flags &
> (XBF_DELWRI|_XBF_DELWRI_Q))); *list_del_init(&bp->b_hash_list);= *
> spin_unlock(&hash->bh_lock); xfs_buf_free(bp); } }
=A0

>
> ---------------
>
> CMIIW: So it doesnt keeps buffers if they are not in use.... =A0??
buffers are released back to the buf_t =A0zone when they are done.
zone allocation / free is very fast so managing lists of "free" buffers doesn't make a lot of sense.

sorry my fault i was asking a= bout the pages these buffers point to? ....
I see them being pickd from= the device inode of the monted device...

thankx
kanishk

>
> I dont think that should be the case...
>
> -- regards kanishk
>
> ----------------------------------------------------------------= ------
>
>
> _______________________________________________ xfs mailing list
> xfs@oss.sgi.com http://oss.sgi.com/m= ailman/listinfo/xfs

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFKhaWBNRmM+OaGhBgRAtqgAJ9CZfj0QXz8Yy7P4jYemgEPsvR9pQCfcSWM
a9OI8A4ckMdOuiXQ60o4PLE=3D
=3DOJAD
-----END PGP SIGNATURE-----




--
regards
kanishk
--00504502ceb3e20d550471616d43-- From felixb@oss.sgi.com Tue Aug 18 00:58:23 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=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7I5wI84119831 for ; Tue, 18 Aug 2009 00:58:23 -0500 Received: (from felixb@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n7I5wIJr119793; Tue, 18 Aug 2009 00:58:18 -0500 Date: Tue, 18 Aug 2009 00:58:18 -0500 Message-Id: <200908180558.n7I5wIJr119793@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-1260-ga022fe0 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 79dd43bb85d64ba14a781f940c858d7bbe8c9a6d X-Git-Newrev: a022fe09700365c51d1f55884bca9754eb96a802 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated a022fe0 xfs: fix locking in xfs_iget_cache_hit from 79dd43bb85d64ba14a781f940c858d7bbe8c9a6d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a022fe09700365c51d1f55884bca9754eb96a802 Author: Christoph Hellwig Date: Sun Aug 16 20:36:34 2009 -0400 xfs: fix locking in xfs_iget_cache_hit 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 (this is oss.sgi.com BZ #819) - 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 Reviewed-by: Felix Blyakher Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/xfs_sync.c | 13 ++++- fs/xfs/linux-2.6/xfs_sync.h | 1 + fs/xfs/xfs_iget.c | 113 ++++++++++++++++++++++--------------------- 3 files changed, 70 insertions(+), 57 deletions(-) hooks/post-receive -- XFS development tree From tytso@mit.edu Tue Aug 18 09:57:58 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,J_CHICKENPOX_62 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7IEvcR8146699 for ; Tue, 18 Aug 2009 09:57:48 -0500 X-ASG-Debug-ID: 1250607475-756001e00000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from thunker.thunk.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E8A1614D131C for ; Tue, 18 Aug 2009 07:57:55 -0700 (PDT) Received: from thunker.thunk.org (THUNK.ORG [69.25.196.29]) by cuda.sgi.com with ESMTP id 8QIfhcfWI5bdqNVh for ; Tue, 18 Aug 2009 07:57:55 -0700 (PDT) Received: from root (helo=closure.thunk.org) by thunker.thunk.org with local-esmtp (Exim 4.50 #1 (Debian)) id 1MdQ8E-00022V-Fb; Tue, 18 Aug 2009 10:57:50 -0400 Received: from tytso by closure.thunk.org with local (Exim 4.69) (envelope-from ) id 1MdQ8B-0003vq-61; Tue, 18 Aug 2009 10:57:47 -0400 From: "Theodore Ts'o" To: xfs@oss.sgi.com Cc: "Theodore Ts'o" X-ASG-Orig-Subj: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Subject: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Date: Tue, 18 Aug 2009 10:57:47 -0400 Message-Id: <1250607467-15085-1-git-send-email-tytso@mit.edu> X-Mailer: git-send-email 1.6.3.2.1.gb9f7d.dirty X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@mit.edu X-SA-Exim-Scanned: No (on thunker.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: THUNK.ORG[69.25.196.29] X-Barracuda-Start-Time: 1250607502 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.6557 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 The _check_generic_filesystem function doesn't force a full filesystem check, so filesystem inconsistencies after a test wouldn't be noticed. To fix this, I added an extN specific check filesystem function. Signed-off-by: "Theodore Ts'o" --- common.rc | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/common.rc b/common.rc index 82b0d51..da5f99e 100644 --- a/common.rc +++ b/common.rc @@ -865,6 +865,52 @@ _check_generic_filesystem() return 0 } +# Check an ext2/3/4 filesystem +# +_check_extN_filesystem() +{ + device=$1 + + # If type is set, we're mounted + type=`_fs_type $device` + ok=1 + + if [ "$type" = "$FSTYP" ] + then + # mounted ... + mountpoint=`_umount_or_remount_ro $device` + fi + + e2fsck -nf $device >$tmp.fsck 2>&1 + if [ $? -ne 0 ] + then + echo "_check_extN_filesystem: filesystem on $device is inconsistent (see $seq.full)" + + echo "_check_extN filesystem: filesystem on $device is inconsistent" >>$here/$seq.full + echo "*** e2fsck output ***" >>$here/$seq.full + cat $tmp.fsck >>$here/$seq.full + echo "*** end e2fsck output" >>$here/$seq.full + + ok=0 + fi + rm -f $tmp.fsck + + if [ $ok -eq 0 ] + then + echo "*** mount output ***" >>$here/$seq.full + _mount >>$here/$seq.full + echo "*** end mount output" >>$here/$seq.full + elif [ "$type" = "$FSTYP" ] + then + # was mounted ... + _mount_or_remount_rw "$MOUNT_OPTIONS" $device $mountpoint + ok=$? + fi + + [ $ok -eq 0 ] && exit 1 + return 0 +} + # run xfs_check and friends on a FS. _check_xfs_filesystem() @@ -1033,6 +1079,9 @@ _check_test_fs() udf) # do nothing for now ;; + ext2|ext3|ext4) + _check_extN_filesystem $TEST_DEV + ;; *) _check_generic_filesystem $TEST_DEV ;; @@ -1059,6 +1108,9 @@ _check_scratch_fs() nfs*) # Don't know how to check an NFS filesystem, yet. ;; + ext2|ext3|ext4) + _check_extN_filesystem $SCRATCH_DEV + ;; *) _check_generic_filesystem $SCRATCH_DEV ;; -- 1.6.3.2.1.gb9f7d.dirty From BATV+150018ffa858695cd27f+2186+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 18 11:11:22 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_21 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 n7IGAtWP150398 for ; Tue, 18 Aug 2009 11:11:11 -0500 X-ASG-Debug-ID: 1250611880-414503820000-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 C9E993DC591 for ; Tue, 18 Aug 2009 09:11:20 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id qrjReWHFUDDrUPEV for ; Tue, 18 Aug 2009 09:11:20 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MdRHI-0001Q4-SU; Tue, 18 Aug 2009 16:11:16 +0000 Date: Tue, 18 Aug 2009 12:11:16 -0400 From: Christoph Hellwig To: "Theodore Ts'o" Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Subject: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Message-ID: <20090818161116.GA2162@infradead.org> References: <1250607467-15085-1-git-send-email-tytso@mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1250607467-15085-1-git-send-email-tytso@mit.edu> 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: 1250611900 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 18, 2009 at 10:57:47AM -0400, Theodore Ts'o wrote: > The _check_generic_filesystem function doesn't force a full filesystem > check, so filesystem inconsistencies after a test wouldn't be noticed. > To fix this, I added an extN specific check filesystem function. Looks like the only difference between the generic and the extN check routine is the addition of -f to the fsck command line. What about just introducing a _fsck_args similar to _mount_opts where filesystems can set their additional required mount options? From tytso@mit.edu Tue Aug 18 12:07: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.2 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_21, J_CHICKENPOX_62 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 n7IH7UFW153456 for ; Tue, 18 Aug 2009 12:07:40 -0500 X-ASG-Debug-ID: 1250615290-5a8902730000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from thunker.thunk.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 90F713DC94C for ; Tue, 18 Aug 2009 10:08:10 -0700 (PDT) Received: from thunker.thunk.org (THUNK.ORG [69.25.196.29]) by cuda.sgi.com with ESMTP id JF6lgaSncA095bxW for ; Tue, 18 Aug 2009 10:08:10 -0700 (PDT) Received: from root (helo=closure.thunk.org) by thunker.thunk.org with local-esmtp (Exim 4.50 #1 (Debian)) id 1MdS7I-0007FY-CU; Tue, 18 Aug 2009 13:05:00 -0400 Received: from tytso by closure.thunk.org with local (Exim 4.69) (envelope-from ) id 1MdS7F-0003a5-08; Tue, 18 Aug 2009 13:04:57 -0400 Date: Tue, 18 Aug 2009 13:04:56 -0400 From: Theodore Tso To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Subject: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Message-ID: <20090818170456.GF28560@mit.edu> References: <1250607467-15085-1-git-send-email-tytso@mit.edu> <20090818161116.GA2162@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090818161116.GA2162@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@mit.edu X-SA-Exim-Scanned: No (on thunker.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: THUNK.ORG[69.25.196.29] X-Barracuda-Start-Time: 1250615295 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.6565 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 Tue, Aug 18, 2009 at 12:11:16PM -0400, Christoph Hellwig wrote: > On Tue, Aug 18, 2009 at 10:57:47AM -0400, Theodore Ts'o wrote: > > The _check_generic_filesystem function doesn't force a full filesystem > > check, so filesystem inconsistencies after a test wouldn't be noticed. > > To fix this, I added an extN specific check filesystem function. > > Looks like the only difference between the generic and the extN > check routine is the addition of -f to the fsck command line. What > about just introducing a _fsck_args similar to _mount_opts where > filesystems can set their additional required mount options? That would work, yeah, and would be result in far less code duplication in common.rc. I'll take a whack at it and resubmit. Thanks, - Ted From info@park.goldenname.com Tue Aug 18 12:14:14 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 n7IHDTiN153739 for ; Tue, 18 Aug 2009 12:14:04 -0500 X-ASG-Debug-ID: 1250615633-4c10000b0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from lugano.hostireland.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 86A1B3DCA5A for ; Tue, 18 Aug 2009 10:13:53 -0700 (PDT) Received: from lugano.hostireland.com (lugano.hostireland.com [67.192.77.34]) by cuda.sgi.com with ESMTP id CdVPCiaY9nKxFU2K for ; Tue, 18 Aug 2009 10:13:53 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by lugano.hostireland.com (Postfix) with ESMTP id 3FFC9C17D9; Tue, 18 Aug 2009 18:13:50 +0100 (IST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at lugano.hostireland.com Received: from webmail.ryanchilling.ie (localhost [127.0.0.1]) by lugano.hostireland.com (Postfix) with ESMTP id CCBEAC181C; Tue, 18 Aug 2009 18:13:48 +0100 (IST) Received: from 196.1.179.242 (SquirrelMail authenticated user sean@ryanchilling.ie) by webmail.ryanchilling.ie with HTTP; Tue, 18 Aug 2009 18:13:50 +0100 (IST) Message-ID: <14522.196.1.179.242.1250615630.squirrel@webmail.ryanchilling.ie> Date: Tue, 18 Aug 2009 18:13:50 +0100 (IST) X-ASG-Orig-Subj: INFO Subject: INFO From: "Unsecured Loan Inc" Reply-To: chrysalisfinance@hotmail.com User-Agent: SquirrelMail/1.4.12 MIME-Version: 1.0 Content-Type: multipart/alternative;boundary="----=_20090818181350_78576" X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; X-Barracuda-Connect: lugano.hostireland.com[67.192.77.34] X-Barracuda-Start-Time: 1250615657 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4988 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 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.6565 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message X-Virus-Status: Clean ------=_20090818181350_78576 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Looking for an unsecured personal loan? Whatever your plans, an unsecured personal loan from Chrysalis Financial Loan Inc is a great way to go. Our award-winning unsecured loans provide excellent value, with low rates, currently available at a typical rate of 3% APR on loans from Ł5,000 to Ł5,000,000.you can contact us today via email(chrysalisfinance@hotmail.com) If you are interested in getting a loan from our company,contact us with the following details. ================================== APPLICATION DETAILS * First Name:.................. * Last Name:................... * Full Contact Address:........ * City/Zip code:............... * Country:..................... * Valid Phone No:.............. * Direct cell Number:.......... * Amount needed as Loan:....... * Type of Loan:................ * Duration Of Loan:............ * Purpose of Loan: ............ * Monthly Income: ............. * Occupation: ................. * Marital Status............... * Sex:......................... * Age: ........................ ***************************** Contact us via email ( chrysalisfinance@hotmail.com) ------=_20090818181350_78576 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: 8bit


Looking for an unsecured personal loan? Whatever your plans, an unsecured
personal loan from Chrysalis Financial Loan Inc is a great way to go. Our
award-winning unsecured loans provide excellent value, with low rates,
currently available at a typical rate of 3% APR on loans from £5,000 to
£5,000,000.you can contact us today via email(chrysalisfinance@hotmail.com)
If you are interested in getting a loan from our company,contact us with
the following details.
==================================
APPLICATION DETAILS
* First Name:..................
* Last Name:...................
* Full Contact Address:........
* City/Zip code:...............
* Country:.....................
* Valid Phone No:..............
* Direct cell Number:..........
* Amount needed as Loan:.......
* Type of Loan:................
* Duration Of Loan:............
* Purpose of Loan: ............
* Monthly Income: .............
* Occupation: .................
* Marital Status...............
* Sex:.........................
* Age: ........................
*****************************
Contact us via email ( chrysalisfinance@hotmail.com)
------=_20090818181350_78576-- From lmcilroy@redhat.com Tue Aug 18 21:18:17 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 n7J2HvmB180953 for ; Tue, 18 Aug 2009 21:18:07 -0500 X-ASG-Debug-ID: 1250648296-552502600000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C30C93DE9DA for ; Tue, 18 Aug 2009 19:18:16 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by cuda.sgi.com with ESMTP id 1kolfaO4jhz4vc7B for ; Tue, 18 Aug 2009 19:18:16 -0700 (PDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7J2IENU029892; Tue, 18 Aug 2009 22:18:14 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n7J2IDn4029484; Tue, 18 Aug 2009 22:18:13 -0400 Date: Tue, 18 Aug 2009 22:18:12 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: John Quigley Cc: XFS Development Message-ID: <606994882.2142291250648292843.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <990461759.2142271250648177725.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.71] X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Barracuda-Connect: mx1.redhat.com[66.187.233.31] X-Barracuda-Start-Time: 1250648319 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.6601 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 ----- "John Quigley" wrote: > Lachlan McIlroy wrote: > > If that fails too can you run xfs_logprint on /dev/sde and > > post any errors it reports? > > My apologies for the delayed response; output of logprint can be > downloaded as a ~4MB bzip: > > http://www.jquigley.com/files/tmp/xfs-failover-logprint.bz2 xfs_logprint doesn't find any problems with this log but that doesn't mean the kernel doesn't - they use different implementations to read the log. I noticed that the active part of the log wraps around the physical end/start of the log which reminds of this fix: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d1afb678ce77b930334a8a640a05b8e68178a377 I remember that without this fix we were seeing ASSERTs in the log recovery code - unfortunately I don't remember exactly where but it could be from the same location you are getting the "bad clientid" error. When a log record wraps the end/start of the physical log we need to do two I/Os to read the log record in. This bug caused the second read to go to an incorrect location in the buffer which overwrote part of the first I/O and corrupted the log record. I think the fix made it into 2.6.24. > > Thanks very much for your consideration. > > - John Quigley > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From andrew.lyon@gmail.com Wed Aug 19 02:50: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7J7oPOa196189 for ; Wed, 19 Aug 2009 02:50:36 -0500 X-ASG-Debug-ID: 1250668244-3c75000c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-bw0-f210.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A9AA71D5C541 for ; Wed, 19 Aug 2009 00:50:44 -0700 (PDT) Received: from mail-bw0-f210.google.com (mail-bw0-f210.google.com [209.85.218.210]) by cuda.sgi.com with ESMTP id k4iaLRMAXHALXIdg for ; Wed, 19 Aug 2009 00:50:44 -0700 (PDT) Received: by bwz6 with SMTP id 6so3944774bwz.20 for ; Wed, 19 Aug 2009 00:50:39 -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=wvhWnFMUZDIDuKUBahaAzzrpgomCXiT2iAU4581wUeU=; b=qV9QW0zKHUtyIfVNPkrlExmBseUcaYY43bsV/s3LhAPXIDhSnqglRKGC2fT4PuAO69 0QwwtJekBCdQEFYQVW+id2luWQ6wxAM2J4wJ10uYkls6SvarOfPAOX/eraWYQ7Q9s9sP HhpWWA4g0MmFNqJqKkbahOda3QTs7MXkKG5vE= 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=aA/q+Sve3w52kWayW/dhD9u7PLPIeLaUNEIKVTd34yhQZIzRXVtJ2JEPqB7oeuZQ1s H/Vuizf+Vih8i1E03PvGral/vRu5Oyt2I+TiqYs7K4cCiGZ5gvpl/JoY72JeGWrB2Ivp PpiKMRULm4g5SbUH51rR0eD/lBU7F8gvJR9h8= MIME-Version: 1.0 Received: by 10.223.144.141 with SMTP id z13mr1492362fau.7.1250668239703; Wed, 19 Aug 2009 00:50:39 -0700 (PDT) In-Reply-To: <20090814141807.GA2891@infradead.org> References: <200908110921.50752.Christian.Fischer@easterngraphics.com> <20090811142029.GB30913@infradead.org> <200908141456.58683.Christian.Fischer@easterngraphics.com> <20090814141807.GA2891@infradead.org> Date: Wed, 19 Aug 2009 08:50:39 +0100 Message-ID: X-ASG-Orig-Subj: Re: [Patch] Re: xfs crash, kernel 2.6.29 Subject: Re: [Patch] Re: xfs crash, kernel 2.6.29 From: Andrew Lyon To: Christoph Hellwig Cc: Christian Fischer , xfs@oss.sgi.com, Eric Sandeen Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-bw0-f210.google.com[209.85.218.210] X-Barracuda-Start-Time: 1250668271 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.6622 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 Fri, Aug 14, 2009 at 3:18 PM, Christoph Hellwig wrote: > On Fri, Aug 14, 2009 at 02:56:58PM +0200, Christian Fischer wrote: >> backported to 2.6.29-xen-r4 from >> http://code.google.com/p/gentoo-xen-kernel/downloads/list >> >> Can you please review it? > > I'll reviewed it and do some QA over the weekend, and we'll send it to > -stable then. > > Did the patch fix the problem? Andy From Christian.Fischer@easterngraphics.com Wed Aug 19 03:17: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=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 n7J8GrAq197199 for ; Wed, 19 Aug 2009 03:17:08 -0500 X-ASG-Debug-ID: 1250669838-662e02410000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from intranet.easterngraphics.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D9BC23DF712 for ; Wed, 19 Aug 2009 01:17:18 -0700 (PDT) Received: from intranet.easterngraphics.com (intranet.easterngraphics.com [62.80.28.49]) by cuda.sgi.com with ESMTP id rcACeVGoSEbnBk9w for ; Wed, 19 Aug 2009 01:17:18 -0700 (PDT) Received: from localhost (unknown [127.0.0.1]) by intranet.easterngraphics.com (Postfix) with ESMTP id DB9021802D7A0; Wed, 19 Aug 2009 08:17:15 +0000 (UTC) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: amavisd-new at easterngraphics.com Received: from intranet.easterngraphics.com ([127.0.0.1]) by localhost (intranet.easterngraphics.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JLCXUe6SF4b3; Wed, 19 Aug 2009 10:17:12 +0200 (CEST) Received: from iwan.easterngraphics.com (gw02dmz.easterngraphics.com [62.80.28.54]) (Authenticated sender: fischer) by intranet.easterngraphics.com (Postfix) with ESMTPSA id 1B6FF1802D7A2; Wed, 19 Aug 2009 10:17:12 +0200 (CEST) From: Christian Fischer Organization: Eastern Graphics GmbH To: Andrew Lyon X-ASG-Orig-Subj: Re: [Patch] Re: xfs crash, kernel 2.6.29 Subject: Re: [Patch] Re: xfs crash, kernel 2.6.29 Date: Wed, 19 Aug 2009 10:16:53 +0200 User-Agent: KMail/1.9.9 Cc: Christoph Hellwig , xfs@oss.sgi.com, Eric Sandeen References: <200908110921.50752.Christian.Fischer@easterngraphics.com> <20090814141807.GA2891@infradead.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908191016.54339.Christian.Fischer@easterngraphics.com> X-Barracuda-Connect: intranet.easterngraphics.com[62.80.28.49] X-Barracuda-Start-Time: 1250669860 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.6622 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean On Wednesday 19 August 2009, Andrew Lyon wrote: > On Fri, Aug 14, 2009 at 3:18 PM, Christoph Hellwig wrote: > > On Fri, Aug 14, 2009 at 02:56:58PM +0200, Christian Fischer wrote: > >> backported to 2.6.29-xen-r4 from > >> http://code.google.com/p/gentoo-xen-kernel/downloads/list > >> > >> Can you please review it? > > > > I'll reviewed it and do some QA over the weekend, and we'll send it to > > -stable then. > > Did the patch fix the problem? > > Andy Hi Andrew, nice to hear you. All i can say is that the kernel compiles and runs. On my testbox I can't reproduce the fs crash, seems 2.6.29.4 is more stable than 2.6.30/31. I've tried Erics steps to reproduce for 2.6.30/31, tried stressing the nfs mount with iozone, tried recursive unpacking and removing eclipse (a lot of small files) and this in a lot of parallel tasks. Nothing triggers the bug. You know, if I can't reproduce it I can't say whether it is fixed or not. I'll update one server this week with the patched kernel and switch nfs on again, and wait then for the next crash. Hope that comes never. Christian -- ------------------------------------------------------------ EasternGraphics - visualize your business Christian Fischer Administration http://www.EasternGraphics.com phone: +49 3677 678265 EasternGraphics GmbH - Albert-Einstein-Strasse 1 - DE-98693 Ilmenau Geschaeftsfuehrer - Ekkehard Beier, Volker Blankenberg, Frank Wicht Amtsgericht Jena - HRB 304052 From fpeng@galactic.com.hk Wed Aug 19 05:14:26 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.4 required=5.0 tests=BAYES_00,DEAR_SOMETHING 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 n7JAE3qs201824 for ; Wed, 19 Aug 2009 05:14:16 -0500 X-ASG-Debug-ID: 1250676880-2d4b02b40000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.galactic.com.hk (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6105C3DFBC8 for ; Wed, 19 Aug 2009 03:14:41 -0700 (PDT) Received: from mail.galactic.com.hk (galactic.com.hk [211.154.134.176]) by cuda.sgi.com with ESMTP id syVJ9b4tWPvhH1pc for ; Wed, 19 Aug 2009 03:14:41 -0700 (PDT) Received: from galactic.com.hk (localhost [127.0.0.1]) by mail.galactic.com.hk (8.13.4/8.13.4) with ESMTP id n7JAL9vg018386 for ; Wed, 19 Aug 2009 18:21:17 +0800 From: "Frank Peng" To: xfs@oss.sgi.com X-ASG-Orig-Subj: xfs_quota: cannot set limits.Why ? Subject: xfs_quota: cannot set limits.Why ? Date: Wed, 19 Aug 2009 18:21:09 +0800 Message-Id: <20090819101701.M38080@galactic.com.hk> X-Mailer: Open WebMail 2.51 20050627 X-OriginatingIP: 219.134.186.244 (fpeng) MIME-Version: 1.0 Content-Type: text/plain; charset=gb2312 X-Barracuda-Connect: galactic.com.hk[211.154.134.176] X-Barracuda-Start-Time: 1250676889 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.6630 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 Dear sir, linux-nr79:~ # cat /etc/issue Welcome to openSUSE 11.1 - Kernel \r (\l). linux-nr79:/boot # cat config-2.6.27.7-9-default | grep XFS CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_DMAPI=y CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_RT=y # CONFIG_XFS_DEBUG is not set CONFIG_VXFS_FS=m linux-nr79:~ # mount /dev/sdc1 /xfs linux-nr79:~ # mount -o remount,usrquota,grpquota /xfs linux-nr79:~ # mount /dev/sda2 on / type ext3 (rw,acl,user_xattr) /proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) debugfs on /sys/kernel/debug type debugfs (rw) udev on /dev type tmpfs (rw) devpts on /dev/pts type devpts (rw,mode=0620,gid=5) fusectl on /sys/fs/fuse/connections type fusectl (rw) securityfs on /sys/kernel/security type securityfs (rw) /dev/sdc2 on /ext3 type ext3 (rw,usrquota,grpquota) /dev/sdc1 on /xfs type xfs (rw,usrquota,grpquota) linux-nr79:~ # xfs_quota -x -c 'limit bsoft=5m bhard=6m user01' /xfs xfs_quota: cannot set limits: Function not implemented Why cannot set limits? Any idea how I can use xfs quota? Thanks. Best Regards, Frank From mw@dermichi.com Wed Aug 19 06:05:21 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_00,DEAR_SOMETHING 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 n7JB51NM203273 for ; Wed, 19 Aug 2009 06:05:11 -0500 X-ASG-Debug-ID: 1250679919-06ed00e80000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from firestarter.dermichi.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0565D3DFB21 for ; Wed, 19 Aug 2009 04:05:19 -0700 (PDT) Received: from firestarter.dermichi.com (firestarternew.dermichi.com [78.41.115.230]) by cuda.sgi.com with ESMTP id 08WEPSDdIGFmPSQE for ; Wed, 19 Aug 2009 04:05:19 -0700 (PDT) Received: from cerberus.net4you.net ([194.177.153.130] helo=[192.168.200.110]) by firestarter.dermichi.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1Mdiye-0002kd-Kn; Wed, 19 Aug 2009 13:05:12 +0200 Message-ID: <4A8BDC66.5080008@dermichi.com> Date: Wed, 19 Aug 2009 13:05:10 +0200 From: Michael Weissenbacher User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Frank Peng CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs_quota: cannot set limits.Why ? Subject: Re: xfs_quota: cannot set limits.Why ? References: <20090819101701.M38080@galactic.com.hk> In-Reply-To: <20090819101701.M38080@galactic.com.hk> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: firestarternew.dermichi.com[78.41.115.230] X-Barracuda-Start-Time: 1250679944 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.6634 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 Frank! The problem is that you cannot set usrquota and grpquota via a remount command. You must take care that these flags are set on the very first mount of the filesystem. Otherwise they are silently ignored and quotas are not enforced at all. hth, Michael -------- Original-Nachricht -------- Betreff: xfs_quota: cannot set limits.Why ? Von: Frank Peng An: xfs@oss.sgi.com Datum: 19.08.2009 12:21 > Dear sir, > > linux-nr79:~ # cat /etc/issue > Welcome to openSUSE 11.1 - Kernel \r (\l). > > linux-nr79:/boot # cat config-2.6.27.7-9-default | grep XFS > CONFIG_XFS_FS=m > CONFIG_XFS_QUOTA=y > CONFIG_XFS_DMAPI=y > CONFIG_XFS_POSIX_ACL=y > CONFIG_XFS_RT=y > # CONFIG_XFS_DEBUG is not set > CONFIG_VXFS_FS=m > > linux-nr79:~ # mount /dev/sdc1 /xfs > linux-nr79:~ # mount -o remount,usrquota,grpquota /xfs > > linux-nr79:~ # mount > /dev/sda2 on / type ext3 (rw,acl,user_xattr) > /proc on /proc type proc (rw) > sysfs on /sys type sysfs (rw) > debugfs on /sys/kernel/debug type debugfs (rw) > udev on /dev type tmpfs (rw) > devpts on /dev/pts type devpts (rw,mode=0620,gid=5) > fusectl on /sys/fs/fuse/connections type fusectl (rw) > securityfs on /sys/kernel/security type securityfs (rw) > /dev/sdc2 on /ext3 type ext3 (rw,usrquota,grpquota) > /dev/sdc1 on /xfs type xfs (rw,usrquota,grpquota) > > linux-nr79:~ # xfs_quota -x -c 'limit bsoft=5m bhard=6m user01' /xfs > xfs_quota: cannot set limits: Function not implemented > > Why cannot set limits? Any idea how I can use xfs quota? > Thanks. > > > Best Regards, > Frank > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From jquigley@jquigley.com Wed Aug 19 10:47: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.2 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 n7JFl68T215613 for ; Wed, 19 Aug 2009 10:47:16 -0500 X-ASG-Debug-ID: 1250696846-7e5301440000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 88A073E169C for ; Wed, 19 Aug 2009 08:47:26 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id HwY66vKlfFjpiXM9 for ; Wed, 19 Aug 2009 08:47:26 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 3250D204116 for ; Wed, 19 Aug 2009 15:46:56 +0000 (UTC) Message-ID: <4A8C1E6E.8020405@jquigley.com> Date: Wed, 19 Aug 2009 10:46:54 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover References: <606994882.2142291250648292843.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <606994882.2142291250648292843.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1250696875 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.6651 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 Lachlan McIlroy wrote: > xfs_logprint doesn't find any problems with this log but that doesn't mean > the kernel doesn't - they use different implementations to read the log. I > noticed that the active part of the log wraps around the physical end/start > of the log which reminds of this fix: Very interesting indeed, thank you /very/ much for looking at this. > I think the fix made it into 2.6.24. We're currently using the very latest 2.6.30, unfortunately. We've distilled this into a reproducible environment with a stack of NFS + XFS to a local disk + automated sysrq 'b' reboots. We're working on getting this bundled up into a nice little package as a VirtualBox vm for your consumption. Please tell me if this is not desirable. Thanks very much again. John Quigley jquigley.com From jack@suse.cz Wed Aug 19 11:04: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.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7JG4JAh216147 for ; Wed, 19 Aug 2009 11:04:30 -0500 X-ASG-Debug-ID: 1250697888-7cc1019c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 15F971BDBC93 for ; Wed, 19 Aug 2009 09:04:48 -0700 (PDT) Received: from mx1.suse.de (cantor.suse.de [195.135.220.2]) by cuda.sgi.com with ESMTP id b255TqfllimLv3Bo for ; Wed, 19 Aug 2009 09:04:48 -0700 (PDT) X-ASG-Whitelist: Barracuda Reputation Received: from relay1.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 3C7A094109; Wed, 19 Aug 2009 18:04:48 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id 8D4342297EC; Wed, 19 Aug 2009 18:04:47 +0200 (CEST) From: Jan Kara To: LKML Cc: hch@infradead.org, Jan Kara , Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 14/17] xfs: Use new syncing helper Subject: [PATCH 14/17] xfs: Use new syncing helper Date: Wed, 19 Aug 2009 18:04:41 +0200 Message-Id: <1250697884-22288-15-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1250697884-22288-1-git-send-email-jack@suse.cz> References: <1250697884-22288-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor.suse.de[195.135.220.2] X-Barracuda-Start-Time: 1250697909 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 Use new generic_write_sync() helper from xfs_write(). CC: Felix Blyakher CC: xfs@oss.sgi.com Signed-off-by: Jan Kara --- fs/xfs/linux-2.6/xfs_lrw.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c index 7078974..aeb5a39 100644 --- a/fs/xfs/linux-2.6/xfs_lrw.c +++ b/fs/xfs/linux-2.6/xfs_lrw.c @@ -817,7 +817,7 @@ write_retry: xfs_iunlock(xip, iolock); if (need_i_mutex) mutex_unlock(&inode->i_mutex); - error2 = sync_page_range(inode, mapping, pos, ret); + error2 = generic_write_sync(file, pos, ret); if (!error) error = error2; if (need_i_mutex) -- 1.6.0.2 From jack@suse.cz Wed Aug 19 11:04:45 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 n7JG4PIM216152 for ; Wed, 19 Aug 2009 11:04:35 -0500 X-ASG-Debug-ID: 1250697890-7cec018a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 163B51BDBCAE for ; Wed, 19 Aug 2009 09:04:50 -0700 (PDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id SXZOXCz8v8TbPc7M for ; Wed, 19 Aug 2009 09:04:50 -0700 (PDT) Received: from relay1.suse.de (relay-ext.suse.de [195.135.221.8]) by mx2.suse.de (Postfix) with ESMTP id E15FB89B67; Wed, 19 Aug 2009 18:04:46 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id EAA4026936E; Wed, 19 Aug 2009 18:04:45 +0200 (CEST) From: Jan Kara To: LKML Cc: hch@infradead.org, Jan Kara , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Subject: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Date: Wed, 19 Aug 2009 18:04:30 +0200 Message-Id: <1250697884-22288-4-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1250697884-22288-1-git-send-email-jack@suse.cz> References: <1250697884-22288-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1250697914 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.6653 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 generic_file_direct_write() and generic_file_buffered_write() called generic_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But this is superfluous since generic_file_aio_write() does the syncing as well. Also XFS and OCFS2 which call these functions directly handle syncing themselves. So let's have a single place where syncing happens: generic_file_aio_write(). CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com Signed-off-by: Jan Kara --- mm/filemap.c | 25 ------------------------- 1 files changed, 0 insertions(+), 25 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c index 554a396..3bee198 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2187,20 +2187,7 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, } *ppos = end; } - - /* - * Sync the fs metadata but not the minor inode changes and - * of course not the data as we did direct DMA for the IO. - * i_mutex is held, which protects generic_osync_inode() from - * livelocking. AIO O_DIRECT ops attempt to sync metadata here. - */ out: - if ((written >= 0 || written == -EIOCBQUEUED) && - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { - int err = generic_osync_inode(inode, mapping, OSYNC_METADATA); - if (err < 0) - written = err; - } return written; } EXPORT_SYMBOL(generic_file_direct_write); @@ -2332,8 +2319,6 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, { struct file *file = iocb->ki_filp; struct address_space *mapping = file->f_mapping; - const struct address_space_operations *a_ops = mapping->a_ops; - struct inode *inode = mapping->host; ssize_t status; struct iov_iter i; @@ -2343,16 +2328,6 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, if (likely(status >= 0)) { written += status; *ppos = pos + status; - - /* - * For now, when the user asks for O_SYNC, we'll actually give - * O_DSYNC - */ - if (unlikely((file->f_flags & O_SYNC) || IS_SYNC(inode))) { - if (!a_ops->writepage || !is_sync_kiocb(iocb)) - status = generic_osync_inode(inode, mapping, - OSYNC_METADATA|OSYNC_DATA); - } } /* -- 1.6.0.2 From jack@suse.cz Wed Aug 19 11:04:44 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 n7JG4Ogj216151 for ; Wed, 19 Aug 2009 11:04:34 -0500 X-ASG-Debug-ID: 1250697888-7c8901b20000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E0C711BDBCA8 for ; Wed, 19 Aug 2009 09:04:48 -0700 (PDT) Received: from mx1.suse.de (cantor.suse.de [195.135.220.2]) by cuda.sgi.com with ESMTP id 8EA3mqV7BCKAbp5Z for ; Wed, 19 Aug 2009 09:04:48 -0700 (PDT) X-ASG-Whitelist: Barracuda Reputation Received: from relay1.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id A78E493EE3; Wed, 19 Aug 2009 18:04:47 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id 60BED168B84; Wed, 19 Aug 2009 18:04:46 +0200 (CEST) From: Jan Kara To: LKML Cc: hch@infradead.org, Jan Kara , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Date: Wed, 19 Aug 2009 18:04:34 +0200 Message-Id: <1250697884-22288-8-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1250697884-22288-1-git-send-email-jack@suse.cz> References: <1250697884-22288-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor.suse.de[195.135.220.2] X-Barracuda-Start-Time: 1250697913 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 Introduce new function for generic inode syncing (generic_sync_file) and use it from fsync() path. Introduce also new helper for syncing after a sync write (generic_write_sync) using the generic function. Use these new helpers for syncing from generic VFS functions. CC: Evgeniy Polyakov CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net CC: OGAWA Hirofumi CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Signed-off-by: Jan Kara --- fs/splice.c | 22 ++++---------- fs/sync.c | 81 +++++++++++++++++++++++++++++++++++++++++++--------- include/linux/fs.h | 7 ++++ mm/filemap.c | 16 ++++------ 4 files changed, 86 insertions(+), 40 deletions(-) diff --git a/fs/splice.c b/fs/splice.c index 73766d2..8190237 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -976,25 +976,15 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out, if (ret > 0) { unsigned long nr_pages; + int err; - *ppos += ret; nr_pages = (ret + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; - /* - * If file or inode is SYNC and we actually wrote some data, - * sync it. - */ - if (unlikely((out->f_flags & O_SYNC) || IS_SYNC(inode))) { - int err; - - mutex_lock(&inode->i_mutex); - err = generic_osync_inode(inode, mapping, - OSYNC_METADATA|OSYNC_DATA); - mutex_unlock(&inode->i_mutex); - - if (err) - ret = err; - } + err = generic_write_sync(out, *ppos, ret); + if (err) + ret = err; + else + *ppos += ret; balance_dirty_pages_ratelimited_nr(mapping, nr_pages); } diff --git a/fs/sync.c b/fs/sync.c index 3422ba6..fc320aa 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -176,23 +176,30 @@ int file_fsync(struct file *filp, struct dentry *dentry, int datasync) } /** - * vfs_fsync - perform a fsync or fdatasync on a file + * generic_sync_file - helper to sync data & metadata to disk * @file: file to sync * @dentry: dentry of @file - * @data: only perform a fdatasync operation + * @start: offset in bytes of the beginning of data range to sync + * @end: offset in bytes of the end of data range (inclusive) + * @what: what should be synced * - * Write back data and metadata for @file to disk. If @datasync is - * set only metadata needed to access modified file data is written. + * What the function exactly does is controlled by the @what parameter: * - * In case this function is called from nfsd @file may be %NULL and - * only @dentry is set. This can only happen when the filesystem - * implements the export_operations API. + * If SYNC_SUBMIT_DATA is set, the function submits all pages in the given + * range to disk. + * + * The function always calls ->fsync() callback of the filesystem. If + * SYNC_INODE is not set, we pass down the fact that it is just a datasync. + * + * If SYNC_WAIT_DATA is set, the function waits for writeback to finish + * in the given range. */ -int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) +int generic_sync_file(struct file *file, struct dentry *dentry, loff_t start, + loff_t end, int what) { const struct file_operations *fop; struct address_space *mapping; - int err, ret; + int err, ret = 0; /* * Get mapping and operations from the file in case we have @@ -212,23 +219,50 @@ int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) goto out; } - ret = filemap_fdatawrite(mapping); + if (what & SYNC_SUBMIT_DATA) + ret = filemap_fdatawrite_range(mapping, start, end); /* * We need to protect against concurrent writers, which could cause * livelocks in fsync_buffers_list(). */ mutex_lock(&mapping->host->i_mutex); - err = fop->fsync(file, dentry, datasync); + err = fop->fsync(file, dentry, !(what & SYNC_INODE)); if (!ret) ret = err; mutex_unlock(&mapping->host->i_mutex); - err = filemap_fdatawait(mapping); - if (!ret) - ret = err; + + if (what & SYNC_WAIT_DATA) { + err = filemap_fdatawait_range(mapping, start, end); + if (!ret) + ret = err; + } out: return ret; } +EXPORT_SYMBOL(generic_sync_file); + +/** + * vfs_fsync - perform a fsync or fdatasync on a file + * @file: file to sync + * @dentry: dentry of @file + * @datasync: only perform a fdatasync operation + * + * Write back data and metadata for @file to disk. If @datasync is + * set only metadata needed to access modified file data is written. + * + * In case this function is called from nfsd @file may be %NULL and + * only @dentry is set. This can only happen when the filesystem + * implements the export_operations API. + */ +int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) +{ + int what = SYNC_SUBMIT_DATA | SYNC_WAIT_DATA; + + if (!datasync) + what |= SYNC_INODE; + return generic_sync_file(file, dentry, 0, LLONG_MAX, what); +} EXPORT_SYMBOL(vfs_fsync); static int do_fsync(unsigned int fd, int datasync) @@ -254,6 +288,25 @@ SYSCALL_DEFINE1(fdatasync, unsigned int, fd) return do_fsync(fd, 1); } +/** + * generic_write_sync - perform syncing after a write if file / inode is sync + * @file: file to which the write happened + * @pos: offset where the write started + * @count: length of the write + * + * This is just a simple wrapper about our general syncing function. + * FIXME: Make it inline? + */ +int generic_write_sync(struct file *file, loff_t pos, loff_t count) +{ + if (!(file->f_flags & O_SYNC) && !IS_SYNC(file->f_mapping->host)) + return 0; + return generic_sync_file(file, file->f_path.dentry, pos, + pos + count - 1, + SYNC_SUBMIT_DATA | SYNC_WAIT_DATA); +} +EXPORT_SYMBOL(generic_write_sync); + /* * sys_sync_file_range() permits finely controlled syncing over a segment of * a file in the range offset .. (offset+nbytes-1) inclusive. If nbytes is diff --git a/include/linux/fs.h b/include/linux/fs.h index 1edd159..0f13049 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2088,7 +2088,14 @@ extern int __filemap_fdatawrite_range(struct address_space *mapping, extern int filemap_fdatawrite_range(struct address_space *mapping, loff_t start, loff_t end); +/* Flags for generic_sync_file */ +#define SYNC_INODE 1 +#define SYNC_SUBMIT_DATA 2 +#define SYNC_WAIT_DATA 4 +extern int generic_sync_file(struct file *file, struct dentry *dentry, + loff_t start, loff_t end, int what); extern int vfs_fsync(struct file *file, struct dentry *dentry, int datasync); +extern int generic_write_sync(struct file *file, loff_t pos, loff_t count); extern void sync_supers(void); extern void emergency_sync(void); extern void emergency_remount(void); diff --git a/mm/filemap.c b/mm/filemap.c index dffdc60..a29b35b 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -39,11 +39,10 @@ /* * FIXME: remove all knowledge of the buffer layer from the core VM */ -#include /* for generic_osync_inode */ +#include /* for try_to_free_buffers */ #include - /* * Shared mappings implemented 30.11.1994. It's not fully working yet, * though. @@ -2452,18 +2451,16 @@ ssize_t generic_file_aio_write_nolock(struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos) { struct file *file = iocb->ki_filp; - struct address_space *mapping = file->f_mapping; - struct inode *inode = mapping->host; ssize_t ret; BUG_ON(iocb->ki_pos != pos); ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); - if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if (ret > 0) { ssize_t err; - err = sync_page_range(inode, mapping, pos, ret); + err = generic_write_sync(file, pos, ret); if (err < 0) ret = err; } @@ -2486,8 +2483,7 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos) { struct file *file = iocb->ki_filp; - struct address_space *mapping = file->f_mapping; - struct inode *inode = mapping->host; + struct inode *inode = file->f_mapping->host; ssize_t ret; BUG_ON(iocb->ki_pos != pos); @@ -2496,10 +2492,10 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); mutex_unlock(&inode->i_mutex); - if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if (ret > 0) { ssize_t err; - err = sync_page_range(inode, mapping, pos, ret); + err = generic_write_sync(file, pos, ret); if (err < 0) ret = err; } -- 1.6.0.2 From BATV+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 11:18: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=AWL,BAYES_00,J_CHICKENPOX_33 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 n7JGICOp216782 for ; Wed, 19 Aug 2009 11:18:28 -0500 X-ASG-Debug-ID: 1250698740-124b012a0000-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 88FB13E1A03; Wed, 19 Aug 2009 09:19:00 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id R3vZjQgPsHrQLnDS; Wed, 19 Aug 2009 09:19:00 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MdnsD-0003hJ-RA; Wed, 19 Aug 2009 16:18:53 +0000 Date: Wed, 19 Aug 2009 12:18:53 -0400 From: Christoph Hellwig To: Jan Kara Cc: LKML , hch@infradead.org, ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Subject: Re: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Message-ID: <20090819161853.GC6150@infradead.org> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-4-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1250697884-22288-4-git-send-email-jack@suse.cz> 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: 1250698740 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 Wed, Aug 19, 2009 at 06:04:30PM +0200, Jan Kara wrote: > generic_file_direct_write() and generic_file_buffered_write() called > generic_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But > this is superfluous since generic_file_aio_write() does the syncing as well. > Also XFS and OCFS2 which call these functions directly handle syncing > themselves. So let's have a single place where syncing happens: > generic_file_aio_write(). Yeah, this is something that never made any sense to me. > @@ -2187,20 +2187,7 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, > } > *ppos = end; > } > - > - /* > - * Sync the fs metadata but not the minor inode changes and > - * of course not the data as we did direct DMA for the IO. > - * i_mutex is held, which protects generic_osync_inode() from > - * livelocking. AIO O_DIRECT ops attempt to sync metadata here. > - */ > out: > - if ((written >= 0 || written == -EIOCBQUEUED) && > - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { > - int err = generic_osync_inode(inode, mapping, OSYNC_METADATA); > - if (err < 0) > - written = err; > - } > return written; Here we check (written >= 0 || written == -EIOCBQUEUED), but generic_file_aio_write only cares about positive return values. We defintively do have a change here for partial AIO requests. The question is if the previous behaviour made in sense. If do have an O_SYNC aio+dio request we would have to flush out the metadata after the request has completed and not here. > @@ -2343,16 +2328,6 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, > if (likely(status >= 0)) { > written += status; > *ppos = pos + status; > - > - /* > - * For now, when the user asks for O_SYNC, we'll actually give > - * O_DSYNC > - */ > - if (unlikely((file->f_flags & O_SYNC) || IS_SYNC(inode))) { > - if (!a_ops->writepage || !is_sync_kiocb(iocb)) > - status = generic_osync_inode(inode, mapping, > - OSYNC_METADATA|OSYNC_DATA); > - } > } No problem with -EIOCBQUEUED here, but we change from doing generic_osync_inode with OSYNC_DATA which does a full writeout of the data to sync_page_range which only does the range writeout here. That should be fine (as we only need to sync that range), but should probably be documented in the patch description. From BATV+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 11:26: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=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 n7JGPr3T216966 for ; Wed, 19 Aug 2009 11:26:08 -0500 X-ASG-Debug-ID: 1250699202-13c4014e0000-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 755AC3E1796; Wed, 19 Aug 2009 09:26:42 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id s9nQIV7ty3XDUmPo; Wed, 19 Aug 2009 09:26:42 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mdnzi-0005C1-4Q; Wed, 19 Aug 2009 16:26:38 +0000 Date: Wed, 19 Aug 2009 12:26:38 -0400 From: Christoph Hellwig To: Jan Kara Cc: LKML , hch@infradead.org, Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090819162638.GE6150@infradead.org> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1250697884-22288-8-git-send-email-jack@suse.cz> 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: 1250699202 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 Looks good to me. Eventually we should use those SYNC_ flags also all through the fsync codepath, but I'll see if I can incorporate that in my planned fsync rewrite. From BATV+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 11:32: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 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 n7JGWSSQ217219 for ; Wed, 19 Aug 2009 11:32:43 -0500 X-ASG-Debug-ID: 1250699597-13c4018f0000-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 3EA6E3E1AD7; Wed, 19 Aug 2009 09:33:17 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Q5V5NETuQcH7MASg; Wed, 19 Aug 2009 09:33:17 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mdo67-0008D1-DJ; Wed, 19 Aug 2009 16:33:15 +0000 Date: Wed, 19 Aug 2009 12:33:15 -0400 From: Christoph Hellwig To: Jan Kara Cc: LKML , hch@infradead.org, Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 14/17] xfs: Use new syncing helper Subject: Re: [PATCH 14/17] xfs: Use new syncing helper Message-ID: <20090819163315.GA19969@infradead.org> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-15-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1250697884-22288-15-git-send-email-jack@suse.cz> 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: 1250699597 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 Wed, Aug 19, 2009 at 06:04:41PM +0200, Jan Kara wrote: > diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c > index 7078974..aeb5a39 100644 > --- a/fs/xfs/linux-2.6/xfs_lrw.c > +++ b/fs/xfs/linux-2.6/xfs_lrw.c > @@ -817,7 +817,7 @@ write_retry: > xfs_iunlock(xip, iolock); > if (need_i_mutex) > mutex_unlock(&inode->i_mutex); > - error2 = sync_page_range(inode, mapping, pos, ret); > + error2 = generic_write_sync(file, pos, ret); I don't think this is very optimal for XFS. This first starts an asynchronous writeout of the range in generic_write_sync, then calls into ->fsync which waits for all I/O on the file to finish, then forces the log inside xfs_fsync, then waits for the range again in generic_write_sync, and after this code calls into xfs_write_sync_logforce which forces to log _again_. We should be fine just doing your new filemap_fdatawrite_range helper here and let xfs_write_sync_logforce do the work. Long term we should just get rid of this stupid submit writes before syncing the iode, then wait crap which is a pain for all modern filesystems. From stu@actusa.net Wed Aug 19 12:37:32 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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7JHbCJZ219222 for ; Wed, 19 Aug 2009 12:37:22 -0500 X-ASG-Debug-ID: 1250703475-31ac034b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from internal.actusa.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E133514C0BBD for ; Wed, 19 Aug 2009 10:37:55 -0700 (PDT) Received: from internal.actusa.net (internal.actusa.net [208.83.100.16]) by cuda.sgi.com with ESMTP id r776NDo59bK7buIa for ; Wed, 19 Aug 2009 10:37:55 -0700 (PDT) Received: from [208.83.99.30] (stu@linus.actusa.net [208.83.99.30]) (authenticated bits=0) by internal.actusa.net (8.14.3/8.14.3/Debian-5) with ESMTP id n7JHZlia011228 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 19 Aug 2009 10:35:49 -0700 Message-ID: <4A8C37F3.90300@actusa.net> Date: Wed, 19 Aug 2009 10:35:47 -0700 From: Stuart Sheldon User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706) MIME-Version: 1.0 To: xfs@oss.sgi.com CC: support@actusa.net X-ASG-Orig-Subj: Kernel crash with >2.6.28.10 + drbd + nfs + xfs + heartbeat Subject: Kernel crash with >2.6.28.10 + drbd + nfs + xfs + heartbeat X-Enigmail-Version: 0.96.0 OpenPGP: id=C3252192; url=http://www.actusa.net/~stu/StuartSheldon.asc Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: clamav-milter 0.95.2 at internal X-Virus-Status: Clean X-Scanned-By: MIMEDefang 2.64 on 208.83.100.16 X-Barracuda-Connect: internal.actusa.net[208.83.100.16] X-Barracuda-Start-Time: 1250703480 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.6659 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi all, I've traced this down to what looks to be a XFS problem. When executing a hb_standby the system crashes with the following error on the console: - ------ Start Errors -------- Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel:last sysfs file: /sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_map Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel:invalid opcode: 0000 [#1] SMP Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel:Stack: Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: ffff880217dfad10 ffff880217dfad00 ffff880217dfad10 ffffffffa034b8ea Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel:Call Trace: Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? xfs_inode_set_reclaim_tag+0x69/0x89 [xfs] Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: ffff88021197de58 0000000000000001 ffff88021197de58 ffffffffa033ff6e Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? xfs_reclaim+0x99/0x9f [xfs] Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? xfs_fs_destroy_inode+0x2f/0x4d [xfs] Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? dispose_list+0xcd/0xfb Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? invalidate_inodes+0xfe/0x11c Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? generic_shutdown_super+0x49/0xfd Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? kill_block_super+0x22/0x3a Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? deactivate_super+0x5f/0x77 Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? sys_umount+0x2d8/0x307 Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel: [] ? system_call_fastpath+0x16/0x1b Message from syslogd@drbd-1 at Aug 19 09:30:43 ... kernel:Code: 18 02 00 00 48 d3 e8 89 c1 83 e1 3f 41 0f a3 0c 11 19 c0 85 c0 75 07 49 8d 04 11 0f ab 08 48 63 c1 4d 8b 44 c0 18 4d 85 c0 75 04 <0f> 0b eb fe 41 83 eb 06 41 ff ca 45 85 d2 75 bc 4d 85 c0 74 16 - --------- End Errors -------- System info: Intel(R) Celeron(R) CPU E1400 @ 2.00GHz flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm Kernel: Vanilla 2.6.30.5 amd64 (anything past 2.6.28.10 will produce problem) Distro: Debian Lenny XFS is built as a module. Here is the Heartbeat command file that creams the machine: drbd-1 IPaddr::xxx.xxx.xxx.xxx/26/eth0 \ drbddisk::r0 \ Filesystem::/dev/drbd0::/data::xfs::noatime,nodiratime \ killnfsd \ nfs-common \ nfs-kernel-server \ MailTo::root::NFS_Fallover_Notice I can pretty much duplicate this at will. I just need to slot a maintenance window. Let me know if you need any more info... I'd really like to help get this resolved. Thanks in advance. Stuart Sheldon ACT USA - -- And so it was, that later, as the miller told his tale, that her face at first just ghostly, turned a whiter shade of pale... -- Procol Harum - "Whiter Shade of Pale Lyrics" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iQIcBAEBCAAGBQJKjDfzAAoJEFKVLITDJSGSuCcP/i0noYmVN4s1dVRzyDuXXLoM nIt/cdvMZM2KjkrYlDtRZcd3HF3SyDQX024f0hbncvPQrVBcgEeH18WJpXPTLHw1 S47ETIZHwVeI8Jm174rl/uVHZS9YyPlUMysNgOhdT+CZYLIxWCzVXWLenSdL5n7O YaFPEJRKwNvX8iui9DaWkXJdEmRM0LADDkMO4MtrclBeS6GP8+DMgIBJb0mKNkie y6L67lUiqm6QYaUaGA4hotQJ5IKUbxxRGllil9TB3goQ+lfeUBgBwmKEdPIWb+DV 8V5LG3/o2gbfPSWksmTuk2+A2M/6g3x/2btfvOlS8/DX3lMzTEdDIdM4+YlK9Uvf drKLvKGwAfaqBwfE45ax6Kc7deOWGTAKD6zxXtVIvryGit+aHSJ9Ygf6BdTzK/nA qa4+sa7t669bcg2YJztjinrsrwHnSroZCM5a6Nrg8geKt/WlBDXdykYtXhWnvF0s zulVLWkFhv4vnkjVi8Dx0SvpkII6T7b4x/ldMvdegxQWP0uzME4Ek6W4BwRzV/mQ +pi7X+Nvgc/zoEQEpmj62dIzxr8NS927pR+dmG8xF6z1VcYsyfxUPxMXCs4uMW4m IfzqBC9E48NyTkHmaCyR6yNTA7HtkEtFeTm/6Gj4C3jAV5DylfmMVsyO1cOdhj7y JlLJD0Oe8NGORnjt3Xs9 =zccl -----END PGP SIGNATURE----- From BATV+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 13:23: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7JINAdj220419 for ; Wed, 19 Aug 2009 13:23:25 -0500 X-ASG-Debug-ID: 1250706238-21c301670000-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 207E214E4A69 for ; Wed, 19 Aug 2009 11:23:59 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id uRGE7fkixOSz1ElS for ; Wed, 19 Aug 2009 11:23:59 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MdpmD-0003RU-5K; Wed, 19 Aug 2009 18:20:49 +0000 Date: Wed, 19 Aug 2009 14:20:49 -0400 From: Christoph Hellwig To: Stuart Sheldon Cc: xfs@oss.sgi.com, support@actusa.net X-ASG-Orig-Subj: Re: Kernel crash with >2.6.28.10 + drbd + nfs + xfs + heartbeat Subject: Re: Kernel crash with >2.6.28.10 + drbd + nfs + xfs + heartbeat Message-ID: <20090819182049.GA10787@infradead.org> References: <4A8C37F3.90300@actusa.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A8C37F3.90300@actusa.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: 1250706239 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 Wed, Aug 19, 2009 at 10:35:47AM -0700, Stuart Sheldon wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Hi all, > > I've traced this down to what looks to be a XFS problem. When executing > a hb_standby the system crashes with the following error on the console: Known problem. Fixed in latest mainline, and http://bugzilla.kernel.org/show_bug.cgi?id=13375 has backports for 2.6.29 and 2.6.30. I will send them to 2.6.30-stable this week, but there is no 2.6.29-stable anymore. From stu@actusa.net Wed Aug 19 13:35: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.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7JIZ4qZ220728 for ; Wed, 19 Aug 2009 13:35:14 -0500 X-ASG-Debug-ID: 1250706948-3ed000790000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from internal.actusa.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 68B4B14E49B6 for ; Wed, 19 Aug 2009 11:35:48 -0700 (PDT) Received: from internal.actusa.net (internal.actusa.net [208.83.100.16]) by cuda.sgi.com with ESMTP id dxhUBJbkl7gjZwPk for ; Wed, 19 Aug 2009 11:35:48 -0700 (PDT) Received: from [208.83.99.30] (stu@linus.actusa.net [208.83.99.30]) (authenticated bits=0) by internal.actusa.net (8.14.3/8.14.3/Debian-5) with ESMTP id n7JIZa7S012919 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 19 Aug 2009 11:35:37 -0700 Message-ID: <4A8C45F8.4090409@actusa.net> Date: Wed, 19 Aug 2009 11:35:36 -0700 From: Stuart Sheldon User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com, support@actusa.net X-ASG-Orig-Subj: Re: Kernel crash with >2.6.28.10 + drbd + nfs + xfs + heartbeat Subject: Re: Kernel crash with >2.6.28.10 + drbd + nfs + xfs + heartbeat References: <4A8C37F3.90300@actusa.net> <20090819182049.GA10787@infradead.org> In-Reply-To: <20090819182049.GA10787@infradead.org> X-Enigmail-Version: 0.96.0 OpenPGP: id=C3252192; url=http://www.actusa.net/~stu/StuartSheldon.asc Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: clamav-milter 0.95.2 at internal X-Virus-Status: Clean X-Scanned-By: MIMEDefang 2.64 on 208.83.100.16 X-Barracuda-Connect: internal.actusa.net[208.83.100.16] X-Barracuda-Start-Time: 1250706949 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.6662 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Thanks! I've patched our tree and submitted the build job. Will report back with test results. Stu Christoph Hellwig wrote: > On Wed, Aug 19, 2009 at 10:35:47AM -0700, Stuart Sheldon wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA256 >> >> Hi all, >> >> I've traced this down to what looks to be a XFS problem. When executing >> a hb_standby the system crashes with the following error on the console: > > Known problem. Fixed in latest mainline, and > http://bugzilla.kernel.org/show_bug.cgi?id=13375 has backports for > 2.6.29 and 2.6.30. I will send them to 2.6.30-stable this week, but > there is no 2.6.29-stable anymore. > - -- And you run and you run to catch up with the sun, but its sinking And racing around to come up behind you again The sun is the same in the relative way, but youre older Shorter of breath and one day closer to death -- Pink Floyd - "Time Lyrics" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iQIcBAEBCAAGBQJKjEX0AAoJEFKVLITDJSGSXxgP/0qSGvIf/WHUm6txOYRo7lAH xALV13fpfIi4ymlOtRztAFcSk4U2ciY3jgewfCK6/41EHwaeWkt3lCDPP8lLdgsA PnZNBRPvR9vj5WxI7542VMuLgoBacCFo5xC6i8gE4ftCxmHLKH3GgLPTtzjjJ9AF QtR+Maj40R3zOPQRJ94xgeTS9ZAO0DNWxf/ozqQqPdFPitqO9MXfPQibwLmQhz+a n5fXgHV5pBymDnvY2YCBTTBX16dG8kvrnQrFuLVTmFRvco4A20V73sPnszMULQpn rUb5n5C1KZuXqFj+JOQB7bcMCvK6IQ4d6lQkSwie/jVsBMtNCTTxWd7Sl5KsbjJg ELG9M2aINkQG95s07F+Y0be40KKkrrr/5hp6Hb2i+zXTjjBIspy9GSZpTJVL557r jjDwoHPHvkAXasi2iC2Yqqn03vUQq/uzv7QoLf3mrdUNY3lLjiEEU1Cyt8CJO8Gx +t3OZIi7tQhy6QlgNuZGiX6CKW9HdpITBpv1JabOaqmlKHB6jQICJiYjGVOf0lkW NMIVzK6rm8TAAcvQhFsBN9wrdJebpuPfyRFij4z5GfMLppxq0GT+MWw84/UKbxrE NJHHkvrfDvLgWe4jx7gviJr/CNH3UT579Jjy024hUFBXBTUKSbjMoOt1+9W6njIu BzIBzS+Rt8Ujtg32qgjY =CePG -----END PGP SIGNATURE----- From BATV+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 13:44: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.6 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_34 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 n7JIiN3p221127 for ; Wed, 19 Aug 2009 13:44:39 -0500 X-ASG-Debug-ID: 1250707512-6abd03190000-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 0FAB33E26C8 for ; Wed, 19 Aug 2009 11:45:12 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id gncSq7KzkZFobAu2 for ; Wed, 19 Aug 2009 11:45:12 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mdq9n-0000Hr-Rc; Wed, 19 Aug 2009 18:45:11 +0000 Message-Id: <20090819184258.542698202@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Wed, 19 Aug 2009 14:42:58 -0400 From: Christoph Hellwig To: stable@kernel.org Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 0/4] 2.6.30-stable backport of the XFS+NFSD inode cache race fix Subject: [PATCH 0/4] 2.6.30-stable backport of the XFS+NFSD inode cache race fix 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: 1250707513 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 This is a backport of the fix for the XFS inode cache races lots of people have reported. The context for the two VFS patches changed quite a bit from 2.6.30 to 2.6.31-rc so I consider these backports. The backport has been tested by me with xfstest for XFS and extN, and by lots of users that have been waiting for the fix for their nfs servers still running 2.6.30. From BATV+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 13:44:49 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 n7JIiOUL221130 for ; Wed, 19 Aug 2009 13:44:39 -0500 X-ASG-Debug-ID: 1250707512-50e4003e0000-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 0E38E14E5923 for ; Wed, 19 Aug 2009 11:45:12 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 8NZS86NV3utwsZh0 for ; Wed, 19 Aug 2009 11:45:12 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mdq9o-0000IU-28; Wed, 19 Aug 2009 18:45:12 +0000 Message-Id: <20090819184511.968291288@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Wed, 19 Aug 2009 14:42:59 -0400 From: Christoph Hellwig To: stable@kernel.org Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 1/4] vfs: fix inode_init_always calling convention Subject: [PATCH 1/4] vfs: fix inode_init_always calling convention References: <20090819184258.542698202@bombadil.infradead.org> Content-Disposition: inline; filename=iget1 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: 1250707513 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 vfs: fix inode_init_always calling convention 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. backport of upstream commit 54e346215e4fe2ca8c94c54e546cc61902060510 Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Index: linux-2.6/fs/inode.c =================================================================== --- linux-2.6.orig/fs/inode.c 2009-08-15 22:27:03.922699982 -0300 +++ linux-2.6/fs/inode.c 2009-08-15 22:27:13.274661514 -0300 @@ -118,12 +118,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; @@ -150,7 +149,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)) @@ -189,16 +188,12 @@ struct inode *inode_init_always(struct s inode->i_private = NULL; inode->i_mapping = mapping; - 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); @@ -211,9 +206,18 @@ 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 NULL; + } + + 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-15 22:27:04.378664366 -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-15 22:27:13.274661514 -0300 @@ -63,6 +63,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); @@ -104,17 +108,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; @@ -166,7 +159,7 @@ xfs_iget_cache_hit( * errors cleanly, then tag it so it can be set up correctly * later. */ - if (!inode_init_always(mp->m_super, VFS_I(ip))) { + if (inode_init_always(mp->m_super, VFS_I(ip))) { error = ENOMEM; goto out_error; } Index: linux-2.6/include/linux/fs.h =================================================================== --- linux-2.6.orig/include/linux/fs.h 2009-08-15 22:27:04.486664052 -0300 +++ linux-2.6/include/linux/fs.h 2009-08-15 22:27:13.278697992 -0300 @@ -2135,7 +2135,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+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 13:44: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.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 n7JIiNZk221128 for ; Wed, 19 Aug 2009 13:44:38 -0500 X-ASG-Debug-ID: 1250707512-01d8038e0000-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 02F3514E5920 for ; Wed, 19 Aug 2009 11:45:12 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id xHBWoZ9kFiWrQxdX for ; Wed, 19 Aug 2009 11:45:12 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mdq9o-0000J0-7e; Wed, 19 Aug 2009 18:45:12 +0000 Message-Id: <20090819184512.134691786@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Wed, 19 Aug 2009 14:43:00 -0400 From: Christoph Hellwig To: stable@kernel.org Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 2/4] vfs: add __destroy_inode Subject: [PATCH 2/4] vfs: add __destroy_inode References: <20090819184258.542698202@bombadil.infradead.org> Content-Disposition: inline; filename=iget2 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: 1250707513 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. As XFS was the only reason destroy_inode was exported we shift the export to the new __destroy_inode. backport of upstream commit 2e00c97e2c1d2ffc9e26252ca26b237678b0b772 Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Index: linux-2.6/fs/inode.c =================================================================== --- linux-2.6.orig/fs/inode.c 2009-08-15 22:27:13.274661514 -0300 +++ linux-2.6/fs/inode.c 2009-08-15 22:28:08.261344721 -0300 @@ -220,18 +220,22 @@ 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); security_inode_free(inode); +} +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/include/linux/fs.h =================================================================== --- linux-2.6.orig/include/linux/fs.h 2009-08-15 22:27:13.278697992 -0300 +++ linux-2.6/include/linux/fs.h 2009-08-15 22:27:19.278690522 -0300 @@ -2162,6 +2162,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+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 13:44: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.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 n7JIiOTZ221129 for ; Wed, 19 Aug 2009 13:44:39 -0500 X-ASG-Debug-ID: 1250707512-3a2401280000-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 1D7E614E5925; Wed, 19 Aug 2009 11:45:13 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id oDA5hWYm18WEyhqZ; Wed, 19 Aug 2009 11:45:13 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mdq9o-0000KP-Hz; Wed, 19 Aug 2009 18:45:12 +0000 Message-Id: <20090819184512.452411477@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Wed, 19 Aug 2009 14:43:02 -0400 From: Christoph Hellwig To: stable@kernel.org Cc: xfs@oss.sgi.com, Felix Blyakher X-ASG-Orig-Subj: [PATCH 4/4] xfs: fix spin_is_locked assert on uni-processor builds Subject: [PATCH 4/4] xfs: fix spin_is_locked assert on uni-processor builds References: <20090819184258.542698202@bombadil.infradead.org> Content-Disposition: inline; filename=fix-spin_is_locked-assert 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: 1250707513 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 xfs: fix spin_is_locked assert on uni-processor builds Without SMP or preemption spin_is_locked always returns false, so we can't do an assert with it. Instead use assert_spin_locked, which does the right thing on all builds. upstream commit a8914f3a6d72c97328597a556a99daaf5cc288ae Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reported-by: Johannes Engel Tested-by: Johannes Engel Signed-off-by: Felix Blyakher diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 3750f04..9dbdff3 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -3180,7 +3180,7 @@ try_again: STATIC void xlog_state_want_sync(xlog_t *log, xlog_in_core_t *iclog) { - ASSERT(spin_is_locked(&log->l_icloglock)); + assert_spin_locked(&log->l_icloglock); if (iclog->ic_state == XLOG_STATE_ACTIVE) { xlog_state_switch_iclogs(log, iclog, 0); From BATV+971bde4bf8fabbfc6cdb+2187+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 13:44: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.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 n7JIiO87221131 for ; Wed, 19 Aug 2009 13:44:39 -0500 X-ASG-Debug-ID: 1250707512-334801850000-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 1659514E5924 for ; Wed, 19 Aug 2009 11:45:12 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 5nX5vgZaJBTWbnOe for ; Wed, 19 Aug 2009 11:45:12 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mdq9o-0000JV-Cn; Wed, 19 Aug 2009 18:45:12 +0000 Message-Id: <20090819184512.292693252@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Wed, 19 Aug 2009 14:43:01 -0400 From: Christoph Hellwig To: stable@kernel.org Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 3/4] xfs: fix freeing of inodes not yet added to the inode cache Subject: [PATCH 3/4] xfs: fix freeing of inodes not yet added to the inode cache References: <20090819184258.542698202@bombadil.infradead.org> Content-Disposition: inline; filename=iget3 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: 1250707513 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 freeing an inode that lost race getting added to the inode cache 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. upstream commit b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7 Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reported-by: Alex Samad Reported-by: Andrew Randrianasulu Reported-by: Stephane Reported-by: Tommy Reported-by: Miah Gregory Reported-by: Gabriel Barazer Reported-by: Leandro Lucarella Reported-by: Daniel Burr Reported-by: Nickolay Reported-by: Michael Guntsche Reported-by: Dan Carley Reported-by: Michael Ole Olsen Reported-by: Michael Weissenbacher Reported-by: Martin Spott Reported-by: Christian Kujau Tested-by: Michael Guntsche Tested-by: Dan Carley Tested-by: Christian Kujau Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-15 22:27:13.274661514 -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-15 22:29:15.763191002 -0300 @@ -115,6 +115,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 */ @@ -291,7 +356,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; } @@ -499,62 +565,7 @@ xfs_ireclaim( XFS_QM_DQDETACH(ip->i_mount, ip); xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_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-15 22:27:04.386665034 -0300 +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-15 22:29:15.763191002 -0300 @@ -309,23 +309,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) -{ - make_bad_inode(VFS_I(ip)); - return destroy_inode(VFS_I(ip)); -} - -/* * i_flags helper functions */ static inline void From mingo@elte.hu Wed Aug 19 15:42:56 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 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 n7JKgV3J225927 for ; Wed, 19 Aug 2009 15:42:46 -0500 X-ASG-Debug-ID: 1250714570-060a00a80000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx3.mail.elte.hu (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C38013E2E96 for ; Wed, 19 Aug 2009 13:42:51 -0700 (PDT) Received: from mx3.mail.elte.hu (mx3.mail.elte.hu [157.181.1.138]) by cuda.sgi.com with ESMTP id tI2cFXg88HWfwX8I for ; Wed, 19 Aug 2009 13:42:51 -0700 (PDT) Received: from elvis.elte.hu ([157.181.1.14]) by mx3.mail.elte.hu with esmtp (Exim) id 1MdrwH-0001ER-Io from ; Wed, 19 Aug 2009 22:39:27 +0200 Received: by elvis.elte.hu (Postfix, from userid 1004) id DF0133E22D6; Wed, 19 Aug 2009 22:39:12 +0200 (CEST) Date: Wed, 19 Aug 2009 22:39:16 +0200 From: Ingo Molnar To: Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, liml@rtr.ca, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support Message-ID: <20090819203916.GA25296@elte.hu> References: <20090816004705.GA7347@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090816004705.GA7347@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) Received-SPF: neutral (mx3: 157.181.1.14 is neither permitted nor denied by domain of elte.hu) client-ip=157.181.1.14; envelope-from=mingo@elte.hu; helo=elvis.elte.hu; X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.2.5 -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] X-Barracuda-Connect: mx3.mail.elte.hu[157.181.1.138] X-Barracuda-Start-Time: 1250714596 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.6670 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 * Christoph Hellwig wrote: > Given that everyone is so big in the discard discussion > I'd like to present what I had started to prepare for > XFS. I didn't plan to send it out until I get my hands > onto a TRIM capable device (or at least get time to add > support to qemu), and so far it's only been tested in > dry-run mode. > > The basic idea is to add an ioctl which walks the free > space btrees in each allocation group and simply > discard everythin that is free. [...] A general interface design question: you added a new ioctl XFS_IOC_TRIM case. It's a sub-case of an ugly-looking demultiplexing xfs_file_ioctl(). What is your threshold for turning something into a syscall? When are ioctls acceptable in your opinion? I'm asking this because we are facing a similar problem with perfcounters: we need to extend the ioctl functionality there but introducing a new syscall looks wasteful. So i'm torn about the 'syscall versus ioctl' issue, i'd like to avoid making interface design mistakes and i'd like to solicit some opinions about this. I've attached the perfcounters ioctl patch below. Thanks, Ingo ----- Forwarded message from Peter Zijlstra ----- Date: Wed, 19 Aug 2009 11:18:27 +0200 From: Peter Zijlstra To: Ingo Molnar , Paul Mackerras Subject: [PATCH 4/4][RFC] perf_counter: Allow sharing of output channels Cc: Arnaldo Carvalho de Melo , Frederic Weisbecker , Mike Galbraith , linux-kernel@vger.kernel.org, stephane eranian , Peter Zijlstra Provide the ability to configure a counter to send its output to another (already existing) counter's output stream. [ compile tested only ] Signed-off-by: Peter Zijlstra Cc: stephane eranian --- include/linux/perf_counter.h | 5 ++ kernel/perf_counter.c | 83 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 85 insertions(+), 3 deletions(-) Index: linux-2.6/include/linux/perf_counter.h =================================================================== --- linux-2.6.orig/include/linux/perf_counter.h +++ linux-2.6/include/linux/perf_counter.h @@ -216,6 +216,7 @@ struct perf_counter_attr { #define PERF_COUNTER_IOC_REFRESH _IO ('$', 2) #define PERF_COUNTER_IOC_RESET _IO ('$', 3) #define PERF_COUNTER_IOC_PERIOD _IOW('$', 4, u64) +#define PERF_COUNTER_IOC_SET_OUTPUT _IO ('$', 5) enum perf_counter_ioc_flags { PERF_IOC_FLAG_GROUP = 1U << 0, @@ -415,6 +416,9 @@ enum perf_callchain_context { PERF_CONTEXT_MAX = (__u64)-4095, }; +#define PERF_FLAG_FD_NO_GROUP (1U << 0) +#define PERF_FLAG_FD_OUTPUT (1U << 1) + #ifdef __KERNEL__ /* * Kernel-internal data types and definitions: @@ -536,6 +540,7 @@ struct perf_counter { struct list_head sibling_list; int nr_siblings; struct perf_counter *group_leader; + struct perf_counter *output; const struct pmu *pmu; enum perf_counter_active_state state; Index: linux-2.6/kernel/perf_counter.c =================================================================== --- linux-2.6.orig/kernel/perf_counter.c +++ linux-2.6/kernel/perf_counter.c @@ -1686,6 +1686,11 @@ static void free_counter(struct perf_cou atomic_dec(&nr_task_counters); } + if (counter->output) { + fput(counter->output->filp); + counter->output = NULL; + } + if (counter->destroy) counter->destroy(counter); @@ -1971,6 +1976,8 @@ unlock: return ret; } +int perf_counter_set_output(struct perf_counter *counter, int output_fd); + static long perf_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { struct perf_counter *counter = file->private_data; @@ -1994,6 +2001,9 @@ static long perf_ioctl(struct file *file case PERF_COUNTER_IOC_PERIOD: return perf_counter_period(counter, (u64 __user *)arg); + case PERF_COUNTER_IOC_SET_OUTPUT: + return perf_counter_set_output(counter, arg); + default: return -ENOTTY; } @@ -2264,6 +2274,11 @@ static int perf_mmap(struct file *file, WARN_ON_ONCE(counter->ctx->parent_ctx); mutex_lock(&counter->mmap_mutex); + if (counter->output) { + ret = -EINVAL; + goto unlock; + } + if (atomic_inc_not_zero(&counter->mmap_count)) { if (nr_pages != counter->data->nr_pages) ret = -EINVAL; @@ -2649,6 +2664,7 @@ static int perf_output_begin(struct perf struct perf_counter *counter, unsigned int size, int nmi, int sample) { + struct perf_counter *output_counter; struct perf_mmap_data *data; unsigned int offset, head; int have_lost; @@ -2658,13 +2674,17 @@ static int perf_output_begin(struct perf u64 lost; } lost_event; + rcu_read_lock(); /* * For inherited counters we send all the output towards the parent. */ if (counter->parent) counter = counter->parent; - rcu_read_lock(); + output_counter = rcu_dereference(counter->output); + if (output_counter) + counter = output_counter; + data = rcu_dereference(counter->data); if (!data) goto out; @@ -4214,6 +4234,57 @@ err_size: goto out; } +int perf_counter_set_output(struct perf_counter *counter, int output_fd) +{ + struct perf_counter *output_counter = NULL; + struct file *output_file = NULL; + struct perf_counter *old_output; + int fput_needed = 0; + int ret = -EINVAL; + + if (!output_fd) + goto set; + + output_file = fget_light(output_fd, &fput_needed); + if (!output_file) + return -EBADF; + + if (output_file->f_op != &perf_fops) + goto out; + + output_counter = output_file->private_data; + + /* Don't chain output fds */ + if (output_counter->output) + goto out; + + /* Don't set an output fd when we already have an output channel */ + if (counter->data) + goto out; + + atomic_long_inc(&output_file->f_count); + +set: + mutex_lock(&counter->mmap_mutex); + old_output = counter->output; + rcu_assign_pointer(counter->output, output_counter); + mutex_unlock(&counter->mmap_mutex); + + if (old_output) { + /* + * we need to make sure no existing perf_output_*() + * is still referencing this counter. + */ + synchronize_rcu(); + fput(old_output->filp); + } + + ret = 0; +out: + fput_light(output_file, fput_needed); + return ret; +} + /** * sys_perf_counter_open - open a performance counter, associate it to a task/cpu * @@ -4236,7 +4307,7 @@ SYSCALL_DEFINE5(perf_counter_open, int ret; /* for future expandability... */ - if (flags) + if (flags & ~(PERF_FLAG_FD_NO_GROUP | PERF_FLAG_FD_OUTPUT)) return -EINVAL; ret = perf_copy_attr(attr_uptr, &attr); @@ -4264,7 +4335,7 @@ SYSCALL_DEFINE5(perf_counter_open, * Look up the group leader (we will attach this counter to it): */ group_leader = NULL; - if (group_fd != -1) { + if (group_fd != -1 && !(flags & PERF_FLAG_FD_NO_GROUP)) { ret = -EINVAL; group_file = fget_light(group_fd, &fput_needed); if (!group_file) @@ -4306,6 +4377,12 @@ SYSCALL_DEFINE5(perf_counter_open, if (!counter_file) goto err_free_put_context; + if (flags & PERF_FLAG_FD_OUTPUT) { + ret = perf_counter_set_output(counter, group_fd); + if (ret) + goto err_free_put_context; + } + counter->filp = counter_file; WARN_ON_ONCE(ctx->parent_ctx); mutex_lock(&ctx->mutex); -- ----- End forwarded message ----- From BATV+50a90d5746046e324d92+2188+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 19 20:05:59 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 n7K15YnJ240358 for ; Wed, 19 Aug 2009 20:05:49 -0500 X-ASG-Debug-ID: 1250730362-18e0037a0000-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 589693E3719 for ; Wed, 19 Aug 2009 18:06:02 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id BecG0CQ3XQ04wBpG for ; Wed, 19 Aug 2009 18:06:02 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mdw6C-0007fy-Gu; Thu, 20 Aug 2009 01:05:52 +0000 Date: Wed, 19 Aug 2009 21:05:52 -0400 From: Christoph Hellwig To: Ingo Molnar Cc: Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, liml@rtr.ca, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support Message-ID: <20090820010552.GA22107@infradead.org> References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090819203916.GA25296@elte.hu> 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: 1250730383 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 Wed, Aug 19, 2009 at 10:39:16PM +0200, Ingo Molnar wrote: > A general interface design question: you added a new > ioctl XFS_IOC_TRIM case. It's a sub-case of an > ugly-looking demultiplexing xfs_file_ioctl(). ioctl is per defintion a multiplexer. > What is your threshold for turning something into a > syscall? When are ioctls acceptable in your opinion? > > I'm asking this because we are facing a similar problem > with perfcounters: we need to extend the ioctl > functionality there but introducing a new syscall looks > wasteful. > > So i'm torn about the 'syscall versus ioctl' issue, i'd > like to avoid making interface design mistakes and i'd > like to solicit some opinions about this. I've attached > the perfcounters ioctl patch below. Only add a syscall if it has _one_ clear defined purpose, which has kernel-wide meaning. Do not add an syscall that is just another multiplexer without structure. Most likely it will just be even worse than sys_ioctl. Also really don't bother adding a system call that is specific to one singler driver or filesystem. Besides horrible logistics - you'd need some always built-in stub calling out to the possibly modular drivers/filesystem - it also simply doesn't make any semantical sense. I can't say I like the ioctl use in perfcounters much, but adding a special syscalls instead would be even more horrible. As for the trim support this really just was an RFC to start bringing some code into play instead of the endless masturbation about hat code that doesn't exist happens on hardware most people don't have. The interface will most ceetainly change and I hope we will have a common interface for all filesystems (or at least those that care). From jamie@shareable.org Wed Aug 19 20:10: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.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 n7K19fGp240551 for ; Wed, 19 Aug 2009 20:09:51 -0500 X-ASG-Debug-ID: 1250730628-3c08001c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail2.shareable.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6AB6114EDF93 for ; Wed, 19 Aug 2009 18:10:28 -0700 (PDT) Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by cuda.sgi.com with ESMTP id uCUPQHlAFnV179WR for ; Wed, 19 Aug 2009 18:10:28 -0700 (PDT) Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from ) id 1MdwAG-0003mB-U7; Thu, 20 Aug 2009 02:10:04 +0100 Date: Thu, 20 Aug 2009 02:10:04 +0100 From: Jamie Lokier To: Christoph Hellwig Cc: Ingo Molnar , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, liml@rtr.ca, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support Message-ID: <20090820011004.GC14005@shareable.org> References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <20090820010552.GA22107@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090820010552.GA22107@infradead.org> User-Agent: Mutt/1.5.13 (2006-08-11) X-Barracuda-Connect: mail2.shareable.org[80.68.89.115] X-Barracuda-Start-Time: 1250730630 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.6681 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 Christoph Hellwig wrote: > > So i'm torn about the 'syscall versus ioctl' issue, i'd > > like to avoid making interface design mistakes and i'd > > like to solicit some opinions about this. I've attached > > the perfcounters ioctl patch below. > > Only add a syscall if it has _one_ clear defined purpose, > which has kernel-wide meaning. One clear defined purpose which comes to mind is a "trim" or "punch" system call, for making holes in files as well as trimming block devices. Several other OSes have that capability on files. I don't remember - does TRIM guarantee the blocks read zeros afterwards? It would be tidy if it does, as it could have the same meaning with files. -- Jamie From liml@rtr.ca Wed Aug 19 20:38: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.8 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 n7K1blBA241910 for ; Wed, 19 Aug 2009 20:37:57 -0500 X-ASG-Debug-ID: 1250732308-68ca00b70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8DBC53E373D for ; Wed, 19 Aug 2009 18:38:29 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id sW9IPvGfQM11BXCP for ; Wed, 19 Aug 2009 18:38:29 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id 98A08B802F2; Wed, 19 Aug 2009 21:38:27 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 38F5CB802F0; Wed, 19 Aug 2009 21:38:27 -0400 (EDT) Message-ID: <4A8CA913.7020902@rtr.ca> Date: Wed, 19 Aug 2009 21:38:27 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Jamie Lokier Cc: Christoph Hellwig , Ingo Molnar , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <20090820010552.GA22107@infradead.org> <20090820011004.GC14005@shareable.org> In-Reply-To: <20090820011004.GC14005@shareable.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250732313 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.6683 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 Jamie Lokier wrote: .. > I don't remember - does TRIM guarantee the blocks read zeros afterwards? .. No, it doesn't. A drive can optionally support "deterministic TRIM", whereby it will return consistent data for any given trimmed sector afterwards, but that doesn't mean zeros. -ml From dgilbert@interlog.com Wed Aug 19 20:38: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.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 n7K1bijv241908 for ; Wed, 19 Aug 2009 20:37:55 -0500 X-ASG-Debug-ID: 1250732306-57ab018d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from elrond.infotech.no (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 819293E3731 for ; Wed, 19 Aug 2009 18:38:26 -0700 (PDT) Received: from elrond.infotech.no (smtp.infotech.no [82.134.31.41]) by cuda.sgi.com with ESMTP id IfrzbeMjRHB20D4x for ; Wed, 19 Aug 2009 18:38:26 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by elrond.infotech.no (Postfix) with ESMTP id ED1F6305B7; Thu, 20 Aug 2009 03:38:24 +0200 (CEST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: by amavisd-new-2.6.2 (20081215) (Debian) at infotech.no Received: from elrond.infotech.no ([127.0.0.1]) by localhost (elrond.infotech.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R1HNtKjDyq22; Thu, 20 Aug 2009 03:38:24 +0200 (CEST) Received: from [10.7.0.10] (unknown [10.7.0.10]) by elrond.infotech.no (Postfix) with ESMTPA id 496C3301ED; Thu, 20 Aug 2009 03:38:22 +0200 (CEST) Message-ID: <4A8CA90D.6040001@interlog.com> Date: Wed, 19 Aug 2009 21:38:21 -0400 From: Douglas Gilbert Reply-To: dgilbert@interlog.com User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Jamie Lokier CC: Christoph Hellwig , Ingo Molnar , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, liml@rtr.ca, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <20090820010552.GA22107@infradead.org> <20090820011004.GC14005@shareable.org> In-Reply-To: <20090820011004.GC14005@shareable.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: smtp.infotech.no[82.134.31.41] X-Barracuda-Start-Time: 1250732310 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.6683 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 COMMA_SUBJECT Subject is like 'Re: FDSDS, this is a subject' X-Virus-Status: Clean Jamie Lokier wrote: > Christoph Hellwig wrote: >>> So i'm torn about the 'syscall versus ioctl' issue, i'd >>> like to avoid making interface design mistakes and i'd >>> like to solicit some opinions about this. I've attached >>> the perfcounters ioctl patch below. >> Only add a syscall if it has _one_ clear defined purpose, >> which has kernel-wide meaning. > > One clear defined purpose which comes to mind is a "trim" or "punch" > system call, for making holes in files as well as trimming block > devices. Several other OSes have that capability on files. > > I don't remember - does TRIM guarantee the blocks read zeros afterwards? > > It would be tidy if it does, as it could have the same meaning with files. Both ATA and SCSI leave it up to the device to decide whether reads after a trim on a logical block are determinate (i.e. zeroes are returned) or indeterminate. In the case of ATA the IDENTIFY DEVICE data word 69 bit 14 gives the indication. In the case of SCSI the READ CAPACITY(16) command response TPRZ bit gives the indication. In both case a value of one indicates determinate. Doug Gilbert From liml@rtr.ca Wed Aug 19 20:39:42 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7K1dMqj241989 for ; Wed, 19 Aug 2009 20:39:32 -0500 X-ASG-Debug-ID: 1250732404-6df600810000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 293A53E3FA9 for ; Wed, 19 Aug 2009 18:40:04 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id Eq7wvFJ4TDYjzqzg for ; Wed, 19 Aug 2009 18:40:04 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id 4DAA0B802F5; Wed, 19 Aug 2009 21:39:34 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 01A4EB802F1; Wed, 19 Aug 2009 21:39:34 -0400 (EDT) Message-ID: <4A8CA956.2060406@rtr.ca> Date: Wed, 19 Aug 2009 21:39:34 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Ingo Molnar Cc: Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> In-Reply-To: <20090819203916.GA25296@elte.hu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250732408 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.6683 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 [resending, after fixing the Cc: list; somebody trimmed it earlier] Jamie Lokier wrote: .. > I don't remember - does TRIM guarantee the blocks read zeros afterwards? .. No, it doesn't. A drive can optionally support "deterministic TRIM", whereby it will return consistent data for any given trimmed sector afterwards, but that doesn't mean zeros. -ml From SEMA-CR-1-6HUTVC@ptcmarketing.com Thu Aug 20 03:04:59 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: **** X-Spam-Status: No, score=4.4 required=5.0 tests=AWL,BAYES_50,HTML_MESSAGE, MIME_8BIT_HEADER,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 n7K84WRb041841 for ; Thu, 20 Aug 2009 03:04:48 -0500 X-ASG-Debug-ID: 1250755491-0e3702980000-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 8E10514F2042 for ; Thu, 20 Aug 2009 01:04:51 -0700 (PDT) Received: from relay2.ptc.com (relay2.ptc.com [12.11.148.122]) by cuda.sgi.com with ESMTP id cHBQGSJhZUC89Ud3 for ; Thu, 20 Aug 2009 01:04:51 -0700 (PDT) X-IronPort-AV: E=Sophos;i="4.43,413,1246852800"; d="scan'208,217";a="311089978" Received: from hqcrmprdint18.ptcnet.ptc.com ([132.253.201.206]) by crmmaxx.ptc.com with ESMTP; 20 Aug 2009 03:57:31 -0400 Date: Thu, 20 Aug 2009 03:55:46 -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: View Mechanica Simulation & Analysis Demo =?utf-8?q?=E2=80=93?= Increase Innovation Subject: View Mechanica Simulation & Analysis Demo =?utf-8?q?=E2=80=93?= Increase Innovation Sender: "PTC Info" Message-ID: Content-Type: multipart/alternative; boundary=BF_1250754339152_1807659388 X-Barracuda-Connect: relay2.ptc.com[12.11.148.122] X-Barracuda-Start-Time: 1250755517 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=HTML_MESSAGE, MIME_QP_LONG_LINE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6709 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 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 --BF_1250754339152_1807659388 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: Quoted-Printable Attention Pro/ENGINEER Users =E2=80=93 View the Mechanica Simulation & Analy= sis Demonstration (http://www.ptc.com/read?&u=3D= 1-5LWLN-2077= &c=3D= 1-4EJO7W= &o=3D= 1-6AAXHE= &w=3D= 2354034= &t=3Dhttp%3A%2F%2Fwww.ptc.com%2Fgo%2Fanalysisdemo) See how Simulation Extension Pro/ENGINEER Mechanica increases innovation and= decreases development costs with productive modeling, simulation, analysis = and optimization. This demonstration takes you through several scenarios of structural modelin= g, simulation and analysis problems and demonstrates how productive modeling= , simulation, analysis and optimization can be with Pro/ENGINEER and its Sim= ulation Extension Pro/ENGINEER Mechanica. Benefits of Pro/ENGINEER Mechanica: - Conduct standard analysis types, including linear static, modal, bucklin= g, contact and steady state thermal - Obtain real-world performance data by directly applying conditions to de= sign geometry without requiring data translation - Fast, automatic solution convergence, mapped precisely to underlying CAD= geometry; 3rd party solver output - Increase innovation by simultaneously designing and simulating results o= f design variations - Decreases development costs through reduction or even elimination of phy= sical prototyping and productive, engineering-friendly user interface To view the Mechanica Simulation & Analysis Demonstration go to: http://www.ptc.com/read?&u=3D= 1-5LWLN-2077= &c=3D= 1-4EJO7W= &o=3D= 1-6AAXHE= &w=3D= 2354034= &t=3Dhttp%3A%2F%2Fwww.ptc.com%2Fgo%2Fanalysisdemo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D contact PTC http://www.ptc.com/company/contacts/index.htm privacy policy http://www.ptc.com/company/policies/index.htm change email preferences http://www.ptc.com/appserver/mkt/mail/preferences.jsp?&offd=3D= 1-6AAXHE= &campd=3D= 1-4EJO7W= &conud=3D= 1-5LWLN-2077= &mailkey=3D= 2354034= &email=3D= xfs@oss.sgi.com= edit profile http://www.ptc.com/read?&w=3D= 2354034= &t=3D/common/account/index.htm ----------------------------------------------------------------------------= --- If you wish to unsubscribe from all PTC Emails, please send a blank email to= from = xfs@oss.sgi.com= . is not a monitored mailbox. PTC, 140 Kendrick Street, Needham, MA 02494 USA --BF_1250754339152_1807659388 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: Quoted-Printable Email 1 IC FY09 SMB DR ProE Module Mechanica NA Q409
3D"PTC.com"

Attention Pro= /ENGINEER Users – View the Mechanica Simulation & Analysis Demonst= ration=20

See how Simulation Extension Pro/ENGINEER Mechanica increases inn= ovation and decreases development costs with productive modeling, simulation= , analysis and optimization.

This demonstration takes you through several scenarios of structural mode= ling, simulation and analysis problems and demonstrates how productive model= ing, simulation, analysis and optimization can be with Pro/ENGINEER and its = Simulation Extension Pro/ENGINEER Mechanica.

Benefits of Pro/ENGINEER Mechanica:

  • Conduct standard analysis types, including linear static, modal, bucklin= g, contact and steady state thermal

  • Obtain real-world performance data by directly applying conditions to de= sign geometry without requiring data translation

  • Fast, automatic solution convergence, mapped precisely to underlying CAD= geometry; 3rd party solver output

  • Increase innovation by simultaneously designing and simulating results o= f design variations

  • Decreases development costs through reduction or even elimination of phy= sical prototyping and productive, engineering-friendly user interface

To view the Mechanica Simulation & Analysis Demonstration go = to: www.ptc.com/g= o/analysisdemo

3D""
contact PTC | privacy policy | edit profile
If you wish to unsubscribe from all PTC Emails, please send a blank ema= il to unsubscribe@ptc.com from = xfs@oss.sgi.com= . unsubscribe@ptc.com is not a mo= nitored mailbox.
PTC, 140 Kendrick Street, Needham, MA 02494 USA
--BF_1250754339152_1807659388-- From jack@suse.cz Thu Aug 20 07:15:14 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 n7KCErW6091054 for ; Thu, 20 Aug 2009 07:15:04 -0500 X-ASG-Debug-ID: 1250770535-15a100030000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 62C901D5D959 for ; Thu, 20 Aug 2009 05:15:36 -0700 (PDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id MdwXWXYFNNEmAWBf for ; Thu, 20 Aug 2009 05:15:36 -0700 (PDT) Received: from relay2.suse.de (mail2.suse.de [195.135.221.8]) by mx2.suse.de (Postfix) with ESMTP id 18B2486445; Thu, 20 Aug 2009 14:15:31 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id 33CA62297EC; Thu, 20 Aug 2009 14:15:31 +0200 (CEST) Date: Thu, 20 Aug 2009 14:15:31 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , LKML , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090820121531.GC16486@duck.novell.com> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> <20090819162638.GE6150@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090819162638.GE6150@infradead.org> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1250770542 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.6725 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 Wed 19-08-09 12:26:38, Christoph Hellwig wrote: > Looks good to me. Eventually we should use those SYNC_ flags also all > through the fsync codepath, but I'll see if I can incorporate that in my > planned fsync rewrite. Yes, I thought I'll leave that for later. BTW it should be fairly easy to teach generic_sync_file() to do fdatawait() before calling ->fsync() if the filesystem sets some flag in inode->i_mapping (or somewhere else) as is needed for XFS, btrfs, etc. Honza -- Jan Kara SUSE Labs, CR From jack@suse.cz Thu Aug 20 07:22: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.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 n7KCMH5w091455 for ; Thu, 20 Aug 2009 07:22:27 -0500 X-ASG-Debug-ID: 1250770964-4748017c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id DC5AC3E54D1 for ; Thu, 20 Aug 2009 05:22:44 -0700 (PDT) Received: from mx1.suse.de (cantor.suse.de [195.135.220.2]) by cuda.sgi.com with ESMTP id 0DQMYa3vXAfdRSKG for ; Thu, 20 Aug 2009 05:22:44 -0700 (PDT) X-ASG-Whitelist: Barracuda Reputation Received: from relay2.suse.de (relay-ext.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 1CE57457F0; Thu, 20 Aug 2009 14:22:44 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id 9DE442297EC; Thu, 20 Aug 2009 14:22:43 +0200 (CEST) Date: Thu, 20 Aug 2009 14:22:43 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , LKML , Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 14/17] xfs: Use new syncing helper Subject: Re: [PATCH 14/17] xfs: Use new syncing helper Message-ID: <20090820122243.GD16486@duck.novell.com> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-15-git-send-email-jack@suse.cz> <20090819163315.GA19969@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090819163315.GA19969@infradead.org> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: cantor.suse.de[195.135.220.2] X-Barracuda-Start-Time: 1250770986 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 Wed 19-08-09 12:33:15, Christoph Hellwig wrote: > On Wed, Aug 19, 2009 at 06:04:41PM +0200, Jan Kara wrote: > > diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c > > index 7078974..aeb5a39 100644 > > --- a/fs/xfs/linux-2.6/xfs_lrw.c > > +++ b/fs/xfs/linux-2.6/xfs_lrw.c > > @@ -817,7 +817,7 @@ write_retry: > > xfs_iunlock(xip, iolock); > > if (need_i_mutex) > > mutex_unlock(&inode->i_mutex); > > - error2 = sync_page_range(inode, mapping, pos, ret); > > + error2 = generic_write_sync(file, pos, ret); > > I don't think this is very optimal for XFS. This first starts an > asynchronous writeout of the range in generic_write_sync, > then calls into ->fsync which waits for all I/O on the file to finish, > then forces the log inside xfs_fsync, then waits for the range again in > generic_write_sync, and after this code calls into > xfs_write_sync_logforce which forces to log _again_. > > We should be fine just doing your new filemap_fdatawrite_range helper > here and let xfs_write_sync_logforce do the work. Long term we should > just get rid of this stupid submit writes before syncing the iode, then > wait crap which is a pain for all modern filesystems. OK, I'll happily change this. I was just doing the straightforward conversion and sync_page_range() essentially did what generic_write_sync() does since it called fdatawrite(), write_inode_now(inode, 1) (here XFS was forced to wait for pages and force the log), fdatawait(). Honza -- Jan Kara SUSE Labs, CR From chiparus@gmail.com Thu Aug 20 07:25: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=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 n7KCOeC8091583 for ; Thu, 20 Aug 2009 07:24:50 -0500 X-ASG-Debug-ID: 1250771101-71f201de0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-ew0-f223.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A8AC31B76574 for ; Thu, 20 Aug 2009 05:25:01 -0700 (PDT) Received: from mail-ew0-f223.google.com (mail-ew0-f223.google.com [209.85.219.223]) by cuda.sgi.com with ESMTP id clyWDf5ixaav5rOv for ; Thu, 20 Aug 2009 05:25:01 -0700 (PDT) Received: by ewy23 with SMTP id 23so5377806ewy.8 for ; Thu, 20 Aug 2009 05:24:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=rwkgNlkHv/w9Mz1nc7gdWGmEvfCXtZrjJ1gY7FZOYTw=; b=hjpbwA9KP9PWbS8jL955O50IxwtF+3SQAC/K6/vb4h0zBfcgOYkB0lhBnhxcdF9s9B sGi+StmrXDoHQqIZ7c16fuZNBwL1deL15KuepkFfXmV9fXn8C5izv6qiZFywycp+HKm+ /SMqFcYi7ijc08GRX2bkZkZqEGLkEHatAVTso= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=BVnZvGtAsl/DThZfsfhrAwizCmFQONfgatt8B4NrabHQUQvNUXt7EDPAx7Fc/bxA4A MuWTL9Rr8sCMR2BloSlFPEmGCDobXNBQgRDIHDLQ3bk8SEw/Kv5mw2IVd5fm4QNRaXSI WIrC0yu6G9h2lK6SjsXeu3hL2TsbdoNCtk1Tw= MIME-Version: 1.0 Sender: chiparus@gmail.com Received: by 10.216.49.209 with SMTP id x59mr1831207web.195.1250771099469; Thu, 20 Aug 2009 05:24:59 -0700 (PDT) In-Reply-To: <20090817211437.GA5929@infradead.org> References: <4A408316.2070903@news-service.com> <1587994907.388291245745033392.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <20090623171305.GB23971@infradead.org> <4A4A7205.6010101@news-service.com> <20090701124441.GA12844@infradead.org> <4A4CEEF2.7040101@news-service.com> <20090721141225.GA24330@infradead.org> <89c4f90c0907220155u5d9331dj3cbe53efcf6b51f2@mail.gmail.com> <20090817211437.GA5929@infradead.org> Date: Thu, 20 Aug 2009 14:24:59 +0200 X-Google-Sender-Auth: fe289fd398769a4d Message-ID: <89c4f90c0908200524m2dc7df3dk27de7337bd2ae4a@mail.gmail.com> X-ASG-Orig-Subj: Re: 2.6.30 panic - xfs_fs_destroy_inode Subject: Re: 2.6.30 panic - xfs_fs_destroy_inode From: Tommy van Leeuwen To: Christoph Hellwig Cc: Patrick Schreurs , linux-xfs@oss.sgi.com, Lachlan McIlroy , Eric Sandeen Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-ew0-f223.google.com[209.85.219.223] X-Barracuda-Start-Time: 1250771126 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.6727 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, Aug 17, 2009 at 11:14 PM, Christoph Hellwig wrot= e: > On Wed, Jul 22, 2009 at 10:55:54AM +0200, Tommy van Leeuwen wrote: >> Unfortunately we still get errors, with this patch on top of the >> previous one: The difference is that is now crashes within an hour >> instead of once a week, so that might be good for troubleshooting. > > Hi Tommy and sorry for dropping the ball on this, I didn't remember this > mail anymore until I look for more reporters of the inode related > problems. Hi Chris, no problem. We're always busy ourself too. We will check out the new fixes but we need some time to deploy them. We will take the extra debug info with it just in case. We'll report back when we have some news. Cheers, Tommy > > Current mainline (Linus' git as of today) has a lot of the fixes in this > area, any chance I could trick you into trying it? =A0Maybe including the > debug patch below which adds a printk to that one culprit that I thing > might remain: > > Also if it still happens any chance you could send output of the dmesg > command instead of the syslog files? =A0For some reason syslogd usually > eats up some bits of kernel oops message.. > > > Index: linux-2.6/fs/xfs/xfs_iget.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- linux-2.6.orig/fs/xfs/xfs_iget.c =A0 =A02009-08-17 18:08:39.563217129= -0300 > +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-17 18:09:12.999316531 -0300 > @@ -242,6 +242,8 @@ xfs_iget_cache_hit( > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0error =3D -inode_init_always(mp->m_super, = inode); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (error) { > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 printk("XFS: inode_init_alw= ays failed to re-initialize inode\n"); > + > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0/* > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 * Re-initializing the ino= de failed, and we are in deep > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 * trouble. =A0Try to re-a= dd it to the reclaim list. > From jack@suse.cz Thu Aug 20 08:31: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.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_33 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 n7KDUmOV094773 for ; Thu, 20 Aug 2009 08:30:58 -0500 X-ASG-Debug-ID: 1250775097-474703bc0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1B0F93E5803 for ; Thu, 20 Aug 2009 06:31:37 -0700 (PDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 0VwYHyFC0HsKNZOR for ; Thu, 20 Aug 2009 06:31:37 -0700 (PDT) Received: from relay1.suse.de (relay-ext.suse.de [195.135.221.8]) by mx2.suse.de (Postfix) with ESMTP id CF06186A2E; Thu, 20 Aug 2009 15:31:36 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id F0BA42297EC; Thu, 20 Aug 2009 15:31:35 +0200 (CEST) Date: Thu, 20 Aug 2009 15:31:35 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , LKML , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Subject: Re: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Message-ID: <20090820133135.GF16486@duck.novell.com> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-4-git-send-email-jack@suse.cz> <20090819161853.GC6150@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090819161853.GC6150@infradead.org> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1250775098 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.6731 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 Wed 19-08-09 12:18:53, Christoph Hellwig wrote: > On Wed, Aug 19, 2009 at 06:04:30PM +0200, Jan Kara wrote: > > generic_file_direct_write() and generic_file_buffered_write() called > > generic_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But > > this is superfluous since generic_file_aio_write() does the syncing as well. > > Also XFS and OCFS2 which call these functions directly handle syncing > > themselves. So let's have a single place where syncing happens: > > generic_file_aio_write(). > > Yeah, this is something that never made any sense to me. > > > @@ -2187,20 +2187,7 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, > > } > > *ppos = end; > > } > > - > > - /* > > - * Sync the fs metadata but not the minor inode changes and > > - * of course not the data as we did direct DMA for the IO. > > - * i_mutex is held, which protects generic_osync_inode() from > > - * livelocking. AIO O_DIRECT ops attempt to sync metadata here. > > - */ > > out: > > - if ((written >= 0 || written == -EIOCBQUEUED) && > > - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { > > - int err = generic_osync_inode(inode, mapping, OSYNC_METADATA); > > - if (err < 0) > > - written = err; > > - } > > return written; > > Here we check (written >= 0 || written == -EIOCBQUEUED), but > generic_file_aio_write only cares about positive return values. We > defintively do have a change here for partial AIO requests. Ah, that's a good point. > The question is if the previous behaviour made in sense. If do have an > O_SYNC aio+dio request we would have to flush out the metadata after the > request has completed and not here. Yes, that would be a correct behavior but I see no good way of doing that. Flushing on EIOCBQUEUED mostly works for simple filesystems like ext[23] where we don't do anything from end_io callback. The only risk is if we crash after the transaction commits but before the direct IO is done (we could expose stale data) but I'm not sure that is an issue with real HW. Anyway, the question is what we should do about it. For now, I'd call generic_write_sync() even in case EIOCBQUEUED is returned to preserve old behavior (EIOCBQUEUED does not seem to be returned from buffered write path so we really just preserve the old behavior). > > @@ -2343,16 +2328,6 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, > > if (likely(status >= 0)) { > > written += status; > > *ppos = pos + status; > > - > > - /* > > - * For now, when the user asks for O_SYNC, we'll actually give > > - * O_DSYNC > > - */ > > - if (unlikely((file->f_flags & O_SYNC) || IS_SYNC(inode))) { > > - if (!a_ops->writepage || !is_sync_kiocb(iocb)) > > - status = generic_osync_inode(inode, mapping, > > - OSYNC_METADATA|OSYNC_DATA); > > - } > > } > > No problem with -EIOCBQUEUED here, but we change from doing > generic_osync_inode with OSYNC_DATA which does a full writeout of the > data to sync_page_range which only does the range writeout here. That > should be fine (as we only need to sync that range), but should probably > be documented in the patch description. Yes, will do. Honza -- Jan Kara SUSE Labs, CR From rwheeler@redhat.com Thu Aug 20 08:49: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 n7KDnK3g097399 for ; Thu, 20 Aug 2009 08:49:30 -0500 X-ASG-Debug-ID: 1250776191-639d03350000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id BA2B83E5BBF for ; Thu, 20 Aug 2009 06:49:51 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Vs0noOhQbPIqBQwq for ; Thu, 20 Aug 2009 06:49:51 -0700 (PDT) Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7KDmscY026308; Thu, 20 Aug 2009 09:48:54 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx04.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n7KDmq7Q025928; Thu, 20 Aug 2009 09:48:53 -0400 Received: from riclaptop.redhat.com (vpn-8-40.rdu.redhat.com [10.11.8.40]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n7KDmoN2012534; Thu, 20 Aug 2009 09:48:51 -0400 Message-ID: <4A8D5442.1000302@redhat.com> Date: Thu, 20 Aug 2009 09:48:50 -0400 From: Ric Wheeler User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 MIME-Version: 1.0 To: Mark Lord CC: Ingo Molnar , Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list , Neil Brown X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <4A8CA956.2060406@rtr.ca> In-Reply-To: <4A8CA956.2060406@rtr.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.67 on 10.5.11.17 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1250776196 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.6733 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 On 08/19/2009 09:39 PM, Mark Lord wrote: > [resending, after fixing the Cc: list; somebody trimmed it earlier] > > Jamie Lokier wrote: > .. >> I don't remember - does TRIM guarantee the blocks read zeros afterwards? > .. > > No, it doesn't. > > A drive can optionally support "deterministic TRIM", whereby it will > return > consistent data for any given trimmed sector afterwards, but that > doesn't mean zeros. > > -ml Note that returning consistent data is critical for devices that are used in a RAID group since you will need each RAID block that is used to compute the parity to continue to return the same data until you overwrite it with new data :-) If we have a device that does not support this (or is misconfigured not to do this), we should not use those devices in an MD group & do discard against it... ric From liml@rtr.ca Thu Aug 20 09:38:21 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7KEc14T100081 for ; Thu, 20 Aug 2009 09:38:11 -0500 X-ASG-Debug-ID: 1250779102-4fae00460000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 31F703E64E2 for ; Thu, 20 Aug 2009 07:38:22 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id uoKJ4IOnEwewrGzR for ; Thu, 20 Aug 2009 07:38:22 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id AF05AB802FC; Thu, 20 Aug 2009 10:38:17 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 6196AB802FA; Thu, 20 Aug 2009 10:38:17 -0400 (EDT) Message-ID: <4A8D5FDB.7080505@rtr.ca> Date: Thu, 20 Aug 2009 10:38:19 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Ric Wheeler Cc: Ingo Molnar , Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list , Neil Brown X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <4A8CA956.2060406@rtr.ca> <4A8D5442.1000302@redhat.com> In-Reply-To: <4A8D5442.1000302@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1250779128 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.6735 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 Ric Wheeler wrote: > > Note that returning consistent data is critical for devices that are > used in a RAID group since you will need each RAID block that is used to > compute the parity to continue to return the same data until you > overwrite it with new data :-) > > If we have a device that does not support this (or is misconfigured not > to do this), we should not use those devices in an MD group & do discard > against it... .. Well, that's a bit drastic. But the RAID software should at least not issue TRIM commands in ignorance of such. Would it still be okay to do the TRIMs when the entire parity stripe (across all members) is being discarded? (As opposed to just partial data there being dropped) From rwheeler@redhat.com Thu Aug 20 09:42:23 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 n7KEg3Bj100315 for ; Thu, 20 Aug 2009 09:42:13 -0500 X-ASG-Debug-ID: 1250779363-0b1502bd0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 218AC3E652F for ; Thu, 20 Aug 2009 07:42:43 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id TIWEYopCj3IGeaBj for ; Thu, 20 Aug 2009 07:42:43 -0700 (PDT) Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7KEgB9I026136; Thu, 20 Aug 2009 10:42:11 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n7KEgBHq009579; Thu, 20 Aug 2009 10:42:11 -0400 Received: from riclaptop.redhat.com (vpn-8-40.rdu.redhat.com [10.11.8.40]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n7KEgAeK021235; Thu, 20 Aug 2009 10:42:10 -0400 Message-ID: <4A8D60C1.6000809@redhat.com> Date: Thu, 20 Aug 2009 10:42:09 -0400 From: Ric Wheeler User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 MIME-Version: 1.0 To: Mark Lord CC: Ingo Molnar , Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list , Neil Brown X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <4A8CA956.2060406@rtr.ca> <4A8D5442.1000302@redhat.com> <4A8D5FDB.7080505@rtr.ca> In-Reply-To: <4A8D5FDB.7080505@rtr.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1250779367 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.6735 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 On 08/20/2009 10:38 AM, Mark Lord wrote: > Ric Wheeler wrote: >> >> Note that returning consistent data is critical for devices that are >> used in a RAID group since you will need each RAID block that is used >> to compute the parity to continue to return the same data until you >> overwrite it with new data :-) >> >> If we have a device that does not support this (or is misconfigured >> not to do this), we should not use those devices in an MD group & do >> discard against it... > .. > > Well, that's a bit drastic. But the RAID software should at least > not issue TRIM commands in ignorance of such. If the storage can return different data in a sequence of READ requests of the same sector (with no writes), there is nothing RAID could do. It would see total garbage... > Would it still be okay to do the TRIMs when the entire parity stripe > (across all members) is being discarded? (As opposed to just partial > data there being dropped) This should be safe if the MD bitmaps would prevent us from trying to READ/regenerate parity for that stripe... ric From James.Bottomley@suse.de Thu Aug 20 09:42: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.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 n7KEg4dV100317 for ; Thu, 20 Aug 2009 09:42:14 -0500 X-ASG-Debug-ID: 1250779366-4acb00790000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 764573E653A for ; Thu, 20 Aug 2009 07:42:46 -0700 (PDT) Received: from mx1.suse.de (cantor.suse.de [195.135.220.2]) by cuda.sgi.com with ESMTP id Ecnydrodf947Q9By for ; Thu, 20 Aug 2009 07:42:46 -0700 (PDT) X-ASG-Whitelist: Barracuda Reputation Received: from relay1.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 5C92A90975; Thu, 20 Aug 2009 16:42:45 +0200 (CEST) X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support From: James Bottomley To: Mark Lord Cc: Ric Wheeler , Ingo Molnar , Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list , Neil Brown In-Reply-To: <4A8D5FDB.7080505@rtr.ca> References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <4A8CA956.2060406@rtr.ca> <4A8D5442.1000302@redhat.com> <4A8D5FDB.7080505@rtr.ca> Content-Type: text/plain Date: Thu, 20 Aug 2009 08:42:36 -0600 Message-Id: <1250779356.5533.15.camel@mulgrave.site> Mime-Version: 1.0 X-Mailer: Evolution 2.24.1.1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: cantor.suse.de[195.135.220.2] X-Barracuda-Start-Time: 1250779371 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, 2009-08-20 at 10:38 -0400, Mark Lord wrote: > Would it still be okay to do the TRIMs when the entire parity stripe > (across all members) is being discarded? (As opposed to just partial > data there being dropped) Not really. The problem is that array verification is done at the block level not the fs level (although, I suppose, we could change that). So a fully discarded stripe still has to verify OK (as in what's read for the parity must match what's read for the data). All of this is the reason for the TPRZ bit for SCSI UNMAP ... and why WRITE_SAME is also under consideration for discards in T10. James From dgilbert@interlog.com Thu Aug 20 09:59: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=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 n7KEwpiM101979 for ; Thu, 20 Aug 2009 09:59:02 -0500 X-ASG-Debug-ID: 1250780369-4fb7008a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from elrond.infotech.no (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 86FC03E63A3 for ; Thu, 20 Aug 2009 07:59:29 -0700 (PDT) Received: from elrond.infotech.no (smtp.infotech.no [82.134.31.41]) by cuda.sgi.com with ESMTP id B5fIYXYNxfozDNde for ; Thu, 20 Aug 2009 07:59:29 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by elrond.infotech.no (Postfix) with ESMTP id 38E2B30066; Thu, 20 Aug 2009 16:58:54 +0200 (CEST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Scanned: by amavisd-new-2.6.2 (20081215) (Debian) at infotech.no Received: from elrond.infotech.no ([127.0.0.1]) by localhost (elrond.infotech.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HmMyUnPhkZ4u; Thu, 20 Aug 2009 16:58:49 +0200 (CEST) Received: from [192.168.48.95] (ip-231.51.99.216.dsl-cust.ca.inter.net [216.99.51.231]) by elrond.infotech.no (Postfix) with ESMTPA id E74DC301EC; Thu, 20 Aug 2009 16:58:46 +0200 (CEST) Message-ID: <4A8D64A5.9060003@interlog.com> Date: Thu, 20 Aug 2009 10:58:45 -0400 From: Douglas Gilbert Reply-To: dgilbert@interlog.com User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Ric Wheeler CC: Mark Lord , Ingo Molnar , Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list , Neil Brown X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <4A8CA956.2060406@rtr.ca> <4A8D5442.1000302@redhat.com> In-Reply-To: <4A8D5442.1000302@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: smtp.infotech.no[82.134.31.41] X-Barracuda-Start-Time: 1250780377 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.6737 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 COMMA_SUBJECT Subject is like 'Re: FDSDS, this is a subject' X-Virus-Status: Clean Ric Wheeler wrote: > On 08/19/2009 09:39 PM, Mark Lord wrote: >> [resending, after fixing the Cc: list; somebody trimmed it earlier] >> >> Jamie Lokier wrote: >> .. >>> I don't remember - does TRIM guarantee the blocks read zeros afterwards? >> .. >> >> No, it doesn't. >> >> A drive can optionally support "deterministic TRIM", whereby it will >> return >> consistent data for any given trimmed sector afterwards, but that >> doesn't mean zeros. >> >> -ml > > Note that returning consistent data is critical for devices that are > used in a RAID group since you will need each RAID block that is used to > compute the parity to continue to return the same data until you > overwrite it with new data :-) > > If we have a device that does not support this (or is misconfigured not > to do this), we should not use those devices in an MD group & do discard > against it... A closer reading of d2015r2-ATAATAPI_Command_Set_-_2_ACS-2.pdf section 7.10.3.2 (latest ACS-2 draft from www.t13.org) shows that there are 3 possible variants for data read from a logical block that has been trimmed (or "unmapped"): a) indeterminate b) determinate c) determinate, return all zeroes In the case of b) the same data is returned for each subsequent read. And that data must not be something that has previously be written to some other LBA! In the case of SCSI (sbc3r19.pdf) case b) is not supported (very sensibly IMO). Another difference I noticed between SCSI and ATA drafts is with the SECURITY ERASE UNIT command which is somewhat similar to the SCSI FORMAT UNIT command (which includes a security erase option). The ATA draft says that all blocks are determinate ("mapped" in the SCSI state model) after a SECURITY ERASE UNIT. The SCSI draft says that all logical blocks may be unmapped after FORMAT UNIT. Doug Gilbert From ragepie@gmail.com Thu Aug 20 10:00:42 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 n7KF0LOd102095 for ; Thu, 20 Aug 2009 10:00:31 -0500 X-ASG-Debug-ID: 1250780462-327a03d60000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from qw-out-1920.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 55EAB14F4771 for ; Thu, 20 Aug 2009 08:01:03 -0700 (PDT) Received: from qw-out-1920.google.com (qw-out-1920.google.com [74.125.92.148]) by cuda.sgi.com with ESMTP id Exf9rJwhUH23so8o for ; Thu, 20 Aug 2009 08:01:03 -0700 (PDT) Received: by qw-out-1920.google.com with SMTP id 5so1637609qwf.32 for ; Thu, 20 Aug 2009 08:00:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=9gzsWM0hhgwOLB1fda9gwTG+rZpBRehUR+H08DgJw+o=; b=qNBtXe3siMPsJLhoY5dPlV44t+Ks1iiSkVt4XqnhniefDF2O5BX4V5AaasNrgP4NYV ccpTGXPr7eyTgUJKQdhsXjq5E9uf86kuWIft8gXYd4OJmI2IvEaC/wPSiUVrueZ9tA3O vqq5blnIIGHjrz0tPj38kJWtEglP3B4wHWq1k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=pWgkz7Kbropg/Fojrps01jxXh3TsF+2oGJG7JaeUUKRqKD2JIkCPI0gxsGqVhCE2Zi i0ckG43jkkTXpAcSxob/GEXIzG6PL6ymQh9cyNNYOhAG1BCRUIfyfaepncO1MtaWafg/ CcBBtEf8YCIjdwfcXW2aQYRF3gfAYdxTJyp8I= MIME-Version: 1.0 Received: by 10.229.47.3 with SMTP id l3mr3190148qcf.25.1250780459202; Thu, 20 Aug 2009 08:00:59 -0700 (PDT) Date: Thu, 20 Aug 2009 11:00:57 -0400 Message-ID: X-ASG-Orig-Subj: XFS Best Practices Subject: XFS Best Practices From: Jeff Flowers To: xfs@oss.sgi.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: qw-out-1920.google.com[74.125.92.148] X-Barracuda-Start-Time: 1250780465 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.6737 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 I am going to use XFS on a Arch Linux box and I am looking for ways to maximize XFS performance. According to an article I have read [1], best XFS performance was reached with a file system formatted with a 64MB log and mounted with 8 log buffers and atime disabled. But I am curious, from the prespective of the XFS experts of this list, if this is still good advice and if it is still relevant, as this article was published in 2003. Also, I have seen a few people recommend turning off the internal buffers of hard drives (via hdparm) when using a file system like XFS. Good advice? Thank you! -- [1] http://everything2.com/title/Filesystem+performance+tweaking+with+XFS+on+Linux From sandeen@sandeen.net Thu Aug 20 10:23: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.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 n7KFNA9W103488 for ; Thu, 20 Aug 2009 10:23:20 -0500 X-ASG-Debug-ID: 1250781839-4b6d00f20000-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 A83103E6661 for ; Thu, 20 Aug 2009 08:23:59 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id HebpOBl6p2Hdr3Zo for ; Thu, 20 Aug 2009 08:23:59 -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 3C5FFA9DAA1; Thu, 20 Aug 2009 10:23:26 -0500 (CDT) Message-ID: <4A8D6A6D.405@sandeen.net> Date: Thu, 20 Aug 2009 10:23:25 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Jeff Flowers CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: XFS Best Practices Subject: Re: XFS Best Practices References: In-Reply-To: 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: 1250781839 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.6739 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 Jeff Flowers wrote: > I am going to use XFS on a Arch Linux box and I am looking for ways to > maximize XFS performance. According to an article I have read [1], > best XFS performance was reached with a file system formatted with a > 64MB log and mounted with 8 log buffers and atime disabled. But I am > curious, from the prespective of the XFS experts of this list, if this > is still good advice and if it is still relevant, as this article was > published in 2003. Based on the information you've provided about the performance issues you're seeing with your particular workload (i.e., nothing), the existing defaults are perfect for you. :) > Also, I have seen a few people recommend turning off the internal > buffers of hard drives (via hdparm) when using a file system like XFS. > Good advice? When drive write caches lose power it may lead to inconsistencies in a journaling filesystem like xfs, which relies on data hitting the disk in a certain order, more or less. By default xfs issues barriers to enforce this ordering; this has the effect of flushing the write cache to make it safe. In some cases disabling barriers and also disabling write cache may be a good choice. If you "never" lose power (good ups?) then write caching is safe even w/o barriers. -Eric > Thank you! > From eike-kernel@sf-tec.de Thu Aug 20 10:43:34 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=BAYES_00,RCVD_IN_BRBL 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 n7KFhEqX104501 for ; Thu, 20 Aug 2009 10:43:24 -0500 X-ASG-Debug-ID: 1250783039-116f01a20000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.sf-mail.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 66D0514F98F4 for ; Thu, 20 Aug 2009 08:43:59 -0700 (PDT) Received: from mail.sf-mail.de (mail.sf-mail.de [62.27.20.61]) by cuda.sgi.com with ESMTP id AB11ONVaWWj7Pb3o for ; Thu, 20 Aug 2009 08:43:59 -0700 (PDT) Received: (qmail 15566 invoked from network); 20 Aug 2009 15:43:52 -0000 Received: from mnhm-5f74fb0d.pool.einsundeins.de ([::ffff:95.116.251.13] HELO donald.sf-tec.de) (auth=eike-kernel@sf-tec.de) by mail.sf-mail.de (Qsmtpd 0.12svn) with (DHE-RSA-AES256-SHA encrypted) ESMTPSA for ; Thu, 20 Aug 2009 17:43:52 +0200 From: Rolf Eike Beer To: Mark Lord X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support Date: Thu, 20 Aug 2009 17:43:41 +0200 User-Agent: KMail/1.12.0 (Linux/2.6.31-rc6-git; KDE/4.3.0; i686; ; ) Cc: Ric Wheeler , Ingo Molnar , Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, "IDE/ATA development list" , Neil Brown References: <20090816004705.GA7347@infradead.org> <4A8D5442.1000302@redhat.com> <4A8D5FDB.7080505@rtr.ca> In-Reply-To: <4A8D5FDB.7080505@rtr.ca> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1495252.XOLBvpv6Aq"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200908201743.50167.eike-kernel@sf-tec.de> X-Barracuda-Connect: mail.sf-mail.de[62.27.20.61] X-Barracuda-Start-Time: 1250783043 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.6739 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 --nextPart1495252.XOLBvpv6Aq Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Mark Lord wrote: > Ric Wheeler wrote: > > Note that returning consistent data is critical for devices that are > > used in a RAID group since you will need each RAID block that is used to > > compute the parity to continue to return the same data until you > > overwrite it with new data :-) > > > > If we have a device that does not support this (or is misconfigured not > > to do this), we should not use those devices in an MD group & do discard > > against it... > > .. > > Well, that's a bit drastic. But the RAID software should at least > not issue TRIM commands in ignorance of such. > > Would it still be okay to do the TRIMs when the entire parity stripe > (across all members) is being discarded? (As opposed to just partial > data there being dropped) I think there might be a related usecase that could benefit from=20 TRIM/UNMAP/whatever support in file systems even if the physical devices do= =20 not support that. I have a RAID5 at work with LVM over it. This week I dele= ted=20 an old logical volume of some 200GB that has been moved to a different volu= me=20 group, tomorrow I will start to replace all the disks in the raid with bigg= er=20 ones. So if the LVM told the raid "hey, this space is totally garbage from = now=20 on" the raid would not have to do any calculation when it has to rebuild th= at=20 but could simply write fixed patterns to all disks (e.g. 0 to first data, 0= to=20 second data and 0 as "0 xor 0" to parity). With the knowledge that some of = the=20 underlying devices would support "write all to zero" this operation could b= e=20 speed up even more, with "write all fixed pattern" every unused chunk would= go=20 down to a single write operation (per disk) on rebuild regardless which par= ity=20 algorithm is used. And even if things are in use the RAID can benefit from such things. If we= =20 just define that every unmapped space will always be 0 when read and I writ= e=20 to a raid volume and the other part of the checksum calculation is unmapped= =20 checksumming becomes easy as we already know half of the values before: 0. = So=20 we can save the reads from the second data stripe and most of the calculati= on. "dd if=3D/dev/md0" on an unmapped space is more or less the same as "dd=20 if=3D/dev/zero" than. I only fear that these things are too obviously as I would be the first to= =20 have this idea ;) Greetings, Eike --nextPart1495252.XOLBvpv6Aq Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEABECAAYFAkqNbzYACgkQXKSJPmm5/E5LNQCdFqJ/6Rb+l/1Jdd8GNwG86+MF g8sAmwXujLHOGE0WsLOAchKRWCzuayAG =PtAF -----END PGP SIGNATURE----- --nextPart1495252.XOLBvpv6Aq-- From ragepie@gmail.com Thu Aug 20 10:45: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.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 n7KFj3QS104623 for ; Thu, 20 Aug 2009 10:45:13 -0500 X-ASG-Debug-ID: 1250783143-15ac01a00000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-vw0-f107.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5786414F992A for ; Thu, 20 Aug 2009 08:45:43 -0700 (PDT) Received: from mail-vw0-f107.google.com (mail-vw0-f107.google.com [209.85.212.107]) by cuda.sgi.com with ESMTP id 7QGJu20CUTEc7JTE for ; Thu, 20 Aug 2009 08:45:43 -0700 (PDT) Received: by vws5 with SMTP id 5so76274vws.32 for ; Thu, 20 Aug 2009 08:45:42 -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=ZRbHTMWkJiPLFiQ7pxyGztKvMpnj8sf++g/wLOa/PBU=; b=ZGnL15m99c4GJ0Ey6P7kHkAfgCkA523VT2/nwBivhsdLoH4x+VV1VYp0OO7Nucu5Z0 YR7QAVouJRoDxNM7sYwv3nAPOr+w0RVKR8PGFGYrsm9ed7sTBkTie9zRZJ5yZwTexW/R kgaYjqEA+K185y/Iv4qmbRVRlt93zs+g0sUlY= 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=xZMUPkKi9VDSVTQXyse2BuhddFigSxCLVLr7CNB650gFN3pWWoJcRjzAFGZx4j8Kqr jZqMDbJYQO2UtC+LhcU8D74xhnhQAD4sFImOiLTQER7h9BqQjGm3v7ozchqkiU5hYpJQ UKfIZQffvyYgkcBfI+ERXrjYDQdV4z1jKQNPQ= MIME-Version: 1.0 Received: by 10.229.3.12 with SMTP id 12mr3219028qcl.98.1250783142357; Thu, 20 Aug 2009 08:45:42 -0700 (PDT) In-Reply-To: <4A8D6A6D.405@sandeen.net> References: <4A8D6A6D.405@sandeen.net> Date: Thu, 20 Aug 2009 11:45:42 -0400 Message-ID: X-ASG-Orig-Subj: Re: XFS Best Practices Subject: Re: XFS Best Practices From: Jeff Flowers To: Eric Sandeen Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-vw0-f107.google.com[209.85.212.107] X-Barracuda-Start-Time: 1250783150 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.6739 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 Thu, Aug 20, 2009 at 11:23 AM, Eric Sandeen wrote: > Jeff Flowers wrote: >> I am going to use XFS on a Arch Linux box and I am looking for ways to >> maximize XFS performance. According to an article I have read [1], >> best XFS performance was reached with a file system formatted with a >> 64MB log and mounted with 8 log buffers and atime disabled. But I am >> curious, from the prespective of the XFS experts of this list, if this >> is still good advice and if it is still relevant, as this article was >> published in 2003. > > Based on the information you've provided about the performance issues > you're seeing with your particular workload (i.e., nothing), the > existing defaults are perfect for you. =A0:) For me, it is not about dissatisfaction with XFS performance but simply wanting to know if there are optimizations I am missing and could be taking advantage of. Many forums have people talking about options to improve or optimize Ext3 and Ext4 performance but XFS seems to be dismissed (which I don't understand, as XFS is a very mature and proven filesystem). >> Also, I have seen a few people recommend turning off the internal >> buffers of hard drives (via hdparm) when using a file system like XFS. >> Good advice? > > When drive write caches lose power it may lead to inconsistencies in a > journaling filesystem like xfs, which relies on data hitting the disk in > a certain order, more or less. =A0By default xfs issues barriers to > enforce this ordering; this has the effect of flushing the write cache > to make it safe. =A0In some cases disabling barriers and also disabling > write cache may be a good choice. > > If you "never" lose power (good ups?) then write caching is safe even > w/o barriers. > > -Eric Thanks for the information. Your explaination of write barries is one of the better ones I have read. --=20 Jeff From sandeen@sandeen.net Thu Aug 20 10:58:21 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 n7KFw1Cc105207 for ; Thu, 20 Aug 2009 10:58:11 -0500 X-ASG-Debug-ID: 1250783924-196e01c60000-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 96BC514F8AE1 for ; Thu, 20 Aug 2009 08:58:44 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 8kKOmTEgcduWvF2I for ; Thu, 20 Aug 2009 08:58:44 -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 E568CA9BE27; Thu, 20 Aug 2009 10:58:10 -0500 (CDT) Message-ID: <4A8D7292.70806@sandeen.net> Date: Thu, 20 Aug 2009 10:58:10 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Jeff Flowers CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: XFS Best Practices Subject: Re: XFS Best Practices References: <4A8D6A6D.405@sandeen.net> In-Reply-To: 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: 1250783930 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.6741 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 Jeff Flowers wrote: > On Thu, Aug 20, 2009 at 11:23 AM, Eric Sandeen wrote: >> Jeff Flowers wrote: >>> I am going to use XFS on a Arch Linux box and I am looking for ways to >>> maximize XFS performance. According to an article I have read [1], >>> best XFS performance was reached with a file system formatted with a >>> 64MB log and mounted with 8 log buffers and atime disabled. But I am >>> curious, from the prespective of the XFS experts of this list, if this >>> is still good advice and if it is still relevant, as this article was >>> published in 2003. >> Based on the information you've provided about the performance issues >> you're seeing with your particular workload (i.e., nothing), the >> existing defaults are perfect for you. :) > > For me, it is not about dissatisfaction with XFS performance but > simply wanting to know if there are optimizations I am missing and > could be taking advantage of. Many forums have people talking about > options to improve or optimize Ext3 and Ext4 performance but XFS seems > to be dismissed (which I don't understand, as XFS is a very mature and > proven filesystem). Sure, but the point is, if there is some all-encompassing "tweak" or optimization to be made, it is already a default in xfs. Tuning beyond defaults is usually about tradeoffs, and making those tradeoffs depends on what you actually want to do with the filesystem. It's not meant to be snarky, but by and large the defaults for xfs really do match most normal usage scenarios, and looking for tips & tweaks isn't usually necessary IMHO. >>> Also, I have seen a few people recommend turning off the internal >>> buffers of hard drives (via hdparm) when using a file system like XFS. >>> Good advice? >> When drive write caches lose power it may lead to inconsistencies in a >> journaling filesystem like xfs, which relies on data hitting the disk in >> a certain order, more or less. By default xfs issues barriers to >> enforce this ordering; this has the effect of flushing the write cache >> to make it safe. In some cases disabling barriers and also disabling >> write cache may be a good choice. >> >> If you "never" lose power (good ups?) then write caching is safe even >> w/o barriers. >> >> -Eric > > Thanks for the information. Your explaination of write barries is one > of the better ones I have read. > You're welcome :) -Eric From BATV+50a90d5746046e324d92+2188+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 20 11:27:14 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 n7KGQnha106565 for ; Thu, 20 Aug 2009 11:27:04 -0500 X-ASG-Debug-ID: 1250785659-4b5b02160000-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 381343E6B8B; Thu, 20 Aug 2009 09:27:39 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 1QNecKi01iR5c1YW; Thu, 20 Aug 2009 09:27:39 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MeAU5-0000pb-V6; Thu, 20 Aug 2009 16:27:29 +0000 Date: Thu, 20 Aug 2009 12:27:29 -0400 From: Christoph Hellwig To: Jan Kara Cc: Christoph Hellwig , LKML , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090820162729.GA24659@infradead.org> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> <20090819162638.GE6150@infradead.org> <20090820121531.GC16486@duck.novell.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090820121531.GC16486@duck.novell.com> 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: 1250785659 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 20, 2009 at 02:15:31PM +0200, Jan Kara wrote: > On Wed 19-08-09 12:26:38, Christoph Hellwig wrote: > > Looks good to me. Eventually we should use those SYNC_ flags also all > > through the fsync codepath, but I'll see if I can incorporate that in my > > planned fsync rewrite. > Yes, I thought I'll leave that for later. BTW it should be fairly easy to > teach generic_sync_file() to do fdatawait() before calling ->fsync() if the > filesystem sets some flag in inode->i_mapping (or somewhere else) as is > needed for XFS, btrfs, etc. Maybe you can help brain storming, but I still can't see any way in that the - write data - write inode - wait for data actually is a benefit in terms of semantics (I agree that it could be faster in theory, but even that is debatable with todays seek latencies in disks) Think about a simple non-journaling filesystem like ext2: (1) block get allocated during ->write before putting data in - this dirties the inode because we update i_block/i_size/etc (2) we call fsync (or the O_SNC handling code for that matter) - we start writeout of the data, which takes forever because the file is very large - then we write out the inode, including the i_size/i_blocks update - due to some reason this gets reordered before the data writeout finishes (without that happening there would be no benefit to this ordering anyway) (3) no we call filemap_fdatawait to wait for data I/O to finish Now the system crashes between (2) and (3). After that we we do have stale data in the inode in the area not written yet. Is there some case between that simple filesystem and the i_size update from I/O completion handler in XFS/ext4 where this behaviour actually buys us anything? Any ext3 magic maybe? From rwheeler@redhat.com Thu Aug 20 12:00: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 n7KGxuia107958 for ; Thu, 20 Aug 2009 12:00:08 -0500 X-ASG-Debug-ID: 1250787635-4d0902b70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6A8073E6710 for ; Thu, 20 Aug 2009 10:00:35 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id D1LXLzVxnLGHaOIW for ; Thu, 20 Aug 2009 10:00:35 -0700 (PDT) Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7KH0Dgb025025; Thu, 20 Aug 2009 13:00:14 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx04.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n7KH0Bfk003472; Thu, 20 Aug 2009 13:00:12 -0400 Received: from riclaptop.redhat.com (vpn-8-40.rdu.redhat.com [10.11.8.40]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n7KH0AiZ005864; Thu, 20 Aug 2009 13:00:10 -0400 Message-ID: <4A8D8119.9000604@redhat.com> Date: Thu, 20 Aug 2009 13:00:09 -0400 From: Ric Wheeler User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 MIME-Version: 1.0 To: Rolf Eike Beer CC: Mark Lord , Ric Wheeler , Ingo Molnar , Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, IDE/ATA development list , Neil Brown X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support References: <20090816004705.GA7347@infradead.org> <4A8D5442.1000302@redhat.com> <4A8D5FDB.7080505@rtr.ca> <200908201743.50167.eike-kernel@sf-tec.de> In-Reply-To: <200908201743.50167.eike-kernel@sf-tec.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.67 on 10.5.11.17 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1250787643 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.6745 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 On 08/20/2009 11:43 AM, Rolf Eike Beer wrote: > Mark Lord wrote: > >> Ric Wheeler wrote: >> >>> Note that returning consistent data is critical for devices that are >>> used in a RAID group since you will need each RAID block that is used to >>> compute the parity to continue to return the same data until you >>> overwrite it with new data :-) >>> >>> If we have a device that does not support this (or is misconfigured not >>> to do this), we should not use those devices in an MD group& do discard >>> against it... >>> >> .. >> >> Well, that's a bit drastic. But the RAID software should at least >> not issue TRIM commands in ignorance of such. >> >> Would it still be okay to do the TRIMs when the entire parity stripe >> (across all members) is being discarded? (As opposed to just partial >> data there being dropped) >> > I think there might be a related usecase that could benefit from > TRIM/UNMAP/whatever support in file systems even if the physical devices do > not support that. I have a RAID5 at work with LVM over it. This week I deleted > an old logical volume of some 200GB that has been moved to a different volume > group, tomorrow I will start to replace all the disks in the raid with bigger > ones. So if the LVM told the raid "hey, this space is totally garbage from now > on" the raid would not have to do any calculation when it has to rebuild that > but could simply write fixed patterns to all disks (e.g. 0 to first data, 0 to > second data and 0 as "0 xor 0" to parity). With the knowledge that some of the > underlying devices would support "write all to zero" this operation could be > speed up even more, with "write all fixed pattern" every unused chunk would go > down to a single write operation (per disk) on rebuild regardless which parity > algorithm is used. > In the SCSI world, RAID array vendors use "WRITE_SAME" to do this. For the SCSI discard, the write same command has a discard bit set if I remember correctly so you basically get what you are describing above. ric > And even if things are in use the RAID can benefit from such things. If we > just define that every unmapped space will always be 0 when read and I write > to a raid volume and the other part of the checksum calculation is unmapped > checksumming becomes easy as we already know half of the values before: 0. So > we can save the reads from the second data stripe and most of the calculation. > "dd if=/dev/md0" on an unmapped space is more or less the same as "dd > if=/dev/zero" than. > > I only fear that these things are too obviously as I would be the first to > have this idea ;) > > Greetings, > > Eike > From greg.freemyer@gmail.com Thu Aug 20 12:19:17 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 n7KHIvnv108841 for ; Thu, 20 Aug 2009 12:19:07 -0500 X-ASG-Debug-ID: 1250788764-4fbb03320000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from qw-out-1920.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6F1F93E71F4 for ; Thu, 20 Aug 2009 10:19:24 -0700 (PDT) Received: from qw-out-1920.google.com (qw-out-1920.google.com [74.125.92.146]) by cuda.sgi.com with ESMTP id X9L7tD9oGLdf8A1J for ; Thu, 20 Aug 2009 10:19:24 -0700 (PDT) Received: by qw-out-1920.google.com with SMTP id 5so28617qwf.32 for ; Thu, 20 Aug 2009 10:19:20 -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=X/DdlgigTC28w1frsNQwh2Ofo2kAofwxNRwIyb80yeA=; b=x4JWT1HIiLgIXHSDdcGVNBObxzxQFSc06OFmjMlILY8LPXu8r4gHo9nAQBDKcIb+3K +FqWmcGbSrAtKcEMzTk3yvPY8eDAimpT6o4Ihq0fuyvhtSmQD/s6TuuEcSSUbiFJRBAe vx0C6bCmHXX9yrcYu0YMCmn0RFZoNCS14IEOk= 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=n6BbcESG+x8XpOu/POE7M+C2SvVo24/WEwFhAxI1saig5Jp6GDxIWOTIsv2+Pmduyp Y1oulDh0j8QlkHuKcLzizmeKOcsvEZVsD3m0HJUkmTPuauf5E+DUcXwFzAw7FWDc7/9+ Zc7h3oAa3Ov5hXMHXw7+Ogt1bHXoHFRHfhdmI= MIME-Version: 1.0 Received: by 10.224.73.37 with SMTP id o37mr16099qaj.252.1250788760466; Thu, 20 Aug 2009 10:19:20 -0700 (PDT) In-Reply-To: <4A8D60C1.6000809@redhat.com> References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <4A8CA956.2060406@rtr.ca> <4A8D5442.1000302@redhat.com> <4A8D5FDB.7080505@rtr.ca> <4A8D60C1.6000809@redhat.com> Date: Thu, 20 Aug 2009 13:19:20 -0400 Message-ID: <87f94c370908201019i406e74a0s59c67f56ec2c9c16@mail.gmail.com> X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support From: Greg Freemyer To: Ric Wheeler Cc: Mark Lord , Ingo Molnar , Christoph Hellwig , Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, jens.axboe@oracle.com, "IDE/ATA development list" , Neil Brown Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: qw-out-1920.google.com[74.125.92.146] X-Barracuda-Start-Time: 1250788775 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.6745 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 On Thu, Aug 20, 2009 at 10:42 AM, Ric Wheeler wrote: > On 08/20/2009 10:38 AM, Mark Lord wrote: >> >> Ric Wheeler wrote: >>> >>> Note that returning consistent data is critical for devices that are >>> used in a RAID group since you will need each RAID block that is used >>> to compute the parity to continue to return the same data until you >>> overwrite it with new data :-) >>> >>> If we have a device that does not support this (or is misconfigured >>> not to do this), we should not use those devices in an MD group & do >>> discard against it... >> >> .. >> >> Well, that's a bit drastic. But the RAID software should at least >> not issue TRIM commands in ignorance of such. > > If the storage can return different data in a sequence of READ requests of > the same sector (with no writes), there is nothing RAID could do. It would > see total garbage... > >> Would it still be okay to do the TRIMs when the entire parity stripe >> (across all members) is being discarded? (As opposed to just partial >> data there being dropped) > > This should be safe if the MD bitmaps would prevent us from trying to > READ/regenerate parity for that stripe... > > ric The harder thing for mdraid is putting a stripe back in service. If even a single sector is written to a "discarded" stripe, the entire stripe has to be written with determinate data that has the right parity. ie. Only full stripes can be discarded and only full-stripes can be put back in service. Greg -- Greg Freemyer Head of EDD Tape Extraction and Processing team Litigation Triage Solutions Specialist http://www.linkedin.com/in/gregfreemyer Preservation and Forensic processing of Exchange Repositories White Paper - The Norcross Group The Intersection of Evidence & Technology http://www.norcrossgroup.com From lmcilroy@redhat.com Fri Aug 21 02:11: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=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 n7L7AomK156172 for ; Fri, 21 Aug 2009 02:11:00 -0500 X-ASG-Debug-ID: 1250838677-2d48030e0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.redhat.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0204815061BF for ; Fri, 21 Aug 2009 00:11:17 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id oWUktDtD07cD1aEg for ; Fri, 21 Aug 2009 00:11:17 -0700 (PDT) Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7L7BFDs007403; Fri, 21 Aug 2009 03:11:15 -0400 Received: from mail05.corp.redhat.com (zmail05.collab.prod.int.phx2.redhat.com [10.5.5.46]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n7L7BFbP012641; Fri, 21 Aug 2009 03:11:15 -0400 Date: Fri, 21 Aug 2009 03:11:15 -0400 (EDT) From: Lachlan McIlroy Reply-To: Lachlan McIlroy To: John Quigley Cc: XFS Development Message-ID: <193616431.76011250838675275.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> In-Reply-To: <1194138654.75921250838215929.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> X-ASG-Orig-Subj: Re: XFS corruption with failover Subject: Re: XFS corruption with failover MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.5.72] X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1250838700 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.6801 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 ----- "John Quigley" wrote: > Lachlan McIlroy wrote: > > xfs_logprint doesn't find any problems with this log but that > doesn't mean > > the kernel doesn't - they use different implementations to read the > log. I > > noticed that the active part of the log wraps around the physical > end/start > > of the log which reminds of this fix: Hang on, I made a mistake there. The xfs_logprint transactional view of the log didn't find any errors but dumping the contents of the log shows a different story. $ xfs_logprint -f xfs-failover-logprint xfs_logprint: data device: 0xffffffffffffffff log device: 0xffffffffffffffff daddr: 0 length: 262144 Header 0xb wanted 0xfeedbabe ********************************************************************** * ERROR: header cycle=11 block=6168 * ********************************************************************** Bad log record header $ xfs_logprint -d -f xfs-failover-logprint xfs_logprint: data device: 0xffffffffffffffff log device: 0xffffffffffffffff daddr: 0 length: 262144 [00000 - 00000] Cycle 0xffffffff New Cycle 0x0000000c 32 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 96 HEADER Cycle 12 tail 11:257848 len 24064 ops 456 144 HEADER Cycle 12 tail 11:257848 len 3584 ops 25 152 HEADER Cycle 12 tail 11:257848 len 32256 ops 708 216 HEADER Cycle 12 tail 11:257848 len 32256 ops 706 280 HEADER Cycle 12 tail 11:257848 len 32256 ops 709 344 HEADER Cycle 12 tail 11:257848 len 3584 ops 18 352 HEADER Cycle 12 tail 11:257848 len 32256 ops 708 416 HEADER Cycle 12 tail 11:257848 len 32256 ops 706 480 HEADER Cycle 12 tail 11:257848 len 32256 ops 709 544 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 608 HEADER Cycle 12 tail 11:257848 len 32256 ops 710 672 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 736 HEADER Cycle 12 tail 11:257848 len 32256 ops 709 800 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 864 HEADER Cycle 12 tail 11:257848 len 32256 ops 706 928 HEADER Cycle 12 tail 11:257848 len 32256 ops 709 992 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 1056 HEADER Cycle 12 tail 11:257848 len 32256 ops 710 1120 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 1184 HEADER Cycle 12 tail 11:257848 len 32256 ops 709 1248 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 1312 HEADER Cycle 12 tail 11:257848 len 32256 ops 706 1376 HEADER Cycle 12 tail 11:257848 len 32256 ops 709 1440 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 1504 HEADER Cycle 12 tail 11:257848 len 32256 ops 710 1568 HEADER Cycle 12 tail 11:257848 len 24064 ops 437 1616 HEADER Cycle 12 tail 11:257848 len 3584 ops 25 1624 HEADER Cycle 12 tail 11:257848 len 32256 ops 708 1688 HEADER Cycle 12 tail 11:257848 len 32256 ops 706 1752 HEADER Cycle 12 tail 11:257848 len 32256 ops 709 1816 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 1880 HEADER Cycle 12 tail 11:257848 len 32256 ops 710 1944 HEADER Cycle 12 tail 11:257848 len 32256 ops 707 2008 HEADER Cycle 12 tail 11:257848 len 32256 ops 709 2072 HEADER Cycle 11 tail 11:257848 len 0 ops 0 [00000 - 02072] Cycle 0x0000000c New Cycle 0x0000000b 2073 HEADER Cycle 11 tail 11:257848 len 0 ops 0 2074 HEADER Cycle 11 tail 11:257848 len 0 ops 0 2075 HEADER Cycle 11 tail 11:257848 len 0 ops 0 ......... 6165 HEADER Cycle 11 tail 11:257848 len 0 ops 0 6166 HEADER Cycle 11 tail 11:257848 len 0 ops 0 6167 HEADER Cycle 11 tail 11:257848 len 0 ops 0 6184 HEADER Cycle 11 tail 10:260744 len 32256 ops 707 6248 HEADER Cycle 11 tail 10:260744 len 32256 ops 710 6312 HEADER Cycle 11 tail 10:260744 len 32256 ops 707 .......... So we get to block 6168 and there's an unexpected state change - instead of a magic number we have the cycle number. BLKNO: 6167 0 bebaedfe b000000 2000000 0 b000000 17180000 b000000 38ef0300 8 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 0 28 0 0 0 0 0 0 0 0 30 0 0 0 0 0 0 0 0 38 0 0 0 0 0 0 0 0 40 0 0 0 0 0 0 0 0 48 0 0 0 1000000 af447af9 4a44d930 5a9b0fa0 20d7ba86 50 0 0 0 0 0 0 0 0 58 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 68 0 0 0 0 0 0 0 0 70 0 0 0 0 0 0 0 0 78 0 0 0 0 0 0 0 0 BLKNO: 6168 0 b000000 69 81a4494e 10201 63 63 1 0 8 0 20000 4a857400 207b4682 4a859784 21b73460 4a859784 21b73460 10 5f60000 0 0 0 0 0 2000000 0 18 0 0 b00428a0 0 269 780528a0 0 169 20 780528a0 10000000 69 5452414e 3 0 1 780528a0 28 38000000 69 2123b 1 0 0 12c126 0 30 0 0 0 0 96090 0 10 600 38 780528a0 60000000 69 81a4494e 10201 63 63 1 40 0 0 20000 4a857400 207b4682 4a859784 21b73460 4a859784 48 21b73460 5f60000 0 0 0 0 0 2000000 50 0 0 0 780528a0 0 269 400628a0 0 58 169 400628a0 10000000 69 5452414e 3 0 1 60 400628a0 38000000 69 2123b 1 0 0 12c126 68 0 0 0 0 0 96090 0 10 70 600 400628a0 60000000 69 81a4494e 10201 63 63 78 1 0 0 20000 4a857400 207b4682 4a859784 21c676a0 I don't know what's happened here. It may not even be related to the log recovery failure. > > Very interesting indeed, thank you /very/ much for looking at this. > > > I think the fix made it into 2.6.24. > > We're currently using the very latest 2.6.30, unfortunately. We've > distilled this into a reproducible environment with a stack of NFS + > XFS to a local disk + automated sysrq 'b' reboots. We're working on > getting this bundled up into a nice little package as a VirtualBox vm > for your consumption. Please tell me if this is not desirable. > > Thanks very much again. > > John Quigley > jquigley.com > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From mingo@elte.hu Fri Aug 21 07: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=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7LCkZNh170553 for ; Fri, 21 Aug 2009 07:46:50 -0500 X-ASG-Debug-ID: 1250858813-0bb400330000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx3.mail.elte.hu (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9FBFB1D5E86C for ; Fri, 21 Aug 2009 05:46:54 -0700 (PDT) Received: from mx3.mail.elte.hu (mx3.mail.elte.hu [157.181.1.138]) by cuda.sgi.com with ESMTP id lYJJvKIGlPABkkMj for ; Fri, 21 Aug 2009 05:46:54 -0700 (PDT) Received: from elvis.elte.hu ([157.181.1.14]) by mx3.mail.elte.hu with esmtp (Exim) id 1MeTVy-0006Dq-CS from ; Fri, 21 Aug 2009 14:46:42 +0200 Received: by elvis.elte.hu (Postfix, from userid 1004) id 1CA333E22AF; Fri, 21 Aug 2009 14:46:36 +0200 (CEST) Date: Fri, 21 Aug 2009 14:46:38 +0200 From: Ingo Molnar To: Christoph Hellwig Cc: Peter Zijlstra , Paul Mackerras , Linus Torvalds , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, liml@rtr.ca, jens.axboe@oracle.com X-ASG-Orig-Subj: Re: [PATCH, RFC] xfs: batched discard support Subject: Re: [PATCH, RFC] xfs: batched discard support Message-ID: <20090821124638.GC10263@elte.hu> References: <20090816004705.GA7347@infradead.org> <20090819203916.GA25296@elte.hu> <20090820010552.GA22107@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090820010552.GA22107@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) Received-SPF: neutral (mx3: 157.181.1.14 is neither permitted nor denied by domain of elte.hu) client-ip=157.181.1.14; envelope-from=mingo@elte.hu; helo=elvis.elte.hu; X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.2.5 -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] X-Barracuda-Connect: mx3.mail.elte.hu[157.181.1.138] X-Barracuda-Start-Time: 1250858838 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.6823 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 * Christoph Hellwig wrote: > On Wed, Aug 19, 2009 at 10:39:16PM +0200, Ingo Molnar wrote: > > A general interface design question: you added a new > > ioctl XFS_IOC_TRIM case. It's a sub-case of an > > ugly-looking demultiplexing xfs_file_ioctl(). > > ioctl is per defintion a multiplexer. Yes, and? There's two variants of multiplexing: - multiplex something rather straightforward and related - multiplex unrelated fields, data, structures I consider the second one 'ugly', the first one 'ok-ish'. YMMV. > > What is your threshold for turning something into a syscall? > > When are ioctls acceptable in your opinion? > > > > I'm asking this because we are facing a similar problem with > > perfcounters: we need to extend the ioctl functionality there > > but introducing a new syscall looks wasteful. > > > > So i'm torn about the 'syscall versus ioctl' issue, i'd like to > > avoid making interface design mistakes and i'd like to solicit > > some opinions about this. I've attached the perfcounters ioctl > > patch below. > > Only add a syscall if it has _one_ clear defined purpose, which > has kernel-wide meaning. > > Do not add an syscall that is just another multiplexer without > structure. Most likely it will just be even worse than sys_ioctl. > > Also really don't bother adding a system call that is specific to > one singler driver or filesystem. Besides horrible logistics - > you'd need some always built-in stub calling out to the possibly > modular drivers/filesystem - it also simply doesn't make any > semantical sense. I can't say I like the ioctl use in > perfcounters much, but adding a special syscalls instead would be > even more horrible. > > As for the trim support this really just was an RFC to start > bringing some code into play instead of the endless masturbation > about hat code that doesn't exist happens on hardware most people > don't have. The interface will most ceetainly change and I hope > we will have a common interface for all filesystems (or at least > those that care). Okay, i'm confused. I'd like to understand the technical basis of your critisism and i'd like to address any deficiencies of the perfcounters code. You said you dont like the ioctl solution we have, but that you'd like a separate syscall even less. Perfcounters are a kernel-wide concept, encompassing 100% of all Linux installations, not just some special hardware. So by your own standard above they seem to be more than eligible for system calls (i hope i'm not mis-stating it), as long as they are cleanly structured. Yet you dont like the interface nor any future pushing of the currently ioctl bits of the interface into syscalls. Is there any other interface form you'd like more? Thanks, Ingo From jack@suse.cz Fri Aug 21 10:23: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_47 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 n7LFMwSE177374 for ; Fri, 21 Aug 2009 10:23:08 -0500 X-ASG-Debug-ID: 1250868221-43dc033f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 77E9B3EAF16 for ; Fri, 21 Aug 2009 08:23:41 -0700 (PDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id TDrfmN6NtiFx8czL for ; Fri, 21 Aug 2009 08:23:41 -0700 (PDT) Received: from relay2.suse.de (mail2.suse.de [195.135.221.8]) by mx2.suse.de (Postfix) with ESMTP id 7E1558B2F9; Fri, 21 Aug 2009 17:23:40 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id 4AA932297EC; Fri, 21 Aug 2009 17:23:39 +0200 (CEST) Date: Fri, 21 Aug 2009 17:23:39 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , LKML , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090821152339.GD3007@duck.novell.com> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> <20090819162638.GE6150@infradead.org> <20090820121531.GC16486@duck.novell.com> <20090820162729.GA24659@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090820162729.GA24659@infradead.org> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1250868228 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.6835 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 Thu 20-08-09 12:27:29, Christoph Hellwig wrote: > On Thu, Aug 20, 2009 at 02:15:31PM +0200, Jan Kara wrote: > > On Wed 19-08-09 12:26:38, Christoph Hellwig wrote: > > > Looks good to me. Eventually we should use those SYNC_ flags also all > > > through the fsync codepath, but I'll see if I can incorporate that in my > > > planned fsync rewrite. > > Yes, I thought I'll leave that for later. BTW it should be fairly easy to > > teach generic_sync_file() to do fdatawait() before calling ->fsync() if the > > filesystem sets some flag in inode->i_mapping (or somewhere else) as is > > needed for XFS, btrfs, etc. > > Maybe you can help brain storming, but I still can't see any way in that > the > > - write data > - write inode > - wait for data > > actually is a benefit in terms of semantics (I agree that it could be > faster in theory, but even that is debatable with todays seek latencies > in disks) > > Think about a simple non-journaling filesystem like ext2: > > (1) block get allocated during ->write before putting data in > - this dirties the inode because we update i_block/i_size/etc > (2) we call fsync (or the O_SNC handling code for that matter) > - we start writeout of the data, which takes forever because the > file is very large > - then we write out the inode, including the i_size/i_blocks > update > - due to some reason this gets reordered before the data writeout > finishes (without that happening there would be no benefit to > this ordering anyway) > (3) no we call filemap_fdatawait to wait for data I/O to finish > > Now the system crashes between (2) and (3). After that we we do have > stale data in the inode in the area not written yet. Yes, that's true. > Is there some case between that simple filesystem and the i_size update > from I/O completion handler in XFS/ext4 where this behaviour actually > buys us anything? Any ext3 magic maybe? Hmm, I can imagine it would buy us something in two cases (but looking at the code, neither is implemented in such a way that it would really help us in any way): 1) when an inode and it's data are stored in one block (e.g. OCFS2 or UDF) do this. 2) when we journal data In the first case we would wait for block with data to be written only to submit it again because inode was still dirty. In the second case, it would make sence if we waited for transaction commit in fdatawait() because only then data is really on disk. But I don't know about a fs which would do it - ext3 in data=journal mode just adds page buffers to the current transaction in writepage and never sets PageWriteback so fdatawait() is nop for it. The page is pinned in memory only by the fact that its buffer heads are part of a transaction and thus cannot be freed. So currently I don't know about real cases where fdatawait after ->fsync() would buy us anything... Honza -- Jan Kara SUSE Labs, CR From BATV+e6dbd0baf57712842073+2189+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 21 10:35: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.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 n7LFZOx9178094 for ; Fri, 21 Aug 2009 10:35:39 -0500 X-ASG-Debug-ID: 1250868951-1f7a01630000-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 7C22915076F1; Fri, 21 Aug 2009 08:35:51 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id nnNiAR7YpmEJ4LlS; Fri, 21 Aug 2009 08:35:51 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MeW6V-0002si-4P; Fri, 21 Aug 2009 15:32:35 +0000 Date: Fri, 21 Aug 2009 11:32:35 -0400 From: Christoph Hellwig To: Jan Kara Cc: Christoph Hellwig , LKML , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090821153235.GA5874@infradead.org> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> <20090819162638.GE6150@infradead.org> <20090820121531.GC16486@duck.novell.com> <20090820162729.GA24659@infradead.org> <20090821152339.GD3007@duck.novell.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090821152339.GD3007@duck.novell.com> 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: 1250868971 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 Fri, Aug 21, 2009 at 05:23:39PM +0200, Jan Kara wrote: > Hmm, I can imagine it would buy us something in two cases (but looking at > the code, neither is implemented in such a way that it would really help > us in any way): > 1) when an inode and it's data are stored in one block (e.g. OCFS2 or UDF) do > this. > In the first case we would wait for block with data to be written only to > submit it again because inode was still dirty. But we would not actually store in the pagecache or at least never writeback it via the pacache in that case, but always just write it as part of the inode. From jack@suse.cz Fri Aug 21 10:48: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=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 n7LFlhCB178750 for ; Fri, 21 Aug 2009 10:47:53 -0500 X-ASG-Debug-ID: 1250869710-39eb00a90000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id EEF5B1507851 for ; Fri, 21 Aug 2009 08:48:30 -0700 (PDT) Received: from mx1.suse.de (cantor.suse.de [195.135.220.2]) by cuda.sgi.com with ESMTP id XClWg0iey0KLQhkz for ; Fri, 21 Aug 2009 08:48:30 -0700 (PDT) X-ASG-Whitelist: Barracuda Reputation Received: from relay1.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 2440E9486B; Fri, 21 Aug 2009 17:48:30 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id 862352297EC; Fri, 21 Aug 2009 17:48:29 +0200 (CEST) Date: Fri, 21 Aug 2009 17:48:29 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , LKML , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090821154829.GE3007@duck.novell.com> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> <20090819162638.GE6150@infradead.org> <20090820121531.GC16486@duck.novell.com> <20090820162729.GA24659@infradead.org> <20090821152339.GD3007@duck.novell.com> <20090821153235.GA5874@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090821153235.GA5874@infradead.org> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: cantor.suse.de[195.135.220.2] X-Barracuda-Start-Time: 1250869713 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 Fri 21-08-09 11:32:35, Christoph Hellwig wrote: > On Fri, Aug 21, 2009 at 05:23:39PM +0200, Jan Kara wrote: > > Hmm, I can imagine it would buy us something in two cases (but looking at > > the code, neither is implemented in such a way that it would really help > > us in any way): > > 1) when an inode and it's data are stored in one block (e.g. OCFS2 or UDF) do > > this. > > > In the first case we would wait for block with data to be written only to > > submit it again because inode was still dirty. > > But we would not actually store in the pagecache or at least never > writeback it via the pacache in that case, but always just write it as > part of the inode. Yes, probably. Actually, that's what UDF does. It's just that then the sequence fdatawrite(), fdatawait() does not really send the data to disk. But that probably does not matter. Honza -- Jan Kara SUSE Labs, CR From jack@suse.cz Fri Aug 21 11:59: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=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 n7LGxGZa182191 for ; Fri, 21 Aug 2009 11:59:26 -0500 X-ASG-Debug-ID: 1250874005-62be01550000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 54DD31507383 for ; Fri, 21 Aug 2009 10:00:05 -0700 (PDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 46ha0XRRMqkwN4aH for ; Fri, 21 Aug 2009 10:00:05 -0700 (PDT) Received: from relay2.suse.de (relay-ext.suse.de [195.135.221.8]) by mx2.suse.de (Postfix) with ESMTP id 4F7EB8DFA1; Fri, 21 Aug 2009 19:00:03 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id A9A7C269396; Fri, 21 Aug 2009 19:00:01 +0200 (CEST) From: Jan Kara To: LKML Cc: hch@lst.de, linux-fsdevel@vger.kernel.org, Jan Kara , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Subject: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Date: Fri, 21 Aug 2009 18:59:47 +0200 Message-Id: <1250874001-15483-3-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1250874001-15483-1-git-send-email-jack@suse.cz> References: <1250874001-15483-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1250874006 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.6841 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 generic_file_direct_write() and generic_file_buffered_write() called generic_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But this is superfluous since generic_file_aio_write() does the syncing as well. Also XFS and OCFS2 which call these functions directly handle syncing themselves. So let's have a single place where syncing happens: generic_file_aio_write(). We slightly change the behavior by syncing only the range of file to which the write happened for buffered writes but that should be all that is required. CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com Signed-off-by: Jan Kara --- mm/filemap.c | 31 ++++--------------------------- 1 files changed, 4 insertions(+), 27 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c index 554a396..b523e42 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2187,20 +2187,7 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, } *ppos = end; } - - /* - * Sync the fs metadata but not the minor inode changes and - * of course not the data as we did direct DMA for the IO. - * i_mutex is held, which protects generic_osync_inode() from - * livelocking. AIO O_DIRECT ops attempt to sync metadata here. - */ out: - if ((written >= 0 || written == -EIOCBQUEUED) && - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { - int err = generic_osync_inode(inode, mapping, OSYNC_METADATA); - if (err < 0) - written = err; - } return written; } EXPORT_SYMBOL(generic_file_direct_write); @@ -2332,8 +2319,6 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, { struct file *file = iocb->ki_filp; struct address_space *mapping = file->f_mapping; - const struct address_space_operations *a_ops = mapping->a_ops; - struct inode *inode = mapping->host; ssize_t status; struct iov_iter i; @@ -2343,16 +2328,6 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, if (likely(status >= 0)) { written += status; *ppos = pos + status; - - /* - * For now, when the user asks for O_SYNC, we'll actually give - * O_DSYNC - */ - if (unlikely((file->f_flags & O_SYNC) || IS_SYNC(inode))) { - if (!a_ops->writepage || !is_sync_kiocb(iocb)) - status = generic_osync_inode(inode, mapping, - OSYNC_METADATA|OSYNC_DATA); - } } /* @@ -2514,7 +2489,8 @@ ssize_t generic_file_aio_write_nolock(struct kiocb *iocb, ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); - if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if ((ret > 0 || ret == -EIOCBQUEUED) && + ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { ssize_t err; err = sync_page_range_nolock(inode, mapping, pos, ret); @@ -2550,7 +2526,8 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); mutex_unlock(&inode->i_mutex); - if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if ((ret > 0 || ret == -EIOCBQUEUED) && + ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { ssize_t err; err = sync_page_range(inode, mapping, pos, ret); -- 1.6.0.2 From jack@suse.cz Fri Aug 21 12:00: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7LGxgHr182223 for ; Fri, 21 Aug 2009 11:59:52 -0500 X-ASG-Debug-ID: 1250874004-0b6803990000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 811A13EAFAB for ; Fri, 21 Aug 2009 10:00:04 -0700 (PDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 6yODBRQfFy9JkM4T for ; Fri, 21 Aug 2009 10:00:04 -0700 (PDT) Received: from relay2.suse.de (mail2.suse.de [195.135.221.8]) by mx2.suse.de (Postfix) with ESMTP id DA4138EE65; Fri, 21 Aug 2009 19:00:03 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id 5059F2297EE; Fri, 21 Aug 2009 19:00:02 +0200 (CEST) From: Jan Kara To: LKML Cc: hch@lst.de, linux-fsdevel@vger.kernel.org, Jan Kara , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Date: Fri, 21 Aug 2009 18:59:51 +0200 Message-Id: <1250874001-15483-7-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1250874001-15483-1-git-send-email-jack@suse.cz> References: <1250874001-15483-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1250874031 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=MAILTO_TO_SPAM_ADDR X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.6841 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Introduce new function for generic inode syncing (generic_sync_file) and use it from fsync() path. Introduce also new helper for syncing after a sync write (generic_write_sync) using the generic function. Use these new helpers for syncing from generic VFS functions. This makes O_SYNC writes to block devices acquire i_mutex for syncing. If we really care about this, we can make block_fsync() drop the i_mutex and reacquire it before it returns. CC: Evgeniy Polyakov CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net CC: OGAWA Hirofumi CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Acked-by: Christoph Hellwig Signed-off-by: Jan Kara --- fs/splice.c | 22 ++++---------- fs/sync.c | 81 +++++++++++++++++++++++++++++++++++++++++++--------- include/linux/fs.h | 7 ++++ mm/filemap.c | 18 ++++-------- 4 files changed, 86 insertions(+), 42 deletions(-) diff --git a/fs/splice.c b/fs/splice.c index 73766d2..8190237 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -976,25 +976,15 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out, if (ret > 0) { unsigned long nr_pages; + int err; - *ppos += ret; nr_pages = (ret + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; - /* - * If file or inode is SYNC and we actually wrote some data, - * sync it. - */ - if (unlikely((out->f_flags & O_SYNC) || IS_SYNC(inode))) { - int err; - - mutex_lock(&inode->i_mutex); - err = generic_osync_inode(inode, mapping, - OSYNC_METADATA|OSYNC_DATA); - mutex_unlock(&inode->i_mutex); - - if (err) - ret = err; - } + err = generic_write_sync(out, *ppos, ret); + if (err) + ret = err; + else + *ppos += ret; balance_dirty_pages_ratelimited_nr(mapping, nr_pages); } diff --git a/fs/sync.c b/fs/sync.c index 3422ba6..fc320aa 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -176,23 +176,30 @@ int file_fsync(struct file *filp, struct dentry *dentry, int datasync) } /** - * vfs_fsync - perform a fsync or fdatasync on a file + * generic_sync_file - helper to sync data & metadata to disk * @file: file to sync * @dentry: dentry of @file - * @data: only perform a fdatasync operation + * @start: offset in bytes of the beginning of data range to sync + * @end: offset in bytes of the end of data range (inclusive) + * @what: what should be synced * - * Write back data and metadata for @file to disk. If @datasync is - * set only metadata needed to access modified file data is written. + * What the function exactly does is controlled by the @what parameter: * - * In case this function is called from nfsd @file may be %NULL and - * only @dentry is set. This can only happen when the filesystem - * implements the export_operations API. + * If SYNC_SUBMIT_DATA is set, the function submits all pages in the given + * range to disk. + * + * The function always calls ->fsync() callback of the filesystem. If + * SYNC_INODE is not set, we pass down the fact that it is just a datasync. + * + * If SYNC_WAIT_DATA is set, the function waits for writeback to finish + * in the given range. */ -int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) +int generic_sync_file(struct file *file, struct dentry *dentry, loff_t start, + loff_t end, int what) { const struct file_operations *fop; struct address_space *mapping; - int err, ret; + int err, ret = 0; /* * Get mapping and operations from the file in case we have @@ -212,23 +219,50 @@ int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) goto out; } - ret = filemap_fdatawrite(mapping); + if (what & SYNC_SUBMIT_DATA) + ret = filemap_fdatawrite_range(mapping, start, end); /* * We need to protect against concurrent writers, which could cause * livelocks in fsync_buffers_list(). */ mutex_lock(&mapping->host->i_mutex); - err = fop->fsync(file, dentry, datasync); + err = fop->fsync(file, dentry, !(what & SYNC_INODE)); if (!ret) ret = err; mutex_unlock(&mapping->host->i_mutex); - err = filemap_fdatawait(mapping); - if (!ret) - ret = err; + + if (what & SYNC_WAIT_DATA) { + err = filemap_fdatawait_range(mapping, start, end); + if (!ret) + ret = err; + } out: return ret; } +EXPORT_SYMBOL(generic_sync_file); + +/** + * vfs_fsync - perform a fsync or fdatasync on a file + * @file: file to sync + * @dentry: dentry of @file + * @datasync: only perform a fdatasync operation + * + * Write back data and metadata for @file to disk. If @datasync is + * set only metadata needed to access modified file data is written. + * + * In case this function is called from nfsd @file may be %NULL and + * only @dentry is set. This can only happen when the filesystem + * implements the export_operations API. + */ +int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) +{ + int what = SYNC_SUBMIT_DATA | SYNC_WAIT_DATA; + + if (!datasync) + what |= SYNC_INODE; + return generic_sync_file(file, dentry, 0, LLONG_MAX, what); +} EXPORT_SYMBOL(vfs_fsync); static int do_fsync(unsigned int fd, int datasync) @@ -254,6 +288,25 @@ SYSCALL_DEFINE1(fdatasync, unsigned int, fd) return do_fsync(fd, 1); } +/** + * generic_write_sync - perform syncing after a write if file / inode is sync + * @file: file to which the write happened + * @pos: offset where the write started + * @count: length of the write + * + * This is just a simple wrapper about our general syncing function. + * FIXME: Make it inline? + */ +int generic_write_sync(struct file *file, loff_t pos, loff_t count) +{ + if (!(file->f_flags & O_SYNC) && !IS_SYNC(file->f_mapping->host)) + return 0; + return generic_sync_file(file, file->f_path.dentry, pos, + pos + count - 1, + SYNC_SUBMIT_DATA | SYNC_WAIT_DATA); +} +EXPORT_SYMBOL(generic_write_sync); + /* * sys_sync_file_range() permits finely controlled syncing over a segment of * a file in the range offset .. (offset+nbytes-1) inclusive. If nbytes is diff --git a/include/linux/fs.h b/include/linux/fs.h index 29fc8da..648001c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2088,7 +2088,14 @@ extern int __filemap_fdatawrite_range(struct address_space *mapping, extern int filemap_fdatawrite_range(struct address_space *mapping, loff_t start, loff_t end); +/* Flags for generic_sync_file */ +#define SYNC_INODE 1 +#define SYNC_SUBMIT_DATA 2 +#define SYNC_WAIT_DATA 4 +extern int generic_sync_file(struct file *file, struct dentry *dentry, + loff_t start, loff_t end, int what); extern int vfs_fsync(struct file *file, struct dentry *dentry, int datasync); +extern int generic_write_sync(struct file *file, loff_t pos, loff_t count); extern void sync_supers(void); extern void emergency_sync(void); extern void emergency_remount(void); diff --git a/mm/filemap.c b/mm/filemap.c index ef9f635..d0802a9 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -39,11 +39,10 @@ /* * FIXME: remove all knowledge of the buffer layer from the core VM */ -#include /* for generic_osync_inode */ +#include /* for try_to_free_buffers */ #include - /* * Shared mappings implemented 30.11.1994. It's not fully working yet, * though. @@ -2480,19 +2479,16 @@ ssize_t device_aio_write(struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos) { struct file *file = iocb->ki_filp; - struct address_space *mapping = file->f_mapping; - struct inode *inode = mapping->host; ssize_t ret; BUG_ON(iocb->ki_pos != pos); ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); - if ((ret > 0 || ret == -EIOCBQUEUED) && - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if (ret > 0 || ret == -EIOCBQUEUED) { ssize_t err; - err = sync_page_range_nolock(inode, mapping, pos, ret); + err = generic_write_sync(file, pos, ret); if (err < 0) ret = err; } @@ -2515,8 +2511,7 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos) { struct file *file = iocb->ki_filp; - struct address_space *mapping = file->f_mapping; - struct inode *inode = mapping->host; + struct inode *inode = file->f_mapping->host; ssize_t ret; BUG_ON(iocb->ki_pos != pos); @@ -2525,11 +2520,10 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); mutex_unlock(&inode->i_mutex); - if ((ret > 0 || ret == -EIOCBQUEUED) && - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if (ret > 0 || ret == -EIOCBQUEUED) { ssize_t err; - err = sync_page_range(inode, mapping, pos, ret); + err = generic_write_sync(file, pos, ret); if (err < 0) ret = err; } -- 1.6.0.2 From jack@suse.cz Fri Aug 21 12:23:45 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 n7LHNPGa183863 for ; Fri, 21 Aug 2009 12:23:35 -0500 X-ASG-Debug-ID: 1250875450-470d01e10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 678FE3EB8BD for ; Fri, 21 Aug 2009 10:24:10 -0700 (PDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id h7Za8RNfcZgSiZ6z for ; Fri, 21 Aug 2009 10:24:10 -0700 (PDT) Received: from relay1.suse.de (relay-ext.suse.de [195.135.221.8]) by mx2.suse.de (Postfix) with ESMTP id 218988F0D1; Fri, 21 Aug 2009 19:24:10 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id A84BD2297ED; Fri, 21 Aug 2009 19:24:09 +0200 (CEST) From: Jan Kara To: LKML Cc: hch@lst.de, linux-fsdevel@vger.kernel.org, Jan Kara , Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 13/17] xfs: Convert sync_page_range() to simple fdatawrite_range() Subject: [PATCH 13/17] xfs: Convert sync_page_range() to simple fdatawrite_range() Date: Fri, 21 Aug 2009 19:24:03 +0200 Message-Id: <1250875447-15622-14-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1250875447-15622-1-git-send-email-jack@suse.cz> References: <1250875447-15622-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1250875452 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.6843 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 says that it is enough for XFS to call filemap_fdatawrite_range() instead of sync_page_range() because we do all the waiting when forcing the log. CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Christoph Hellwig Signed-off-by: Jan Kara --- fs/xfs/linux-2.6/xfs_lrw.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c index 7078974..a68053c 100644 --- a/fs/xfs/linux-2.6/xfs_lrw.c +++ b/fs/xfs/linux-2.6/xfs_lrw.c @@ -817,7 +817,7 @@ write_retry: xfs_iunlock(xip, iolock); if (need_i_mutex) mutex_unlock(&inode->i_mutex); - error2 = sync_page_range(inode, mapping, pos, ret); + error2 = filemap_fdatawrite_range(mapping, pos, pos + ret - 1); if (!error) error = error2; if (need_i_mutex) -- 1.6.0.2 From jack@suse.cz Fri Aug 21 12:23: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 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 n7LHNKGk183859 for ; Fri, 21 Aug 2009 12:23:31 -0500 X-ASG-Debug-ID: 1250875449-62ba02230000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2293A1507F51 for ; Fri, 21 Aug 2009 10:24:09 -0700 (PDT) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id U7lj9LhignoGFUB3 for ; Fri, 21 Aug 2009 10:24:09 -0700 (PDT) Received: from relay1.suse.de (relay-ext.suse.de [195.135.221.8]) by mx2.suse.de (Postfix) with ESMTP id 26C0B8DFA1; Fri, 21 Aug 2009 19:24:09 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id 94071269396; Fri, 21 Aug 2009 19:24:08 +0200 (CEST) From: Jan Kara To: LKML Cc: hch@lst.de, linux-fsdevel@vger.kernel.org, Jan Kara , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Subject: [PATCH 03/17] vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() Date: Fri, 21 Aug 2009 19:23:53 +0200 Message-Id: <1250875447-15622-4-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1250875447-15622-1-git-send-email-jack@suse.cz> References: <1250875447-15622-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1250875450 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.6843 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 generic_file_direct_write() and generic_file_buffered_write() called generic_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But this is superfluous since generic_file_aio_write() does the syncing as well. Also XFS and OCFS2 which call these functions directly handle syncing themselves. So let's have a single place where syncing happens: generic_file_aio_write(). We slightly change the behavior by syncing only the range of file to which the write happened for buffered writes but that should be all that is required. CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com Signed-off-by: Jan Kara --- mm/filemap.c | 35 ++++++----------------------------- 1 files changed, 6 insertions(+), 29 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c index 554a396..f863e1d 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2187,20 +2187,7 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, } *ppos = end; } - - /* - * Sync the fs metadata but not the minor inode changes and - * of course not the data as we did direct DMA for the IO. - * i_mutex is held, which protects generic_osync_inode() from - * livelocking. AIO O_DIRECT ops attempt to sync metadata here. - */ out: - if ((written >= 0 || written == -EIOCBQUEUED) && - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { - int err = generic_osync_inode(inode, mapping, OSYNC_METADATA); - if (err < 0) - written = err; - } return written; } EXPORT_SYMBOL(generic_file_direct_write); @@ -2332,8 +2319,6 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, { struct file *file = iocb->ki_filp; struct address_space *mapping = file->f_mapping; - const struct address_space_operations *a_ops = mapping->a_ops; - struct inode *inode = mapping->host; ssize_t status; struct iov_iter i; @@ -2343,16 +2328,6 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, if (likely(status >= 0)) { written += status; *ppos = pos + status; - - /* - * For now, when the user asks for O_SYNC, we'll actually give - * O_DSYNC - */ - if (unlikely((file->f_flags & O_SYNC) || IS_SYNC(inode))) { - if (!a_ops->writepage || !is_sync_kiocb(iocb)) - status = generic_osync_inode(inode, mapping, - OSYNC_METADATA|OSYNC_DATA); - } } /* @@ -2514,11 +2489,12 @@ ssize_t generic_file_aio_write_nolock(struct kiocb *iocb, ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); - if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if ((ret > 0 || ret == -EIOCBQUEUED) && + ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { ssize_t err; err = sync_page_range_nolock(inode, mapping, pos, ret); - if (err < 0) + if (err < 0 && ret > 0) ret = err; } return ret; @@ -2550,11 +2526,12 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); mutex_unlock(&inode->i_mutex); - if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if ((ret > 0 || ret == -EIOCBQUEUED) && + ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { ssize_t err; err = sync_page_range(inode, mapping, pos, ret); - if (err < 0) + if (err < 0 && ret > 0) ret = err; } return ret; -- 1.6.0.2 From jack@suse.cz Fri Aug 21 12:23: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 n7LHNRsc183865 for ; Fri, 21 Aug 2009 12:23:37 -0500 X-ASG-Debug-ID: 1250875453-61c1004f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 04C763EB8C7 for ; Fri, 21 Aug 2009 10:24:13 -0700 (PDT) Received: from mx1.suse.de (cantor.suse.de [195.135.220.2]) by cuda.sgi.com with ESMTP id Q9WI4NmjMrthvmwr for ; Fri, 21 Aug 2009 10:24:13 -0700 (PDT) X-ASG-Whitelist: Barracuda Reputation Received: from relay2.suse.de (relay-ext.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 7A42F947B6; Fri, 21 Aug 2009 19:24:09 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id CC45F2297EC; Fri, 21 Aug 2009 19:24:08 +0200 (CEST) From: Jan Kara To: LKML Cc: hch@lst.de, linux-fsdevel@vger.kernel.org, Jan Kara , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Date: Fri, 21 Aug 2009 19:23:57 +0200 Message-Id: <1250875447-15622-8-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1250875447-15622-1-git-send-email-jack@suse.cz> References: <1250875447-15622-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor.suse.de[195.135.220.2] X-Barracuda-Start-Time: 1250875457 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 Introduce new function for generic inode syncing (generic_sync_file) and use it from fsync() path. Introduce also new helper for syncing after a sync write (generic_write_sync) using the generic function. Use these new helpers for syncing from generic VFS functions. This makes O_SYNC writes to block devices acquire i_mutex for syncing. If we really care about this, we can make block_fsync() drop the i_mutex and reacquire it before it returns. CC: Evgeniy Polyakov CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net CC: OGAWA Hirofumi CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Acked-by: Christoph Hellwig Signed-off-by: Jan Kara --- fs/splice.c | 22 ++++---------- fs/sync.c | 81 +++++++++++++++++++++++++++++++++++++++++++--------- include/linux/fs.h | 7 ++++ mm/filemap.c | 18 ++++-------- 4 files changed, 86 insertions(+), 42 deletions(-) diff --git a/fs/splice.c b/fs/splice.c index 73766d2..8190237 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -976,25 +976,15 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out, if (ret > 0) { unsigned long nr_pages; + int err; - *ppos += ret; nr_pages = (ret + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; - /* - * If file or inode is SYNC and we actually wrote some data, - * sync it. - */ - if (unlikely((out->f_flags & O_SYNC) || IS_SYNC(inode))) { - int err; - - mutex_lock(&inode->i_mutex); - err = generic_osync_inode(inode, mapping, - OSYNC_METADATA|OSYNC_DATA); - mutex_unlock(&inode->i_mutex); - - if (err) - ret = err; - } + err = generic_write_sync(out, *ppos, ret); + if (err) + ret = err; + else + *ppos += ret; balance_dirty_pages_ratelimited_nr(mapping, nr_pages); } diff --git a/fs/sync.c b/fs/sync.c index 3422ba6..fc320aa 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -176,23 +176,30 @@ int file_fsync(struct file *filp, struct dentry *dentry, int datasync) } /** - * vfs_fsync - perform a fsync or fdatasync on a file + * generic_sync_file - helper to sync data & metadata to disk * @file: file to sync * @dentry: dentry of @file - * @data: only perform a fdatasync operation + * @start: offset in bytes of the beginning of data range to sync + * @end: offset in bytes of the end of data range (inclusive) + * @what: what should be synced * - * Write back data and metadata for @file to disk. If @datasync is - * set only metadata needed to access modified file data is written. + * What the function exactly does is controlled by the @what parameter: * - * In case this function is called from nfsd @file may be %NULL and - * only @dentry is set. This can only happen when the filesystem - * implements the export_operations API. + * If SYNC_SUBMIT_DATA is set, the function submits all pages in the given + * range to disk. + * + * The function always calls ->fsync() callback of the filesystem. If + * SYNC_INODE is not set, we pass down the fact that it is just a datasync. + * + * If SYNC_WAIT_DATA is set, the function waits for writeback to finish + * in the given range. */ -int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) +int generic_sync_file(struct file *file, struct dentry *dentry, loff_t start, + loff_t end, int what) { const struct file_operations *fop; struct address_space *mapping; - int err, ret; + int err, ret = 0; /* * Get mapping and operations from the file in case we have @@ -212,23 +219,50 @@ int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) goto out; } - ret = filemap_fdatawrite(mapping); + if (what & SYNC_SUBMIT_DATA) + ret = filemap_fdatawrite_range(mapping, start, end); /* * We need to protect against concurrent writers, which could cause * livelocks in fsync_buffers_list(). */ mutex_lock(&mapping->host->i_mutex); - err = fop->fsync(file, dentry, datasync); + err = fop->fsync(file, dentry, !(what & SYNC_INODE)); if (!ret) ret = err; mutex_unlock(&mapping->host->i_mutex); - err = filemap_fdatawait(mapping); - if (!ret) - ret = err; + + if (what & SYNC_WAIT_DATA) { + err = filemap_fdatawait_range(mapping, start, end); + if (!ret) + ret = err; + } out: return ret; } +EXPORT_SYMBOL(generic_sync_file); + +/** + * vfs_fsync - perform a fsync or fdatasync on a file + * @file: file to sync + * @dentry: dentry of @file + * @datasync: only perform a fdatasync operation + * + * Write back data and metadata for @file to disk. If @datasync is + * set only metadata needed to access modified file data is written. + * + * In case this function is called from nfsd @file may be %NULL and + * only @dentry is set. This can only happen when the filesystem + * implements the export_operations API. + */ +int vfs_fsync(struct file *file, struct dentry *dentry, int datasync) +{ + int what = SYNC_SUBMIT_DATA | SYNC_WAIT_DATA; + + if (!datasync) + what |= SYNC_INODE; + return generic_sync_file(file, dentry, 0, LLONG_MAX, what); +} EXPORT_SYMBOL(vfs_fsync); static int do_fsync(unsigned int fd, int datasync) @@ -254,6 +288,25 @@ SYSCALL_DEFINE1(fdatasync, unsigned int, fd) return do_fsync(fd, 1); } +/** + * generic_write_sync - perform syncing after a write if file / inode is sync + * @file: file to which the write happened + * @pos: offset where the write started + * @count: length of the write + * + * This is just a simple wrapper about our general syncing function. + * FIXME: Make it inline? + */ +int generic_write_sync(struct file *file, loff_t pos, loff_t count) +{ + if (!(file->f_flags & O_SYNC) && !IS_SYNC(file->f_mapping->host)) + return 0; + return generic_sync_file(file, file->f_path.dentry, pos, + pos + count - 1, + SYNC_SUBMIT_DATA | SYNC_WAIT_DATA); +} +EXPORT_SYMBOL(generic_write_sync); + /* * sys_sync_file_range() permits finely controlled syncing over a segment of * a file in the range offset .. (offset+nbytes-1) inclusive. If nbytes is diff --git a/include/linux/fs.h b/include/linux/fs.h index 29fc8da..648001c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2088,7 +2088,14 @@ extern int __filemap_fdatawrite_range(struct address_space *mapping, extern int filemap_fdatawrite_range(struct address_space *mapping, loff_t start, loff_t end); +/* Flags for generic_sync_file */ +#define SYNC_INODE 1 +#define SYNC_SUBMIT_DATA 2 +#define SYNC_WAIT_DATA 4 +extern int generic_sync_file(struct file *file, struct dentry *dentry, + loff_t start, loff_t end, int what); extern int vfs_fsync(struct file *file, struct dentry *dentry, int datasync); +extern int generic_write_sync(struct file *file, loff_t pos, loff_t count); extern void sync_supers(void); extern void emergency_sync(void); extern void emergency_remount(void); diff --git a/mm/filemap.c b/mm/filemap.c index 3955f7e..70988a1 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -39,11 +39,10 @@ /* * FIXME: remove all knowledge of the buffer layer from the core VM */ -#include /* for generic_osync_inode */ +#include /* for try_to_free_buffers */ #include - /* * Shared mappings implemented 30.11.1994. It's not fully working yet, * though. @@ -2480,19 +2479,16 @@ ssize_t device_aio_write(struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos) { struct file *file = iocb->ki_filp; - struct address_space *mapping = file->f_mapping; - struct inode *inode = mapping->host; ssize_t ret; BUG_ON(iocb->ki_pos != pos); ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); - if ((ret > 0 || ret == -EIOCBQUEUED) && - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if (ret > 0 || ret == -EIOCBQUEUED) { ssize_t err; - err = sync_page_range_nolock(inode, mapping, pos, ret); + err = generic_write_sync(file, pos, ret); if (err < 0 && ret > 0) ret = err; } @@ -2515,8 +2511,7 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos) { struct file *file = iocb->ki_filp; - struct address_space *mapping = file->f_mapping; - struct inode *inode = mapping->host; + struct inode *inode = file->f_mapping->host; ssize_t ret; BUG_ON(iocb->ki_pos != pos); @@ -2525,11 +2520,10 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); mutex_unlock(&inode->i_mutex); - if ((ret > 0 || ret == -EIOCBQUEUED) && - ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if (ret > 0 || ret == -EIOCBQUEUED) { ssize_t err; - err = sync_page_range(inode, mapping, pos, ret); + err = generic_write_sync(file, pos, ret); if (err < 0 && ret > 0) ret = err; } -- 1.6.0.2 From hch@lst.de Fri Aug 21 12:27: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.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 n7LHRGPp184155 for ; Fri, 21 Aug 2009 12:27:31 -0500 X-ASG-Debug-ID: 1250875686-50ba02f00000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from verein.lst.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F31BD1508580; Fri, 21 Aug 2009 10:28:06 -0700 (PDT) Received: from verein.lst.de (verein.lst.de [213.95.11.210]) by cuda.sgi.com with ESMTP id KgZMifM8lsPd97iT; Fri, 21 Aug 2009 10:28:06 -0700 (PDT) X-ASG-Whitelist: Client Received: from verein.lst.de (localhost [127.0.0.1]) by verein.lst.de (8.12.3/8.12.3/Debian-7.1) with ESMTP id n7LHS2VL030339 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Fri, 21 Aug 2009 19:28:02 +0200 Received: (from hch@localhost) by verein.lst.de (8.12.3/8.12.3/Debian-7.2) id n7LHS1C6030338; Fri, 21 Aug 2009 19:28:01 +0200 Date: Fri, 21 Aug 2009 19:28:01 +0200 From: Christoph Hellwig To: Jan Kara Cc: LKML , hch@lst.de, linux-fsdevel@vger.kernel.org, Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 13/17] xfs: Convert sync_page_range() to simple fdatawrite_range() Subject: Re: [PATCH 13/17] xfs: Convert sync_page_range() to simple fdatawrite_range() Message-ID: <20090821172801.GA30254@lst.de> References: <1250875447-15622-1-git-send-email-jack@suse.cz> <1250875447-15622-14-git-send-email-jack@suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1250875447-15622-14-git-send-email-jack@suse.cz> User-Agent: Mutt/1.3.28i X-Scanned-By: MIMEDefang 2.39 X-Barracuda-Connect: verein.lst.de[213.95.11.210] X-Barracuda-Start-Time: 1250875686 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 Fri, Aug 21, 2009 at 07:24:03PM +0200, Jan Kara wrote: > + error2 = filemap_fdatawrite_range(mapping, pos, pos + ret - 1); I think this should be a filemap_write_and_wait_range From jack@suse.cz Fri Aug 21 12:59:27 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 n7LHx7Qg185933 for ; Fri, 21 Aug 2009 12:59:17 -0500 X-ASG-Debug-ID: 1250877584-5e8902040000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.suse.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E62293EB73A for ; Fri, 21 Aug 2009 10:59:44 -0700 (PDT) Received: from mx1.suse.de (cantor.suse.de [195.135.220.2]) by cuda.sgi.com with ESMTP id Q32mFlI46yJTFkx7 for ; Fri, 21 Aug 2009 10:59:44 -0700 (PDT) X-ASG-Whitelist: Barracuda Reputation Received: from relay1.suse.de (relay-ext.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 11CE793987; Fri, 21 Aug 2009 19:59:44 +0200 (CEST) Received: by duck.suse.cz (Postfix, from userid 10005) id A46622297EC; Fri, 21 Aug 2009 19:59:43 +0200 (CEST) Date: Fri, 21 Aug 2009 19:59:43 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , LKML , linux-fsdevel@vger.kernel.org, Felix Blyakher , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 13/17] xfs: Convert sync_page_range() to simple fdatawrite_range() Subject: Re: [PATCH 13/17] xfs: Convert sync_page_range() to simple fdatawrite_range() Message-ID: <20090821175943.GB10145@duck.novell.com> References: <1250875447-15622-1-git-send-email-jack@suse.cz> <1250875447-15622-14-git-send-email-jack@suse.cz> <20090821172801.GA30254@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090821172801.GA30254@lst.de> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: cantor.suse.de[195.135.220.2] X-Barracuda-Start-Time: 1250877590 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 Fri 21-08-09 19:28:01, Christoph Hellwig wrote: > On Fri, Aug 21, 2009 at 07:24:03PM +0200, Jan Kara wrote: > > + error2 = filemap_fdatawrite_range(mapping, pos, pos + ret - 1); > > I think this should be a filemap_write_and_wait_range Ah true, I somehow misinterpretted what xfs_write_sync_logforce() does. Honza -- Jan Kara SUSE Labs, CR From k@adamski.org Fri Aug 21 18:06: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=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 n7LN6bF3204953 for ; Fri, 21 Aug 2009 18:06:47 -0500 X-ASG-Debug-ID: 1250896019-61cf003a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from radon.netxsys.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 590E1150D01D for ; Fri, 21 Aug 2009 16:07:00 -0700 (PDT) Received: from radon.netxsys.com (radon.netxsys.com [204.16.202.162]) by cuda.sgi.com with ESMTP id VxLM3d757C6i5cdh for ; Fri, 21 Aug 2009 16:07:00 -0700 (PDT) Received: from [205.233.151.7] (Oxygen.NetXSys.Com [205.233.151.7]) by radon.netxsys.com (Postfix) with ESMTP id A827DC000093 for ; Fri, 21 Aug 2009 19:06:57 -0400 (EDT) X-ASG-Orig-Subj: XFS disk half full, yet it is reporting out of disk (linux) Subject: XFS disk half full, yet it is reporting out of disk (linux) From: Krzysztof Adamski To: xfs@oss.sgi.com Content-Type: text/plain Date: Fri, 21 Aug 2009 19:06:56 -0400 Message-Id: <1250896016.8535.19.camel@oxygen.netxsys.com> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: radon.netxsys.com[204.16.202.162] X-Barracuda-Start-Time: 1250896046 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.6856 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 I'm running a 64bit kernel Linux (Debian Lenny) self compiled kernel 2.6.30.4. I have created a 5T xfs filesystem, it is about half full but I get "No space left on device" Here is the output of df: gen:/fstore-1# df . Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/mega--raid--1-fstore--1 5265707008 2711698716 2554008292 52% /fstore-1 gen:/fstore-1# df -i . Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/mega--raid--1-fstore--1 1053167616 736704 1052430912 1% /fstore-1 gen:/fstore-1# >abc -bash: abc: No space left on device What limit did I hit? K From k@adamski.org Fri Aug 21 22:30: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.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 n7M3UTSv219438 for ; Fri, 21 Aug 2009 22:30:39 -0500 X-ASG-Debug-ID: 1250911855-145001fc0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from radon.netxsys.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D24123ED5FB for ; Fri, 21 Aug 2009 20:30:55 -0700 (PDT) Received: from radon.netxsys.com (radon.netxsys.com [204.16.202.162]) by cuda.sgi.com with ESMTP id XV2lRcQ6Tk5eDCPJ for ; Fri, 21 Aug 2009 20:30:55 -0700 (PDT) Received: from [205.233.151.7] (Oxygen.NetXSys.Com [205.233.151.7]) by radon.netxsys.com (Postfix) with ESMTP id 7B49FC000093; Fri, 21 Aug 2009 23:30:55 -0400 (EDT) X-ASG-Orig-Subj: Re: XFS disk half full, yet it is reporting out of disk (linux) Subject: Re: XFS disk half full, yet it is reporting out of disk (linux) From: Krzysztof Adamski To: Chris Wedgwood Cc: xfs@oss.sgi.com In-Reply-To: <20090822031317.GA20065@puku.stupidest.org> References: <1250896016.8535.19.camel@oxygen.netxsys.com> <20090822031317.GA20065@puku.stupidest.org> Content-Type: text/plain Date: Fri, 21 Aug 2009 23:30:53 -0400 Message-Id: <1250911853.8535.26.camel@oxygen.netxsys.com> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: radon.netxsys.com[204.16.202.162] X-Barracuda-Start-Time: 1250911876 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.6874 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 Fri, 2009-08-21 at 20:13 -0700, Chris Wedgwood wrote: > On Fri, Aug 21, 2009 at 07:06:56PM -0400, Krzysztof Adamski wrote: > > > I'm running a 64bit kernel Linux (Debian Lenny) self compiled kernel > > 2.6.30.4. I have created a 5T xfs filesystem, it is about half full > > but I get "No space left on device" > > > > Here is the output of df: > > gen:/fstore-1# df . > > Filesystem 1K-blocks Used Available Use% Mounted on > > /dev/mapper/mega--raid--1-fstore--1 > > 5265707008 2711698716 2554008292 52% /fstore-1 > > gen:/fstore-1# df -i . > > Filesystem Inodes IUsed IFree IUse% Mounted on > > /dev/mapper/mega--raid--1-fstore--1 > > 1053167616 736704 1052430912 1% /fstore-1 > > gen:/fstore-1# >abc > > -bash: abc: No space left on device > > > > What limit did I hit? > > lower 2T of disk full? so it might have trouble allocating free space > for inodes > > does remoutning with inode64 help? Yes, that helped, thanks. The explanation in the man page for mount of the inode64 is not clear on the effect of this option. K From jpiszcz@lucidpixels.com Sat Aug 22 05:27:21 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7MAR1JT243258 for ; Sat, 22 Aug 2009 05:27:11 -0500 X-ASG-Debug-ID: 1250936850-37bd014f0000-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 267C23EDD12 for ; Sat, 22 Aug 2009 03:27:30 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id 3PEzIQCKICgeWw2g for ; Sat, 22 Aug 2009 03:27:30 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 3E3E93E58; Sat, 22 Aug 2009 06:27:30 -0400 (EDT) Date: Sat, 22 Aug 2009 06:27:30 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: Felix Blyakher , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) In-Reply-To: Message-ID: References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> <20090816022331.GA2309@infradead.org> 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: 1250936871 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.6901 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 On Mon, 17 Aug 2009, Justin Piszcz wrote: > > > On Sat, 15 Aug 2009, Christoph Hellwig wrote: > On this system, I am running loop-aes, could that be the culprit? On all other systems not using loop-aes with 2.6.30.x, I do not see this issue. Kernel: 2.6.29.1 is unaffected. Kernel 2.6.30.4 - 2.6.31-rc6-1 are affected sysrq-t: [144104.513619] grep D 80000000 0 21201 21171 0x00000000 [144104.513619] 00000000 00000086 c0cfb200 80000000 00000000 c4b80700 00000000 cf2bd800 [144104.513619] ce4d21a0 ce6270a0 00000000 cf2bd800 c1170ad4 00000002 01000000 c0723dc4 [144104.513619] 000000d4 c1b4fba4 ce6270e8 00000001 c0cfb200 c101a960 c072dc2c c04edd48 [144104.513619] Call Trace: [144104.513619] [] ? xlog_state_get_iclog_space+0x74/0x220 [144104.513619] [] ? default_wake_function+0x0/0x10 [144104.513619] [] ? xlog_write+0x138/0x5f0 [144104.513619] [] ? xfs_log_write+0x47/0xa0 [144104.513619] [] ? _xfs_trans_commit+0x179/0x3b0 [144104.513619] [] ? xfs_trans_log_inode+0x7a/0xc0 [144104.513619] [] ? xfs_itruncate_finish+0x556/0x680 [144104.513619] [] ? xfs_free_eofblocks+0x303/0x310 [144104.513619] [] ? xfs_file_release+0xa/0x10 [144104.513619] [] ? __fput+0xca/0x1c0 [144104.513619] [] ? filp_close+0x47/0x80 [144104.513619] [] ? sys_read+0x41/0x80 [144104.513619] [] ? sys_close+0x6c/0xa0 [144104.513619] [] ? sysenter_do_call+0x12/0x26 sysrq-w: [144122.352339] grep D 00000000 0 22392 22362 0x00000000 [144122.352339] 00000000 00000082 c0776760 00000000 00000000 c19d4040 cf58d0d4 00000000 [144122.352339] c5c42534 c5c42534 c0785e3c c0785f5c c130133d c5c42538 c0776760 c0785e7c [144122.352339] c5c42534 c5c424c0 00000001 c0785f5c c130147a c5c42538 c077be3c c0776760 [144122.352339] Call Trace: [144122.352339] [] ? rwsem_down_failed_common+0x7d/0x170 [144122.352339] [] ? rwsem_down_read_failed+0x1a/0x24 [144122.352339] [] ? call_rwsem_down_read_failed+0x7/0xc [144122.352339] [] ? down_read+0x9/0x10 [144122.352339] [] ? xfs_ilock+0x90/0xc0 [144122.352339] [] ? xfs_read+0x104/0x260 [144122.352339] [] ? xfs_file_aio_read+0x62/0x70 [144122.352339] [] ? do_sync_read+0xd5/0x120 [144122.352339] [] ? __alloc_pages_nodemask+0xd7/0x530 [144122.352339] [] ? autoremove_wake_function+0x0/0x50 [144122.352339] [] ? page_add_new_anon_rmap+0x56/0x80 [144122.352339] [] ? handle_mm_fault+0x416/0x510 [144122.352339] [] ? do_sync_read+0x0/0x120 [144122.352339] [] ? vfs_read+0x9d/0x160 [144122.352339] [] ? sys_read+0x41/0x80 [144122.352339] [] ? sysenter_do_call+0x12/0x26 Justin. From BATV+e16f184b8dbdd17fc9ff+2190+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 22 09:25:48 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 n7MEPLI0254239 for ; Sat, 22 Aug 2009 09:25:38 -0500 X-ASG-Debug-ID: 1250951151-103a01f40000-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 2BE5F14F3472; Sat, 22 Aug 2009 07:25:52 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id kI23hJKUVXdaZPB6; Sat, 22 Aug 2009 07:25:52 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MerXS-0003AQ-KB; Sat, 22 Aug 2009 14:25:50 +0000 Date: Sat, 22 Aug 2009 10:25:50 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: Christoph Hellwig , Felix Blyakher , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Message-ID: <20090822142550.GA10003@infradead.org> References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> <20090816022331.GA2309@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1250951172 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 Sat, Aug 22, 2009 at 06:27:30AM -0400, Justin Piszcz wrote: > > > On Mon, 17 Aug 2009, Justin Piszcz wrote: > >> >> >> On Sat, 15 Aug 2009, Christoph Hellwig wrote: >> > > On this system, I am running loop-aes, could that be the culprit? On all > other systems not using loop-aes with 2.6.30.x, I do not see this issue. Yes, entirely possible. All the crypto loop / dm implementation used to have a tendency to never complete I/O once in a while, although that didn't happen anymore recently. From jpiszcz@lucidpixels.com Sat Aug 22 09:44:14 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 n7MEhsTd255067 for ; Sat, 22 Aug 2009 09:44:04 -0500 X-ASG-Debug-ID: 1250952274-587603430000-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 F1E8F150FD45 for ; Sat, 22 Aug 2009 07:44:35 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id kZpjENsCzOED7ayv for ; Sat, 22 Aug 2009 07:44:35 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id B4D1B3E4D; Sat, 22 Aug 2009 10:44:31 -0400 (EDT) Date: Sat, 22 Aug 2009 10:44:31 -0400 (EDT) From: Justin Piszcz To: xfs@oss.sgi.com X-ASG-Orig-Subj: 2.6.26.3 / loop-aes/xfs corruption? Subject: 2.6.26.3 / loop-aes/xfs corruption? 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: 1250952283 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.6916 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, On an older machine: [2340962.903497] XFS internal error XFS_WANT_CORRUPTED_GOTO at line 1545 of file fs/xfs/xfs_alloc.c. Caller 0xc021ccd8 [2340962.903497] Pid: 24649, comm: mv Not tainted 2.6.26.3 #1 [2340962.903497] [] xfs_free_ag_extent+0x424/0x6f0 [2340962.903497] [] xfs_free_extent+0xb8/0xe0 [2340962.903497] [] xfs_free_extent+0xb8/0xe0 [2340962.903497] [] xfs_bmap_finish+0xf2/0x170 [2340962.903497] [] xfs_itruncate_finish+0x295/0x3f0 [2340962.903497] [] xfs_trans_ijoin+0x28/0x80 [2340962.903497] [] xfs_inactive+0x476/0x510 [2340962.903497] [] inotify_inode_is_dead+0x18/0x80 [2340962.903497] [] xfs_fs_clear_inode+0x73/0xc0 [2340962.903497] [] invalidate_inode_buffers+0x19/0xb0 [2340962.903497] [] clear_inode+0xa5/0x100 [2340962.903497] [] generic_delete_inode+0xb8/0xc0 [2340962.903497] [] iput+0x3f/0x50 [2340962.903497] [] do_unlinkat+0xca/0x150 [2340962.903497] [] __sched_text_start+0x1f2/0x4d0 [2340962.903497] [] sys_write+0x41/0x70 [2340962.903497] [] syscall_call+0x7/0xb [2340962.903497] ======================= [2340962.903497] xfs_force_shutdown(loop0,0x8) called from line 4261 of file fs/ xfs/xfs_bmap.c. Return address = 0xc022e5aa [2340962.911473] Filesystem "loop0": Corruption of in-memory data detected. Shu tting down filesystem: loop0 [2340962.911473] Please umount the filesystem, and rectify the problem(s) [2340964.670988] Filesystem "loop0": xfs_log_force: error 5 returned. [2340969.808536] Filesystem "loop0": xfs_log_force: error 5 returned. [2340999.869059] Filesystem "loop0": xfs_log_force: error 5 returned. [2341029.864456] Filesystem "loop0": xfs_log_force: error 5 returned. [2341059.857386] Filesystem "loop0": xfs_log_force: error 5 returned. [2341089.848682] Filesystem "loop0": xfs_log_force: error 5 returned. [2341119.840220] Filesystem "loop0": xfs_log_force: error 5 returned. After a reboot and fsck, luckily only 2 files were moved to /lost+found, but before with xfs_repair -n, there were hundreds of errors, had to zero out the log as it could not mount, xfs_repair -L and then it worked/mounted. Older kernel used: 2.6.26.3 Due to HW issues/etc, need to stay on 2.6.26.3 but has anyone seen this particular fail case before? Justin. From jpiszcz@lucidpixels.com Sat Aug 22 09:44:43 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 n7MEiNKu255096 for ; Sat, 22 Aug 2009 09:44:33 -0500 X-ASG-Debug-ID: 1250952313-103f02830000-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 B5DE3150FD45 for ; Sat, 22 Aug 2009 07:45:13 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id XU0I36zqbWVLGZFR for ; Sat, 22 Aug 2009 07:45:13 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 575DD3E58; Sat, 22 Aug 2009 10:45:13 -0400 (EDT) Date: Sat, 22 Aug 2009 10:45:13 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) In-Reply-To: <20090822142550.GA10003@infradead.org> Message-ID: References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> <20090816022331.GA2309@infradead.org> <20090822142550.GA10003@infradead.org> 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: 1250952313 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.6916 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 Sat, 22 Aug 2009, Christoph Hellwig wrote: > On Sat, Aug 22, 2009 at 06:27:30AM -0400, Justin Piszcz wrote: >> >> >> On Mon, 17 Aug 2009, Justin Piszcz wrote: >> >>> >>> >>> On Sat, 15 Aug 2009, Christoph Hellwig wrote: >>> >> >> On this system, I am running loop-aes, could that be the culprit? On all >> other systems not using loop-aes with 2.6.30.x, I do not see this issue. > > Yes, entirely possible. All the crypto loop / dm implementation used > to have a tendency to never complete I/O once in a while, although that > didn't happen anymore recently. Ok, What is the best way to debug the issue? git bi-sects between 2.6.29.x and 2.6.31-rc6? or? Justin. From BATV+e16f184b8dbdd17fc9ff+2190+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 22 15:15: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.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 n7MKFBmc011384 for ; Sat, 22 Aug 2009 15:15:27 -0500 X-ASG-Debug-ID: 1250972160-41c903e20000-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 051803EE6BB for ; Sat, 22 Aug 2009 13:16:00 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id h1WogRCUtwQz2OUe for ; Sat, 22 Aug 2009 13:16:00 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mex0J-0005KP-1g; Sat, 22 Aug 2009 20:15:59 +0000 Date: Sat, 22 Aug 2009 16:15:59 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: Christoph Hellwig , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Message-ID: <20090822201558.GA17955@infradead.org> References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> <20090816022331.GA2309@infradead.org> <20090822142550.GA10003@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1250972161 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 Sat, Aug 22, 2009 at 10:45:13AM -0400, Justin Piszcz wrote: >> Yes, entirely possible. All the crypto loop / dm implementation used >> to have a tendency to never complete I/O once in a while, although that >> didn't happen anymore recently. > > Ok, > > What is the best way to debug the issue? git bi-sects between 2.6.29.x > and 2.6.31-rc6? or? Well, that would be a good way to find it. But I'm personally not interested in spending much time on debugging a problem if it only happens with fishy out of tree modules. From jpiszcz@lucidpixels.com Sat Aug 22 15:47:03 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7MKkhgg013814 for ; Sat, 22 Aug 2009 15:46:53 -0500 X-ASG-Debug-ID: 1250974044-189a00380000-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 026EB3EE822 for ; Sat, 22 Aug 2009 13:47:24 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id SsEYgX3PGRCxxlAp for ; Sat, 22 Aug 2009 13:47:24 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 4C8303E58; Sat, 22 Aug 2009 16:46:52 -0400 (EDT) Date: Sat, 22 Aug 2009 16:46:52 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) In-Reply-To: <20090822201558.GA17955@infradead.org> Message-ID: References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> <20090816022331.GA2309@infradead.org> <20090822142550.GA10003@infradead.org> <20090822201558.GA17955@infradead.org> 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: 1250974051 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.6939 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 Sat, 22 Aug 2009, Christoph Hellwig wrote: > On Sat, Aug 22, 2009 at 10:45:13AM -0400, Justin Piszcz wrote: >>> Yes, entirely possible. All the crypto loop / dm implementation used >>> to have a tendency to never complete I/O once in a while, although that >>> didn't happen anymore recently. >> >> Ok, >> >> What is the best way to debug the issue? git bi-sects between 2.6.29.x >> and 2.6.31-rc6? or? > > Well, that would be a good way to find it. But I'm personally not > interested in spending much time on debugging a problem if it only > happens with fishy out of tree modules. > .. No out of tree modules are used .. Here is the kernel config used: http://home.comcast.net/~jpiszcz/20090822/config.txt After 24hrs of various tar-like read/write/verify I/O, the error usually recurs. Justin. From BATV+e16f184b8dbdd17fc9ff+2190+infradead.org+hch@bombadil.srs.infradead.org Sat Aug 22 15:57: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.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 n7MKvO69014531 for ; Sat, 22 Aug 2009 15:57:39 -0500 X-ASG-Debug-ID: 1250974694-187400fd0000-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 10D7D3EE8B6 for ; Sat, 22 Aug 2009 13:58:14 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 6DivUXDzzLgRbiI5 for ; Sat, 22 Aug 2009 13:58:14 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mexc6-0005Ng-Mk; Sat, 22 Aug 2009 20:55:02 +0000 Date: Sat, 22 Aug 2009 16:55:02 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: Christoph Hellwig , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Message-ID: <20090822205502.GA18904@infradead.org> References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> <20090816022331.GA2309@infradead.org> <20090822142550.GA10003@infradead.org> <20090822201558.GA17955@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1250974695 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 Sat, Aug 22, 2009 at 04:46:52PM -0400, Justin Piszcz wrote: >> Well, that would be a good way to find it. But I'm personally not >> interested in spending much time on debugging a problem if it only >> happens with fishy out of tree modules. >> > > .. No out of tree modules are used .. Your previous mail said it only happened using loop-aes. Is that the case or not? From jpiszcz@lucidpixels.com Sat Aug 22 16:00: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.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 n7ML0Y5F014747 for ; Sat, 22 Aug 2009 16:00:44 -0500 X-ASG-Debug-ID: 1250974872-189601150000-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 043683EE7CF for ; Sat, 22 Aug 2009 14:01:12 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id AAfr7mQhkm3QnEJA for ; Sat, 22 Aug 2009 14:01:12 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 7C71F3E4D; Sat, 22 Aug 2009 17:01:12 -0400 (EDT) Date: Sat, 22 Aug 2009 17:01:12 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) In-Reply-To: <20090822205502.GA18904@infradead.org> Message-ID: References: <00980BBF-1206-4BEF-A8AE-B4A8DAE7EC27@sgi.com> <20090816022331.GA2309@infradead.org> <20090822142550.GA10003@infradead.org> <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> 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: 1250974879 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.6941 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 Sat, 22 Aug 2009, Christoph Hellwig wrote: > On Sat, Aug 22, 2009 at 04:46:52PM -0400, Justin Piszcz wrote: >>> Well, that would be a good way to find it. But I'm personally not >>> interested in spending much time on debugging a problem if it only >>> happens with fishy out of tree modules. >>> >> >> .. No out of tree modules are used .. > > Your previous mail said it only happened using loop-aes. Is that the > case or not? > My mistake, Sorry for the confusion-- it is cryptoloop on this particular host: [note to self]: http://tldp.org/HOWTO/html_single/Cryptoloop-HOWO/ Justin. From jquigley@jquigley.com Sun Aug 23 13: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.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 n7NIHQwv073212 for ; Sun, 23 Aug 2009 13:17:36 -0500 X-ASG-Debug-ID: 1251051466-6ab900570000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id B0CBC1D5EEB0 for ; Sun, 23 Aug 2009 11:17:46 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id xThJ9HJiRHUYKzZY for ; Sun, 23 Aug 2009 11:17:46 -0700 (PDT) Received: from [10.1.1.11] (OSH-NAT-213-122.onshore.net [66.146.213.122]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id 86596204544 for ; Sun, 23 Aug 2009 18:17:44 +0000 (UTC) Message-ID: <4A9187C7.9010206@jquigley.com> Date: Sun, 23 Aug 2009 13:17:43 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with power failure Subject: Re: XFS corruption with power failure References: <606994882.2142291250648292843.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <4A8C1E6E.8020405@jquigley.com> In-Reply-To: <4A8C1E6E.8020405@jquigley.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1251051492 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.7025 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 John Quigley wrote: > We've distilled this into a reproducible environment with a stack of NFS + XFS > to a local disk + automated sysrq 'b' reboots. We're working on getting > this bundled up into a nice little package as a VirtualBox vm for your > consumption. Please tell me if this is not desirable. The self-contained and reproducible environment can be downloaded from the following location: http://www.jquigley.com/tmp/xfsVM.tar.bz2 That's a ~550 MB (compressed) image that can be 'imported' directly into the latest VirtualBox. Instructions for setting up the environment (trivial, should take you a mere couple of minutes): http://www.jquigley.com/tmp/README.txt The basic concept here is to use the VM as the file server, accessing the XFS file system thereon through the guest OS which acts as the NFS client. Automated reboots are effected with cron and sysrq 'b', so you can just set this up and run it until failure. Hope this helps lend insight - if there are any questions, please ask. Thanks for your time. - John Quigley From BATV+db9a2ea2a35b3e1a679c+2191+infradead.org+hch@bombadil.srs.infradead.org Sun Aug 23 17:44:44 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 n7NMiHLC084364 for ; Sun, 23 Aug 2009 17:44:34 -0500 X-ASG-Debug-ID: 1251067507-5ac501db0000-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 319573F0229 for ; Sun, 23 Aug 2009 15:45:08 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id dFfpxgcgJXqORF9l for ; Sun, 23 Aug 2009 15:45:08 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MfLo8-000795-J4; Sun, 23 Aug 2009 22:45:04 +0000 Date: Sun, 23 Aug 2009 18:45:04 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: Christoph Hellwig , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Message-ID: <20090823224504.GA19942@infradead.org> References: <20090816022331.GA2309@infradead.org> <20090822142550.GA10003@infradead.org> <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1251067508 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 Ok, let's see where errors could happen then. There are four theoretical possibilities: (a) XFS (b) loop driver (c) crypto loop code (d) block layer Or combinations thereof. I would take (a) and (d) as more unlikely as they tend to get used much more and I would have heard more bug reports already. The cryptoloop code hasn't changed at all since 2.6.29. The loop code howver has a very interesting commit just after 2.6.39: commit 68db1961bbf4e16c220ccec4a780e966bc1fece3 Author: Nikanth Karthikesan Date: Tue Mar 24 12:29:54 2009 +0100 loop: support barrier writes Can you try reverting this one (it cleanly reverse-applies against 2.6.30 and current mainline) and see if that makes a difference? From BATV+db9a2ea2a35b3e1a679c+2191+infradead.org+hch@bombadil.srs.infradead.org Sun Aug 23 17:51:21 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 n7NMouDa084609 for ; Sun, 23 Aug 2009 17:51:11 -0500 X-ASG-Debug-ID: 1251067907-5ac4020e0000-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 DB7B43F01D2 for ; Sun, 23 Aug 2009 15:51:47 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 3peUcbqFJHiecez1 for ; Sun, 23 Aug 2009 15:51:47 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MfLra-0008Oy-G1; Sun, 23 Aug 2009 22:48:38 +0000 Date: Sun, 23 Aug 2009 18:48:38 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.26.3 / loop-aes/xfs corruption? Subject: Re: 2.6.26.3 / loop-aes/xfs corruption? Message-ID: <20090823224838.GB19942@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.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: 1251067907 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 Sat, Aug 22, 2009 at 10:44:31AM -0400, Justin Piszcz wrote: > Hi, > > On an older machine: > > [2340962.903497] XFS internal error XFS_WANT_CORRUPTED_GOTO at line 1545 of file > fs/xfs/xfs_alloc.c. Caller 0xc021ccd8 > [2340962.903497] Pid: 24649, comm: mv Not tainted 2.6.26.3 #1 This is a very typical sign for corruption cause by the lack of write barriers on enabled write caches. > [2340962.911473] Filesystem "loop0": Corruption of in-memory data detected. Shu And using the loop device is kindof a worsened version of hanving write caches as we don't just have small disk caches that can fill up but major amounts of the main memory. The loop device before 2.6.30 is unfortunately not safe in case of system crashes. And given your other report we'll have to see if maybe the barrier support in 2.6.30 cause other kinds of problems to, although it could be something else. From marketing@impulsecommercialbrokers.com Sun Aug 23 21:56:02 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=4.0 required=5.0 tests=AWL,BAYES_50, DATE_IN_PAST_12_24,HTML_FONT_SIZE_LARGE,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 n7O2tgJa094816 for ; Sun, 23 Aug 2009 21:55:52 -0500 X-ASG-Debug-ID: 1251082560-02a402aa0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from outbound-mail-146.bluehost.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id D88081515E2C for ; Sun, 23 Aug 2009 19:56:00 -0700 (PDT) Received: from outbound-mail-146.bluehost.com (outbound-mail-146.bluehost.com [67.222.38.36]) by cuda.sgi.com with SMTP id xi7ZYV9Hk15or9aE for ; Sun, 23 Aug 2009 19:56:00 -0700 (PDT) Received: (qmail 25745 invoked by uid 0); 24 Aug 2009 02:55:55 -0000 Received: from unknown (HELO box370.bluehost.com) (69.89.31.170) by outboundproxy5.bluehost.com with SMTP; 24 Aug 2009 02:55:55 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=impulsecommercialbrokers.com; h=Received:Reply-To:From:To:Subject:Date:MIME-Version:Content-Type:X-Priority:X-MSMail-Priority:X-Mailer:Importance:Thread-Index:X-MimeOLE:X-Identified-User; b=N2b7FjbscsT44Sy8BgG72Qz8+qYmFmbl/7Iga5w3+d0Y8iPdSJsJkmVklPN35q/kqZ7DcA9uv3Hu3lQuYrbtx+ZPmhEfzElYEKzszOZ5NNk8yOIAvZniPob1tDnbitVB; Received: from de2-as6884.alshamil.net.ae ([92.97.127.26] helo=mehta) by box370.bluehost.com with esmtpa (Exim 4.69) (envelope-from ) id 1MfPio-0005wC-J3; Sun, 23 Aug 2009 20:55:55 -0600 Reply-To: From: To: X-ASG-Orig-Subj: =?us-ascii?Q?=22Advertise_at_no_extra_cost=22?= Subject: =?us-ascii?Q?=22Advertise_at_no_extra_cost=22?= Date: Sun, 23 Aug 2009 18:02:55 +0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_005C_01CA2487.EAFC2B20" X-Priority: 1 (Highest) X-MSMail-Priority: High X-Mailer: Microsoft Outlook, Build 11.0.5207 Importance: High Thread-Index: AcofAYyVFw5GEDfiSw6JLx63h/aB7A== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-Identified-User: {2908:box370.bluehost.com:impulsec:impulsecommercialbrokers.com} {sentby:smtp auth 92.97.127.26 authed with marketing@impulsecommercialbrokers.com} X-Barracuda-Connect: outbound-mail-146.bluehost.com[67.222.38.36] X-Barracuda-Start-Time: 1251082583 Message-Id: <20090824025600.D88081515E2C@cuda.sgi.com> X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.26 X-Barracuda-Spam-Status: No, SCORE=0.26 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC0_SA_TO_FROM_ADDR_MATCH, DATE_IN_PAST_12_24, DATE_IN_PAST_12_24_2, HTML_FONT_SIZE_LARGE, HTML_MESSAGE, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7061 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.01 DATE_IN_PAST_12_24 Date: is 12 to 24 hours before Received: date 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 HTML_FONT_SIZE_LARGE BODY: HTML font size is large 1.77 DATE_IN_PAST_12_24_2 DATE_IN_PAST_12_24_2 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address 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. ------=_NextPart_000_005C_01CA2487.EAFC2B20 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit "Advertise at no extra cost" Register your esteem firm @ http://www.icbsource.com " The Future - One stop source engine" Advertise, Promote and expose your products, Services to all importers, exporters, end users around the globe via free advertisement. Advertise Products & Services FREE !! at the One Stop Source engine.. Regards. ICBSOURCE.COM Ps. All queries from customers are directly forwarded to your email id.. we do not entertain any enquiries IF YOU WOULD NOT LIKE TO RECEIVE THIS EMAIL IN FUTURE PLEASE click Remove __________ Information from ESET Smart Security, version of virus signature database 4340 (20090816) __________ The message was checked by ESET Smart Security. http://www.eset.com __________ Information from ESET Smart Security, version of virus signature database 4359 (20090822) __________ The message was checked by ESET Smart Security. http://www.eset.com ------=_NextPart_000_005C_01CA2487.EAFC2B20 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

“Advertise at no extra = cost”

 

Register your esteem firm @ “ The Future - One stop source = engine”

 

Advertise, Promote and expose your products, = Services

 to all importers, exporters, end users = around

 the globe via free = advertisement.

 

Advertise Products & Services  FREE<= /b> = !! at the One Stop Source engine..

 

Regards.

 

ICBSOURCE.COM

 

Ps. All queries from customers are = directly forwarded to your email id.. we do not entertain any = enquiries

 

IF YOU WOULD NOT LIKE TO RECEIVE THIS EMAIL IN FUTURE PLEASE click =   <= span title=3D"blocked::mailto:remove@impulsecommercialbrokers.com blocked:= :mailto:remove@impulsecommercialbrokers.com blocked::mailto:remove@im= pulsecommercialbrokers.com blocked::mailto:remove@impulsecommercialbr= okers.com blocked::mailto:remove@impulsecommercialbrokers.com blo= cked::mailto:remove@impulsecommercialbrokers.com blocked::mailto:remo= ve@impulsecommercialbrokers.com blocked::mailto:remove@impulsecommerc= ialbrokers.com blocked::mailto:remove@impulsecommercialbrokers.com= 0;blocked::mailto:remove@impulsecommercialbrokers.com">Remove<= /span>= <= o:p>

 



__________ Information from ESET Smart Security, version of virus = signature database 4340 (20090816) __________

The message was checked by ESET Smart Security.

http://www.eset.com


__________ Information from ESET Smart Security, version of virus = signature database 4359 (20090822) __________

The message was checked by ESET Smart Security.

http://www.eset.com



__________ Information from ESET Smart Security, version of = virus signature database 4359 (20090822) __________

The message = was checked by ESET Smart Security.

http://www.eset.com
------=_NextPart_000_005C_01CA2487.EAFC2B20-- From jengelh@medozas.de Mon Aug 24 05:12: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.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7OACEDM116304 for ; Mon, 24 Aug 2009 05:12:25 -0500 X-ASG-Debug-ID: 1251108780-04b801270000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sovereign.computergmbh.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 507C81B7AABC for ; Mon, 24 Aug 2009 03:13:00 -0700 (PDT) Received: from sovereign.computergmbh.de (sovereign.computergmbh.de [85.214.69.204]) by cuda.sgi.com with ESMTP id Otdsa7G6yoOsHb3y for ; Mon, 24 Aug 2009 03:13:00 -0700 (PDT) Received: by sovereign.computergmbh.de (Postfix, from userid 25121) id E2AF06A1C7; Mon, 24 Aug 2009 12:12:59 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by sovereign.computergmbh.de (Postfix) with ESMTP id DD92E4179336 for ; Mon, 24 Aug 2009 12:12:59 +0200 (CEST) Date: Mon, 24 Aug 2009 12:12:59 +0200 (CEST) From: Jan Engelhardt Sender: jengelh@sovereign.computergmbh.de To: xfs@oss.sgi.com X-ASG-Orig-Subj: xfs_check does not recognize fs truncation Subject: xfs_check does not recognize fs truncation Message-ID: User-Agent: Alpine 2.00 (LSU 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: sovereign.computergmbh.de[85.214.69.204] X-Barracuda-Start-Time: 1251108783 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.7089 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, This I see on xfsprogs-2.10.1 with kernel 2.6.29.6: # xfs_check /dev/loop0 # echo $? 0 # mount /dev/loop0 /mnt Filesystem "loop0": Disabling barriers, trial barrier write failed attempt to access beyond end of device loop0: rw=0, want=3670016, limit=3649536 I/O error in filesystem ("loop0") meta-data dev loop0 block 0x37ffff ("xfs_read_buf") error 5 buf count 512 XFS: size check 2 failed The fs is truncated (my fault/intention), but xfs_check returning 0 is unexpected. From jpiszcz@lucidpixels.com Mon Aug 24 06: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=-1.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 n7OB4G52119105 for ; Mon, 24 Aug 2009 06:04:26 -0500 X-ASG-Debug-ID: 1251111898-0c5b00ce0000-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 DF4C73F16E8 for ; Mon, 24 Aug 2009 04:04:58 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id fw3Db5R1rXeBMsBC for ; Mon, 24 Aug 2009 04:04:58 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 0BDA23E57; Mon, 24 Aug 2009 07:04:53 -0400 (EDT) Date: Mon, 24 Aug 2009 07:04:52 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) In-Reply-To: <20090823224504.GA19942@infradead.org> Message-ID: References: <20090816022331.GA2309@infradead.org> <20090822142550.GA10003@infradead.org> <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> <20090823224504.GA19942@infradead.org> 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: 1251111907 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.7093 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 Sun, 23 Aug 2009, Christoph Hellwig wrote: > Ok, let's see where errors could happen then. > > There are four theoretical possibilities: > > (a) XFS > (b) loop driver > (c) crypto loop code > (d) block layer > > Or combinations thereof. > > I would take (a) and (d) as more unlikely as they tend to get used much > more and I would have heard more bug reports already. > > The cryptoloop code hasn't changed at all since 2.6.29. > > The loop code howver has a very interesting commit just after 2.6.39: > > commit 68db1961bbf4e16c220ccec4a780e966bc1fece3 > Author: Nikanth Karthikesan > Date: Tue Mar 24 12:29:54 2009 +0100 > > loop: support barrier writes > > Can you try reverting this one (it cleanly reverse-applies against > 2.6.30 and current mainline) and see if that makes a difference? > Hello Christoph, # patch -p1 -R < ../unpatch.patch patching file drivers/block/loop.c Hunk #1 succeeded at 473 (offset -1 lines). Hunk #2 succeeded at 804 (offset -22 lines). # Patched, we'll see if the problem recurs.. thanks! Justin. From xfs@tlinx.org Mon Aug 24 07:14:44 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 n7OCEORw123320 for ; Mon, 24 Aug 2009 07:14:34 -0500 X-ASG-Debug-ID: 1251116087-4226012d0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from Ishtar.sc.tlinx.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id EF5831D5FB27 for ; Mon, 24 Aug 2009 05:14:47 -0700 (PDT) Received: from Ishtar.sc.tlinx.org (ishtar.tlinx.org [64.81.245.74]) by cuda.sgi.com with ESMTP id IakUPDgonR9e9TvJ for ; Mon, 24 Aug 2009 05:14:47 -0700 (PDT) Received: from [192.168.3.11] (Athena [192.168.3.11]) by Ishtar.sc.tlinx.org (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7OCEBwi005059 for ; Mon, 24 Aug 2009 05:14:13 -0700 Message-ID: <4A928413.4050205@tlinx.org> Date: Mon, 24 Aug 2009 05:14:11 -0700 From: "Linda A. Walsh" User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: xfs-oss X-ASG-Orig-Subj: Changing a file system from case sensitive to case insensitive... Subject: Changing a file system from case sensitive to case insensitive... X-Stationery: 0.4.10 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ishtar.tlinx.org[64.81.245.74] X-Barracuda-Start-Time: 1251116115 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0005 1.0000 -2.0178 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.7095 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 I don't suppose this is possible after the file system is already up and running? Or...could be made possible? Doesn't seem like an impossible problem on file systems that have few or no collisions... Is it possible or doable or just easy and I don't know about it? Thanks... -linda From BATV+26612b07d2f45a49d713+2192+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 24 09:49: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7OEmamt130164 for ; Mon, 24 Aug 2009 09:48:52 -0500 X-ASG-Debug-ID: 1251125348-349a021b0000-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 809F83F2935 for ; Mon, 24 Aug 2009 07:49:08 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id gretsFBo5AIzHyhX for ; Mon, 24 Aug 2009 07:49:08 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mfar2-0005bs-2P; Mon, 24 Aug 2009 14:49:04 +0000 Date: Mon, 24 Aug 2009 10:49:04 -0400 From: Christoph Hellwig To: "Linda A. Walsh" Cc: xfs-oss X-ASG-Orig-Subj: Re: Changing a file system from case sensitive to case insensitive... Subject: Re: Changing a file system from case sensitive to case insensitive... Message-ID: <20090824144904.GB20898@infradead.org> References: <4A928413.4050205@tlinx.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A928413.4050205@tlinx.org> 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: 1251125368 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 24, 2009 at 05:14:11AM -0700, Linda A. Walsh wrote: > I don't suppose this is possible after the file system is > already up and running? > > Or...could be made possible? It's not theoretically impossible, but not implemented right now. From BATV+26612b07d2f45a49d713+2192+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 24 09:50:59 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 n7OEoYVT130252 for ; Mon, 24 Aug 2009 09:50:49 -0500 X-ASG-Debug-ID: 1251125463-220a017e0000-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 1F426151E1ED for ; Mon, 24 Aug 2009 07:51:03 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Ks28gY1KF8byQu9B for ; Mon, 24 Aug 2009 07:51:03 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mfaps-0005T2-TO; Mon, 24 Aug 2009 14:47:52 +0000 Date: Mon, 24 Aug 2009 10:47:52 -0400 From: Christoph Hellwig To: Jan Engelhardt Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs_check does not recognize fs truncation Subject: Re: xfs_check does not recognize fs truncation Message-ID: <20090824144752.GA20898@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.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: 1251125486 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 24, 2009 at 12:12:59PM +0200, Jan Engelhardt wrote: > Hi, > > > This I see on xfsprogs-2.10.1 with kernel 2.6.29.6: What does xfs_repair -n say? From BATV+26612b07d2f45a49d713+2192+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 24 10:30: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 n7OFTduN132812 for ; Mon, 24 Aug 2009 10:29:54 -0500 X-ASG-Debug-ID: 1251127831-532f02990000-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 3D8FE3F232A for ; Mon, 24 Aug 2009 08:30:31 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id tXBZrtfrIJWfAy7I for ; Mon, 24 Aug 2009 08:30:31 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MfbV8-000696-SN for xfs@oss.sgi.com; Mon, 24 Aug 2009 15:30:30 +0000 Date: Mon, 24 Aug 2009 11:30:30 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 0/7] inode allocation cleanups Subject: Re: [PATCH 0/7] inode allocation cleanups Message-ID: <20090824153030.GA19864@infradead.org> References: <20090512211607.197071000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090512211607.197071000@bombadil.infradead.org> 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: 1251127831 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 ping? any reviewers for this? On Tue, May 12, 2009 at 05:16:07PM -0400, Christoph Hellwig wrote: > > This series contains various cleanups and refactorings to xfs_ialloc.c, > some of them are my own and some are from Dave Chinner. > > The last patch is also from Dave and speeds up the search for free inodes > in allocation groups with lots of inodes. I ported it ontop of all > the previous patches, which made it a lot cleaner. > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs ---end quoted text--- From jengelh@medozas.de Mon Aug 24 11:04: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.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_45 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 n7OG3eaE134715 for ; Mon, 24 Aug 2009 11:03:50 -0500 X-ASG-Debug-ID: 1251129863-262000000000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sovereign.computergmbh.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5B5253F2CE9 for ; Mon, 24 Aug 2009 09:04:24 -0700 (PDT) Received: from sovereign.computergmbh.de (sovereign.computergmbh.de [85.214.69.204]) by cuda.sgi.com with ESMTP id HqXFqVfXsZcZPfd5 for ; Mon, 24 Aug 2009 09:04:24 -0700 (PDT) Received: by sovereign.computergmbh.de (Postfix, from userid 25121) id B380371F3B; Mon, 24 Aug 2009 18:04:19 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by sovereign.computergmbh.de (Postfix) with ESMTP id B230D4179337; Mon, 24 Aug 2009 18:04:19 +0200 (CEST) Date: Mon, 24 Aug 2009 18:04:19 +0200 (CEST) From: Jan Engelhardt Sender: jengelh@sovereign.computergmbh.de To: Christoph Hellwig cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs_check does not recognize fs truncation Subject: Re: xfs_check does not recognize fs truncation In-Reply-To: <20090824144752.GA20898@infradead.org> Message-ID: References: <20090824144752.GA20898@infradead.org> User-Agent: Alpine 2.00 (LSU 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: sovereign.computergmbh.de[85.214.69.204] X-Barracuda-Start-Time: 1251129866 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.7111 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 Monday 2009-08-24 16:47, Christoph Hellwig wrote: >On Mon, Aug 24, 2009 at 12:12:59PM +0200, Jan Engelhardt wrote: >> >> This I see on xfsprogs-2.10.1 with kernel 2.6.29.6: > >What does xfs_repair -n say? Phase 1 - find and verify superblock... Phase 2 - using internal log - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan (but don't clear) agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 1 - agno = 0 - agno = 2 - agno = 3 No modify flag set, skipping phase 5 Phase 6 - check inode connectivity... - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify link counts... No modify flag set, skipping filesystem flush and exiting. You can get the image at http://dev.medozas.de/files/linux-hist.img.lzma [179MB->1782MB] From xfs@tlinx.org Mon Aug 24 11:57: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.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 n7OGv6gU136888 for ; Mon, 24 Aug 2009 11:57:16 -0500 X-ASG-Debug-ID: 1251133049-3a7900f40000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from Ishtar.sc.tlinx.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D6DC01520E31 for ; Mon, 24 Aug 2009 09:57:29 -0700 (PDT) Received: from Ishtar.sc.tlinx.org (ishtar.tlinx.org [64.81.245.74]) by cuda.sgi.com with ESMTP id L5O8CX6DTDL9Gpv4 for ; Mon, 24 Aug 2009 09:57:29 -0700 (PDT) Received: from [192.168.3.11] (Athena [192.168.3.11]) by Ishtar.sc.tlinx.org (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7OGltfm022873; Mon, 24 Aug 2009 09:47:57 -0700 Message-ID: <4A92C43B.1060604@tlinx.org> Date: Mon, 24 Aug 2009 09:47:55 -0700 From: "Linda A. Walsh" User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs-oss X-ASG-Orig-Subj: Re: Changing a file system from case sensitive to case insensitive... Subject: Re: Changing a file system from case sensitive to case insensitive... References: <4A928413.4050205@tlinx.org> <20090824144904.GB20898@infradead.org> In-Reply-To: <20090824144904.GB20898@infradead.org> X-Stationery: 0.4.10 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ishtar.tlinx.org[64.81.245.74] X-Barracuda-Start-Time: 1251133077 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.7115 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: > It's not theoretically impossible, but not implemented right now. ---- How difficult -- would it just be changing a flag in the super, in the simple case -- i.e. with the result that a user could lose access to any files of alternate cases? I know it's not what's there now, but there is a nice search option in 'Gvim', 'smartcase', where if you use a lower case search string, it finds strings of either case, but if you explicitly have any letter capitalized, then it forces a case sensitive search. That could be a recovery mechanism for conflicts, but would likely involve more work... -l From BATV+26612b07d2f45a49d713+2192+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 24 12:41: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,J_CHICKENPOX_14 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 n7OHei4g138993 for ; Mon, 24 Aug 2009 12:41:00 -0500 X-ASG-Debug-ID: 1251135696-09b900310000-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 DFBA73F3825 for ; Mon, 24 Aug 2009 10:41:36 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id HTIMB9StzhllD7CP for ; Mon, 24 Aug 2009 10:41:36 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MfdXy-0003ud-RO; Mon, 24 Aug 2009 17:41:34 +0000 Date: Mon, 24 Aug 2009 13:41:34 -0400 From: Christoph Hellwig To: "Linda A. Walsh" Cc: Christoph Hellwig , xfs-oss X-ASG-Orig-Subj: Re: Changing a file system from case sensitive to case insensitive... Subject: Re: Changing a file system from case sensitive to case insensitive... Message-ID: <20090824174134.GA25187@infradead.org> References: <4A928413.4050205@tlinx.org> <20090824144904.GB20898@infradead.org> <4A92C43B.1060604@tlinx.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A92C43B.1060604@tlinx.org> 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: 1251135696 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 24, 2009 at 09:47:55AM -0700, Linda A. Walsh wrote: > > > Christoph Hellwig wrote: >> It's not theoretically impossible, but not implemented right now. > ---- > How difficult -- would it just be changing a flag > in the super, in the simple case -- i.e. with the result that > a user could lose access to any files of alternate cases? The CI flag relaly only hcanges on thing in the on disk format, and that is the hash used for calculating the directory b+tree indices. So what you need to do is the following algorithm foreach diretory { read the whole directory structure into memory rewrite the btree with the case insensitive hash } handling of conflicts would be a pretty natural fallout of this, by checking for hash conflicts with the new case-sensitive flag. From xfs@tlinx.org Mon Aug 24 13:38:14 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 n7OIbrTT141534 for ; Mon, 24 Aug 2009 13:38:03 -0500 X-ASG-Debug-ID: 1251139117-17ac017a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from Ishtar.sc.tlinx.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9AD7215227DC for ; Mon, 24 Aug 2009 11:38:37 -0700 (PDT) Received: from Ishtar.sc.tlinx.org (ishtar.tlinx.org [64.81.245.74]) by cuda.sgi.com with ESMTP id C2l4tS63O11gLJx2 for ; Mon, 24 Aug 2009 11:38:37 -0700 (PDT) Received: from [192.168.3.11] (Athena [192.168.3.11]) by Ishtar.sc.tlinx.org (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7OIbs2l024207; Mon, 24 Aug 2009 11:37:56 -0700 Message-ID: <4A92DE02.5050303@tlinx.org> Date: Mon, 24 Aug 2009 11:37:54 -0700 From: "Linda A. Walsh" User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs-oss X-ASG-Orig-Subj: Re: Changing a file system from case sensitive to case insensitive... Subject: Re: Changing a file system from case sensitive to case insensitive... References: <4A928413.4050205@tlinx.org> <20090824144904.GB20898@infradead.org> <4A92C43B.1060604@tlinx.org> <20090824174134.GA25187@infradead.org> In-Reply-To: <20090824174134.GA25187@infradead.org> X-Stationery: 0.4.10 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ishtar.tlinx.org[64.81.245.74] X-Barracuda-Start-Time: 1251139122 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.7121 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: > foreach diretory { > read the whole directory structure into memory > rewrite the btree with the case insensitive hash > } --- Looks like a trivial shell script...;^)... I'm sure there's a bash-app for that... *sigh* And here I thought it was as simple as setting a flag on disk. Sounds like the implementation lends itself to having an extended-attr to potentially set the option on a dir-by-dir basis similar to the +d bit, though it would only apply to dirs and files within -- but not subdirs (due to different mount locations)? That might certainly be more flexible than a whole disk as well if it is practical. Then as the 'attr' was set, the hash could be rebuilt either inplace, or created as a newdir with files being moved to the new dir. From xfs@tlinx.org Mon Aug 24 14:25: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 n7OJP4Rp144306 for ; Mon, 24 Aug 2009 14:25:14 -0500 X-ASG-Debug-ID: 1251141954-7a1a03540000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from Ishtar.sc.tlinx.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 76F541526305 for ; Mon, 24 Aug 2009 12:25:54 -0700 (PDT) Received: from Ishtar.sc.tlinx.org (ishtar.tlinx.org [64.81.245.74]) by cuda.sgi.com with ESMTP id 1CTNLFXtEHfgpejJ for ; Mon, 24 Aug 2009 12:25:54 -0700 (PDT) Received: from [192.168.3.11] (Athena [192.168.3.11]) by Ishtar.sc.tlinx.org (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7OJPMpx012911 for ; Mon, 24 Aug 2009 12:25:24 -0700 Message-ID: <4A92E922.2030404@tlinx.org> Date: Mon, 24 Aug 2009 12:25:22 -0700 From: "Linda A. Walsh" User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: xfs-oss X-ASG-Orig-Subj: xfs logbufs default, (also noatime, lazy-count(of partition formatter)...32767b v. 32768b... Subject: xfs logbufs default, (also noatime, lazy-count(of partition formatter)...32767b v. 32768b... X-Stationery: 0.4.10 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ishtar.tlinx.org[64.81.245.74] X-Barracuda-Start-Time: 1251141956 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0004 1.0000 -2.0187 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.61 X-Barracuda-Spam-Status: No, SCORE=-1.61 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7125 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Is there a reason why logbufs=8 should't become the default? Isn't it the best choice for most users given today's memory constraints (or lack thereof?) I saw a message about xfs parameter tuning and still see the mention to: 'logbufs=8,noatime' having to be specified on every mount. If the desire is to provide default optimal tuning, maybe a default of logbufs to 8 would be a good idea, and maybe a mkfs flag to default to 'noatime' and a 64MB internal log size would be good ideas for *most* users? How much of problem is defaulting to a 64MB internal log size when file partitions are measured in the 100GB range? I'm not sure how much use it is to even remember typing lazy-count=1 on the size partition each time. One more 'nit', while I think of it...for a 64MB log buffer size, one should be able to specify 32768b, but last I tried, that gave a 'too large' error...isn't 32768*4=64MB, not 32767b? What's really created when I use the 32767b max? 64MB or "64MB-4K"? (maybe it doesn't matter, but if a log process wrote exactly 16MB chunks, it would be a bit short on the 4th write..)... -l From kimberlyhaj@gmail.com Mon Aug 24 19:53:04 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 n7P0qim8157540 for ; Mon, 24 Aug 2009 19:52:54 -0500 X-ASG-Debug-ID: 1251161612-271003d40000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-yw0-f133.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6343F3F4E9A for ; Mon, 24 Aug 2009 17:53:32 -0700 (PDT) Received: from mail-yw0-f133.google.com (mail-yw0-f133.google.com [209.85.211.133]) by cuda.sgi.com with ESMTP id Q5LJW8CrJzoqqwHr for ; Mon, 24 Aug 2009 17:53:32 -0700 (PDT) Received: by ywh39 with SMTP id 39so387047ywh.32 for ; Mon, 24 Aug 2009 17:53:31 -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:content-type; bh=qG1xr0yMt1IK1vhC47QwxbDFwQX2DfhLzgIp4/jFCPo=; b=JXkgWHIrKftYO9UiLeQQG/SbzKC1BgGv9VPix0pv12I3SzsfUygibiE1Jx6ckbjk5B 7LcNBwYX4Tby+rAdtZOIqlTQg9b7PbPO6wH84j3ptq2AI3Llc2ZS5ebAGShQFGsTNd79 WLDbUaPRht9/r22d0xLiSMxb2pE+aZmGw8uPM= 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 :content-type; b=p52r/mrec1oPaJEMzquPNx3LGu/Yg/EnB13ep5OFVsesEFDgs14v2UrnMCcQ6o3jPR 2WJwhx98kHggxG0ACdYnJBqwWaXv1SIsESHrdyYJFWjZh9GZGo3seZMztW4G8tMln2yE H9qEj0ufEMiRozMAjkpI7T8oKjQr8b1isG4l4= MIME-Version: 1.0 Received: by 10.101.161.3 with SMTP id n3mr5412983ano.24.1251160056652; Mon, 24 Aug 2009 17:27:36 -0700 (PDT) In-Reply-To: <36853b750908091858j22a0a47bq9530c0246755acb6@mail.gmail.com> References: <536742.36683.qm@web15108.mail.cnb.yahoo.com> <36853b750908091858j22a0a47bq9530c0246755acb6@mail.gmail.com> Date: Tue, 25 Aug 2009 08:27:36 +0800 Message-ID: <36853b750908241727n1c0bf846m8c9448f2db267f5f@mail.gmail.com> X-ASG-Orig-Subj: glad to write to you Subject: glad to write to you From: 3U Pet Supply To: cn3upet1@yahoo.cn Content-Type: multipart/alternative; boundary=001636ed6a86bbff7b0471ec6637 X-Barracuda-Connect: mail-yw0-f133.google.com[209.85.211.133] X-Barracuda-Start-Time: 1251161615 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4741 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 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.7147 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 --001636ed6a86bbff7b0471ec6637 Content-Type: text/plain; charset=GB2312 Content-Transfer-Encoding: quoted-printable Hi, this is Jeff Wu from China, we are a factory of pet products, please le= t me know if you are in pet business, thanks! Best regards, Jeff Wu ---------------------------------------------------------------------------= ------------------- Please consider the environment before printing this email. Por favor considere el medio ambiente antes de imprimir este mensaje de correo electr=A8=AEnico. S'il vous pla t =A8=A4 l'environnement avant d'imprimer cet e-mail. Bitte beachten Sie, die Umwelt vor dem Drucken diese E-Mail. ------------------------------ =BA=C3=CD=E6=BA=D8=BF=A8=B5=C8=C4=E3=B7=A2=A3=AC=D3=CA=CF=E4=BA=D8=BF=A8=C8= =AB=D0=C2=C9=CF=CF=DF=A3=A1 --001636ed6a86bbff7b0471ec6637 Content-Type: text/html; charset=GB2312 Content-Transfer-Encoding: quoted-printable

Hi, this is Jeff Wu from China, we are a factory of pet p= roducts, please let me know if you are in pet business, thanks!

Best regards,
Jeff Wu

---------------------------= -------------------------------------------------------------------<= /p>

Please consider the environment before printin= g this email.

Por favor considere el medio ambiente antes de imprimir este= mensaje de correo electr=A8=AEnico.

S'il vous pla t =A8=A4 l'environnement avant d'i= mprimer cet e-mail.

Bitte beachten Sie, die Umwelt vor dem Drucken diese E-Mail.=

 



=BA=C3=CD=E6=BA=D8=BF= =A8=B5=C8=C4=E3=B7=A2=A3=AC=D3=CA=CF=E4=BA=D8=BF=A8=C8=AB=D0=C2=C9=CF=CF=DF= =A3=A1


--001636ed6a86bbff7b0471ec6637-- From jengelh@medozas.de Tue Aug 25 10:49:44 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_28 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 n7PFnNuT211609 for ; Tue, 25 Aug 2009 10:49:34 -0500 X-ASG-Debug-ID: 1251215412-368f01030000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sovereign.computergmbh.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 355923F7F6D for ; Tue, 25 Aug 2009 08:50:12 -0700 (PDT) Received: from sovereign.computergmbh.de (sovereign.computergmbh.de [85.214.69.204]) by cuda.sgi.com with ESMTP id ZSa4ekClF7Fprp09 for ; Tue, 25 Aug 2009 08:50:12 -0700 (PDT) Received: by sovereign.computergmbh.de (Postfix, from userid 25121) id D60E31B7AC; Tue, 25 Aug 2009 17:50:08 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by sovereign.computergmbh.de (Postfix) with ESMTP id D386C4040F1B for ; Tue, 25 Aug 2009 17:50:08 +0200 (CEST) Date: Tue, 25 Aug 2009 17:50:08 +0200 (CEST) From: Jan Engelhardt Sender: jengelh@sovereign.computergmbh.de To: xfs@oss.sgi.com X-ASG-Orig-Subj: Mounted xfs slows down block device Subject: Mounted xfs slows down block device Message-ID: User-Agent: Alpine 2.00 (LSU 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: sovereign.computergmbh.de[85.214.69.204] X-Barracuda-Start-Time: 1251215413 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.7207 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, I am seeing a really odd interaction between dm-crypt and xfs (not happening with other filesystems): when a crypto block device is mounted, reading from it slows by a significant amount. # umount /home # dd_rescue /dev/mapper/home /dev/null dd_rescue: (info): ipos: 15360.0k, opos: 15360.0k, xferd: 15360.0k errs: 0, errxfer: 0.0k, succxfer: 15360.0k +curr.rate: 19623kB/s, avg.rate: 19623kB/s, avg.load: 15.3% # mount /home # dd_rescue /dev/mapper/home /dev/null dd_rescue: (info): ipos: 5120.0k, opos: 5120.0k, xferd: 5120.0k errs: 0, errxfer: 0.0k, succxfer: 5120.0k +curr.rate: 4578kB/s, avg.rate: 4578kB/s, avg.load: 17.0% /proc/mounts contains: /dev/mapper/home /home xfs rw,relatime,nobarrier,usrquota,prjquota,grpquota 0 0 xfs_info: meta-data=/dev/mapper/home isize=256 agcount=16, agsize=3259186 blks = sectsz=512 attr=1 data = bsize=4096 blocks=52146976, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=25462, version=2 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=65536 blocks=0, rtextents=0 Values vary; on my home desktop it goes from 19->4MB/s, and even on server it goes from 80->31MB/sec. It is independent of any mount options or the age of the filesystem. This happens for me on at least 2.6.31-rc6. From sandeen@sandeen.net Tue Aug 25 10:52:51 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 n7PFqUSN211723 for ; Tue, 25 Aug 2009 10:52:41 -0500 X-ASG-Debug-ID: 1251215578-3c37000e0000-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 7978C152E7F6 for ; Tue, 25 Aug 2009 08:52:58 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id l47JOrqv2Lz9Ab92 for ; Tue, 25 Aug 2009 08:52:58 -0700 (PDT) Received: from Liberator2.local (unknown [71.216.200.179]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 7862BA9BE27; Tue, 25 Aug 2009 10:52:40 -0500 (CDT) Message-ID: <4A9408C4.3050507@sandeen.net> Date: Tue, 25 Aug 2009 08:52:36 -0700 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: "Linda A. Walsh" CC: xfs-oss X-ASG-Orig-Subj: Re: xfs logbufs default, (also noatime, lazy-count(of partition formatter)...32767b v. 32768b... Subject: Re: xfs logbufs default, (also noatime, lazy-count(of partition formatter)...32767b v. 32768b... References: <4A92E922.2030404@tlinx.org> In-Reply-To: <4A92E922.2030404@tlinx.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1251215601 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.61 X-Barracuda-Spam-Status: No, SCORE=-1.61 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7207 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Linda A. Walsh wrote: > Is there a reason why logbufs=8 should't become the default? > Isn't it the best choice for most users given today's memory > constraints (or lack thereof?) It is the default: #define XLOG_MAX_ICLOGS 8 if (mp->m_logbufs <= 0) log->l_iclog_bufs = XLOG_MAX_ICLOGS; > I saw a message about xfs parameter tuning and still see the mention to: > 'logbufs=8,noatime' having to be specified on every mount. you can't believe everything you read on the internets ;) > If the desire is to provide default optimal tuning, maybe a default of > logbufs to 8 would be a good idea, and maybe a > mkfs flag to default to 'noatime' and a 64MB internal log > size would be good ideas for *most* users? noatime is something a user should choose based on their needs, not a default. Some things depend on atime, and noatime isn't really posix-compliant... Log size depends on the fs size... > How much of problem is defaulting to a 64MB internal log > size when file partitions are measured in the 100GB range? /* * With a 2GB max log size, default to maximum size * at 4TB. This keeps the same ratio from the older * max log size of 128M at 256GB fs size. IOWs, * the ratio of fs size to log size is 2048:1. */ 100*1024/2048 50 so it currently scales to 50M for 100G. > I'm not sure how much use it is to even remember typing lazy-count=1 > on the size partition each time. lazy-count will/should be the default soon; someone (me) just needs to make xfstests cope with the change first. > One more 'nit', while I think of it...for a 64MB log buffer size, > one should be able to specify 32768b, but last I tried, that gave > a 'too large' error...isn't 32768*4=64MB, not 32767b? seems fine? $ /sbin/mkfs.xfs -dfile,name=fsfile,size=100g -lsize=32768b meta-data=fsfile isize=256 agcount=4, agsize=6553600 blks = sectsz=512 attr=2 data = bsize=4096 blocks=26214400, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal log bsize=4096 blocks=32768, version=2 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0 -Eric From aelder@sgi.com Tue Aug 25 12:59: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.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7PHwl6x215642 for ; Tue, 25 Aug 2009 12:58:57 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay2.corp.sgi.com (Postfix) with ESMTP id 51238304097 for ; Tue, 25 Aug 2009 10:59:40 -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 0/7] inode allocation cleanups Date: Tue, 25 Aug 2009 12:57:16 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABCE@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090824153030.GA19864@infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH 0/7] inode allocation cleanups Thread-Index: Acok0adSRgqyp23VTrS3UIfqFw529wA0HvUQ From: "Alex Elder" To: "Christoph Hellwig" Cc: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean > ping? any reviewers for this? I no longer have these in my mailbox, but I've reviewed them all, and they all look good. Very nice result of getting rid of duplication and making functions a more manageable size. One comment on patch 5 below. -Alex # [PATCH 1/7] xfs: factor out inode initialisation Christoph Hellwig Reviewed-by: Alex Elder # [PATCH 2/7] xfs: improve xfs_inobt_get_rec prototype Christoph = Hellwig Reviewed-by: Alex Elder # [PATCH 3/7] xfs: improve xfs_inobt_update prototype Christoph = Hellwig Reviewed-by: Alex Elder # [PATCH 4/7] xfs: factor out debug checks from xfs_dialloc and = xfs_difree Christoph Hellwig Reviewed-by: Alex Elder # [PATCH 5/7] xfs: untangle xfs_dialloc Christoph Hellwig No cursor cleanup on WANT_CORRUPTED_RETURN() just after "if (pagno = =3D=3D agno)". (Maybe I'm misreading the patch.) I realize this is still better = than the ASSERT() in place currently, but maybe it should be = WANT_CORRUPTED_GOTO(error0) instead. Reviewed-by: Alex Elder # [PATCH 6/7] xfs: rationalize xfs_inobt_lookup* Christoph Hellwig Reviewed-by: Alex Elder # [PATCH 7/7] xfs: speed up free inode search Christoph Hellwig=20 Reviewed-by: Alex Elder From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:25: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 n7PIPM30216609 for ; Tue, 25 Aug 2009 13:25:37 -0500 X-ASG-Debug-ID: 1251224774-3c39033c0000-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 8ECF71532B7A for ; Tue, 25 Aug 2009 11:26:14 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id MdHINFLvPeFGldPt for ; Tue, 25 Aug 2009 11:26:14 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ii-0001CO-61 for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:12 +0000 Message-Id: <20090825182134.299870049@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:34 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 0/9] stop taking the iolock in the reclaim path Subject: [PATCH 0/9] stop taking the iolock in the reclaim path 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: 1251224774 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 we take the iolock in the reclaim path in various places. Taking it in the inode reclaim path means however that we can't take it while doing memory allocations that recurse back into the filesystem, and recently lockdep has been enhanced to find these cases and noticed quite a few of these in XFS. We had similar issues with the ilock, but we could get away with just stopping to do filesystem-recursing allocation under the ilock as there were just a few. The iolock is however taken over larger critical sections protection actual I/O and it's almost impossible to switch all these to NOFS allocations. Based on what the iolock is used for we don't actually need it in the reclaim path, though - at this point the inode is dead and no one has any other reference to it. See the listing in the first patch for a more detailed list of our current iolock holders and why they can't contend with the reclaim path. I would greatly appreciate some indepth-review of this to make sure I haven't missed a big loophole.. From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:25: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 n7PIPL4j216608 for ; Tue, 25 Aug 2009 13:25:36 -0500 X-ASG-Debug-ID: 1251224773-750d02290000-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 CD54C1532B7A for ; Tue, 25 Aug 2009 11:26:13 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id WmZlFbnNIZJPKf72 for ; Tue, 25 Aug 2009 11:26:13 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ij-0001FY-Gc for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:13 +0000 Message-Id: <20090825182613.394877770@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:40 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 6/9] xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory Subject: [PATCH 6/9] xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-buf 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: 1251224773 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 xfs_buf_associate_memory is used for setting up the spare buffer for the log wrap case in xlog_sync which can happen under i_lock when called from xfs_fsync. The i_lock mutex is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. There are a couple more uses of xfs_buf_associate_memory in the log recovery code that are also affected by this, but I'd rather keep the code simple than passing on a gfp_mask argument. Longer term we should just stop requiring the memoery allocation in xlog_sync by some smaller rework of the buffer layer. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/linux-2.6/xfs_buf.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_buf.c 2009-07-18 18:26:07.359681952 +0200 +++ linux-2.6/fs/xfs/linux-2.6/xfs_buf.c 2009-07-18 18:26:53.531658254 +0200 @@ -770,7 +770,7 @@ xfs_buf_associate_memory( bp->b_pages = NULL; bp->b_addr = mem; - rval = _xfs_buf_get_pages(bp, page_count, 0); + rval = _xfs_buf_get_pages(bp, page_count, XBF_DONT_BLOCK); if (rval) return rval; From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:25: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 n7PIPMHX216610 for ; Tue, 25 Aug 2009 13:25:37 -0500 X-ASG-Debug-ID: 1251224774-757b021e0000-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 F1E8F1532B7A for ; Tue, 25 Aug 2009 11:26:14 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id W12UxSCKJIXSuQF6 for ; Tue, 25 Aug 2009 11:26:14 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ii-0001Cy-Fv for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:12 +0000 Message-Id: <20090825182612.298786838@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:35 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 1/9] xfs: avoid memory allocation under m_peraglock in growfs code Subject: [PATCH 1/9] xfs: avoid memory allocation under m_peraglock in growfs code References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-growfs 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: 1251224774 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 Allocate the memory for the larger m_perag array before taking the per-AG lock as the per-AG lock can be taken under the i_lock which can be taken from reclaim context. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_fsops.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_fsops.c 2009-07-10 13:05:24.798364926 +0200 +++ linux-2.6/fs/xfs/xfs_fsops.c 2009-07-10 13:16:00.827394975 +0200 @@ -167,17 +167,25 @@ xfs_growfs_data_private( new = nb - mp->m_sb.sb_dblocks; oagcount = mp->m_sb.sb_agcount; if (nagcount > oagcount) { + void *new_perag, *old_perag; + xfs_filestream_flush(mp); + + new_perag = kmem_zalloc(sizeof(xfs_perag_t) * nagcount, + KM_MAYFAIL); + if (!new_perag) + return XFS_ERROR(ENOMEM); + down_write(&mp->m_peraglock); - mp->m_perag = kmem_realloc(mp->m_perag, - sizeof(xfs_perag_t) * nagcount, - sizeof(xfs_perag_t) * oagcount, - KM_SLEEP); - memset(&mp->m_perag[oagcount], 0, - (nagcount - oagcount) * sizeof(xfs_perag_t)); + memcpy(new_perag, mp->m_perag, sizeof(xfs_perag_t) * oagcount); + old_perag = mp->m_perag; + mp->m_perag = new_perag; + mp->m_flags |= XFS_MOUNT_32BITINODES; nagimax = xfs_initialize_perag(mp, nagcount); up_write(&mp->m_peraglock); + + kmem_free(old_perag); } tp = xfs_trans_alloc(mp, XFS_TRANS_GROWFS); tp->t_flags |= XFS_TRANS_RESERVE; From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:26: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7PIPfaH216628 for ; Tue, 25 Aug 2009 13:25:56 -0500 X-ASG-Debug-ID: 1251224773-096300870000-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 184363F9017 for ; Tue, 25 Aug 2009 11:26:14 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id dhW5YYCz2OJiVXnx for ; Tue, 25 Aug 2009 11:26:14 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ij-0001Ga-R7 for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:13 +0000 Message-Id: <20090825182613.740162763@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:42 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 8/9] xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap Subject: [PATCH 8/9] xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-buf-3 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: 1251224794 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 xfs_readlink_bmap is called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_vnodeops.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_vnodeops.c 2009-07-18 20:29:59.041657600 +0200 +++ linux-2.6/fs/xfs/xfs_vnodeops.c 2009-07-18 20:31:22.964535322 +0200 @@ -547,7 +547,9 @@ xfs_readlink_bmap( d = XFS_FSB_TO_DADDR(mp, mval[n].br_startblock); byte_cnt = XFS_FSB_TO_B(mp, mval[n].br_blockcount); - bp = xfs_buf_read(mp->m_ddev_targp, d, BTOBB(byte_cnt), 0); + bp = xfs_buf_read_flags(mp->m_ddev_targp, d, BTOBB(byte_cnt), + XBF_LOCK | XBF_MAPPED | + XBF_DONT_BLOCK); error = XFS_BUF_GETERROR(bp); if (error) { xfs_ioerror_alert("xfs_readlink", From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:26: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7PIPftX216626 for ; Tue, 25 Aug 2009 13:25:56 -0500 X-ASG-Debug-ID: 1251224773-182903640000-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 68DCF3F9011 for ; Tue, 25 Aug 2009 11:26:13 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id ISPyYUmr8AOC39PK for ; Tue, 25 Aug 2009 11:26:13 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ij-0001E0-0w for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:13 +0000 Message-Id: <20090825182612.915734548@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:37 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 3/9] xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc Subject: [PATCH 3/9] xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-da_state_alloc 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: 1251224793 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 xfs_da_state_alloc is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_da_btree.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_da_btree.c 2009-07-10 13:05:24.812364541 +0200 +++ linux-2.6/fs/xfs/xfs_da_btree.c 2009-07-10 13:16:00.834365485 +0200 @@ -2201,7 +2201,7 @@ kmem_zone_t *xfs_dabuf_zone; /* dabuf z xfs_da_state_t * xfs_da_state_alloc(void) { - return kmem_zone_zalloc(xfs_da_state_zone, KM_SLEEP); + return kmem_zone_zalloc(xfs_da_state_zone, KM_NOFS); } /* From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:26: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7PIPfvm216627 for ; Tue, 25 Aug 2009 13:25:56 -0500 X-ASG-Debug-ID: 1251224773-09df009a0000-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 72A873F9017 for ; Tue, 25 Aug 2009 11:26:13 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id IDS3fCfSnjNJyHm3 for ; Tue, 25 Aug 2009 11:26:13 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ij-0001EW-61 for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:13 +0000 Message-Id: <20090825182613.083976866@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:38 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 4/9] xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make Subject: [PATCH 4/9] xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-xfs_da_buf_make 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: 1251224793 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 i_lock is taken in the reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_da_btree.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_da_btree.c 2009-07-10 13:05:24.812364541 +0200 +++ linux-2.6/fs/xfs/xfs_da_btree.c 2009-07-10 13:16:00.834365485 +0200 @@ -2261,9 +2261,9 @@ xfs_da_buf_make(int nbuf, xfs_buf_t **bp int off; if (nbuf == 1) - dabuf = kmem_zone_alloc(xfs_dabuf_zone, KM_SLEEP); + dabuf = kmem_zone_alloc(xfs_dabuf_zone, KM_NOFS); else - dabuf = kmem_alloc(XFS_DA_BUF_SIZE(nbuf), KM_SLEEP); + dabuf = kmem_alloc(XFS_DA_BUF_SIZE(nbuf), KM_NOFS); dabuf->dirty = 0; #ifdef XFS_DABUF_DEBUG dabuf->ra = ra; From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:26: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.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 n7PIPfAq216629 for ; Tue, 25 Aug 2009 13:25:56 -0500 X-ASG-Debug-ID: 1251224773-098700a00000-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 A48843F9018 for ; Tue, 25 Aug 2009 11:26:13 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id oaXDxp5UVsLUaTk4 for ; Tue, 25 Aug 2009 11:26:13 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ij-0001F2-Ay for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:13 +0000 Message-Id: <20090825182613.244772510@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:39 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 5/9] xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result Subject: [PATCH 5/9] xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-dir2 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: 1251224793 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 xfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_dir2.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_dir2.c 2009-07-10 13:05:24.817364338 +0200 +++ linux-2.6/fs/xfs/xfs_dir2.c 2009-07-10 13:16:00.834365485 +0200 @@ -256,7 +256,7 @@ xfs_dir_cilookup_result( !(args->op_flags & XFS_DA_OP_CILOOKUP)) return EEXIST; - args->value = kmem_alloc(len, KM_MAYFAIL); + args->value = kmem_alloc(len, KM_NOFS | KM_MAYFAIL); if (!args->value) return ENOMEM; From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:28: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7PISTBf216824 for ; Tue, 25 Aug 2009 13:28:46 -0500 X-ASG-Debug-ID: 1251224961-750e02020000-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 21CB0150E013 for ; Tue, 25 Aug 2009 11:29:22 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Wdfy2sr3fch0jEaI for ; Tue, 25 Aug 2009 11:29:22 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ii-0001DU-QA for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:12 +0000 Message-Id: <20090825182612.645320741@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:36 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 2/9] xfs: switch to NOFS allocation under i_lock in xfs_getbmap Subject: [PATCH 2/9] xfs: switch to NOFS allocation under i_lock in xfs_getbmap References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-getbmap 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: 1251224962 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 xfs_getbmap allocates memory with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_bmap.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_bmap.c 2009-07-10 13:05:24.808364312 +0200 +++ linux-2.6/fs/xfs/xfs_bmap.c 2009-07-10 13:16:00.830363579 +0200 @@ -6009,7 +6009,7 @@ xfs_getbmap( */ error = ENOMEM; subnex = 16; - map = kmem_alloc(subnex * sizeof(*map), KM_MAYFAIL); + map = kmem_alloc(subnex * sizeof(*map), KM_MAYFAIL | KM_NOFS); if (!map) goto out_unlock_ilock; From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:28: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7PISUeC216825 for ; Tue, 25 Aug 2009 13:28:46 -0500 X-ASG-Debug-ID: 1251224963-1829037c0000-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 51AF73F904F for ; Tue, 25 Aug 2009 11:29:23 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 2ujEvCnFTsXHSIU1 for ; Tue, 25 Aug 2009 11:29:23 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ij-0001H6-WB for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:14 +0000 Message-Id: <20090825182613.898529620@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:43 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 9/9] xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get Subject: [PATCH 9/9] xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-buf-4 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: 1251224963 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 xfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Index: linux-2.6/fs/xfs/xfs_attr.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_attr.c 2009-07-18 22:34:08.947532301 +0200 +++ linux-2.6/fs/xfs/xfs_attr.c 2009-07-18 22:35:44.786660003 +0200 @@ -2010,7 +2010,9 @@ xfs_attr_rmtval_get(xfs_da_args_t *args) dblkno = XFS_FSB_TO_DADDR(mp, map[i].br_startblock); blkcnt = XFS_FSB_TO_BB(mp, map[i].br_blockcount); error = xfs_read_buf(mp, mp->m_ddev_targp, dblkno, - blkcnt, XFS_BUF_LOCK, &bp); + blkcnt, + XFS_BUF_LOCK | XBF_DONT_BLOCK, + &bp); if (error) return(error); From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:28: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7PISV5x216826 for ; Tue, 25 Aug 2009 13:28:46 -0500 X-ASG-Debug-ID: 1251224962-182b03880000-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 030C33F904C for ; Tue, 25 Aug 2009 11:29:22 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 33obMfCK4OEWdUKQ for ; Tue, 25 Aug 2009 11:29:22 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0ij-0001G4-M8 for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:26:13 +0000 Message-Id: <20090825182613.609733555@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:21:41 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 7/9] xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set Subject: [PATCH 7/9] xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set References: <20090825182134.299870049@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-buf-2 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: 1251224963 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 xfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/xfs_attr.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_attr.c 2009-07-18 18:49:20.129533080 +0200 +++ linux-2.6/fs/xfs/xfs_attr.c 2009-07-18 18:50:01.713535041 +0200 @@ -2141,8 +2141,8 @@ xfs_attr_rmtval_set(xfs_da_args_t *args) dblkno = XFS_FSB_TO_DADDR(mp, map.br_startblock), blkcnt = XFS_FSB_TO_BB(mp, map.br_blockcount); - bp = xfs_buf_get_flags(mp->m_ddev_targp, dblkno, - blkcnt, XFS_BUF_LOCK); + bp = xfs_buf_get_flags(mp->m_ddev_targp, dblkno, blkcnt, + XFS_BUF_LOCK | XBF_DONT_BLOCK); ASSERT(bp); ASSERT(!XFS_BUF_GETERROR(bp)); From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:41: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=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 n7PIec6h217669 for ; Tue, 25 Aug 2009 13:40:53 -0500 X-ASG-Debug-ID: 1251225691-750e02350000-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 4343515335AE for ; Tue, 25 Aug 2009 11:41:31 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id DdBRXY7SdAEJkTMQ for ; Tue, 25 Aug 2009 11:41:31 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0xW-0004fT-Uh for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:41:30 +0000 Date: Tue, 25 Aug 2009 14:41:30 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 0/9] stop taking the iolock in the reclaim path Subject: Re: [PATCH 0/9] stop taking the iolock in the reclaim path Message-ID: <20090825184130.GA17708@infradead.org> References: <20090825182134.299870049@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090825182134.299870049@bombadil.infradead.org> 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: 1251225691 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 Ah sorry, I resent the old lockdep patches, Will send the real one ASAP. On Tue, Aug 25, 2009 at 02:21:34PM -0400, Christoph Hellwig wrote: > Currently we take the iolock in the reclaim path in various places. > Taking it in the inode reclaim path means however that we can't take > it while doing memory allocations that recurse back into the filesystem, > and recently lockdep has been enhanced to find these cases and noticed > quite a few of these in XFS. > > We had similar issues with the ilock, but we could get away with just > stopping to do filesystem-recursing allocation under the ilock as there > were just a few. The iolock is however taken over larger critical sections > protection actual I/O and it's almost impossible to switch all these to > NOFS allocations. Based on what the iolock is used for we don't actually > need it in the reclaim path, though - at this point the inode is dead > and no one has any other reference to it. See the listing in the > first patch for a more detailed list of our current iolock holders and > why they can't contend with the reclaim path. > > I would greatly appreciate some indepth-review of this to make sure I > haven't missed a big loophole.. > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs ---end quoted text--- From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:42: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=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 n7PIgDmM217745 for ; Tue, 25 Aug 2009 13:42:28 -0500 X-ASG-Debug-ID: 1251225784-1d0000310000-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 16FB83F94B6 for ; Tue, 25 Aug 2009 11:43:04 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id tcWc4num3b3AEGFd for ; Tue, 25 Aug 2009 11:43:04 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0z2-0004uk-L7 for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:43:04 +0000 Message-Id: <20090825184145.704014101@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:41:45 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 0/3] stop taking the iolock in the reclaim path Subject: [PATCH 0/3] stop taking the iolock in the reclaim path 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: 1251225785 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 we take the iolock in the reclaim path in various places. Taking it in the inode reclaim path means however that we can't take it while doing memory allocations that recurse back into the filesystem, and recently lockdep has been enhanced to find these cases and noticed quite a few of these in XFS. We had similar issues with the ilock, but we could get away with just stopping to do filesystem-recursing allocation under the ilock as there were just a few. The iolock is however taken over larger critical sections protection actual I/O and it's almost impossible to switch all these to NOFS allocations. Based on what the iolock is used for we don't actually need it in the reclaim path, though - at this point the inode is dead and no one has any other reference to it. See the listing in the first patch for a more detailed list of our current iolock holders and why they can't contend with the reclaim path. I would greatly appreciate some indepth-review of this to make sure I haven't missed a big loophole.. _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:42:39 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 n7PIgDtR217747 for ; Tue, 25 Aug 2009 13:42:28 -0500 X-ASG-Debug-ID: 1251225785-427903590000-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 EFB481533613 for ; Tue, 25 Aug 2009 11:43:05 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id AkMd31wmBjSs6Ane for ; Tue, 25 Aug 2009 11:43:05 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0z3-0004wN-Ka for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:43:05 +0000 Message-Id: <20090825184305.433008786@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:41:48 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 3/3] xfs: do not wait for the iolock in xfs_free_eofblocks Subject: [PATCH 3/3] xfs: do not wait for the iolock in xfs_free_eofblocks References: <20090825184145.704014101@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-free_eofblocks 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: 1251225785 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 For both callers of xfs_free_eofblocks taking the iolock in blocking fashion causes problems: - in xfs_release is causes a lock order reversal with the mmap lock - due to xfs_inactive beeing called from reclaim context it would forbid memory allocation under the iolock. As mention in the previous platch there is no need to acquire iolock in the inactive path as the inode is dead enough at that point. For release we can just acquire the lock in a non-blocking fashion. This will leave the pre-allocation on the file in case of lock contention, but we will still take care of it on the final iput. Signed-off-by: Christoph Hellwig Index: xfs/fs/xfs/xfs_vnodeops.c =================================================================== --- xfs.orig/fs/xfs/xfs_vnodeops.c 2009-08-24 11:23:28.798259252 -0300 +++ xfs/fs/xfs/xfs_vnodeops.c 2009-08-24 11:23:34.886280913 -0300 @@ -714,9 +714,14 @@ xfs_fsync( } /* - * This is called by xfs_inactive to free any blocks beyond eof - * when the link count isn't zero and by xfs_dm_punch_hole() when - * punching a hole to EOF. + * We either call this from xfs_release when dropping the last reference to + * a file structure, or from xfs_inactive when dropping an inode out of the + * cache that has not been deleted. In the first case we must take the + * iolock to protect against concurrent truncate calls, but we can't + * acquire it in the normal blocking way as that would created a lock order + * reversal against mmap_sem. In the latter case we don't need the iolock + * at all because we're called on inode that is dead enough to not see any + * I/O at all. */ STATIC int xfs_free_eofblocks( @@ -766,6 +771,11 @@ xfs_free_eofblocks( */ tp = xfs_trans_alloc(mp, XFS_TRANS_INACTIVE); + if (use_iolock && !xfs_ilock_nowait(ip, XFS_IOLOCK_EXCL)) { + xfs_trans_cancel(tp, 0); + return EAGAIN; + } + /* * Do the xfs_itruncate_start() call before * reserving any log space because @@ -773,16 +783,10 @@ xfs_free_eofblocks( * cache and we can't * do that within a transaction. */ - if (use_iolock) - xfs_ilock(ip, XFS_IOLOCK_EXCL); error = xfs_itruncate_start(ip, XFS_ITRUNC_DEFINITE, ip->i_size); - if (error) { - xfs_trans_cancel(tp, 0); - if (use_iolock) - xfs_iunlock(ip, XFS_IOLOCK_EXCL); - return error; - } + if (error) + goto out_cancel; error = xfs_trans_reserve(tp, 0, XFS_ITRUNCATE_LOG_RES(mp), @@ -790,14 +794,12 @@ xfs_free_eofblocks( XFS_ITRUNCATE_LOG_COUNT); if (error) { ASSERT(XFS_FORCED_SHUTDOWN(mp)); - xfs_trans_cancel(tp, 0); - xfs_iunlock(ip, XFS_IOLOCK_EXCL); - return error; + goto out_cancel; } xfs_ilock(ip, XFS_ILOCK_EXCL); - xfs_trans_ijoin(tp, ip, - XFS_IOLOCK_EXCL | + xfs_trans_ijoin(tp, ip, use_iolock ? + XFS_IOLOCK_EXCL|XFS_ILOCK_EXCL : XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); @@ -821,6 +823,12 @@ xfs_free_eofblocks( : XFS_ILOCK_EXCL)); } return error; + +out_cancel: + xfs_trans_cancel(tp, 0); + if (use_iolock) + xfs_iunlock(ip, XFS_IOLOCK_EXCL); + return error; } /* @@ -1117,7 +1125,7 @@ xfs_release( (!(ip->i_d.di_flags & (XFS_DIFLAG_PREALLOC | XFS_DIFLAG_APPEND)))) { error = xfs_free_eofblocks(mp, ip, XFS_FREE_EOF_LOCK); - if (error) + if (error && error != EAGAIN) return error; } } @@ -1187,7 +1195,7 @@ xfs_inactive( (!(ip->i_d.di_flags & (XFS_DIFLAG_PREALLOC | XFS_DIFLAG_APPEND)) || (ip->i_delayed_blks != 0)))) { - error = xfs_free_eofblocks(mp, ip, XFS_FREE_EOF_LOCK); + error = xfs_free_eofblocks(mp, ip, XFS_FREE_EOF_NOLOCK); if (error) return VN_INACTIVE_CACHE; } From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:42: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=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 n7PIgDss217746 for ; Tue, 25 Aug 2009 13:42:28 -0500 X-ASG-Debug-ID: 1251225785-750e023e0000-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 99FA91533610 for ; Tue, 25 Aug 2009 11:43:05 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Xz9VNPpFWMeV9QwI for ; Tue, 25 Aug 2009 11:43:05 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0z3-0004vr-Ak for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:43:05 +0000 Message-Id: <20090825184305.100918146@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:41:47 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 2/3] xfs: do not take the iolock in xfs_ireclaim Subject: [PATCH 2/3] xfs: do not take the iolock in xfs_ireclaim References: <20090825184145.704014101@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-ireclaim X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1251225785 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 While the comment claims we need it to synchronize with inode cache lookups that is not the case. Today we make sure to always do an igrab in all sync variants which do the proper checks for a deleted inode, and we also have the proper checks in xfs_iget. Signed-off-by: Christoph Hellwig Index: xfs/fs/xfs/xfs_iget.c =================================================================== --- xfs.orig/fs/xfs/xfs_iget.c 2009-08-20 13:51:15.695189094 -0300 +++ xfs/fs/xfs/xfs_iget.c 2009-08-24 11:23:32.793789269 -0300 @@ -500,13 +500,11 @@ xfs_ireclaim( * can reference the inodes in the cache without taking references. * * We make that OK here by ensuring that we wait until the inode is - * unlocked after the lookup before we go ahead and free it. We get - * both the ilock and the iolock because the code may need to drop the - * ilock one but will still hold the iolock. + * unlocked after the lookup before we go ahead and free it. */ - xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_ilock(ip, XFS_ILOCK_EXCL); xfs_qm_dqdetach(ip); - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_iunlock(ip, XFS_ILOCK_EXCL); switch (ip->i_d.di_mode & S_IFMT) { case S_IFREG: From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:42:42 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,LOCAL_GNU_PATCH 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 n7PIgHdA217749 for ; Tue, 25 Aug 2009 13:42:32 -0500 X-ASG-Debug-ID: 1251225785-096301590000-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 5813F3F94B3 for ; Tue, 25 Aug 2009 11:43:08 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id REldqWw0u8hChtSp for ; Tue, 25 Aug 2009 11:43:08 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg0z2-0004vK-Vf for xfs@oss.sgi.com; Tue, 25 Aug 2009 18:43:05 +0000 Message-Id: <20090825184304.779391665@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Tue, 25 Aug 2009 14:41:46 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 1/3] xfs: do not take the iolock in xfs_inactive Subject: [PATCH 1/3] xfs: do not take the iolock in xfs_inactive References: <20090825184145.704014101@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-lockdep-inactive 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: 1251225788 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 xfs_inactive is called we already have the inode torn down and no one else can have a reference to it. That means the iolock here is superflous as all other users require a proper reference to it: - xfs_vm_vmap, xfs_vn_fallocate, xfs_read, xfs_write, xfs_splice_read, xfs_splice_write and xfs_setattr are all implementations of VFS methods that require such a life inode - xfs_getbmap and xfs_swap_extents are ioctl sub command for which the same is true - xfs_truncate_file is only called on quota inodes just return from xfs_iget - xfs_sync_inode_data does the lock just after an igrab() - xfs_filestream_associate and xfs_filestream_new_ag take the iolock on the parent inode of an inode which by VFS rules must be referenced Signed-off-by: Christoph Hellwig Index: xfs/fs/xfs/xfs_vnodeops.c =================================================================== --- xfs.orig/fs/xfs/xfs_vnodeops.c 2009-08-20 13:51:15.699188904 -0300 +++ xfs/fs/xfs/xfs_vnodeops.c 2009-08-24 11:23:28.798259252 -0300 @@ -869,10 +869,10 @@ xfs_inactive_symlink_rmt( * the second transaction. In the error paths we need it * held so the cancel won't rele it, see below. */ - xfs_ilock(ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); + xfs_ilock(ip, XFS_ILOCK_EXCL); size = (int)ip->i_d.di_size; ip->i_d.di_size = 0; - xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); /* @@ -917,7 +917,7 @@ xfs_inactive_symlink_rmt( * Mark it dirty so it will be logged and moved forward in the log as * part of every commit. */ - xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); /* @@ -977,7 +977,7 @@ xfs_inactive_symlink_rmt( * joined to the transaction. */ xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT); - xfs_iunlock(ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); + xfs_iunlock(ip, XFS_ILOCK_EXCL); *tpp = NULL; return error; @@ -1006,7 +1006,7 @@ xfs_inactive_symlink_local( *tpp = NULL; return error; } - xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_ilock(ip, XFS_ILOCK_EXCL); /* * Zero length symlinks _can_ exist. @@ -1029,7 +1029,6 @@ xfs_inactive_attrs( int error; xfs_mount_t *mp; - ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL)); tp = *tpp; mp = ip->i_mount; ASSERT(ip->i_d.di_forkoff != 0); @@ -1051,7 +1050,7 @@ xfs_inactive_attrs( goto error_cancel; xfs_ilock(ip, XFS_ILOCK_EXCL); - xfs_trans_ijoin(tp, ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); xfs_idestroy_fork(ip, XFS_ATTR_FORK); @@ -1065,7 +1064,6 @@ error_cancel: xfs_trans_cancel(tp, 0); error_unlock: *tpp = NULL; - xfs_iunlock(ip, XFS_IOLOCK_EXCL); return error; } @@ -1210,12 +1208,10 @@ xfs_inactive( * will call into the buffer cache and we can't * do that within a transaction. */ - xfs_ilock(ip, XFS_IOLOCK_EXCL); error = xfs_itruncate_start(ip, XFS_ITRUNC_DEFINITE, 0); if (error) { xfs_trans_cancel(tp, 0); - xfs_iunlock(ip, XFS_IOLOCK_EXCL); return VN_INACTIVE_CACHE; } @@ -1227,12 +1223,11 @@ xfs_inactive( /* Don't call itruncate_cleanup */ ASSERT(XFS_FORCED_SHUTDOWN(mp)); xfs_trans_cancel(tp, 0); - xfs_iunlock(ip, XFS_IOLOCK_EXCL); return VN_INACTIVE_CACHE; } xfs_ilock(ip, XFS_ILOCK_EXCL); - xfs_trans_ijoin(tp, ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); /* @@ -1248,7 +1243,7 @@ xfs_inactive( if (error) { xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT); - xfs_iunlock(ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); + xfs_iunlock(ip, XFS_ILOCK_EXCL); return VN_INACTIVE_CACHE; } } else if ((ip->i_d.di_mode & S_IFMT) == S_IFLNK) { @@ -1266,7 +1261,7 @@ xfs_inactive( return VN_INACTIVE_CACHE; } - xfs_trans_ijoin(tp, ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); } else { error = xfs_trans_reserve(tp, 0, @@ -1279,8 +1274,8 @@ xfs_inactive( return VN_INACTIVE_CACHE; } - xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); - xfs_trans_ijoin(tp, ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); + xfs_ilock(ip, XFS_ILOCK_EXCL); + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); } @@ -1346,7 +1341,7 @@ xfs_inactive( * Release the dquots held by inode, if any. */ xfs_qm_dqdetach(ip); - xfs_iunlock(ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); + xfs_iunlock(ip, XFS_ILOCK_EXCL); out: return VN_INACTIVE_CACHE; From BATV+72d2e8dc13cac2532eda+2193+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 13:56: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_61, 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 n7PItqkh218221 for ; Tue, 25 Aug 2009 13:56:08 -0500 X-ASG-Debug-ID: 1251226605-53c203650000-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 5FC851533390; Tue, 25 Aug 2009 11:56:45 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id FwQi43FZB4yMv4mL; Tue, 25 Aug 2009 11:56:45 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg1CH-0007po-19; Tue, 25 Aug 2009 18:56:45 +0000 Date: Tue, 25 Aug 2009 14:56:45 -0400 From: Christoph Hellwig To: Alex Elder Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 0/7] inode allocation cleanups Subject: Re: [PATCH 0/7] inode allocation cleanups Message-ID: <20090825185644.GA21563@infradead.org> References: <20090824153030.GA19864@infradead.org> <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABCE@cf--amer001e--3.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABCE@cf--amer001e--3.americas.sgi.com> 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: 1251226605 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 25, 2009 at 12:57:16PM -0500, Alex Elder wrote: > # [PATCH 5/7] xfs: untangle xfs_dialloc Christoph Hellwig > No cursor cleanup on WANT_CORRUPTED_RETURN() just after "if (pagno == agno)". > (Maybe I'm misreading the patch.) I realize this is still better than the > ASSERT() in place currently, but maybe it should be WANT_CORRUPTED_GOTO(error0) > instead. Good catch, the two in xfs_dialloc should indeed be WANT_CORRUPTED_GOTOs. For the one in xfs_ialloc_next_rec. Below is the updated version of the patch, still needs to run through XFSQA again: Subject: xfs: untangle xfs_dialloc From: Christoph Hellwig Clarify the control flow in xfs_dialloc. Factor out a helper to go to the next node from the current one and improve the control flow by expanding composite if statements and using gotos. The xfs_ialloc_next_rec helper is borrowed from Dave Chinners dynamic allocation policy patches. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Index: xfs/fs/xfs/xfs_ialloc.c =================================================================== --- xfs.orig/fs/xfs/xfs_ialloc.c 2009-08-25 15:48:34.426442643 -0300 +++ xfs/fs/xfs/xfs_ialloc.c 2009-08-25 15:54:56.312444853 -0300 @@ -589,6 +589,37 @@ nextag: } } +/* + * Try to retrieve the next record to the left/right from the current one. + */ +STATIC int +xfs_ialloc_next_rec( + struct xfs_btree_cur *cur, + xfs_inobt_rec_incore_t *rec, + int *done, + int left) +{ + int error; + int i; + + if (left) + error = xfs_btree_decrement(cur, 0, &i); + else + error = xfs_btree_increment(cur, 0, &i); + + if (error) + return error; + *done = !i; + if (i) { + error = xfs_inobt_get_rec(cur, rec, &i); + if (error) + return error; + XFS_WANT_CORRUPTED_RETURN(i == 1); + } + + return 0; +} + /* * Visible inode allocation functions. @@ -644,8 +675,8 @@ xfs_dialloc( int j; /* result code */ xfs_mount_t *mp; /* file system mount structure */ int offset; /* index of inode in chunk */ - xfs_agino_t pagino; /* parent's a.g. relative inode # */ - xfs_agnumber_t pagno; /* parent's allocation group number */ + xfs_agino_t pagino; /* parent's AG relative inode # */ + xfs_agnumber_t pagno; /* parent's AG number */ xfs_inobt_rec_incore_t rec; /* inode allocation record */ xfs_agnumber_t tagno; /* testing allocation group number */ xfs_btree_cur_t *tcur; /* temp cursor */ @@ -781,186 +812,140 @@ nextag: goto error0; /* - * If in the same a.g. as the parent, try to get near the parent. + * If in the same AG as the parent, try to get near the parent. */ if (pagno == agno) { - if ((error = xfs_inobt_lookup_le(cur, pagino, 0, 0, &i))) + int doneleft; /* done, to the left */ + int doneright; /* done, to the right */ + + error = xfs_inobt_lookup_le(cur, pagino, 0, 0, &i); + if (error) + goto error0; + XFS_WANT_CORRUPTED_GOTO(i == 1, error0); + + error = xfs_inobt_get_rec(cur, &rec, &j); + if (error) goto error0; - if (i != 0 && - (error = xfs_inobt_get_rec(cur, &rec, &j)) == 0 && - j == 1 && - rec.ir_freecount > 0) { + XFS_WANT_CORRUPTED_GOTO(i == 1, error0); + + if (rec.ir_freecount > 0) { /* * Found a free inode in the same chunk - * as parent, done. + * as the parent, done. */ + goto alloc_inode; } + + /* - * In the same a.g. as parent, but parent's chunk is full. + * In the same AG as parent, but parent's chunk is full. */ - else { - int doneleft; /* done, to the left */ - int doneright; /* done, to the right */ - if (error) - goto error0; - ASSERT(i == 1); - ASSERT(j == 1); - /* - * Duplicate the cursor, search left & right - * simultaneously. - */ - if ((error = xfs_btree_dup_cursor(cur, &tcur))) - goto error0; - /* - * Search left with tcur, back up 1 record. - */ - if ((error = xfs_btree_decrement(tcur, 0, &i))) - goto error1; - doneleft = !i; - if (!doneleft) { - error = xfs_inobt_get_rec(tcur, &trec, &i); - if (error) - goto error1; - XFS_WANT_CORRUPTED_GOTO(i == 1, error1); + /* duplicate the cursor, search left & right simultaneously */ + error = xfs_btree_dup_cursor(cur, &tcur); + if (error) + goto error0; + + /* search left with tcur, back up 1 record */ + error = xfs_ialloc_next_rec(tcur, &trec, &doneleft, 1); + if (error) + goto error1; + + /* search right with cur, go forward 1 record. */ + error = xfs_ialloc_next_rec(cur, &rec, &doneright, 0); + if (error) + goto error1; + + /* + * Loop until we find an inode chunk with a free inode. + */ + while (!doneleft || !doneright) { + int useleft; /* using left inode chunk this time */ + + /* figure out the closer block if both are valid. */ + if (!doneleft && !doneright) { + useleft = pagino - + (trec.ir_startino + XFS_INODES_PER_CHUNK - 1) < + rec.ir_startino - pagino; + } else { + useleft = !doneleft; } - /* - * Search right with cur, go forward 1 record. - */ - if ((error = xfs_btree_increment(cur, 0, &i))) - goto error1; - doneright = !i; - if (!doneright) { - error = xfs_inobt_get_rec(cur, &rec, &i); - if (error) - goto error1; - XFS_WANT_CORRUPTED_GOTO(i == 1, error1); + + /* free inodes to the left? */ + if (useleft && trec.ir_freecount) { + rec = trec; + xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); + cur = tcur; + goto alloc_inode; } - /* - * Loop until we find the closest inode chunk - * with a free one. - */ - while (!doneleft || !doneright) { - int useleft; /* using left inode - chunk this time */ - /* - * Figure out which block is closer, - * if both are valid. - */ - if (!doneleft && !doneright) - useleft = - pagino - - (trec.ir_startino + - XFS_INODES_PER_CHUNK - 1) < - rec.ir_startino - pagino; - else - useleft = !doneleft; - /* - * If checking the left, does it have - * free inodes? - */ - if (useleft && trec.ir_freecount) { - /* - * Yes, set it up as the chunk to use. - */ - rec = trec; - xfs_btree_del_cursor(cur, - XFS_BTREE_NOERROR); - cur = tcur; - break; - } - /* - * If checking the right, does it have - * free inodes? - */ - if (!useleft && rec.ir_freecount) { - /* - * Yes, it's already set up. - */ - xfs_btree_del_cursor(tcur, - XFS_BTREE_NOERROR); - break; - } - /* - * If used the left, get another one - * further left. - */ - if (useleft) { - if ((error = xfs_btree_decrement(tcur, 0, - &i))) - goto error1; - doneleft = !i; - if (!doneleft) { - error = xfs_inobt_get_rec( - tcur, &trec, &i); - if (error) - goto error1; - XFS_WANT_CORRUPTED_GOTO(i == 1, - error1); - } - } - /* - * If used the right, get another one - * further right. - */ - else { - if ((error = xfs_btree_increment(cur, 0, - &i))) - goto error1; - doneright = !i; - if (!doneright) { - error = xfs_inobt_get_rec( - cur, &rec, &i); - if (error) - goto error1; - XFS_WANT_CORRUPTED_GOTO(i == 1, - error1); - } - } + /* free inodes to the right? */ + if (!useleft && rec.ir_freecount) { + xfs_btree_del_cursor(tcur, XFS_BTREE_NOERROR); + goto alloc_inode; } - ASSERT(!doneleft || !doneright); + + /* get next record to check */ + if (useleft) { + error = xfs_ialloc_next_rec(tcur, &trec, + &doneleft, 1); + } else { + error = xfs_ialloc_next_rec(cur, &rec, + &doneright, 0); + } + if (error) + goto error1; } + ASSERT(!doneleft || !doneright); } + /* - * In a different a.g. from the parent. + * In a different AG from the parent. * See if the most recently allocated block has any free. */ else if (be32_to_cpu(agi->agi_newino) != NULLAGINO) { - if ((error = xfs_inobt_lookup_eq(cur, - be32_to_cpu(agi->agi_newino), 0, 0, &i))) + error = xfs_inobt_lookup_eq(cur, be32_to_cpu(agi->agi_newino), + 0, 0, &i); + if (error) goto error0; - if (i == 1 && - (error = xfs_inobt_get_rec(cur, &rec, &j)) == 0 && - j == 1 && - rec.ir_freecount > 0) { - /* - * The last chunk allocated in the group still has - * a free inode. - */ + + if (i == 1) { + error = xfs_inobt_get_rec(cur, &rec, &j); + if (error) + goto error0; + + if (j == 1 && rec.ir_freecount > 0) { + /* + * The last chunk allocated in the group + * still has a free inode. + */ + goto alloc_inode; + } } + /* - * None left in the last group, search the whole a.g. + * None left in the last group, search the whole AG */ - else { + error = xfs_inobt_lookup_ge(cur, 0, 0, 0, &i); + if (error) + goto error0; + XFS_WANT_CORRUPTED_GOTO(i == 1, error0); + + for (;;) { + error = xfs_inobt_get_rec(cur, &rec, &i); if (error) goto error0; - if ((error = xfs_inobt_lookup_ge(cur, 0, 0, 0, &i))) + XFS_WANT_CORRUPTED_GOTO(i == 1, error0); + if (rec.ir_freecount > 0) + break; + error = xfs_btree_increment(cur, 0, &i); + if (error) goto error0; - ASSERT(i == 1); - for (;;) { - error = xfs_inobt_get_rec(cur, &rec, &i); - if (error) - goto error0; - XFS_WANT_CORRUPTED_GOTO(i == 1, error0); - if (rec.ir_freecount > 0) - break; - if ((error = xfs_btree_increment(cur, 0, &i))) - goto error0; - XFS_WANT_CORRUPTED_GOTO(i == 1, error0); - } + XFS_WANT_CORRUPTED_GOTO(i == 1, error0); } } + +alloc_inode: offset = xfs_ialloc_find_free(&rec.ir_free); ASSERT(offset >= 0); ASSERT(offset < XFS_INODES_PER_CHUNK); From aelder@sgi.com Tue Aug 25 14:13:33 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 n7PJDDCT219281 for ; Tue, 25 Aug 2009 14:13:23 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3448E30408B for ; Tue, 25 Aug 2009 12:14:06 -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 0/7] inode allocation cleanups Date: Tue, 25 Aug 2009 14:12:50 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD0@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090825185644.GA21563@infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH 0/7] inode allocation cleanups Thread-Index: AcoltcsPUBDDeXVES1uPr8Op+gTAWwAAfu7g From: "Alex Elder" To: "Christoph Hellwig" Cc: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean > From: Christoph Hellwig [mailto:hch@infradead.org] > Sent: Tuesday, August 25, 2009 1:57 PM > To: Alex Elder > Cc: Christoph Hellwig; xfs@oss.sgi.com > Subject: Re: [PATCH 0/7] inode allocation cleanups >=20 >=20 > On Tue, Aug 25, 2009 at 12:57:16PM -0500, Alex Elder wrote: > > # [PATCH 5/7] xfs: untangle xfs_dialloc Christoph Hellwig > > No cursor cleanup on WANT_CORRUPTED_RETURN() just after=20 > "if (pagno =3D=3D agno)". > > (Maybe I'm misreading the patch.) I realize this is=20 > still better than the > > ASSERT() in place currently, but maybe it should be=20 > WANT_CORRUPTED_GOTO(error0) > > instead. >=20 > Good catch, the two in xfs_dialloc should indeed be=20 > WANT_CORRUPTED_GOTOs. > For the one in xfs_ialloc_next_rec. >=20 >=20 > Below is the updated version of the patch, still needs to run through > XFSQA again: . . . I did not review this one as carefully, but I see that you changed those two spots to WANT_CORRUPTED_GOTO() calls and I assume that's all that's really changed. Looks good. -Alex From sim@netnation.com Tue Aug 25 19:46: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7Q0kIbj236745 for ; Tue, 25 Aug 2009 19:46:28 -0500 X-ASG-Debug-ID: 1251247620-2571008c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from peace.netnation.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 82184153EF6B for ; Tue, 25 Aug 2009 17:47:00 -0700 (PDT) Received: from peace.netnation.com (newpeace.netnation.com [204.174.223.7]) by cuda.sgi.com with ESMTP id reQBvJw8u0CEDOXt for ; Tue, 25 Aug 2009 17:47:00 -0700 (PDT) Received: from sim by peace.netnation.com with local (Exim 4.63) (envelope-from ) id 1Mg6fC-00086z-CW; Tue, 25 Aug 2009 17:46:58 -0700 Date: Tue, 25 Aug 2009 17:46:58 -0700 From: Simon Kirby To: xfs@oss.sgi.com, linux-kernel@vger.kernel.org X-ASG-Orig-Subj: [2.6.30.4] XFS-related BUG and hang via shrink_icache_memory Subject: [2.6.30.4] XFS-related BUG and hang via shrink_icache_memory Message-ID: <20090826004658.GA30929@hostway.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.13 (2006-08-11) X-Barracuda-Connect: newpeace.netnation.com[204.174.223.7] X-Barracuda-Start-Time: 1251247630 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0001 1.0000 -2.0203 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -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_RULE_7582B X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7239 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 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 an NFS storage server, we started using some XFS filesystems along with many other EXT3 (on LVM on AOE). The following bug has occurred twice, with the machine hanging immediately after (console full of scrolling oopses or bugs -- haven't seen it myself -- after this): Aug 25 16:16:15 nas03 kernel: kernel BUG at lib/radix-tree.c:485! Aug 25 16:16:15 nas03 kernel: CPU 1 Aug 25 16:16:15 nas03 kernel: Pid: 417, comm: kswapd0 Not tainted 2.6.30.4-hw #1 PowerEdge 1950 Aug 25 16:16:15 nas03 kernel: RIP: 0010:[] [] radix_tree_tag_set+0xa2/0xb0 Aug 25 16:16:15 nas03 kernel: RSP: 0018:ffff88022fb1dc78 EFLAGS: 00010246 Aug 25 16:16:15 nas03 kernel: RAX: 000000000000001e RBX: 0000000000000000 RCX: ffff8801d2f855c8 Aug 25 16:16:15 nas03 kernel: RDX: 0000000000000000 RSI: 000000000000009e RDI: ffff88022c704530 Aug 25 16:16:15 nas03 kernel: RBP: ffff88022fb1dc80 R08: 000000000000001e R09: 0000000000000000 Aug 25 16:16:15 nas03 kernel: R10: 0000000000000000 R11: 0000000000000001 R12: ffff8801385a6180 Aug 25 16:16:15 nas03 kernel: R13: ffff88022cb56800 R14: 000000000000000f R15: 0000000000000080 Aug 25 16:16:15 nas03 kernel: FS: 0000000000000000(0000) GS:ffff88002804d000(0000) knlGS:0000000000000000 Aug 25 16:16:15 nas03 kernel: CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b Aug 25 16:16:15 nas03 kernel: CR2: 00007f759ae1dae0 CR3: 0000000000201000 CR4: 00000000000006e0 Aug 25 16:16:15 nas03 kernel: ffff88022c7044f0 ffff88022fb1dcb0 ffffffff80439198 ffff88022fb1dcc0 Aug 25 16:16:15 nas03 kernel: ffff8801385a6180 ffff8801385a6300 ffff88022fb1dd60 ffff88022fb1dcd0 Aug 25 16:16:15 nas03 kernel: ffffffff80429cbb ffff88022fb1dce0 ffff8801385a6300 ffff88022fb1dcf0 Aug 25 16:16:15 nas03 kernel: Call Trace: Aug 25 16:16:15 nas03 kernel: [] xfs_inode_set_reclaim_tag+0x78/0xa0 Aug 25 16:16:15 nas03 kernel: [] xfs_reclaim+0x5b/0xb0 Aug 25 16:16:15 nas03 kernel: [] xfs_fs_destroy_inode+0x38/0x60 Aug 25 16:16:15 nas03 kernel: [] destroy_inode+0x2e/0x50 Aug 25 16:16:15 nas03 kernel: [] dispose_list+0x96/0x110 Aug 25 16:16:15 nas03 kernel: [] shrink_icache_memory+0x1be/0x2b0 Aug 25 16:16:15 nas03 kernel: [] shrink_slab+0x125/0x180 Aug 25 16:16:15 nas03 kernel: [] kswapd+0x3c9/0x5c0 Aug 25 16:16:15 nas03 kernel: [] ? isolate_pages_global+0x0/0x290 Aug 25 16:16:15 nas03 kernel: [] ? thread_return+0x3f/0x63e Aug 25 16:16:15 nas03 kernel: [] ? autoremove_wake_function+0x0/0x40 Aug 25 16:16:15 nas03 kernel: [] ? kswapd+0x0/0x5c0 Aug 25 16:16:15 nas03 kernel: [] ? early_idt_handler+0x0/0x71 Aug 25 16:16:15 nas03 kernel: [] kthread+0x5a/0x90 Aug 25 16:16:15 nas03 kernel: [] child_rip+0xa/0x20 Aug 25 16:16:15 nas03 kernel: [] ? early_idt_handler+0x0/0x71 Aug 25 16:16:15 nas03 kernel: [] ? kthread+0x0/0x90 Aug 25 16:16:15 nas03 kernel: [] ? child_rip+0x0/0x20 Aug 25 16:16:15 nas03 kernel: Code: 4d 85 d2 74 26 41 ff cb 75 c4 4d 85 d2 74 16 8b 47 04 8d 4b 15 ba 01 00 00 00 d3 e2 85 c2 75 05 09 d0 89 47 04 5b c9 4c 89 d0 c3 <0f> 0b eb fe 0f 0b eb fe 66 66 90 66 66 90 55 48 89 e5 41 57 41 >>RIP; ffffffff8046b4f2 <===== >>RCX; ffff8801d2f855c8 >>RDI; ffff88022c704530 >>RBP; ffff88022fb1dc80 >>R12; ffff8801385a6180 >>R13; ffff88022cb56800 Trace; ffffffff80439198 Trace; ffffffff80429cbb Trace; ffffffff80437ce8 Trace; ffffffff802c6e0e Trace; ffffffff802c7206 Trace; ffffffff802c743e Trace; ffffffff80290d25 Trace; ffffffff802915d9 Trace; ffffffff8028ee80 Trace; ffffffff80702e11 Trace; ffffffff80256790 Trace; ffffffff80291210 Trace; ffffffff8095c140 Trace; ffffffff8025637a Trace; ffffffff8020ce0a Trace; ffffffff8095c140 Trace; ffffffff80256320 Trace; ffffffff8020ce00 Code; ffffffff8046b4c7 0000000000000000 <_RIP>: Code; ffffffff8046b4c7 0: 4d 85 d2 test %r10,%r10 Code; ffffffff8046b4ca 3: 74 26 je 2b <_RIP+0x2b> Code; ffffffff8046b4cc 5: 41 ff cb dec %r11d Code; ffffffff8046b4cf 8: 75 c4 jne ffffffffffffffce <_RIP+0xffffffffffffffce> Code; ffffffff8046b4d1 a: 4d 85 d2 test %r10,%r10 Code; ffffffff8046b4d4 d: 74 16 je 25 <_RIP+0x25> Code; ffffffff8046b4d6 f: 8b 47 04 mov 0x4(%rdi),%eax Code; ffffffff8046b4d9 12: 8d 4b 15 lea 0x15(%rbx),%ecx Code; ffffffff8046b4dc 15: ba 01 00 00 00 mov $0x1,%edx Code; ffffffff8046b4e1 1a: d3 e2 shl %cl,%edx Code; ffffffff8046b4e3 1c: 85 c2 test %eax,%edx Code; ffffffff8046b4e5 1e: 75 05 jne 25 <_RIP+0x25> Code; ffffffff8046b4e7 20: 09 d0 or %edx,%eax Code; ffffffff8046b4e9 22: 89 47 04 mov %eax,0x4(%rdi) Code; ffffffff8046b4ec 25: 5b pop %rbx Code; ffffffff8046b4ed 26: c9 leaveq Code; ffffffff8046b4ee 27: 4c 89 d0 mov %r10,%rax Code; ffffffff8046b4f1 2a: c3 retq Code; ffffffff8046b4f2 <===== 2b: 0f 0b ud2a <===== Code; ffffffff8046b4f4 2d: eb fe jmp 2d <_RIP+0x2d> Code; ffffffff8046b4f6 2f: 0f 0b ud2a Code; ffffffff8046b4f8 31: eb fe jmp 31 <_RIP+0x31> Code; ffffffff8046b4fa 33: 66 66 90 xchg %ax,%ax Code; ffffffff8046b4fd 36: 66 66 90 xchg %ax,%ax Code; ffffffff8046b500 39: 55 push %rbp Code; ffffffff8046b501 3a: 48 89 e5 mov %rsp,%rbp Code; ffffffff8046b504 3d: 41 57 push %r15 Code; ffffffff8046b506 3f: 41 rex.B This is stock 2.6.30.4, x86_64, serving files over NFS. Perhaps something in the shrink_icache_memory path (which happens to get hit a lot with our particular load patterns) isn't safe with XFS? I'm a bit low on sleep so I'm sure I'm missing some info. Please ask. :) Simon- From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Tue Aug 25 20:15:27 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 n7Q1F2ve238252 for ; Tue, 25 Aug 2009 20:15:17 -0500 X-ASG-Debug-ID: 1251249333-56dc01e60000-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 21DDE3FB148 for ; Tue, 25 Aug 2009 18:15:33 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id M0kk35VwQD0gEkni for ; Tue, 25 Aug 2009 18:15:33 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mg76q-0007A0-Nw; Wed, 26 Aug 2009 01:15:32 +0000 Date: Tue, 25 Aug 2009 21:15:32 -0400 From: Christoph Hellwig To: Simon Kirby Cc: xfs@oss.sgi.com, linux-kernel@vger.kernel.org X-ASG-Orig-Subj: Re: [2.6.30.4] XFS-related BUG and hang via shrink_icache_memory Subject: Re: [2.6.30.4] XFS-related BUG and hang via shrink_icache_memory Message-ID: <20090826011532.GA24362@infradead.org> References: <20090826004658.GA30929@hostway.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090826004658.GA30929@hostway.ca> 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: 1251249354 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 25, 2009 at 05:46:58PM -0700, Simon Kirby wrote: > On an NFS storage server, we started using some XFS filesystems along > with many other EXT3 (on LVM on AOE). The following bug has occurred > twice, with the machine hanging immediately after (console full of > scrolling oopses or bugs -- haven't seen it myself -- after this): Known and fortunately fixed bug, get the patches to fix it from: http://bugzilla.kernel.org/attachment.cgi?id=22741 It should also be included in the next upcoming 2.6.30-stable release. From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 06:37:32 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 n7QBb4wQ007696 for ; Wed, 26 Aug 2009 06:37:22 -0500 X-ASG-Debug-ID: 1251286656-1014012c0000-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 21DCF3FCA41 for ; Wed, 26 Aug 2009 04:37:36 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 0kypjkMnfkBtKTb4 for ; Wed, 26 Aug 2009 04:37:36 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgGoq-00022w-Nz for xfs@oss.sgi.com; Wed, 26 Aug 2009 11:37:36 +0000 Date: Wed, 26 Aug 2009 07:37:36 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH] xfs: use correct log reservation when handling ENOSPC in xfs_create Subject: [PATCH] xfs: use correct log reservation when handling ENOSPC in xfs_create Message-ID: <20090826113736.GA15562@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: 1251286677 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 We added the ENOSPC handling patch in xfs_create just after it got mered with xfs_mkdir. Change the log reservation to the variable for either the create or mkdir value so it does the right thing if get here for creating a directory. Signed-off-by: Christoph Hellwig Index: xfs/fs/xfs/xfs_vnodeops.c =================================================================== --- xfs.orig/fs/xfs/xfs_vnodeops.c 2009-08-24 11:35:52.794261954 -0300 +++ xfs/fs/xfs/xfs_vnodeops.c 2009-08-24 11:36:25.466636450 -0300 @@ -1479,8 +1479,8 @@ xfs_create( if (error == ENOSPC) { /* flush outstanding delalloc blocks and retry */ xfs_flush_inodes(dp); - error = xfs_trans_reserve(tp, resblks, XFS_CREATE_LOG_RES(mp), 0, - XFS_TRANS_PERM_LOG_RES, XFS_CREATE_LOG_COUNT); + error = xfs_trans_reserve(tp, resblks, log_res, 0, + XFS_TRANS_PERM_LOG_RES, log_count); } if (error == ENOSPC) { /* No space at all so try a "no-allocation" reservation */ From jpiszcz@lucidpixels.com Wed Aug 26 08:50:55 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7QDoZFn014961 for ; Wed, 26 Aug 2009 08:50:45 -0500 X-ASG-Debug-ID: 1251294660-100e03510000-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 2F7513FDB02 for ; Wed, 26 Aug 2009 06:51:01 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id SxYFpWyGpO76cL6C for ; Wed, 26 Aug 2009 06:51:01 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 83A9C3E75; Wed, 26 Aug 2009 09:50:27 -0400 (EDT) Date: Wed, 26 Aug 2009 09:50:27 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 XFS(..?) regression (& with/2.6.31-rc6) In-Reply-To: Message-ID: References: <20090816022331.GA2309@infradead.org> <20090822142550.GA10003@infradead.org> <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> <20090823224504.GA19942@infradead.org> 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: 1251294688 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.7282 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, 24 Aug 2009, Justin Piszcz wrote: > > > On Sun, 23 Aug 2009, Christoph Hellwig wrote: > >> Ok, let's see where errors could happen then. >> >> There are four theoretical possibilities: >> >> (a) XFS >> (b) loop driver >> (c) crypto loop code >> (d) block layer >> >> Or combinations thereof. >> >> I would take (a) and (d) as more unlikely as they tend to get used much >> more and I would have heard more bug reports already. >> >> The cryptoloop code hasn't changed at all since 2.6.29. >> >> The loop code howver has a very interesting commit just after 2.6.39: >> >> commit 68db1961bbf4e16c220ccec4a780e966bc1fece3 >> Author: Nikanth Karthikesan >> Date: Tue Mar 24 12:29:54 2009 +0100 >> >> loop: support barrier writes >> >> Can you try reverting this one (it cleanly reverse-applies against >> 2.6.30 and current mainline) and see if that makes a difference? >> > > Hello Christoph, > > # patch -p1 -R < ../unpatch.patch > patching file drivers/block/loop.c > Hunk #1 succeeded at 473 (offset -1 lines). > Hunk #2 succeeded at 804 (offset -22 lines). > # > > Patched, we'll see if the problem recurs.. thanks! > > Justin. > Hi Christoph, So far the uptime is 2 days, if it does not recur in the next 24-48 hours, do you recommend I follow up with the linux-crypto folks about this? It appears this could be the cause (no issues, as of yet). Justin. From s.waalre@kpnplanet.nl Wed Aug 26 10:59:42 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: **** X-Spam-Status: No, score=4.4 required=5.0 tests=BAYES_50,HTML_MESSAGE, MIME_QP_LONG_LINE 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 n7QFxFSn022108 for ; Wed, 26 Aug 2009 10:59:32 -0500 X-ASG-Debug-ID: 1251302381-564b00150000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from cpsmtpb-ews07.kpnxchange.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 70CEF3FE1A9 for ; Wed, 26 Aug 2009 08:59:41 -0700 (PDT) Received: from cpsmtpb-ews07.kpnxchange.com (cpsmtpb-ews07.kpnxchange.com [213.75.39.10]) by cuda.sgi.com with ESMTP id DnrH1x2uDAXUsvT6 for ; Wed, 26 Aug 2009 08:59:41 -0700 (PDT) Received: from cpbrm-ews24.kpnxchange.com ([10.94.84.155]) by cpsmtpb-ews07.kpnxchange.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 26 Aug 2009 17:59:37 +0200 Received: from CPSMTPM-EML04.kpnxchange.com ([213.75.39.74]) by cpbrm-ews24.kpnxchange.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 26 Aug 2009 17:59:38 +0200 Received: from localhost ([10.94.77.200]) by CPSMTPM-EML04.kpnxchange.com with Microsoft SMTPSVC(7.0.6001.18000); Wed, 26 Aug 2009 17:59:37 +0200 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CA2666.3371B6D4" X-MIMEOLE: Produced By Microsoft Exchange V6.5 X-ASG-Orig-Subj: Request from Mr. Tang Subject: ***** SUSPECTED SPAM ***** Request from Mr. Tang Date: Wed, 26 Aug 2009 17:59:32 +0200 Message-ID: <8112F152ED31994CAF343CD4C0A64CB2045E5353@CPEXBE-EML28.kpnsp.local> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Request from Mr. Tang Thread-Index: AcomZjJFIZqraXdbQHiNokub2ljkog== From: To: X-OriginalArrivalTime: 26 Aug 2009 15:59:37.0116 (UTC) FILETIME=[3630ADC0:01CA2666] X-RecipientDomain: oss.sgi.com X-Barracuda-Connect: cpsmtpb-ews07.kpnxchange.com[213.75.39.10] X-Barracuda-Start-Time: 1251302402 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5177 1.0000 0.7500 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 2.07 X-Barracuda-Spam-Status: Yes, SCORE=2.07 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC0_SA_TO_FROM_ADDR_MATCH, HTML_MESSAGE, MAILTO_TO_SPAM_ADDR, MIME_QP_LONG_LINE, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7289 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.00 HTML_MESSAGE BODY: HTML included in message 0.82 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address X-Priority: 5 (Lowest) X-MSMail-Priority: Low Importance: Low X-Barracuda-Spam-Flag: YES 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. ------_=_NextPart_001_01CA2666.3371B6D4 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable =20 Request from Mr. Tang Hello, my name is Richard Tang from Hong Kong. I am with a finance = institution here in Hong Kong. I have a business that I want to offer = you. This projects worths 44.5Million Dollars and you will have a 50% = share from the total amount.=20 I will give you the full details in my next e-mail and what I need from = you. So if you are interested please contact me back at my personal = address richardtang177@yahoo.com.hk I will be waiting to hear from you. = Have a nice day. Mr. Richard Tang ------_=_NextPart_001_01CA2666.3371B6D4 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable =0A= =0A= =0A= =0A=
 =0A=

Request from Mr. Tang

=0A=


=0A=

Hello, my name is Richard Tang from Hong = Kong. I am with a finance institution here in Hong Kong. I have a = business that I want to offer you. This projects worths 44.5Million = Dollars and you will have a 50% share from the total amount.

=0A=


=0A=

I will give you the full details in my = next e-mail and what I need from you. So if you are interested please = contact me back at my personal address richardtang177@yahoo.com.hk I = will be waiting to hear from you. Have a nice day.

=0A=


=0A=

Mr. Richard = Tang

------_=_NextPart_001_01CA2666.3371B6D4-- From michael.monnerie@is.it-management.at Wed Aug 26 12:20:22 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_33 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 n7QHK1WW025705 for ; Wed, 26 Aug 2009 12:20:12 -0500 X-ASG-Debug-ID: 1251307240-4af902ad0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv1.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D14A83FF229 for ; Wed, 26 Aug 2009 10:20:40 -0700 (PDT) Received: from mailsrv1.zmi.at (mailsrv1.zmi.at [212.69.162.198]) by cuda.sgi.com with ESMTP id G8yJ674xSAZGTKDc for ; Wed, 26 Aug 2009 10:20:40 -0700 (PDT) Received: from mailsrv.i.zmi.at (unknown [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv1.zmi.at (Postfix) with ESMTP id 779AF538C for ; Wed, 26 Aug 2009 19:20:36 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 626C3400166 for ; Wed, 26 Aug 2009 19:20:36 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: disk performance strange/low Subject: Re: disk performance strange/low Date: Wed, 26 Aug 2009 19:20:36 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.5-ZMI; KDE/4.1.3; x86_64; ; ) References: <200908172311.07660@zmi.at> <200908180408.10738@zmi.at> <20090818024350.GA3591@infradead.org> In-Reply-To: <20090818024350.GA3591@infradead.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1640778.TIoIjraX38"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200908261920.47054@zmi.at> X-Barracuda-Connect: mailsrv1.zmi.at[212.69.162.198] X-Barracuda-Start-Time: 1251307245 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0004 1.0000 -2.0184 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.7293 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 --nextPart1640778.TIoIjraX38 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Dienstag 18 August 2009 Christoph Hellwig wrote: > On Tue, Aug 18, 2009 at 04:08:05AM +0200, Michael Monnerie wrote: > > On Montag 17 August 2009 Christoph Hellwig wrote: > > > Yes, that sounds like the problem of the VM not feeding us enough > > > pages to write. ?What kernel is this on? ?Latest 2.6.31-rc has a > > > workaround for it. > > > > 2.6.27.23-0.1-xen from openSUSE 11.1 > > I can't switch as I use it with the free Xen. Thanks for the info. > > Try backporting commit c8a4051c3731b6db224482218cfd535ab9393ff8 from > mainline - it should apply just fine to a 2.6.27-ish kernel. Thank you. I'm not a patcher, could you tell me how to do that? mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 --nextPart1640778.TIoIjraX38 Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEABECAAYFAkqVbu8ACgkQzhSR9xwSCbT4lQCaA2iy+tQ3JeHwt6cGMLjDZ+aJ I+AAoONKjM8qNCL7D/cKwHhjDdET3We6 =Vtv+ -----END PGP SIGNATURE----- --nextPart1640778.TIoIjraX38-- From aelder@sgi.com Wed Aug 26 12:46: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 n7QHkXDB027248 for ; Wed, 26 Aug 2009 12:46:43 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay1.corp.sgi.com (Postfix) with ESMTP id 736218F80B5 for ; Wed, 26 Aug 2009 10:47:26 -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: [PATCH] xfs_showargs() reports group *and* project quotas enabled Date: Wed, 26 Aug 2009 12:46:12 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD9@cf--amer001e--3.americas.sgi.com> In-Reply-To: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD0@cf--amer001e--3.americas.sgi.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH 0/7] inode allocation cleanups Thread-Index: AcoltcsPUBDDeXVES1uPr8Op+gTAWwAAfu7gAC853UA= From: "Alex Elder" To: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean If you enable group or project quotas on an XFS file system, then the mount table presented through /proc/self/mounts erroneously shows that both options are in effect for the file system. The root of the problem is some bad logic in the xfs_showargs() function, which is used to format the file system type-specific options in effect for a file system. The problem originated in this GIT commit: Move platform specific mount option parse out of core XFS code Date: 11/22/07 Author: Dave Chinner SHA1 ID: a67d7c5f5d25d0b13a4dfb182697135b014fa478 For XFS quotas, project and group quota management are mutually exclusive--only one can be in effect at a time. There are two parts to managing quotas: aggregating usage information; and enforcing limits. It is possible to have a quota in effect (aggregating usage) but not enforced. These features are recorded on an XFS mount point using these flags: XFS_PQUOTA_ACCT - Project quotas are aggregated XFS_GQUOTA_ACCT - Group quotas are aggregated XFS_OQUOTA_ENFD - Project/group quotas are enforced The code in error is in fs/xfs/linux-2.6/xfs_super.c: if (mp->m_qflags & (XFS_PQUOTA_ACCT|XFS_OQUOTA_ENFD)) seq_puts(m, "," MNTOPT_PRJQUOTA); else if (mp->m_qflags & XFS_PQUOTA_ACCT) seq_puts(m, "," MNTOPT_PQUOTANOENF); if (mp->m_qflags & (XFS_GQUOTA_ACCT|XFS_OQUOTA_ENFD)) seq_puts(m, "," MNTOPT_GRPQUOTA); else if (mp->m_qflags & XFS_GQUOTA_ACCT) seq_puts(m, "," MNTOPT_GQUOTANOENF); The problem is that XFS_OQUOTA_ENFD will be set in mp->m_qflags if either group or project quotas are enforced, and as a result both MNTOPT_PRJQUOTA and MNTOPT_GRPQUOTA will be shown as mount options. Signed-off-by: Alex Elder --- fs/xfs/linux-2.6/xfs_super.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) Index: b/fs/xfs/linux-2.6/xfs_super.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c @@ -579,15 +579,19 @@ xfs_showargs( else if (mp->m_qflags & XFS_UQUOTA_ACCT) seq_puts(m, "," MNTOPT_UQUOTANOENF); =20 - if (mp->m_qflags & (XFS_PQUOTA_ACCT|XFS_OQUOTA_ENFD)) - seq_puts(m, "," MNTOPT_PRJQUOTA); - else if (mp->m_qflags & XFS_PQUOTA_ACCT) - seq_puts(m, "," MNTOPT_PQUOTANOENF); + /* Either project or group quotas can be active, not both */ =20 - if (mp->m_qflags & (XFS_GQUOTA_ACCT|XFS_OQUOTA_ENFD)) - seq_puts(m, "," MNTOPT_GRPQUOTA); - else if (mp->m_qflags & XFS_GQUOTA_ACCT) - seq_puts(m, "," MNTOPT_GQUOTANOENF); + if (mp->m_qflags & XFS_PQUOTA_ACCT) { + if (mp->m_qflags & XFS_OQUOTA_ENFD) + seq_puts(m, "," MNTOPT_PRJQUOTA); + else + seq_puts(m, "," MNTOPT_PQUOTANOENF); + } else if (mp->m_qflags & XFS_GQUOTA_ACCT) { + if (mp->m_qflags & XFS_OQUOTA_ENFD) + seq_puts(m, "," MNTOPT_GRPQUOTA); + else + seq_puts(m, "," MNTOPT_GQUOTANOENF); + } =20 if (!(mp->m_qflags & XFS_ALL_QUOTA_ACCT)) seq_puts(m, "," MNTOPT_NOQUOTA); From jquigley@jquigley.com Wed Aug 26 12:54: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7QHsFxl027810 for ; Wed, 26 Aug 2009 12:54:25 -0500 X-ASG-Debug-ID: 1251309301-564c030b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.jquigley.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 645DC3FF53E for ; Wed, 26 Aug 2009 10:55:01 -0700 (PDT) Received: from mail.jquigley.com (main.jquigley.com [67.23.32.156]) by cuda.sgi.com with ESMTP id VOAn9ngFATWItyg3 for ; Wed, 26 Aug 2009 10:55:01 -0700 (PDT) Received: from jquigley.cleversafe.org (67-129-215-3.dia.static.qwest.net [67.129.215.3]) (Authenticated sender: jquigley@mail.jquigley.com) by mail.jquigley.com (Postfix) with ESMTPSA id BD0E4204057 for ; Wed, 26 Aug 2009 17:54:56 +0000 (UTC) Message-ID: <4A9576F0.2060304@jquigley.com> Date: Wed, 26 Aug 2009 12:54:56 -0500 From: John Quigley User-Agent: Thunderbird 2.0.0.23 (X11/20090812) MIME-Version: 1.0 To: XFS Development X-ASG-Orig-Subj: Re: XFS corruption with power failure Subject: Re: XFS corruption with power failure References: <606994882.2142291250648292843.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <4A8C1E6E.8020405@jquigley.com> <4A9187C7.9010206@jquigley.com> In-Reply-To: <4A9187C7.9010206@jquigley.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: main.jquigley.com[67.23.32.156] X-Barracuda-Start-Time: 1251309303 X-Barracuda-Bayes: INNOCENT GLOBAL 0.3400 1.0000 -0.1891 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.19 X-Barracuda-Spam-Status: No, SCORE=-0.19 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.7293 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 John Quigley wrote: > John Quigley wrote: >> We've distilled this into a reproducible environment with a stack of >> NFS + XFS to a local disk + automated sysrq 'b' reboots. We're >> working on getting this bundled up into a nice little package as a >> VirtualBox vm for your consumption. Please tell me if this is not >> desirable. > > The self-contained and reproducible environment can be downloaded from > the following location: > > http://www.jquigley.com/tmp/xfsVM.tar.bz2 Has anyone by chance had an opportunity to utilize this? Any corruption reports? - John Quigley From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 12:55: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.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 n7QHtCJr027885 for ; Wed, 26 Aug 2009 12:55:27 -0500 X-ASG-Debug-ID: 1251309365-562c033c0000-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 475BB3FF54A for ; Wed, 26 Aug 2009 10:56:05 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Qp91SMsFwnCuVEOM for ; Wed, 26 Aug 2009 10:56:05 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgMj6-0007Qh-1N; Wed, 26 Aug 2009 17:56:04 +0000 Date: Wed, 26 Aug 2009 13:56:04 -0400 From: Christoph Hellwig To: Michael Monnerie Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: disk performance strange/low Subject: Re: disk performance strange/low Message-ID: <20090826175603.GA14019@infradead.org> References: <200908172311.07660@zmi.at> <200908180408.10738@zmi.at> <20090818024350.GA3591@infradead.org> <200908261920.47054@zmi.at> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="a8Wt8u1KmwUX3Y2C" Content-Disposition: inline In-Reply-To: <200908261920.47054@zmi.at> 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: 1251309365 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 --a8Wt8u1KmwUX3Y2C Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Wed, Aug 26, 2009 at 07:20:36PM +0200, Michael Monnerie wrote: > On Dienstag 18 August 2009 Christoph Hellwig wrote: > > On Tue, Aug 18, 2009 at 04:08:05AM +0200, Michael Monnerie wrote: > > > On Montag 17 August 2009 Christoph Hellwig wrote: > > > > Yes, that sounds like the problem of the VM not feeding us enough > > > > pages to write. ?What kernel is this on? ?Latest 2.6.31-rc has a > > > > workaround for it. > > > > > > 2.6.27.23-0.1-xen from openSUSE 11.1 > > > I can't switch as I use it with the free Xen. Thanks for the info. > > > > Try backporting commit c8a4051c3731b6db224482218cfd535ab9393ff8 from > > mainline - it should apply just fine to a 2.6.27-ish kernel. > > Thank you. I'm not a patcher, could you tell me how to do that? Just take the patch I attached and apply it using patch -p1 < xfs-nr-to-write.diff if you want to make sure it applies cleanly do a patch -p1 --dry-run < xfs-nr-to-write.diff beforee to check if it doesn't cause any reject. After that rebuild your kernel. --a8Wt8u1KmwUX3Y2C Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="xfs-nr-to-write.diff" commit c8a4051c3731b6db224482218cfd535ab9393ff8 Author: Eric Sandeen Date: Fri Jul 31 00:02:17 2009 -0500 xfs: bump up nr_to_write in xfs_vm_writepage VM calculation for nr_to_write seems off. Bump it way up, this gets simple streaming writes zippy again. To be reviewed again after Jens' writeback changes. Signed-off-by: Christoph Hellwig Signed-off-by: Eric Sandeen Cc: Chris Mason Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index 7ec89fc..aecf251 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c @@ -1268,6 +1268,14 @@ xfs_vm_writepage( if (!page_has_buffers(page)) create_empty_buffers(page, 1 << inode->i_blkbits, 0); + + /* + * VM calculation for nr_to_write seems off. Bump it way + * up, this gets simple streaming writes zippy again. + * To be reviewed again after Jens' writeback changes. + */ + wbc->nr_to_write *= 4; + /* * Convert delayed allocate, unwritten or unmapped space * to real space and flush out to disk. --a8Wt8u1KmwUX3Y2C-- From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 12:58:19 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 n7QHvso6028082 for ; Wed, 26 Aug 2009 12:58:09 -0500 X-ASG-Debug-ID: 1251309507-67be028a0000-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 4716D154BE5A; Wed, 26 Aug 2009 10:58:27 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id fViGZWThDAwvaBmr; Wed, 26 Aug 2009 10:58:27 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgMlM-0002CN-CC; Wed, 26 Aug 2009 17:58:24 +0000 Date: Wed, 26 Aug 2009 13:58:24 -0400 From: Christoph Hellwig To: Alex Elder Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 0/7] inode allocation cleanups Subject: Re: [PATCH 0/7] inode allocation cleanups Message-ID: <20090826175824.GB14019@infradead.org> References: <20090825185644.GA21563@infradead.org> <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD0@cf--amer001e--3.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD0@cf--amer001e--3.americas.sgi.com> 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: 1251309527 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 25, 2009 at 02:12:50PM -0500, Alex Elder wrote: > I did not review this one as carefully, but I see that you changed > those two spots to WANT_CORRUPTED_GOTO() calls and I assume that's > all that's really changed. That is one change, the other is making sure we goto to the error1 label for all failures from xfs_ialloc_next_rec - two of them were missing it. From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 13:02:11 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 n7QI1kOR028297 for ; Wed, 26 Aug 2009 13:02:01 -0500 X-ASG-Debug-ID: 1251309756-67c102b60000-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 05A55154BA71 for ; Wed, 26 Aug 2009 11:02:36 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id rAUqCzOAA0kEBmoZ for ; Wed, 26 Aug 2009 11:02:36 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgMpO-0000Dq-PQ; Wed, 26 Aug 2009 18:02:34 +0000 Date: Wed, 26 Aug 2009 14:02:34 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: Christoph Hellwig , linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Nikanth Karthikesan , Jens Axboe X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Message-ID: <20090826180234.GC14019@infradead.org> References: <20090822142550.GA10003@infradead.org> <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> <20090823224504.GA19942@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1251309757 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 Wed, Aug 26, 2009 at 09:50:27AM -0400, Justin Piszcz wrote: > So far the uptime is 2 days, if it does not recur in the next 24-48 > hours, do you recommend I follow up with the linux-crypto folks about > this? It appears this could be the cause (no issues, as of yet). At this point it doesn't look crypto related anymore, but like some bad interaction between layers once we add those fsync in the loop code. What filesystem does you loop image reside on? Anything else special? Any way to trgiger it with just loop but not crypto, etc. From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 13:22: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=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 n7QILrXM030127 for ; Wed, 26 Aug 2009 13:22:08 -0500 X-ASG-Debug-ID: 1251310965-564c03b30000-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 403623FF24D; Wed, 26 Aug 2009 11:22:45 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id oDtumOWW5i3xUHJy; Wed, 26 Aug 2009 11:22:45 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgN8m-0002Tg-Td; Wed, 26 Aug 2009 18:22:36 +0000 Date: Wed, 26 Aug 2009 14:22:36 -0400 From: Christoph Hellwig To: Jan Kara Cc: Christoph Hellwig , LKML , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090826182236.GA1290@infradead.org> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> <20090819162638.GE6150@infradead.org> <20090820121531.GC16486@duck.novell.com> <20090820162729.GA24659@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090820162729.GA24659@infradead.org> 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: 1251310965 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 20, 2009 at 12:27:29PM -0400, Christoph Hellwig wrote: > Maybe you can help brain storming, but I still can't see any way in that > the > > - write data > - write inode > - wait for data > > actually is a benefit in terms of semantics (I agree that it could be > faster in theory, but even that is debatable with todays seek latencies > in disks) Btw, another reason why our current default is actively harmful: barriers With volatile write caches we do have to flush the disk write cache in ->fsync, either implicitly by a metadata operation, or explicitly if only data changed. Unless the filesystems waits itself for the data to hit the disk like XFS or btrfs will be issue the cache flush potentially before the data write has actually reached the disk cache. From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 15:46:58 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_62 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7QKkWg6040841 for ; Wed, 26 Aug 2009 15:46:48 -0500 X-ASG-Debug-ID: 1251319623-3d5100c30000-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 20C27154D145 for ; Wed, 26 Aug 2009 13:47:03 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id wxzAGKP2eABlsXeS for ; Wed, 26 Aug 2009 13:47:03 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgPOX-0003Jb-Gl for xfs@oss.sgi.com; Wed, 26 Aug 2009 20:47:01 +0000 Date: Wed, 26 Aug 2009 16:47:01 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH] xfs: simplify xfs_trans_iget Subject: [PATCH] xfs: simplify xfs_trans_iget Message-ID: <20090826204701.GA31870@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: 1251319644 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 xfs_trans_iget is a wrapper for xfs_iget that adds the inode to the transaction after it is read. Except when the inode already is in the inode cache, in which case it returns the existing locked inode with increment lock recursion counts. Now, no one in the tree every decrements these lock recursion counts, so any user of this gets a potential double unlock when both the original owner of the inode and the xfs_trans_iget caller unlock it. When looking back in a git bisect in the historic XFS tree there was only one place that decremented these counts, xfs_trans_iput. Introduced in commit ca25df7a840f426eb566d52667b6950b92bb84b5 by Adam Sweeney in 1993, and removed in commit 19f899a3ab155ff6a49c0c79b06f2f61059afaf3 by Steve Lord in 2003. And as long as it didn't slip through git bisects cracks never actually used in that time frame. A quick audit of the callers of xfs_trans_iget shows that no caller really relies on this behaviour fortunately - xfs_ialloc allows this inode from disk so it must not be there before, and all the RT allocator routines only every add each RT bitmap inode once. In addition to removing lots of code and reducing the size of the inode item this patch also avoids the double inode cache lookup in each create/mkdir/mknod transaction. 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-26 14:14:32.113357904 -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-26 14:15:40.613392686 -0300 @@ -456,32 +456,6 @@ out_error_or_again: return error; } - -/* - * Look for the inode corresponding to the given ino in the hash table. - * If it is there and its i_transp pointer matches tp, return it. - * Otherwise, return NULL. - */ -xfs_inode_t * -xfs_inode_incore(xfs_mount_t *mp, - xfs_ino_t ino, - xfs_trans_t *tp) -{ - xfs_inode_t *ip; - xfs_perag_t *pag; - - pag = xfs_get_perag(mp, ino); - read_lock(&pag->pag_ici_lock); - ip = radix_tree_lookup(&pag->pag_ici_root, XFS_INO_TO_AGINO(mp, ino)); - read_unlock(&pag->pag_ici_lock); - xfs_put_perag(mp, pag); - - /* the returned inode must match the transaction */ - if (ip && (ip->i_transp != tp)) - return NULL; - return ip; -} - /* * Decrement reference count of an inode structure and unlock it. * Index: linux-2.6/fs/xfs/xfs_inode.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-26 14:14:32.121355431 -0300 +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-26 14:15:40.617361208 -0300 @@ -468,8 +468,6 @@ static inline void xfs_ifunlock(xfs_inod /* * xfs_iget.c prototypes. */ -xfs_inode_t *xfs_inode_incore(struct xfs_mount *, xfs_ino_t, - struct xfs_trans *); int xfs_iget(struct xfs_mount *, struct xfs_trans *, xfs_ino_t, uint, uint, xfs_inode_t **, xfs_daddr_t); void xfs_iput(xfs_inode_t *, uint); Index: linux-2.6/fs/xfs/xfs_inode_item.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode_item.c 2009-08-26 14:14:32.125355311 -0300 +++ linux-2.6/fs/xfs/xfs_inode_item.c 2009-08-26 14:15:40.617361208 -0300 @@ -712,8 +712,6 @@ xfs_inode_item_unlock( * Clear out the fields of the inode log item particular * to the current transaction. */ - iip->ili_ilock_recur = 0; - iip->ili_iolock_recur = 0; iip->ili_flags = 0; /* Index: linux-2.6/fs/xfs/xfs_inode_item.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode_item.h 2009-08-26 14:14:32.129361687 -0300 +++ linux-2.6/fs/xfs/xfs_inode_item.h 2009-08-26 14:15:40.621446924 -0300 @@ -137,8 +137,6 @@ typedef struct xfs_inode_log_item { struct xfs_inode *ili_inode; /* inode ptr */ xfs_lsn_t ili_flush_lsn; /* lsn at last flush */ xfs_lsn_t ili_last_lsn; /* lsn at last transaction */ - unsigned short ili_ilock_recur; /* lock recursion count */ - unsigned short ili_iolock_recur; /* lock recursion count */ unsigned short ili_flags; /* misc flags */ unsigned short ili_logged; /* flushed logged data */ unsigned int ili_last_fields; /* fields when flushed */ Index: linux-2.6/fs/xfs/xfs_trans_inode.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_trans_inode.c 2009-08-26 14:15:45.689894519 -0300 +++ linux-2.6/fs/xfs/xfs_trans_inode.c 2009-08-26 14:17:14.434495492 -0300 @@ -49,30 +49,7 @@ xfs_trans_inode_broot_debug( /* - * Get and lock the inode for the caller if it is not already - * locked within the given transaction. If it is already locked - * within the transaction, just increment its lock recursion count - * and return a pointer to it. - * - * For an inode to be locked in a transaction, the inode lock, as - * opposed to the io lock, must be taken exclusively. This ensures - * that the inode can be involved in only 1 transaction at a time. - * Lock recursion is handled on the io lock, but only for lock modes - * of equal or lesser strength. That is, you can recur on the io lock - * held EXCL with a SHARED request but not vice versa. Also, if - * the inode is already a part of the transaction then you cannot - * go from not holding the io lock to having it EXCL or SHARED. - * - * Use the inode cache routine xfs_inode_incore() to find the inode - * if it is already owned by this transaction. - * - * If we don't already own the inode, use xfs_iget() to get it. - * Since the inode log item structure is embedded in the incore - * inode structure and is initialized when the inode is brought - * into memory, there is nothing to do with it here. - * - * If the given transaction pointer is NULL, just call xfs_iget(). - * This simplifies code which must handle both cases. + * Get an inode and join it to the transaction. */ int xfs_trans_iget( @@ -84,62 +61,11 @@ xfs_trans_iget( xfs_inode_t **ipp) { int error; - xfs_inode_t *ip; - - /* - * If the transaction pointer is NULL, just call the normal - * xfs_iget(). - */ - if (tp == NULL) - return xfs_iget(mp, NULL, ino, flags, lock_flags, ipp, 0); - - /* - * If we find the inode in core with this transaction - * pointer in its i_transp field, then we know we already - * have it locked. In this case we just increment the lock - * recursion count and return the inode to the caller. - * Assert that the inode is already locked in the mode requested - * by the caller. We cannot do lock promotions yet, so - * die if someone gets this wrong. - */ - if ((ip = xfs_inode_incore(tp->t_mountp, ino, tp)) != NULL) { - /* - * Make sure that the inode lock is held EXCL and - * that the io lock is never upgraded when the inode - * is already a part of the transaction. - */ - ASSERT(ip->i_itemp != NULL); - ASSERT(lock_flags & XFS_ILOCK_EXCL); - ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); - ASSERT((!(lock_flags & XFS_IOLOCK_EXCL)) || - xfs_isilocked(ip, XFS_IOLOCK_EXCL)); - ASSERT((!(lock_flags & XFS_IOLOCK_EXCL)) || - (ip->i_itemp->ili_flags & XFS_ILI_IOLOCKED_EXCL)); - ASSERT((!(lock_flags & XFS_IOLOCK_SHARED)) || - xfs_isilocked(ip, XFS_IOLOCK_EXCL|XFS_IOLOCK_SHARED)); - ASSERT((!(lock_flags & XFS_IOLOCK_SHARED)) || - (ip->i_itemp->ili_flags & XFS_ILI_IOLOCKED_ANY)); - - if (lock_flags & (XFS_IOLOCK_SHARED | XFS_IOLOCK_EXCL)) { - ip->i_itemp->ili_iolock_recur++; - } - if (lock_flags & XFS_ILOCK_EXCL) { - ip->i_itemp->ili_ilock_recur++; - } - *ipp = ip; - return 0; - } - - ASSERT(lock_flags & XFS_ILOCK_EXCL); - error = xfs_iget(tp->t_mountp, tp, ino, flags, lock_flags, &ip, 0); - if (error) { - return error; - } - ASSERT(ip != NULL); - xfs_trans_ijoin(tp, ip, lock_flags); - *ipp = ip; - return 0; + error = xfs_iget(mp, tp, ino, flags, lock_flags, ipp, 0); + if (!error && tp) + xfs_trans_ijoin(tp, *ipp, lock_flags); + return error; } /* @@ -163,8 +89,6 @@ xfs_trans_ijoin( xfs_inode_item_init(ip, ip->i_mount); iip = ip->i_itemp; ASSERT(iip->ili_flags == 0); - ASSERT(iip->ili_ilock_recur == 0); - ASSERT(iip->ili_iolock_recur == 0); /* * Get a log_item_desc to point at the new item. From jpiszcz@lucidpixels.com Wed Aug 26 16:18:44 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7QLIOab043125 for ; Wed, 26 Aug 2009 16:18:34 -0500 X-ASG-Debug-ID: 1251321552-2dcf012f0000-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 5EF6F400795 for ; Wed, 26 Aug 2009 14:19:12 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id n83S8MQI5FsRfYyB for ; Wed, 26 Aug 2009 14:19:12 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id C904D3E57; Wed, 26 Aug 2009 17:19:11 -0400 (EDT) Date: Wed, 26 Aug 2009 17:19:11 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: Nikanth Karthikesan , Jens Axboe , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) In-Reply-To: <20090826180234.GC14019@infradead.org> Message-ID: References: <20090822142550.GA10003@infradead.org> <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> <20090823224504.GA19942@infradead.org> <20090826180234.GC14019@infradead.org> 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: 1251321552 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.7300 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 Wed, 26 Aug 2009, Christoph Hellwig wrote: > On Wed, Aug 26, 2009 at 09:50:27AM -0400, Justin Piszcz wrote: >> So far the uptime is 2 days, if it does not recur in the next 24-48 >> hours, do you recommend I follow up with the linux-crypto folks about >> this? It appears this could be the cause (no issues, as of yet). > > At this point it doesn't look crypto related anymore, but like some > bad interaction between layers once we add those fsync in the loop code. > > What filesystem does you loop image reside on? Anything else special? For the root filesystem, on / type xfs (rw,noatime) For larger partitions (per the cryptoloop doc) the partition itself is setup via cryptoloop and then XFS ontop of that. Nothing special. > Any way to trgiger it with just loop but not crypto, etc. Unfortunately not that I am aware of.. Would trying the kernel with the patch removed and mounted with -o nobarrier help to show us anything, or? > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 16:30:21 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 n7QLTuqr043866 for ; Wed, 26 Aug 2009 16:30:11 -0500 X-ASG-Debug-ID: 1251322249-2d3c01710000-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 CE5C83FFE03 for ; Wed, 26 Aug 2009 14:30:49 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id D8CJ54bn6gHUgpAO for ; Wed, 26 Aug 2009 14:30:49 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgQ1k-00052H-Dv; Wed, 26 Aug 2009 21:27:32 +0000 Date: Wed, 26 Aug 2009 17:27:32 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: Christoph Hellwig , Nikanth Karthikesan , Jens Axboe , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Message-ID: <20090826212732.GA18124@infradead.org> References: <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> <20090823224504.GA19942@infradead.org> <20090826180234.GC14019@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1251322249 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 Wed, Aug 26, 2009 at 05:19:11PM -0400, Justin Piszcz wrote: > For the root filesystem, on / type xfs (rw,noatime) > For larger partitions (per the cryptoloop doc) the partition itself is > setup via cryptoloop and then XFS ontop of that. Nothing special. Just to make sure we have all data here - you see the problem only with loop devices backed by XFS, only with loop devices backed by raw partitions or with both? >> Any way to trgiger it with just loop but not crypto, etc. > Unfortunately not that I am aware of.. Would trying the kernel with the > patch removed and mounted with -o nobarrier help to show us anything, or? Actually, yes - seeing what happens if you run plain 2.6.30 or 2.6.31-rc without the backout patch, but with -o nobarrier would be very interesting. From jpiszcz@lucidpixels.com Wed Aug 26 16:31:08 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7QLUmMj043929 for ; Wed, 26 Aug 2009 16:30:58 -0500 X-ASG-Debug-ID: 1251322296-1cc902740000-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 E2ABB3FFE27 for ; Wed, 26 Aug 2009 14:31:36 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id fQnDPynR27AHYR3b for ; Wed, 26 Aug 2009 14:31:36 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 713D53E75; Wed, 26 Aug 2009 17:31:06 -0400 (EDT) Date: Wed, 26 Aug 2009 17:31:06 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: Nikanth Karthikesan , Jens Axboe , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) In-Reply-To: <20090826212732.GA18124@infradead.org> Message-ID: References: <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> <20090823224504.GA19942@infradead.org> <20090826180234.GC14019@infradead.org> <20090826212732.GA18124@infradead.org> 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: 1251322301 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.7302 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 Wed, 26 Aug 2009, Christoph Hellwig wrote: > On Wed, Aug 26, 2009 at 05:19:11PM -0400, Justin Piszcz wrote: >> For the root filesystem, on / type xfs (rw,noatime) >> For larger partitions (per the cryptoloop doc) the partition itself is >> setup via cryptoloop and then XFS ontop of that. Nothing special. > > Just to make sure we have all data here - you see the problem only > with loop devices backed by XFS, only with loop devices backed by > raw partitions or with both? Both. > >>> Any way to trgiger it with just loop but not crypto, etc. >> Unfortunately not that I am aware of.. Would trying the kernel with the >> patch removed and mounted with -o nobarrier help to show us anything, or? > > Actually, yes - seeing what happens if you run plain 2.6.30 or 2.6.31-rc > without the backout patch, but with -o nobarrier would be very > interesting. > Will give it a try with 2.6.31-rc6 and mount all loop devices (both those backed by XFS and raw partitions) with -o nobarrier to see if the problem recurs. So far though with that patch up until this next test, there were no problems. Justin. From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 17:08: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,J_CHICKENPOX_33 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 n7QM7i6r046092 for ; Wed, 26 Aug 2009 17:08:00 -0500 X-ASG-Debug-ID: 1251324516-3d0c022c0000-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 121E8154E726 for ; Wed, 26 Aug 2009 15:08:36 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id AEq9pkvHOoAr7gAw for ; Wed, 26 Aug 2009 15:08:36 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgQfU-0004x4-Oq for xfs@oss.sgi.com; Wed, 26 Aug 2009 22:08:36 +0000 Date: Wed, 26 Aug 2009 18:08:36 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH] xfstests: fix 192 for external logs and enable it by default Subject: [PATCH] xfstests: fix 192 for external logs and enable it by default Message-ID: <20090826220836.GA18119@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: 1251324517 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 Use _test_mount instead of plain mount to make it work with external logs. Enable it by default now that it runs everywhere. Signed-off-by: Christoph Hellwig Index: xfstests-dev/group =================================================================== --- xfstests-dev.orig/group 2009-08-26 21:57:59.000000000 +0000 +++ xfstests-dev/group 2009-08-26 21:58:06.000000000 +0000 @@ -301,7 +301,7 @@ prealloc 189 mount auto quick 190 rw auto quick 191 nfs4acl auto -192 atime +192 atime auto 193 metadata auto quick 194 rw auto 195 ioctl dump auto quick Index: xfstests-dev/192 =================================================================== --- xfstests-dev.orig/192 2009-08-26 21:57:51.000000000 +0000 +++ xfstests-dev/192 2009-08-26 22:04:16.000000000 +0000 @@ -67,7 +67,7 @@ time2=`_access_time $testfile | tee -a $ cd / umount $TEST_DIR -mount $TEST_DIR +_test_mount time3=`_access_time $testfile | tee -a $seq.full` delta1=`expr $time2 - $time1` From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 17:10:39 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 n7QMAD2m046212 for ; Wed, 26 Aug 2009 17:10:28 -0500 X-ASG-Debug-ID: 1251324666-3d46021e0000-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 01370154E801 for ; Wed, 26 Aug 2009 15:11:06 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Z0nPe9DfWeRfnTvT for ; Wed, 26 Aug 2009 15:11:06 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgQhu-0005a1-D8; Wed, 26 Aug 2009 22:11:06 +0000 Date: Wed, 26 Aug 2009 18:11:06 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: xfs mailing list X-ASG-Orig-Subj: Re: [PATCH] xfs_io: actually issue 0 size writes Subject: Re: [PATCH] xfs_io: actually issue 0 size writes Message-ID: <20090826221106.GB18119@infradead.org> References: <4A849096.1010600@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A849096.1010600@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: 1251324667 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 13, 2009 at 05:15:50PM -0500, Eric Sandeen wrote: > While testing some stuff in generic_write_checks() in the > kernel I realized that you can't actually use xfs_io to send > a 0-byte write in. This is actually a condition worth testing: > > If count is zero and fd refers to a regular file, > then write() may return a failure status if one of > the errors below is detected. If no errors are > detected, 0 will be returned without causing any > other effect. > > So fix that up. > > Signed-off-by: Eric Sandeen Any reason you didn't put this in despite two positive reviews? From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 17:11:39 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_62 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7QMBE8G046263 for ; Wed, 26 Aug 2009 17:11:29 -0500 X-ASG-Debug-ID: 1251324723-3ca502430000-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 830A1154E78D for ; Wed, 26 Aug 2009 15:12:06 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 7jzg2vqXFbDc1O12 for ; Wed, 26 Aug 2009 15:12:06 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgQin-0005gq-Ob; Wed, 26 Aug 2009 22:12:01 +0000 Date: Wed, 26 Aug 2009 18:12:01 -0400 From: Christoph Hellwig To: Theodore Tso Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Subject: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Message-ID: <20090826221201.GC18119@infradead.org> References: <1250607467-15085-1-git-send-email-tytso@mit.edu> <20090818161116.GA2162@infradead.org> <20090818170456.GF28560@mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090818170456.GF28560@mit.edu> 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: 1251324726 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 18, 2009 at 01:04:56PM -0400, Theodore Tso wrote: > > Looks like the only difference between the generic and the extN > > check routine is the addition of -f to the fsck command line. What > > about just introducing a _fsck_args similar to _mount_opts where > > filesystems can set their additional required mount options? > > That would work, yeah, and would be result in far less code > duplication in common.rc. I'll take a whack at it and resubmit. Are you still going to look at it realtively soon? If not I'll just put this version in to imrove the test coverage on extN and we can clean it up later. From BATV+6aba9d39c82b7e513220+2194+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 17:14:23 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 n7QMDwA2046376 for ; Wed, 26 Aug 2009 17:14:13 -0500 X-ASG-Debug-ID: 1251324890-3d5102200000-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 80646154FF0C; Wed, 26 Aug 2009 15:14:50 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id rknYCUHHsKu8T1zS; Wed, 26 Aug 2009 15:14:50 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgQlT-0005qU-21; Wed, 26 Aug 2009 22:14:47 +0000 Date: Wed, 26 Aug 2009 18:14:47 -0400 From: Christoph Hellwig To: Alex Elder Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfs_showargs() reports group *and* project quotas enabled Subject: Re: [PATCH] xfs_showargs() reports group *and* project quotas enabled Message-ID: <20090826221446.GD18119@infradead.org> References: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD0@cf--amer001e--3.americas.sgi.com> <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD9@cf--amer001e--3.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD9@cf--amer001e--3.americas.sgi.com> 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: 1251324890 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 Wed, Aug 26, 2009 at 12:46:12PM -0500, Alex Elder wrote: > If you enable group or project quotas on an XFS file system, then the > mount table presented through /proc/self/mounts erroneously shows > that both options are in effect for the file system. The root of > the problem is some bad logic in the xfs_showargs() function, which > is used to format the file system type-specific options in effect > for a file system. > > The problem originated in this GIT commit: > Move platform specific mount option parse out of core XFS code > Date: 11/22/07 > Author: Dave Chinner > SHA1 ID: a67d7c5f5d25d0b13a4dfb182697135b014fa478 > > For XFS quotas, project and group quota management are mutually > exclusive--only one can be in effect at a time. There are two > parts to managing quotas: aggregating usage information; and > enforcing limits. It is possible to have a quota in effect > (aggregating usage) but not enforced. > > These features are recorded on an XFS mount point using these flags: > XFS_PQUOTA_ACCT - Project quotas are aggregated > XFS_GQUOTA_ACCT - Group quotas are aggregated > XFS_OQUOTA_ENFD - Project/group quotas are enforced > > The code in error is in fs/xfs/linux-2.6/xfs_super.c: > > if (mp->m_qflags & (XFS_PQUOTA_ACCT|XFS_OQUOTA_ENFD)) > seq_puts(m, "," MNTOPT_PRJQUOTA); > else if (mp->m_qflags & XFS_PQUOTA_ACCT) > seq_puts(m, "," MNTOPT_PQUOTANOENF); > > if (mp->m_qflags & (XFS_GQUOTA_ACCT|XFS_OQUOTA_ENFD)) > seq_puts(m, "," MNTOPT_GRPQUOTA); > else if (mp->m_qflags & XFS_GQUOTA_ACCT) > seq_puts(m, "," MNTOPT_GQUOTANOENF); > > The problem is that XFS_OQUOTA_ENFD will be set in mp->m_qflags > if either group or project quotas are enforced, and as a result > both MNTOPT_PRJQUOTA and MNTOPT_GRPQUOTA will be shown as mount > options. Indeed. Thanks for the detailed analysis. Reviewed-by: Christoph Hellwig > > Signed-off-by: Alex Elder > > --- > fs/xfs/linux-2.6/xfs_super.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > > Index: b/fs/xfs/linux-2.6/xfs_super.c > =================================================================== > --- a/fs/xfs/linux-2.6/xfs_super.c > +++ b/fs/xfs/linux-2.6/xfs_super.c > @@ -579,15 +579,19 @@ xfs_showargs( > else if (mp->m_qflags & XFS_UQUOTA_ACCT) > seq_puts(m, "," MNTOPT_UQUOTANOENF); > > - if (mp->m_qflags & (XFS_PQUOTA_ACCT|XFS_OQUOTA_ENFD)) > - seq_puts(m, "," MNTOPT_PRJQUOTA); > - else if (mp->m_qflags & XFS_PQUOTA_ACCT) > - seq_puts(m, "," MNTOPT_PQUOTANOENF); > + /* Either project or group quotas can be active, not both */ > > - if (mp->m_qflags & (XFS_GQUOTA_ACCT|XFS_OQUOTA_ENFD)) > - seq_puts(m, "," MNTOPT_GRPQUOTA); > - else if (mp->m_qflags & XFS_GQUOTA_ACCT) > - seq_puts(m, "," MNTOPT_GQUOTANOENF); > + if (mp->m_qflags & XFS_PQUOTA_ACCT) { > + if (mp->m_qflags & XFS_OQUOTA_ENFD) > + seq_puts(m, "," MNTOPT_PRJQUOTA); > + else > + seq_puts(m, "," MNTOPT_PQUOTANOENF); > + } else if (mp->m_qflags & XFS_GQUOTA_ACCT) { > + if (mp->m_qflags & XFS_OQUOTA_ENFD) > + seq_puts(m, "," MNTOPT_GRPQUOTA); > + else > + seq_puts(m, "," MNTOPT_GQUOTANOENF); > + } > > if (!(mp->m_qflags & XFS_ALL_QUOTA_ACCT)) > seq_puts(m, "," MNTOPT_NOQUOTA); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs ---end quoted text--- From sandeen@sandeen.net Wed Aug 26 18:26:32 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 n7QNQBSW049438 for ; Wed, 26 Aug 2009 18:26:22 -0500 X-ASG-Debug-ID: 1251329199-2da103bb0000-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 0CCD2400DD3 for ; Wed, 26 Aug 2009 16:26:39 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id Fk62C9xczGqAAN2w for ; Wed, 26 Aug 2009 16:26:39 -0700 (PDT) Received: from [192.168.1.105] (24-113-179-26.wavecable.com [24.113.179.26]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 61662A9B0CA; Wed, 26 Aug 2009 18:26:34 -0500 (CDT) References: <4A849096.1010600@sandeen.net> <20090826221106.GB18119@infradead.org> Message-Id: From: Eric Sandeen To: Christoph Hellwig In-Reply-To: <20090826221106.GB18119@infradead.org> Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Mailer: iPod Mail (7A341) Mime-Version: 1.0 (iPod Mail 7A341) X-ASG-Orig-Subj: Re: [PATCH] xfs_io: actually issue 0 size writes Subject: Re: [PATCH] xfs_io: actually issue 0 size writes Date: Wed, 26 Aug 2009 16:26:25 -0700 Cc: xfs mailing list X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1251329225 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.7309 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 Aug 26, 2009, at 3:11 PM, Christoph Hellwig wrote: > On Thu, Aug 13, 2009 at 05:15:50PM -0500, Eric Sandeen wrote: >> While testing some stuff in generic_write_checks() in the >> kernel I realized that you can't actually use xfs_io to send >> a 0-byte write in. This is actually a condition worth testing: >> >> If count is zero and fd refers to a regular file, >> then write() may return a failure status if one of >> the errors below is detected. If no errors are >> detected, 0 will be returned without causing any >> other effect. >> >> So fix that up. >> >> Signed-off-by: Eric Sandeen > > Any reason you didn't put this in despite two positive reviews? Just general busyness and a vacation :) Will do it soon. -Eric From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 19: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 n7R03cRf051131 for ; Wed, 26 Aug 2009 19:03:54 -0500 X-ASG-Debug-ID: 1251331471-7850017d0000-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 DDA0C400AC5; Wed, 26 Aug 2009 17:04:31 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id b5dx3TINYAvkfzxB; Wed, 26 Aug 2009 17:04:31 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgSTX-0003Dd-Cj; Thu, 27 Aug 2009 00:04:23 +0000 Date: Wed, 26 Aug 2009 20:04:23 -0400 From: Christoph Hellwig To: Jan Kara Cc: Christoph Hellwig , LKML , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090827000423.GA30076@infradead.org> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> <20090819162638.GE6150@infradead.org> <20090820121531.GC16486@duck.novell.com> <20090820162729.GA24659@infradead.org> <20090826182236.GA1290@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090826182236.GA1290@infradead.org> 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: 1251331471 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 Wed, Aug 26, 2009 at 02:22:36PM -0400, Christoph Hellwig wrote: > On Thu, Aug 20, 2009 at 12:27:29PM -0400, Christoph Hellwig wrote: > > Maybe you can help brain storming, but I still can't see any way in that > > the > > > > - write data > > - write inode > > - wait for data > > > > actually is a benefit in terms of semantics (I agree that it could be > > faster in theory, but even that is debatable with todays seek latencies > > in disks) > > Btw, another reason why our current default is actively harmful: > > barriers > > With volatile write caches we do have to flush the disk write cache in > ->fsync, either implicitly by a metadata operation, or explicitly if > only data changed. Unless the filesystems waits itself for the data > to hit the disk like XFS or btrfs will be issue the cache flush > potentially before the data write has actually reached the disk cache. Ok, this one failed the reality check - no matter how hard I tried I could not reproduce that case in my test harness. It turns out cache flush request are quite sensibly treated as barriers by the block layer and thus we drain the queue before issueing the cache flush. From tytso@mit.edu Wed Aug 26 21:08:19 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_62 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7R27wDN056367 for ; Wed, 26 Aug 2009 21:08:09 -0500 X-ASG-Debug-ID: 1251338927-382200520000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from thunker.thunk.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id F304A1552356 for ; Wed, 26 Aug 2009 19:08:47 -0700 (PDT) Received: from thunker.thunk.org (thunk.org [69.25.196.29]) by cuda.sgi.com with ESMTP id MACOpr3RWBVLoSs4 for ; Wed, 26 Aug 2009 19:08:47 -0700 (PDT) Received: from root (helo=closure.thunk.org) by thunker.thunk.org with local-esmtp (Exim 4.50 #1 (Debian)) id 1MgUMo-0002Pq-Cm; Wed, 26 Aug 2009 22:05:34 -0400 Received: from tytso by closure.thunk.org with local (Exim 4.69) (envelope-from ) id 1MgUMn-0001dW-BX; Wed, 26 Aug 2009 22:05:33 -0400 Date: Wed, 26 Aug 2009 22:05:33 -0400 From: Theodore Tso To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Subject: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Message-ID: <20090827020533.GL6997@mit.edu> References: <1250607467-15085-1-git-send-email-tytso@mit.edu> <20090818161116.GA2162@infradead.org> <20090818170456.GF28560@mit.edu> <20090826221201.GC18119@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090826221201.GC18119@infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@mit.edu X-SA-Exim-Scanned: No (on thunker.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: thunk.org[69.25.196.29] X-Barracuda-Start-Time: 1251338931 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0053 1.0000 -1.9866 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.99 X-Barracuda-Spam-Status: No, SCORE=-1.99 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.7318 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 Wed, Aug 26, 2009 at 06:12:01PM -0400, Christoph Hellwig wrote: > On Tue, Aug 18, 2009 at 01:04:56PM -0400, Theodore Tso wrote: > > > Looks like the only difference between the generic and the extN > > > check routine is the addition of -f to the fsck command line. What > > > about just introducing a _fsck_args similar to _mount_opts where > > > filesystems can set their additional required mount options? > > > > That would work, yeah, and would be result in far less code > > duplication in common.rc. I'll take a whack at it and resubmit. > > Are you still going to look at it realtively soon? If not I'll just > put this version in to imrove the test coverage on extN and we can > clean it up later. > Sorry, work has gotten busy and I'm trying to get some last patches whipped into shape before the merge window opens. I probably won't have time to look at this for at least a week or two. So if you want to merge this version in for now, I'll try to clean it up when I have a chance. - Ted From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 22:10: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.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 n7R3ANml058859 for ; Wed, 26 Aug 2009 22:10:40 -0500 X-ASG-Debug-ID: 1251342676-218a02530000-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 F37811552AF0 for ; Wed, 26 Aug 2009 20:11:16 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id YRKjOGHyuUSluSUB for ; Wed, 26 Aug 2009 20:11:16 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgVOO-0002FQ-LD for xfs@oss.sgi.com; Thu, 27 Aug 2009 03:11:16 +0000 Date: Wed, 26 Aug 2009 23:11:16 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH] xfs: merge fsync and O_SYNC handling Subject: [PATCH] xfs: merge fsync and O_SYNC handling Message-ID: <20090827031116.GA6147@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: 1251342676 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 guarantees for O_SYNC are exactly the same as the ones we need to make for an fsync call (and given that Linux O_SYNC is O_DSYNC the equivalent is fdadatasync, but we treat both the same in XFS), except with a range data writeout. Jan Kara has started unifying these two path for filesystems using the generic helpers, and I've started to look at XFS. The actual transaction commited by xfs_fsync and xfs_write_sync_logforce has a different transaction number, but actually is exactly the same. We'll only use the fsync transaction going forward. One major difference is that xfs_write_sync_logforce never issues a cache flush unless we commit a transaction causing that as a side-effect, which is an obvious bug in the O_SYNC handling. Second all the locking and i_update_size vs i_update_core changes from 978b7237123d007b9fa983af6e0e2fa8f97f9934 never made it to xfs_write_sync_logforce, so we add them back. To make xfs_fsync easily usable from the O_SYNC path, the filemap_fdatawait call is moved up to xfs_file_fsync, so that we don't wait on the whole file after we already waited for our portion in xfs_write. We'll also use a plain call to filemap_write_and_wait_range instead of the previous sync_page_rang which did it in two steps including an half-hearted inode write out that doesn't help us. Once we're done with this also remove the now useless i_update_size tracking. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/linux-2.6/xfs_file.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_file.c 2009-08-26 20:00:27.761855441 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_file.c 2009-08-26 20:00:42.321855172 -0300 @@ -172,12 +172,21 @@ xfs_file_release( */ STATIC int xfs_file_fsync( - struct file *filp, - struct dentry *dentry, - int datasync) + struct file *file, + struct dentry *dentry, + int datasync) { - xfs_iflags_clear(XFS_I(dentry->d_inode), XFS_ITRUNCATED); - return -xfs_fsync(XFS_I(dentry->d_inode)); + struct inode *inode = dentry->d_inode; + struct xfs_inode *ip = XFS_I(inode); + int error; + + /* capture size updates in I/O completion before writing the inode. */ + error = filemap_fdatawait(inode->i_mapping); + if (error) + return error; + + xfs_iflags_clear(ip, XFS_ITRUNCATED); + return -xfs_fsync(ip); } STATIC int Index: linux-2.6/fs/xfs/linux-2.6/xfs_lrw.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_lrw.c 2009-08-26 20:00:27.765856089 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_lrw.c 2009-08-26 23:11:50.861855574 -0300 @@ -812,18 +812,21 @@ write_retry: /* Handle various SYNC-type writes */ if ((file->f_flags & O_SYNC) || IS_SYNC(inode)) { + loff_t end = pos + ret - 1; int error2; xfs_iunlock(xip, iolock); if (need_i_mutex) mutex_unlock(&inode->i_mutex); - error2 = sync_page_range(inode, mapping, pos, ret); + + error2 = filemap_write_and_wait_range(mapping, pos, end); if (!error) error = error2; if (need_i_mutex) mutex_lock(&inode->i_mutex); xfs_ilock(xip, iolock); - error2 = xfs_write_sync_logforce(mp, xip); + + error2 = xfs_fsync(xip); if (!error) error = error2; } Index: linux-2.6/fs/xfs/xfs_rw.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_rw.c 2009-08-26 20:00:27.781857005 -0300 +++ linux-2.6/fs/xfs/xfs_rw.c 2009-08-26 23:10:19.805855442 -0300 @@ -88,90 +88,6 @@ xfs_write_clear_setuid( } /* - * Handle logging requirements of various synchronous types of write. - */ -int -xfs_write_sync_logforce( - xfs_mount_t *mp, - xfs_inode_t *ip) -{ - int error = 0; - - /* - * If we're treating this as O_DSYNC and we have not updated the - * size, force the log. - */ - if (!(mp->m_flags & XFS_MOUNT_OSYNCISOSYNC) && - !(ip->i_update_size)) { - xfs_inode_log_item_t *iip = ip->i_itemp; - - /* - * If an allocation transaction occurred - * without extending the size, then we have to force - * the log up the proper point to ensure that the - * allocation is permanent. We can't count on - * the fact that buffered writes lock out direct I/O - * writes - the direct I/O write could have extended - * the size nontransactionally, then finished before - * we started. xfs_write_file will think that the file - * didn't grow but the update isn't safe unless the - * size change is logged. - * - * Force the log if we've committed a transaction - * against the inode or if someone else has and - * the commit record hasn't gone to disk (e.g. - * the inode is pinned). This guarantees that - * all changes affecting the inode are permanent - * when we return. - */ - if (iip && iip->ili_last_lsn) { - error = _xfs_log_force(mp, iip->ili_last_lsn, - XFS_LOG_FORCE | XFS_LOG_SYNC, NULL); - } else if (xfs_ipincount(ip) > 0) { - error = _xfs_log_force(mp, (xfs_lsn_t)0, - XFS_LOG_FORCE | XFS_LOG_SYNC, NULL); - } - - } else { - xfs_trans_t *tp; - - /* - * O_SYNC or O_DSYNC _with_ a size update are handled - * the same way. - * - * If the write was synchronous then we need to make - * sure that the inode modification time is permanent. - * We'll have updated the timestamp above, so here - * we use a synchronous transaction to log the inode. - * It's not fast, but it's necessary. - * - * If this a dsync write and the size got changed - * non-transactionally, then we need to ensure that - * the size change gets logged in a synchronous - * transaction. - */ - tp = xfs_trans_alloc(mp, XFS_TRANS_WRITE_SYNC); - if ((error = xfs_trans_reserve(tp, 0, - XFS_SWRITE_LOG_RES(mp), - 0, 0, 0))) { - /* Transaction reserve failed */ - xfs_trans_cancel(tp, 0); - } else { - /* Transaction reserve successful */ - xfs_ilock(ip, XFS_ILOCK_EXCL); - xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); - xfs_trans_ihold(tp, ip); - xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); - xfs_trans_set_sync(tp); - error = xfs_trans_commit(tp, 0); - xfs_iunlock(ip, XFS_ILOCK_EXCL); - } - } - - return error; -} - -/* * Force a shutdown of the filesystem instantly while keeping * the filesystem consistent. We don't do an unmount here; just shutdown * the shop, make sure that absolutely nothing persistent happens to Index: linux-2.6/fs/xfs/xfs_vnodeops.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_vnodeops.c 2009-08-26 20:00:27.785856186 -0300 +++ linux-2.6/fs/xfs/xfs_vnodeops.c 2009-08-26 23:11:50.969355264 -0300 @@ -611,7 +611,7 @@ xfs_fsync( xfs_inode_t *ip) { xfs_trans_t *tp; - int error; + int error = 0; int log_flushed = 0, changed = 1; xfs_itrace_entry(ip); @@ -619,14 +619,9 @@ xfs_fsync( if (XFS_FORCED_SHUTDOWN(ip->i_mount)) return XFS_ERROR(EIO); - /* capture size updates in I/O completion before writing the inode. */ - error = xfs_wait_on_pages(ip, 0, -1); - if (error) - return XFS_ERROR(error); - /* * We always need to make sure that the required inode state is safe on - * disk. The vnode might be clean but we still might need to force the + * disk. The inode might be clean but we still might need to force the * log because of committed transactions that haven't hit the disk yet. * Likewise, there could be unflushed non-transactional changes to the * inode core that have to go to disk and this requires us to issue @@ -638,7 +633,7 @@ xfs_fsync( */ xfs_ilock(ip, XFS_ILOCK_SHARED); - if (!(ip->i_update_size || ip->i_update_core)) { + if (!ip->i_update_core) { /* * Timestamps/size haven't changed since last inode flush or * inode transaction commit. That means either nothing got Index: linux-2.6/fs/xfs/xfs_rw.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_rw.h 2009-08-26 20:00:27.865855523 -0300 +++ linux-2.6/fs/xfs/xfs_rw.h 2009-08-26 20:00:43.065354759 -0300 @@ -68,7 +68,6 @@ xfs_get_extsz_hint( * Prototypes for functions in xfs_rw.c. */ extern int xfs_write_clear_setuid(struct xfs_inode *ip); -extern int xfs_write_sync_logforce(struct xfs_mount *mp, struct xfs_inode *ip); extern int xfs_bwrite(struct xfs_mount *mp, struct xfs_buf *bp); extern int xfs_bioerror(struct xfs_buf *bp); extern int xfs_bioerror_relse(struct xfs_buf *bp); Index: linux-2.6/fs/xfs/xfs_trans.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_trans.h 2009-08-26 20:00:27.869855471 -0300 +++ linux-2.6/fs/xfs/xfs_trans.h 2009-08-26 23:10:19.865855381 -0300 @@ -68,7 +68,7 @@ typedef struct xfs_trans_header { #define XFS_TRANS_GROWFS 14 #define XFS_TRANS_STRAT_WRITE 15 #define XFS_TRANS_DIOSTRAT 16 -#define XFS_TRANS_WRITE_SYNC 17 +/* 17 was XFS_TRANS_WRITE_SYNC */ #define XFS_TRANS_WRITEID 18 #define XFS_TRANS_ADDAFORK 19 #define XFS_TRANS_ATTRINVAL 20 Index: linux-2.6/fs/xfs/linux-2.6/xfs_aops.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_aops.c 2009-08-26 20:00:27.773855150 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_aops.c 2009-08-26 23:11:50.853994240 -0300 @@ -216,7 +216,6 @@ xfs_setfilesize( if (ip->i_d.di_size < isize) { ip->i_d.di_size = isize; ip->i_update_core = 1; - ip->i_update_size = 1; xfs_mark_inode_dirty_sync(ip); } Index: linux-2.6/fs/xfs/xfs_iget.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-26 20:00:27.873854932 -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-26 23:10:19.757855279 -0300 @@ -82,7 +82,6 @@ xfs_inode_alloc( memset(&ip->i_df, 0, sizeof(xfs_ifork_t)); ip->i_flags = 0; ip->i_update_core = 0; - ip->i_update_size = 0; ip->i_delayed_blks = 0; memset(&ip->i_d, 0, sizeof(xfs_icdinode_t)); ip->i_size = 0; Index: linux-2.6/fs/xfs/xfs_inode.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-26 20:00:27.881855180 -0300 +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-26 23:11:50.961355085 -0300 @@ -261,7 +261,6 @@ typedef struct xfs_inode { /* Miscellaneous state. */ unsigned short i_flags; /* see defined flags below */ unsigned char i_update_core; /* timestamps/size is dirty */ - unsigned char i_update_size; /* di_size field is dirty */ unsigned int i_delayed_blks; /* count of delay alloc blks */ xfs_icdinode_t i_d; /* most of ondisk inode */ Index: linux-2.6/fs/xfs/xfs_inode_item.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode_item.c 2009-08-26 20:00:27.889856056 -0300 +++ linux-2.6/fs/xfs/xfs_inode_item.c 2009-08-26 23:11:50.933355367 -0300 @@ -263,14 +263,6 @@ xfs_inode_item_format( } /* - * We don't have to worry about re-ordering here because - * the update_size field is protected by the inode lock - * and we have that held in exclusive mode. - */ - if (ip->i_update_size) - ip->i_update_size = 0; - - /* * Make sure to get the latest atime from the Linux inode. */ xfs_synchronize_atime(ip); From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Wed Aug 26 22:12: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.6 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_66 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 n7R3Botc058930 for ; Wed, 26 Aug 2009 22:12:05 -0500 X-ASG-Debug-ID: 1251342762-607702200000-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 EA5BA40186E for ; Wed, 26 Aug 2009 20:12:42 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Aqhra1NhDBu2yVWI for ; Wed, 26 Aug 2009 20:12:42 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgVPm-0004Mb-JD for xfs@oss.sgi.com; Thu, 27 Aug 2009 03:12:42 +0000 Date: Wed, 26 Aug 2009 23:12:42 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: PATCH] xfs: implement .dirty_inode to fix timestamp handling Subject: PATCH] xfs: implement .dirty_inode to fix timestamp handling Message-ID: <20090827031242.GB6147@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: 1251342762 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 [Note: this patch needs the O_SYNC patch applies first] This is picking up on Felix's repost of Dave's patch to implement a .dirty_inode method. We really need this notification because the VFS keeps writing directly into the inode structure instead of going through methods to update this state. In addition to the long-known atime issue we now also have a caller in VM code that updates c/mtime that way for shared writeable mmaps. And I found another one that no one has noticed in practice in the FIFO code. So implement ->dirty_inode to set i_update_core whenever the inode gets externally dirties, and switch the c/mtime handling to the same scheme we already use for atime (always picking up the value from the Linux inode). Note that this patch also removes the xfs_synchronize_atime call in xfs_reclaim - it was not only superflous (we'll never reclaim a dirty inode), but also didn't do anything (I_CLEAR is always set at this point). I replaced it with a myriad of ASSERTs for now to make my point. Also switch to just using file_update_time for regular reads/writes - that will get us all optimization done to it for free and make sure we notice early when it breaks. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/linux-2.6/xfs_iops.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_iops.c 2009-08-26 20:41:27.589858986 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_iops.c 2009-08-26 20:43:48.381362580 -0300 @@ -62,7 +62,7 @@ * Used before logging the inode to disk or when the Linux inode goes away. */ void -xfs_synchronize_atime( +xfs_synchronize_times( xfs_inode_t *ip) { struct inode *inode = VFS_I(ip); @@ -70,6 +70,10 @@ xfs_synchronize_atime( if (!(inode->i_state & I_CLEAR)) { ip->i_d.di_atime.t_sec = (__int32_t)inode->i_atime.tv_sec; ip->i_d.di_atime.t_nsec = (__int32_t)inode->i_atime.tv_nsec; + ip->i_d.di_ctime.t_sec = (__int32_t)inode->i_ctime.tv_sec; + ip->i_d.di_ctime.t_nsec = (__int32_t)inode->i_ctime.tv_nsec; + ip->i_d.di_mtime.t_sec = (__int32_t)inode->i_mtime.tv_sec; + ip->i_d.di_mtime.t_nsec = (__int32_t)inode->i_mtime.tv_nsec; } } @@ -107,32 +111,20 @@ xfs_ichgtime( if ((flags & XFS_ICHGTIME_MOD) && !timespec_equal(&inode->i_mtime, &tv)) { inode->i_mtime = tv; - ip->i_d.di_mtime.t_sec = (__int32_t)tv.tv_sec; - ip->i_d.di_mtime.t_nsec = (__int32_t)tv.tv_nsec; sync_it = 1; } if ((flags & XFS_ICHGTIME_CHG) && !timespec_equal(&inode->i_ctime, &tv)) { inode->i_ctime = tv; - ip->i_d.di_ctime.t_sec = (__int32_t)tv.tv_sec; - ip->i_d.di_ctime.t_nsec = (__int32_t)tv.tv_nsec; sync_it = 1; } /* - * We update the i_update_core field _after_ changing - * the timestamps in order to coordinate properly with - * xfs_iflush() so that we don't lose timestamp updates. - * This keeps us from having to hold the inode lock - * while doing this. We use the SYNCHRONIZE macro to - * ensure that the compiler does not reorder the update - * of i_update_core above the timestamp updates above. + * Update complete - now make sure everyone knows that the inode + * is dirty. */ - if (sync_it) { - SYNCHRONIZE(); - ip->i_update_core = 1; + if (sync_it) xfs_mark_inode_dirty_sync(ip); - } } /* @@ -515,10 +507,8 @@ xfs_vn_getattr( stat->gid = ip->i_d.di_gid; stat->ino = ip->i_ino; stat->atime = inode->i_atime; - stat->mtime.tv_sec = ip->i_d.di_mtime.t_sec; - stat->mtime.tv_nsec = ip->i_d.di_mtime.t_nsec; - stat->ctime.tv_sec = ip->i_d.di_ctime.t_sec; - stat->ctime.tv_nsec = ip->i_d.di_ctime.t_nsec; + stat->mtime = inode->i_mtime; + stat->ctime = inode->i_ctime; stat->blocks = XFS_FSB_TO_BB(mp, ip->i_d.di_nblocks + ip->i_delayed_blks); Index: linux-2.6/fs/xfs/linux-2.6/xfs_super.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_super.c 2009-08-26 20:41:27.609857340 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_super.c 2009-08-26 20:43:48.381362580 -0300 @@ -973,6 +973,28 @@ xfs_fs_inode_init_once( } /* + * Dirty the XFS inode when mark_inode_dirty_sync() is called so that + * we catch unlogged VFS level updates to the inode. Care must be taken + * here - the transaction code calls mark_inode_dirty_sync() to mark the + * VFS inode dirty in a transaction and clears the i_update_core field; + * it must clear the field after calling mark_inode_dirty_sync() to + * correctly indicate that the dirty state has been propagated into the + * inode log item. + * + * We need the barrier() to maintain correct ordering between unlogged + * updates and the transaction commit code that clears the i_update_core + * field. This requires all updates to be completed before marking the + * inode dirty. + */ +STATIC void +xfs_fs_dirty_inode( + struct inode *inode) +{ + barrier(); + XFS_I(inode)->i_update_core = 1; +} + +/* * Attempt to flush the inode, this will actually fail * if the inode is pinned, but we dirty the inode again * at the point when it is unpinned after a log write, @@ -1535,6 +1557,7 @@ xfs_fs_get_sb( static struct super_operations xfs_super_operations = { .alloc_inode = xfs_fs_alloc_inode, .destroy_inode = xfs_fs_destroy_inode, + .dirty_inode = xfs_fs_dirty_inode, .write_inode = xfs_fs_write_inode, .clear_inode = xfs_fs_clear_inode, .put_super = xfs_fs_put_super, Index: linux-2.6/fs/xfs/xfs_inode_item.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode_item.c 2009-08-26 20:41:27.641855963 -0300 +++ linux-2.6/fs/xfs/xfs_inode_item.c 2009-08-26 20:43:48.381362580 -0300 @@ -232,6 +232,15 @@ xfs_inode_item_format( nvecs = 1; /* + * Make sure the linux inode is dirty. We do this before + * clearing i_update_core as the VFS will call back into + * XFS here and set i_update_core, so we need to dirty the + * inode first so that the ordering of i_update_core and + * unlogged modifications still works as described below. + */ + xfs_mark_inode_dirty_sync(ip); + + /* * Clear i_update_core if the timestamps (or any other * non-transactional modification) need flushing/logging * and we're about to log them with the rest of the core. @@ -263,14 +272,9 @@ xfs_inode_item_format( } /* - * Make sure to get the latest atime from the Linux inode. + * Make sure to get the latest timestamps from the Linux inode. */ - xfs_synchronize_atime(ip); - - /* - * make sure the linux inode is dirty - */ - xfs_mark_inode_dirty_sync(ip); + xfs_synchronize_times(ip); vecp->i_addr = (xfs_caddr_t)&ip->i_d; vecp->i_len = sizeof(struct xfs_icdinode); Index: linux-2.6/fs/xfs/linux-2.6/xfs_aops.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_aops.c 2009-08-26 20:41:27.625858328 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_aops.c 2009-08-26 20:43:48.385383132 -0300 @@ -215,7 +215,6 @@ xfs_setfilesize( if (ip->i_d.di_size < isize) { ip->i_d.di_size = isize; - ip->i_update_core = 1; xfs_mark_inode_dirty_sync(ip); } Index: linux-2.6/fs/xfs/xfs_dfrag.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_dfrag.c 2009-08-26 20:41:27.649855095 -0300 +++ linux-2.6/fs/xfs/xfs_dfrag.c 2009-08-26 20:46:05.074199520 -0300 @@ -206,10 +206,10 @@ xfs_swap_extents( * process that the file was not changed out from * under it. */ - if ((sbp->bs_ctime.tv_sec != ip->i_d.di_ctime.t_sec) || - (sbp->bs_ctime.tv_nsec != ip->i_d.di_ctime.t_nsec) || - (sbp->bs_mtime.tv_sec != ip->i_d.di_mtime.t_sec) || - (sbp->bs_mtime.tv_nsec != ip->i_d.di_mtime.t_nsec)) { + if ((sbp->bs_ctime.tv_sec != VFS_I(ip)->i_ctime.tv_sec) || + (sbp->bs_ctime.tv_nsec != VFS_I(ip)->i_ctime.tv_nsec) || + (sbp->bs_mtime.tv_sec != VFS_I(ip)->i_mtime.tv_sec) || + (sbp->bs_mtime.tv_nsec != VFS_I(ip)->i_mtime.tv_nsec)) { error = XFS_ERROR(EBUSY); goto out_unlock; } Index: linux-2.6/fs/xfs/xfs_itable.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_itable.c 2009-08-26 20:41:27.653855464 -0300 +++ linux-2.6/fs/xfs/xfs_itable.c 2009-08-26 20:43:48.393384499 -0300 @@ -59,6 +59,7 @@ xfs_bulkstat_one_iget( { xfs_icdinode_t *dic; /* dinode core info pointer */ xfs_inode_t *ip; /* incore inode pointer */ + struct inode *inode; int error; error = xfs_iget(mp, NULL, ino, @@ -72,6 +73,7 @@ xfs_bulkstat_one_iget( ASSERT(ip->i_imap.im_blkno != 0); dic = &ip->i_d; + inode = VFS_I(ip); /* xfs_iget returns the following without needing * further change. @@ -83,16 +85,19 @@ xfs_bulkstat_one_iget( buf->bs_uid = dic->di_uid; buf->bs_gid = dic->di_gid; buf->bs_size = dic->di_size; + /* - * We are reading the atime from the Linux inode because the - * dinode might not be uptodate. + * We need to read the timestamps from the Linux inode because + * the VFS keeps writing directly into the inode structure instead + * of telling us about the updates. */ - buf->bs_atime.tv_sec = VFS_I(ip)->i_atime.tv_sec; - buf->bs_atime.tv_nsec = VFS_I(ip)->i_atime.tv_nsec; - buf->bs_mtime.tv_sec = dic->di_mtime.t_sec; - buf->bs_mtime.tv_nsec = dic->di_mtime.t_nsec; - buf->bs_ctime.tv_sec = dic->di_ctime.t_sec; - buf->bs_ctime.tv_nsec = dic->di_ctime.t_nsec; + buf->bs_atime.tv_sec = inode->i_atime.tv_sec; + buf->bs_atime.tv_nsec = inode->i_atime.tv_nsec; + buf->bs_mtime.tv_sec = inode->i_mtime.tv_sec; + buf->bs_mtime.tv_nsec = inode->i_mtime.tv_nsec; + buf->bs_ctime.tv_sec = inode->i_ctime.tv_sec; + buf->bs_ctime.tv_nsec = inode->i_ctime.tv_nsec; + buf->bs_xflags = xfs_ip2xflags(ip); buf->bs_extsize = dic->di_extsize << mp->m_sb.sb_blocklog; buf->bs_extents = dic->di_nextents; Index: linux-2.6/fs/xfs/linux-2.6/xfs_lrw.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_lrw.c 2009-08-26 20:41:27.637857759 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_lrw.c 2009-08-26 20:43:48.397383610 -0300 @@ -667,7 +667,7 @@ start: xip->i_new_size = new_size; if (likely(!(ioflags & IO_INVIS))) - xfs_ichgtime(xip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); + file_update_time(file); /* * If the offset is beyond the size of the file, we have a couple Index: linux-2.6/fs/xfs/xfs_inode.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode.c 2009-08-26 20:41:27.657856322 -0300 +++ linux-2.6/fs/xfs/xfs_inode.c 2009-08-26 20:43:48.397383610 -0300 @@ -3068,9 +3068,9 @@ xfs_iflush_int( SYNCHRONIZE(); /* - * Make sure to get the latest atime from the Linux inode. + * Make sure to get the latest timestamps from the Linux inode. */ - xfs_synchronize_atime(ip); + xfs_synchronize_times(ip); if (XFS_TEST_ERROR(be16_to_cpu(dip->di_magic) != XFS_DINODE_MAGIC, mp, XFS_ERRTAG_IFLUSH_1, XFS_RANDOM_IFLUSH_1)) { Index: linux-2.6/fs/xfs/xfs_inode.h =================================================================== --- linux-2.6.orig/fs/xfs/xfs_inode.h 2009-08-26 20:41:27.661855015 -0300 +++ linux-2.6/fs/xfs/xfs_inode.h 2009-08-26 20:43:48.401355274 -0300 @@ -505,7 +505,7 @@ xfs_fsize_t xfs_file_last_byte(xfs_inode void xfs_lock_inodes(xfs_inode_t **, int, uint); void xfs_lock_two_inodes(xfs_inode_t *, xfs_inode_t *, uint); -void xfs_synchronize_atime(xfs_inode_t *); +void xfs_synchronize_times(xfs_inode_t *); void xfs_mark_inode_dirty_sync(xfs_inode_t *); #if defined(XFS_INODE_TRACE) Index: linux-2.6/fs/xfs/xfs_vnodeops.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_vnodeops.c 2009-08-26 20:41:27.669855404 -0300 +++ linux-2.6/fs/xfs/xfs_vnodeops.c 2009-08-26 20:43:48.405383719 -0300 @@ -2463,13 +2463,14 @@ int xfs_reclaim( xfs_inode_t *ip) { + struct inode *inode = VFS_I(ip); xfs_itrace_entry(ip); - ASSERT(!VN_MAPPED(VFS_I(ip))); + ASSERT(!VN_MAPPED(inode)); /* bad inode, get out here ASAP */ - if (is_bad_inode(VFS_I(ip))) { + if (is_bad_inode(inode)) { xfs_ireclaim(ip); return 0; } @@ -2477,12 +2478,13 @@ xfs_reclaim( xfs_ioend_wait(ip); ASSERT(XFS_FORCED_SHUTDOWN(ip->i_mount) || ip->i_delayed_blks == 0); - - /* - * Make sure the atime in the XFS inode is correct before freeing the - * Linux inode. - */ - xfs_synchronize_atime(ip); + ASSERT(inode->i_state & I_CLEAR); + ASSERT(ip->i_d.di_atime.t_sec == (__int32_t)inode->i_atime.tv_sec); + ASSERT(ip->i_d.di_atime.t_nsec == (__int32_t)inode->i_atime.tv_nsec); + ASSERT(ip->i_d.di_ctime.t_sec == (__int32_t)inode->i_ctime.tv_sec); + ASSERT(ip->i_d.di_ctime.t_nsec == (__int32_t)inode->i_ctime.tv_nsec); + ASSERT(ip->i_d.di_mtime.t_sec == (__int32_t)inode->i_mtime.tv_sec); + ASSERT(ip->i_d.di_mtime.t_nsec == (__int32_t)inode->i_mtime.tv_nsec); /* * If we have nothing to flush with this inode then complete the From felixb@sgi.com Thu Aug 27 01:39: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=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 n7R6dItZ068696 for ; Thu, 27 Aug 2009 01:39:28 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id A178C8F80C9 for ; Wed, 26 Aug 2009 23:40:11 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id 0A14670001C8; Thu, 27 Aug 2009 01:40:09 -0500 (CDT) Cc: xfs@oss.sgi.com Message-Id: From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090827031242.GB6147@infradead.org> Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: Re: PATCH] xfs: implement .dirty_inode to fix timestamp handling Date: Thu, 27 Aug 2009 01:40:08 -0500 References: <20090827031242.GB6147@infradead.org> 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 26, 2009, at 10:12 PM, Christoph Hellwig wrote: > [Note: this patch needs the O_SYNC patch applies first] I assume O_SYNC is not a prerequisite to this patch, it's just needed to apply the current patch cleanly. > > This is picking up on Felix's repost of Dave's patch to implement a > .dirty_inode method. We really need this notification because > the VFS keeps writing directly into the inode structure instead > of going through methods to update this state. In addition to > the long-known atime issue we now also have a caller in VM code > that updates c/mtime that way for shared writeable mmaps. And > I found another one that no one has noticed in practice in the FIFO > code. > > So implement ->dirty_inode to set i_update_core whenever the > inode gets externally dirties, and switch the c/mtime handling to > the same scheme we already use for atime (always picking up > the value from the Linux inode). > > Note that this patch also removes the xfs_synchronize_atime call > in xfs_reclaim - it was not only superflous (we'll never reclaim > a dirty inode), but also didn't do anything (I_CLEAR is always set > at this point). I replaced it with a myriad of ASSERTs for now > to make my point. I like that ^) > > > Also switch to just using file_update_time for regular reads/writes - > that will get us all optimization done to it for free and make > sure we notice early when it breaks. > > > Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher From felixb@sgi.com Thu Aug 27 01:50:28 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 n7R6o89x069171 for ; Thu, 27 Aug 2009 01:50:18 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6AE4530404E for ; Wed, 26 Aug 2009 23:51:01 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id 56C0A7000103; Thu, 27 Aug 2009 01:22:17 -0500 (CDT) Cc: xfs@oss.sgi.com Message-Id: From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090827031116.GA6147@infradead.org> 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: [PATCH] xfs: merge fsync and O_SYNC handling Date: Thu, 27 Aug 2009 01:22:15 -0500 References: <20090827031116.GA6147@infradead.org> 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 26, 2009, at 10:11 PM, Christoph Hellwig wrote: > The guarantees for O_SYNC are exactly the same as the ones we need to > make for an fsync call (and given that Linux O_SYNC is O_DSYNC the > equivalent is fdadatasync, but we treat both the same in XFS), except > with a range data writeout. Jan Kara has started unifying these two > path for filesystems using the generic helpers, and I've started to > look at XFS. > > The actual transaction commited by xfs_fsync and > xfs_write_sync_logforce > has a different transaction number, but actually is exactly the same. > We'll only use the fsync transaction going forward. One major > difference > is that xfs_write_sync_logforce never issues a cache flush unless we > commit a transaction causing that as a side-effect, which is an > obvious > bug in the O_SYNC handling. Second all the locking and i_update_size > vs i_update_core changes from 978b7237123d007b9fa983af6e0e2fa8f97f9934 > never made it to xfs_write_sync_logforce, so we add them back. > > To make xfs_fsync easily usable from the O_SYNC path, the > filemap_fdatawait > call is moved up to xfs_file_fsync, so that we don't wait on the whole > file after we already waited for our portion in xfs_write. > > We'll also use a plain call to filemap_write_and_wait_range instead > of the previous sync_page_rang which did it in two steps including > an half-hearted inode write out that doesn't help us. > > Once we're done with this also remove the now useless i_update_size > tracking. > > > Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher From felixb@sgi.com Thu Aug 27 01:52:58 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 n7R6qcDw069278 for ; Thu, 27 Aug 2009 01:52:48 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id B3CFC304075 for ; Wed, 26 Aug 2009 23:53:31 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id 49CE37000103; Thu, 27 Aug 2009 01:53:30 -0500 (CDT) Cc: Message-Id: From: Felix Blyakher To: "Alex Elder" In-Reply-To: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD9@cf--amer001e--3.americas.sgi.com> Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: Re: [PATCH] xfs_showargs() reports group *and* project quotas enabled Date: Thu, 27 Aug 2009 01:53:28 -0500 References: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABD9@cf--amer001e--3.americas.sgi.com> 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 26, 2009, at 12:46 PM, Alex Elder wrote: > If you enable group or project quotas on an XFS file system, then the > mount table presented through /proc/self/mounts erroneously shows > that both options are in effect for the file system. The root of > the problem is some bad logic in the xfs_showargs() function, which > is used to format the file system type-specific options in effect > for a file system. > > The problem originated in this GIT commit: > Move platform specific mount option parse out of core XFS code > Date: 11/22/07 > Author: Dave Chinner > SHA1 ID: a67d7c5f5d25d0b13a4dfb182697135b014fa478 > > For XFS quotas, project and group quota management are mutually > exclusive--only one can be in effect at a time. There are two > parts to managing quotas: aggregating usage information; and > enforcing limits. It is possible to have a quota in effect > (aggregating usage) but not enforced. > > These features are recorded on an XFS mount point using these flags: > XFS_PQUOTA_ACCT - Project quotas are aggregated > XFS_GQUOTA_ACCT - Group quotas are aggregated > XFS_OQUOTA_ENFD - Project/group quotas are enforced > > The code in error is in fs/xfs/linux-2.6/xfs_super.c: > > if (mp->m_qflags & (XFS_PQUOTA_ACCT|XFS_OQUOTA_ENFD)) > seq_puts(m, "," MNTOPT_PRJQUOTA); > else if (mp->m_qflags & XFS_PQUOTA_ACCT) > seq_puts(m, "," MNTOPT_PQUOTANOENF); > > if (mp->m_qflags & (XFS_GQUOTA_ACCT|XFS_OQUOTA_ENFD)) > seq_puts(m, "," MNTOPT_GRPQUOTA); > else if (mp->m_qflags & XFS_GQUOTA_ACCT) > seq_puts(m, "," MNTOPT_GQUOTANOENF); > > The problem is that XFS_OQUOTA_ENFD will be set in mp->m_qflags > if either group or project quotas are enforced, and as a result > both MNTOPT_PRJQUOTA and MNTOPT_GRPQUOTA will be shown as mount > options. Good catch, Alex. > Signed-off-by: Alex Elder Reviewed-by: Felix Blyakher From Daniele.Passerone@empa.ch Thu Aug 27 02:22: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.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 n7R7Lgee070391 for ; Thu, 27 Aug 2009 02:21:58 -0500 X-ASG-Debug-ID: 1251357751-63a800530000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D50CD15550BA for ; Thu, 27 Aug 2009 00:22:31 -0700 (PDT) Received: from mx2.empa.ch (mx2.empa.ch [152.88.7.32]) by cuda.sgi.com with ESMTP id Q1alMF0UCyIFQiHR for ; Thu, 27 Aug 2009 00:22:31 -0700 (PDT) Received: from Du-Exc-Hub1.empa.emp-eaw.ch (localhost [127.0.0.1]) by mx2.empa.ch (Spam & Virus Firewall) with ESMTP id 9A113544D9A for ; Thu, 27 Aug 2009 09:22:04 +0200 (CEST) Received: from Du-Exc-Hub1.empa.emp-eaw.ch ([152.88.6.64]) by mx2.empa.ch with ESMTP id CORAl0EkIhMl5GkJ for ; Thu, 27 Aug 2009 09:22:04 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by Du-Exc-Hub1.empa.emp-eaw.ch ([2002:9858:640::9858:640]) with mapi; Thu, 27 Aug 2009 09:22:04 +0200 From: "Passerone, Daniele" To: "xfs@oss.sgi.com" Date: Thu, 27 Aug 2009 09:22:02 +0200 X-ASG-Orig-Subj: xfs data loss Subject: xfs data loss Thread-Topic: xfs data loss Thread-Index: Acom5xLECvwQVPeDRDCnmlqST4qgJA== Message-ID: Accept-Language: it-IT, de-CH Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: it-IT, de-CH Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx2.empa.ch[152.88.7.32] X-Barracuda-Start-Time: 1251357755 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4879 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7340 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 Dear xfs developers We have a SUN X4500 with 48 500 GB drives, that we configured under SUSE SL= ES 10. Among others, we have 3 RAID5 xfs filesystems, /dev/md4 with 20 units (9.27= TB) /dev/md5 with 20 units (9.27 TB) and /dev/md6 with 5 units (1.95 TB) These units are not backed up. Due to a power shock, suddenly and without log messages about one half (5 T= B) of the user=20 directories on /dev/md4 have disappeared. Upon reboot, /dev/md6 showed only 3 units, and after a xfs_repair it was ag= ain ok. /dev/md4 mounted immediately, but always with one half of the directories. 1) xfs_check gives no problem on /dev/md4 but=20 2) xfs_logprint xfs_logprint: data device: 0x904 log device: 0x904 daddr: 9279295544 length: 262144 Header 0x1c8b wanted 0xfeedbabe ********************************************************************** * ERROR: header cycle=3D7307 block=3D182240 * ********************************************************************** Bad log record header and the same happens on /dev/md5. 3) xfs_ncheck eats a lot of memory and freezes after 6-7 hours without givi= ng output 4) I have a xfs_metadump in a file (1.8 GB) but I don't know what to do wit= h it. WHat can I do? Any help would be appreciated, I would really be happy to re= cover those files... :-) Thank you in advance Daniele Passerone Empa, Switzerland From lists@nerdbynature.de Thu Aug 27 04:41:19 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 n7R9ewK6078028 for ; Thu, 27 Aug 2009 04:41:09 -0500 X-ASG-Debug-ID: 1251366075-305201740000-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 48FFE40231F for ; Thu, 27 Aug 2009 02:41:15 -0700 (PDT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.10]) by cuda.sgi.com with ESMTP id e4XW0E7UKjIPDMTf for ; Thu, 27 Aug 2009 02:41:15 -0700 (PDT) Received: from bogon.housecafe.de (ppp-93-104-171-111.dynamic.mnet-online.de [93.104.171.111]) by mrelayeu.kundenserver.de (node=mrbap1) with ESMTP (Nemesis) id 0MKt2u-1MgbTj210I-000SBi; Thu, 27 Aug 2009 11:41:11 +0200 Received: from localhost ([127.0.0.1]) by bogon.housecafe.de with esmtp (Exim 4.69) (envelope-from ) id 1MgbTi-0001Jy-TS; Thu, 27 Aug 2009 11:41:10 +0200 Date: Thu, 27 Aug 2009 02:41:10 -0700 (PDT) From: Christian Kujau To: "Passerone, Daniele" cc: "xfs@oss.sgi.com" X-ASG-Orig-Subj: Re: xfs data loss Subject: Re: xfs data loss In-Reply-To: Message-ID: References: User-Agent: Alpine 2.01 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Provags-ID: V01U2FsdGVkX19s3b+mezsgE76tjJW9qvNZqlQM7QkGgIUmRWC AC8LtH9Blm39J/DMSsLTaq40SrOeQVjNpWffNNulIS4dV6Czev HfAotHwyS21d+o6tARnGQ== X-Barracuda-Connect: moutng.kundenserver.de[212.227.17.10] X-Barracuda-Start-Time: 1251366098 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0016 1.0000 -2.0107 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.01 X-Barracuda-Spam-Status: No, SCORE=-2.01 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7348 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 Thu, 27 Aug 2009 at 09:22, Passerone, Daniele wrote: > We have a SUN X4500 with 48 500 GB drives, that we configured under SUSE > SLES 10. SLES 10, that's Linux 2.6.16-something, right? > These units are not backed up. I know, I probably shouldn't ask this right now, but I'm kinda curious: _Why_ aren't they backed up? > 3) xfs_ncheck eats a lot of memory and freezes after 6-7 hours without giving output Did you look into the syslog too? Maybe the box was out of memory and killed xfs_ncheck. How much memory does the box have? Christian. -- BOFH excuse #101: Collapsed Backbone From Daniele.Passerone@empa.ch Thu Aug 27 04:47: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=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 n7R9kbHp078362 for ; Thu, 27 Aug 2009 04:46:52 -0500 X-ASG-Debug-ID: 1251366444-305201a40000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2D651402898 for ; Thu, 27 Aug 2009 02:47:24 -0700 (PDT) Received: from mx1.empa.ch (mx1.empa.ch [152.88.7.31]) by cuda.sgi.com with ESMTP id bhN4vOlXBLNObqbm for ; Thu, 27 Aug 2009 02:47:24 -0700 (PDT) Received: from eaw-exc-hub1.eawag.wroot.emp-eaw.ch (localhost [127.0.0.1]) by mx1.empa.ch (Spam & Virus Firewall) with ESMTP id BD83E4F4309; Thu, 27 Aug 2009 11:47:08 +0200 (CEST) Received: from eaw-exc-hub1.eawag.wroot.emp-eaw.ch (eaw-exc-hub1.emp-eaw.ch [152.88.5.116]) by mx1.empa.ch with ESMTP id 8jkkrqvm2KCN0Sz9; Thu, 27 Aug 2009 11:47:08 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by eaw-exc-hub1.eawag.wroot.emp-eaw.ch ([2002:9858:574::9858:574]) with mapi; Thu, 27 Aug 2009 11:47:08 +0200 From: "Passerone, Daniele" To: Christian Kujau CC: "xfs@oss.sgi.com" Date: Thu, 27 Aug 2009 11:47:06 +0200 X-ASG-Orig-Subj: RE: xfs data loss Subject: RE: xfs data loss Thread-Topic: xfs data loss Thread-Index: Acom+pSI/O9yMbknQP+CIyALb/qZlgAABdEg Message-ID: References: In-Reply-To: Accept-Language: it-IT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: it-IT, en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx1.empa.ch[152.88.7.31] X-Barracuda-Start-Time: 1251366448 X-Barracuda-Bayes: INNOCENT GLOBAL 0.2383 1.0000 -0.6322 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.63 X-Barracuda-Spam-Status: No, SCORE=-0.63 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.7348 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 Thank you Christian for your reply. > >SLES 10, that's Linux 2.6.16-something, right? > Linux 2.6.16.60 x86_64 >I know, I probably shouldn't ask this right now, but I'm kinda curious: >_Why_ aren't they backed up? > It is absolutely legitimate as question. Because it is a storage unit of 20 TB that we can't backup, and the users k= now it. >> 3) xfs_ncheck eats a lot of memory and freezes after 6-7 hours without >giving output > >Did you look into the syslog too? Maybe the box was out of memory and >killed xfs_ncheck. How much memory does the box have? Unfortunately xfs_ncheck was not killed, it went "D" state. The box has 16Gb. Can I do something with my xfs_metadump [please be polite :-) ] Daniele From Daniele.Passerone@empa.ch Thu Aug 27 04:54: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 n7R9sKaF078770 for ; Thu, 27 Aug 2009 04:54:36 -0500 X-ASG-Debug-ID: 1251366907-272002900000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 0DD964029C9 for ; Thu, 27 Aug 2009 02:55:07 -0700 (PDT) Received: from mx1.empa.ch (mx1.empa.ch [152.88.7.31]) by cuda.sgi.com with ESMTP id FszyL4zcB2LbsOPG for ; Thu, 27 Aug 2009 02:55:07 -0700 (PDT) Received: from Du-Exc-Hub1.empa.emp-eaw.ch (localhost [127.0.0.1]) by mx1.empa.ch (Spam & Virus Firewall) with ESMTP id 13481ABDA1; Thu, 27 Aug 2009 11:54:50 +0200 (CEST) Received: from Du-Exc-Hub1.empa.emp-eaw.ch ([152.88.6.64]) by mx1.empa.ch with ESMTP id heNzxTxUCSNJl4QM; Thu, 27 Aug 2009 11:54:50 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by Du-Exc-Hub1.empa.emp-eaw.ch ([2002:9858:640::9858:640]) with mapi; Thu, 27 Aug 2009 11:54:50 +0200 From: "Passerone, Daniele" To: Christian Kujau CC: "xfs@oss.sgi.com" Date: Thu, 27 Aug 2009 11:54:44 +0200 X-ASG-Orig-Subj: RE: xfs data loss Subject: RE: xfs data loss Thread-Topic: xfs data loss Thread-Index: Acom+pSI/O9yMbknQP+CIyALb/qZlgAAcZ7A Message-ID: References: In-Reply-To: Accept-Language: it-IT, de-CH Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-cr-hashedpuzzle: BkqT FIwv Gp2+ Hl3b IZao Kczx MmsH My98 OGcR OPHw PANZ PmYT Ry2q SrdW Sx3m VCid;2;bABpAHMAdABzAEAAbgBlAHIAZABiAHkAbgBhAHQAdQByAGUALgBkAGUAOwB4AGYAcwBAAG8AcwBzAC4AcwBnAGkALgBjAG8AbQA=;Sosha1_v1;7;{115D4018-8A41-49DA-B18E-F4F1404AC4FD};ZABhAG4AaQBlAGwAZQAuAHAAYQBzAHMAZQByAG8AbgBlAEAAZQBtAHAAYQAuAGMAaAA=;Thu, 27 Aug 2009 09:54:44 GMT;UgBFADoAIAB4AGYAcwAgAGQAYQB0AGEAIABsAG8AcwBzAA== x-cr-puzzleid: {115D4018-8A41-49DA-B18E-F4F1404AC4FD} acceptlanguage: it-IT, de-CH Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx1.empa.ch[152.88.7.31] X-Barracuda-Start-Time: 1251366910 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0165 1.0000 -1.9135 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= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7348 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 Please find enclosed the link to my metadata dump http://snipurl.com/rfo6u Thank you in advance Daniele From lists@nerdbynature.de Thu Aug 27 05:09:17 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 n7RA8vP4079649 for ; Thu, 27 Aug 2009 05:09:07 -0500 X-ASG-Debug-ID: 1251367787-26ad03080000-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 0E7DD402B30 for ; Thu, 27 Aug 2009 03:09:47 -0700 (PDT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.8]) by cuda.sgi.com with ESMTP id XhZeBjs0CgCpzRBt for ; Thu, 27 Aug 2009 03:09:47 -0700 (PDT) Received: from bogon.housecafe.de (ppp-93-104-171-111.dynamic.mnet-online.de [93.104.171.111]) by mrelayeu.kundenserver.de (node=mrbap2) with ESMTP (Nemesis) id 0MKt72-1MgbvM11hX-000CAk; Thu, 27 Aug 2009 12:09:44 +0200 Received: from localhost ([127.0.0.1]) by bogon.housecafe.de with esmtp (Exim 4.69) (envelope-from ) id 1MgbvL-0001wZ-Me; Thu, 27 Aug 2009 12:09:43 +0200 Date: Thu, 27 Aug 2009 03:09:43 -0700 (PDT) From: Christian Kujau To: "Passerone, Daniele" cc: "xfs@oss.sgi.com" X-ASG-Orig-Subj: RE: xfs data loss Subject: RE: xfs data loss In-Reply-To: Message-ID: References: User-Agent: Alpine 2.01 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Provags-ID: V01U2FsdGVkX1+ndBY/9xG0Ds0OIcWXH5eHBHixeC8Mfu4XadI vqOWU6fE5vji+Y2h8gMt7DCr1b4ai5p3RqbwX/d+d3b6HKthJF j4V6PugmESOX6jVVrBnlA== X-Barracuda-Connect: moutng.kundenserver.de[212.227.17.8] X-Barracuda-Start-Time: 1251367788 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0001 1.0000 -2.0204 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.7348 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 Thu, 27 Aug 2009 at 11:47, Passerone, Daniele wrote: > Unfortunately xfs_ncheck was not killed, it went "D" state. > The box has 16Gb. "D" as in "waiting for I/O to complete". Were you able to confirm that, i.e. was there really noticable disk i/o happening during xfs_ncheck or was the process perhaps "stuck in D state"? I seem to remember that in those cases the output of sysrq-w could be interesting. > Can I do something with my xfs_metadump [please be polite :-) ] You've put the dump online, let's hope some XFS wizard finds time to have a look at this...I certainly can't read this :-\ Christian. -- BOFH excuse #228: That function is not currently supported, but Bill Gates assures us it will be featured in the next upgrade. From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 07:03:43 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 n7RC3HuG086132 for ; Thu, 27 Aug 2009 07:03:33 -0500 X-ASG-Debug-ID: 1251374630-024d02c60000-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 73F12402CC5; Thu, 27 Aug 2009 05:03:50 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id 14bfG8DGEqRoZbci; Thu, 27 Aug 2009 05:03:50 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mgdhl-0006ko-Tp; Thu, 27 Aug 2009 12:03:49 +0000 Date: Thu, 27 Aug 2009 08:03:49 -0400 From: Christoph Hellwig To: Felix Blyakher Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: PATCH] xfs: implement .dirty_inode to fix timestamp handling Subject: Re: PATCH] xfs: implement .dirty_inode to fix timestamp handling Message-ID: <20090827120349.GA13901@infradead.org> References: <20090827031242.GB6147@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1251374650 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 27, 2009 at 01:40:08AM -0500, Felix Blyakher wrote: > > On Aug 26, 2009, at 10:12 PM, Christoph Hellwig wrote: > >> [Note: this patch needs the O_SYNC patch applies first] > > I assume O_SYNC is not a prerequisite to this patch, it's just > needed to apply the current patch cleanly. indeed. it just removes setting an i_update_size close to an i_update_core we touch. From damian.wolski@gmail.com Thu Aug 27 07:40:23 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=5.0 tests=BAYES_40,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 n7RCe2iu087893 for ; Thu, 27 Aug 2009 07:40:13 -0500 X-ASG-Debug-ID: 1251376849-6729000c0000-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 00343403486 for ; Thu, 27 Aug 2009 05:40:49 -0700 (PDT) Received: from ey-out-1920.google.com (ey-out-1920.google.com [74.125.78.150]) by cuda.sgi.com with ESMTP id GllzxYi1xoGQ6m4X for ; Thu, 27 Aug 2009 05:40:49 -0700 (PDT) Received: by ey-out-1920.google.com with SMTP id 5so214106eyb.22 for ; Thu, 27 Aug 2009 05:40:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=/KyQzV7zz/YRP0lEbfAbSetxJ5Lqx9THBtmvZyO+Gag=; b=pp+vQiNgOthJx/tT5MMtidNfxQc1Ea2T/R9WFYruj3Yb7yUXn40O/ybGuew7obiUsi bXs7IXUVFP/fYB4eYgWDcwaNSd4BpKKY2FYfd8hba+i2+1xrtetWVdwex6b6IrUczQte CI0Nf/LZjmILCmiu+MxGlTnFOwuEvSRAIRAuk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=Jx5vQdPagRDCf8oyvHRXxSwztPQ9OUx318YRemvQPLpez/cNykQ6K5pObQ1Fl16o4u itry6pC16OD10vwX0OOows3kptnYedhrzOOI0zfaSNP0OV9g1GFCfD0lZAQw2b1GTYni lCka18poMVkDIVqsO3/VFdEk2vx0KoxQVIzdQ= MIME-Version: 1.0 Received: by 10.216.72.206 with SMTP id t56mr1941417wed.31.1251376847101; Thu, 27 Aug 2009 05:40:47 -0700 (PDT) Date: Thu, 27 Aug 2009 14:40:47 +0200 Message-ID: <76f36dd60908270540ja50b56ct9c47667934ba9f50@mail.gmail.com> X-ASG-Orig-Subj: Problem with xfs Subject: Problem with xfs From: Damian Wolski To: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=00504502c5ec739ef504721ee06c X-Barracuda-Connect: ey-out-1920.google.com[74.125.78.150] X-Barracuda-Start-Time: 1251376853 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4990 1.0000 0.0000 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 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.7360 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 --00504502c5ec739ef504721ee06c Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello. I have problem with *xfs_bmbt_ptr_t* from *xfs_dinode_t* structure. I don't know how to interprete *filesystem block number* (i use documentation from http://oss.sgi.com/projects/xfs/papers/xfs_filesystem_structure.pdf , page 34). In detail I have b-tree extent list -> i read some informations about this b-tree (so i have filesystem block number) How can i allocate block from *filesystem block number?* Regards Damian --00504502c5ec739ef504721ee06c Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello.

I have problem with xfs_bmbt_ptr_t from xfs_dinode_= t structure. I don't know how to interprete filesystem block num= ber (i use documentation from http://oss.sgi.com/projects/xfs/pape= rs/xfs_filesystem_structure.pdf , page 34).

In detail

I have b-tree extent list -> i read some informatio= ns about this b-tree (so i have filesystem block number)
How can i alloc= ate block from filesystem block number?

Regards
Damian
--00504502c5ec739ef504721ee06c-- From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 12:35:44 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 n7RHZGuC101594 for ; Thu, 27 Aug 2009 12:35:34 -0500 X-ASG-Debug-ID: 1251394550-6c6a005a0000-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 7B9DB404E0D; Thu, 27 Aug 2009 10:35:50 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id PTETa2wLT1pyHVYF; Thu, 27 Aug 2009 10:35:50 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mgisu-0006sd-OY; Thu, 27 Aug 2009 17:35:40 +0000 Date: Thu, 27 Aug 2009 13:35:40 -0400 From: Christoph Hellwig To: Jan Kara Cc: LKML , hch@lst.de, linux-fsdevel@vger.kernel.org, Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090827173540.GA19115@infradead.org> References: <1250875447-15622-1-git-send-email-jack@suse.cz> <1250875447-15622-8-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1250875447-15622-8-git-send-email-jack@suse.cz> 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: 1251394570 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 > +int generic_write_sync(struct file *file, loff_t pos, loff_t count) > +{ > + if (!(file->f_flags & O_SYNC) && !IS_SYNC(file->f_mapping->host)) > + return 0; > + return generic_sync_file(file, file->f_path.dentry, pos, > + pos + count - 1, > + SYNC_SUBMIT_DATA | SYNC_WAIT_DATA); > +} > +EXPORT_SYMBOL(generic_write_sync); > > +/* Flags for generic_sync_file */ > +#define SYNC_INODE 1 > +#define SYNC_SUBMIT_DATA 2 > +#define SYNC_WAIT_DATA 4 When I think about this more I really hate the latter two flags. There's really no reason to just do only either the submit or wait. I'd say kill the flags for now and just implement generic_write_sync as: int generic_write_sync(struct file *file, loff_t pos, loff_t count) { if (!(file->f_flags & O_SYNC) && !IS_SYNC(file->f_mapping->host)) return 0; return vfs_fsync_range(file, file->f_path.dentry, pos, pos + count - 1, 1); } and we can look into replacing the datasync flag with something more meaningfull later through the whole fsync stack. From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 16:18:48 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 n7RLIMKR111129 for ; Thu, 27 Aug 2009 16:18:38 -0500 X-ASG-Debug-ID: 1251407932-6b8703270000-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 6BF721567146 for ; Thu, 27 Aug 2009 14:18:52 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id zEaNc3JIpG4vocmk for ; Thu, 27 Aug 2009 14:18:52 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgmMr-0007K0-0Z; Thu, 27 Aug 2009 21:18:49 +0000 Date: Thu, 27 Aug 2009 17:18:49 -0400 From: Christoph Hellwig To: Theodore Tso Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Subject: Re: [PATCH] Add ext2/3/4-specific _check_extN_filesystem function Message-ID: <20090827211848.GA9427@infradead.org> References: <1250607467-15085-1-git-send-email-tytso@mit.edu> <20090818161116.GA2162@infradead.org> <20090818170456.GF28560@mit.edu> <20090826221201.GC18119@infradead.org> <20090827020533.GL6997@mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090827020533.GL6997@mit.edu> 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: 1251407955 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 Wed, Aug 26, 2009 at 10:05:33PM -0400, Theodore Tso wrote: > Sorry, work has gotten busy and I'm trying to get some last patches > whipped into shape before the merge window opens. I probably won't > have time to look at this for at least a week or two. So if you want > to merge this version in for now, I'll try to clean it up when I have > a chance. Ok, I've put it in now. From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 18:14: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7RNDeFu116095 for ; Thu, 27 Aug 2009 18:13:56 -0500 X-ASG-Debug-ID: 1251414870-338102170000-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 B36831569671 for ; Thu, 27 Aug 2009 16:14:30 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id lm7uuyIhfAYqIF7i for ; Thu, 27 Aug 2009 16:14:30 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgoAm-0008KL-C7 for xfs@oss.sgi.com; Thu, 27 Aug 2009 23:14:28 +0000 Message-Id: <20090827231345.567595131@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Thu, 27 Aug 2009 19:13:45 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 0/0] sync improvements Subject: [PATCH 0/0] sync improvements 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: 1251414870 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 Revisit Dave's prototype to make sync equivalent to freeze, that is make sure not only we have all data on disk, but also the metadata in the right place and not requite a log recovery. That fixes test 182 and should also help with the frequent grub complaints. From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 18:15: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7RNF5rC116155 for ; Thu, 27 Aug 2009 18:15:20 -0500 X-ASG-Debug-ID: 1251414958-33de024c0000-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 F0C9F1569759 for ; Thu, 27 Aug 2009 16:15:58 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id jBRVcG7qGDRRM713 for ; Thu, 27 Aug 2009 16:15:58 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgoCE-0000bs-I8 for xfs@oss.sgi.com; Thu, 27 Aug 2009 23:15:58 +0000 Message-Id: <20090827231558.379824160@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Thu, 27 Aug 2009 19:15:39 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 3/4] [PATCH 2/5] xfs: cleanup ->sync_fs Subject: [PATCH 3/4] [PATCH 2/5] xfs: cleanup ->sync_fs References: <20090827231536.646792672@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-cleanup-sync_fs 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: 1251414958 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 Sort out ->sync_fs to not perform a superblock writeback for the wait = 0 case as that is just an optional first pass and the superblock will be written back properly in the next call with wait = 1. Instead perform an opportunistic quota writeback to have less work later. Also remove the freeze special case as we do a proper wait = 1 call in the freeze code anyway. Also rename the function to xfs_fs_sync_fs to match the normal naming convention, update comments and avoid calling into the laptop_mode logic on an error. Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/linux-2.6/xfs_super.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_super.c 2009-08-26 20:13:54.609362865 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_super.c 2009-08-26 20:18:36.065357266 -0300 @@ -1144,7 +1144,7 @@ xfs_fs_put_super( } STATIC int -xfs_fs_sync_super( +xfs_fs_sync_fs( struct super_block *sb, int wait) { @@ -1152,23 +1152,23 @@ xfs_fs_sync_super( int error; /* - * Treat a sync operation like a freeze. This is to work - * around a race in sync_inodes() which works in two phases - * - an asynchronous flush, which can write out an inode - * without waiting for file size updates to complete, and a - * synchronous flush, which wont do anything because the - * async flush removed the inode's dirty flag. Also - * sync_inodes() will not see any files that just have - * outstanding transactions to be flushed because we don't - * dirty the Linux inode until after the transaction I/O - * completes. + * Not much we can do for the first async pass. Writing out the + * superblock would be counter-productive as we are going to redirty + * when writing out other data and metadata (and writing out a single + * block is quite fast anyway). + * + * Try to asynchronously kick off quota syncing at least. */ - if (wait || unlikely(sb->s_frozen == SB_FREEZE_WRITE)) - error = xfs_quiesce_data(mp); - else - error = xfs_sync_fsdata(mp, 0); + if (!wait) { + xfs_qm_sync(mp, SYNC_TRYLOCK); + return 0; + } + + error = xfs_quiesce_data(mp); + if (error) + return -error; - if (unlikely(laptop_mode)) { + if (laptop_mode) { int prev_sync_seq = mp->m_sync_seq; /* @@ -1187,7 +1187,7 @@ xfs_fs_sync_super( mp->m_sync_seq != prev_sync_seq); } - return -error; + return 0; } STATIC int @@ -1561,7 +1561,7 @@ static struct super_operations xfs_super .write_inode = xfs_fs_write_inode, .clear_inode = xfs_fs_clear_inode, .put_super = xfs_fs_put_super, - .sync_fs = xfs_fs_sync_super, + .sync_fs = xfs_fs_sync_fs, .freeze_fs = xfs_fs_freeze, .statfs = xfs_fs_statfs, .remount_fs = xfs_fs_remount, From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 18:15:31 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,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 n7RNF5uC116158 for ; Thu, 27 Aug 2009 18:15:20 -0500 X-ASG-Debug-ID: 1251414959-337002360000-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 8825D156975C for ; Thu, 27 Aug 2009 16:15:59 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id dgrVdX02c8GyYthe for ; Thu, 27 Aug 2009 16:15:59 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgoCE-0000bN-8A; Thu, 27 Aug 2009 23:15:58 +0000 Message-Id: <20090827231558.057467775@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Thu, 27 Aug 2009 19:15:38 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: Dave Chinner X-ASG-Orig-Subj: [PATCH 2/4] xfs: make sure xfs_sync_fsdata covers the log Subject: [PATCH 2/4] xfs: make sure xfs_sync_fsdata covers the log References: <20090827231536.646792672@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-fix-xfs_sync_fsdata 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: 1251414959 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 From: Dave Chinner We want to always cover the log after writing out the superblock, and in case of a synchronous writeout make sure we actually wait for the log to be covered. That way a filesystem that has been sync()ed can be considered clean by log recovery. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen 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-07-07 16:03:51.871239376 +0200 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-07-07 18:24:48.722251281 +0200 @@ -309,11 +309,15 @@ xfs_sync_attr( STATIC int xfs_commit_dummy_trans( struct xfs_mount *mp, - uint log_flags) + uint flags) { struct xfs_inode *ip = mp->m_rootip; struct xfs_trans *tp; int error; + int log_flags = XFS_LOG_FORCE; + + if (flags & SYNC_WAIT) + log_flags |= XFS_LOG_SYNC; /* * Put a dummy transaction in the log to tell recovery @@ -331,13 +335,12 @@ xfs_commit_dummy_trans( xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); - /* XXX(hch): ignoring the error here.. */ error = xfs_trans_commit(tp, 0); - xfs_iunlock(ip, XFS_ILOCK_EXCL); + /* the log force ensures this transaction is pushed to disk */ xfs_log_force(mp, 0, log_flags); - return 0; + return error; } int @@ -377,6 +380,7 @@ xfs_sync_fsdata( */ if (XFS_BUF_ISPINNED(bp)) xfs_log_force(mp, 0, XFS_LOG_FORCE); + xfs_flush_buftarg(mp->m_ddev_targp, 1); } @@ -385,7 +389,10 @@ xfs_sync_fsdata( else XFS_BUF_ASYNC(bp); - return xfs_bwrite(mp, bp); + error = xfs_bwrite(mp, bp); + if (!error && xfs_log_need_covered(mp)) + error = xfs_commit_dummy_trans(mp, (flags & SYNC_WAIT)); + return error; out_brelse: xfs_buf_relse(bp); @@ -571,8 +578,6 @@ xfs_sync_worker( /* dgc: errors ignored here */ error = xfs_qm_sync(mp, SYNC_TRYLOCK); error = xfs_sync_fsdata(mp, SYNC_TRYLOCK); - if (xfs_log_need_covered(mp)) - error = xfs_commit_dummy_trans(mp, XFS_LOG_FORCE); } mp->m_sync_seq++; wake_up(&mp->m_wait_single_sync_task); From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 18:15: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.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 n7RNF6jq116159 for ; Thu, 27 Aug 2009 18:15:21 -0500 X-ASG-Debug-ID: 1251414959-5a53036e0000-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 B57C74064CA for ; Thu, 27 Aug 2009 16:15:59 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id he3TEHHWj86BfHmn for ; Thu, 27 Aug 2009 16:15:59 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgoCD-0000Zy-J7 for xfs@oss.sgi.com; Thu, 27 Aug 2009 23:15:57 +0000 Message-Id: <20090827231536.646792672@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Thu, 27 Aug 2009 19:15:36 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH 0/4] sync improvements Subject: [PATCH 0/4] sync improvements 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: 1251414959 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 Revisit Dave's prototype to make sync equivalent to freeze, that is make sure not only we have all data on disk, but also the metadata in the right place and not requite a log recovery. That fixes test 182 and should also help with the frequent grub complaints. From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 18:15: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.6 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_35 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 n7RNF5TY116156 for ; Thu, 27 Aug 2009 18:15:20 -0500 X-ASG-Debug-ID: 1251414959-034301960000-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 88F0D4064CF for ; Thu, 27 Aug 2009 16:15:59 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id bVJDrS4YR0Wum6YB for ; Thu, 27 Aug 2009 16:15:59 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgoCD-0000aj-UQ; Thu, 27 Aug 2009 23:15:58 +0000 Message-Id: <20090827231557.717120121@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Thu, 27 Aug 2009 19:15:37 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: Dave Chinner X-ASG-Orig-Subj: [PATCH 1/4] xfs: mark inodes dirty before issuing I/O Subject: [PATCH 1/4] xfs: mark inodes dirty before issuing I/O References: <20090827231536.646792672@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-mark-inode-dirty-early 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: 1251414959 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 From: Dave Chinner To make sure they get properly waited on in sync when I/O is in flight and we latter need to update the inode size. Requires a new helper to check if an ioend structure is beyond the current EOF. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Index: linux-2.6/fs/xfs/linux-2.6/xfs_aops.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_aops.c 2009-08-26 20:06:07.105357325 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_aops.c 2009-08-26 20:08:09.017355358 -0300 @@ -186,19 +186,37 @@ xfs_destroy_ioend( } /* + * If the end of the current ioend is beyond the current EOF, + * return the new EOF value, otherwise zero. + */ +STATIC xfs_fsize_t +xfs_ioend_new_eof( + xfs_ioend_t *ioend) +{ + xfs_inode_t *ip = XFS_I(ioend->io_inode); + xfs_fsize_t isize; + xfs_fsize_t bsize; + + bsize = ioend->io_offset + ioend->io_size; + isize = MAX(ip->i_size, ip->i_new_size); + isize = MIN(isize, bsize); + return isize > ip->i_d.di_size ? isize : 0; +} + +/* * Update on-disk file size now that data has been written to disk. * The current in-memory file size is i_size. If a write is beyond * eof i_new_size will be the intended file size until i_size is * updated. If this write does not extend all the way to the valid * file size then restrict this update to the end of the write. */ + STATIC void xfs_setfilesize( xfs_ioend_t *ioend) { xfs_inode_t *ip = XFS_I(ioend->io_inode); xfs_fsize_t isize; - xfs_fsize_t bsize; ASSERT((ip->i_d.di_mode & S_IFMT) == S_IFREG); ASSERT(ioend->io_type != IOMAP_READ); @@ -206,14 +224,9 @@ xfs_setfilesize( if (unlikely(ioend->io_error)) return; - bsize = ioend->io_offset + ioend->io_size; - xfs_ilock(ip, XFS_ILOCK_EXCL); - - isize = MAX(ip->i_size, ip->i_new_size); - isize = MIN(isize, bsize); - - if (ip->i_d.di_size < isize) { + isize = xfs_ioend_new_eof(ioend); + if (isize) { ip->i_d.di_size = isize; xfs_mark_inode_dirty_sync(ip); } @@ -403,10 +416,16 @@ xfs_submit_ioend_bio( struct bio *bio) { atomic_inc(&ioend->io_remaining); - bio->bi_private = ioend; bio->bi_end_io = xfs_end_bio; + /* + * If the I/O is beyond EOF we mark the inode dirty immediately + * but don't update the inode size until I/O completion. + */ + if (xfs_ioend_new_eof(ioend)) + xfs_mark_inode_dirty_sync(XFS_I(ioend->io_inode)); + submit_bio(WRITE, bio); ASSERT(!bio_flagged(bio, BIO_EOPNOTSUPP)); bio_put(bio); From BATV+31564c5d27a28476933b+2195+infradead.org+hch@bombadil.srs.infradead.org Thu Aug 27 18:15: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.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 n7RNF5Pq116157 for ; Thu, 27 Aug 2009 18:15:20 -0500 X-ASG-Debug-ID: 1251414959-33dd02300000-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 879B0156975B for ; Thu, 27 Aug 2009 16:15:59 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id WiwMgDa0lX9nWDLH for ; Thu, 27 Aug 2009 16:15:59 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MgoCE-0000cO-SO; Thu, 27 Aug 2009 23:15:58 +0000 Message-Id: <20090827231558.701516609@bombadil.infradead.org> User-Agent: quilt/0.47-1 Date: Thu, 27 Aug 2009 19:15:40 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: Dave Chinner X-ASG-Orig-Subj: [PATCH 4/4] [PATCH 5/5] xfs: fix xfs_quiesce_data Subject: [PATCH 4/4] [PATCH 5/5] xfs: fix xfs_quiesce_data References: <20090827231536.646792672@bombadil.infradead.org> Content-Disposition: inline; filename=xfs-fix-xfs_quiesce_data 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: 1251414959 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 From: Dave Chinner We need to do a synchronous xfs_sync_fsdata to make sure the superblock actually is on disk when we return. Also remove SYNC_BDFLUSH flag to xfs_sync_inodes because that particular flag is never checked. Move xfs_filestream_flush call later [hch: why? seems unrelated]. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig 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-27 20:06:39.889355294 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-27 20:08:01.169357854 -0300 @@ -426,14 +426,16 @@ xfs_quiesce_data( /* push non-blocking */ xfs_sync_data(mp, 0); xfs_qm_sync(mp, SYNC_TRYLOCK); - xfs_filestream_flush(mp); - /* push and block */ + /* push and block till complete */ xfs_sync_data(mp, SYNC_WAIT); xfs_qm_sync(mp, SYNC_WAIT); + /* drop inode references pinned by filestreams */ + xfs_filestream_flush(mp); + /* write superblock and hoover up shutdown errors */ - error = xfs_sync_fsdata(mp, 0); + error = xfs_sync_fsdata(mp, SYNC_WAIT); /* flush data-only devices */ if (mp->m_rtdev_targp) From sandeen@sandeen.net Thu Aug 27 23:17: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.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 n7S4GiCH129930 for ; Thu, 27 Aug 2009 23:16:55 -0500 X-ASG-Debug-ID: 1251433050-5f1a01610000-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 1B6DB1571D9C for ; Thu, 27 Aug 2009 21:17:30 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 0mUOcTx3uJSi2zfA for ; Thu, 27 Aug 2009 21:17:30 -0700 (PDT) Received: from Liberator2.local (24-113-179-26.wavecable.com [24.113.179.26]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 6D26CA9C9A3; Thu, 27 Aug 2009 23:16:55 -0500 (CDT) Message-ID: <4A975A35.3060809@sandeen.net> Date: Thu, 27 Aug 2009 21:16:53 -0700 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: "Passerone, Daniele" CC: "xfs@oss.sgi.com" X-ASG-Orig-Subj: Re: xfs data loss Subject: Re: xfs data loss References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1251433057 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.7419 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 Passerone, Daniele wrote: > Dear xfs developers > > We have a SUN X4500 with 48 500 GB drives, that we configured under SUSE SLES 10. > > Among others, we have 3 RAID5 xfs filesystems, /dev/md4 with 20 units (9.27 TB) > /dev/md5 with 20 units (9.27 TB) and /dev/md6 with 5 units (1.95 TB) > > These units are not backed up. > > Due to a power shock, suddenly and without log messages about one half (5 TB) of the user > directories on /dev/md4 have disappeared. I presume you mean after a reboot? > Upon reboot, /dev/md6 showed only 3 units, and after a xfs_repair it was again ok. > /dev/md4 mounted immediately, but always with one half of the directories. Were the lost directories recently created? I've never heard of untouched, existing directories disappearing after a power loss... > WHat can I do? Any help would be appreciated, I would really be happy to recover those files... > :) Not much to go on here I'm afraid. SLES10 is an old kernel, but it's supported by SuSE at least. -Eric From Daniele.Passerone@empa.ch Fri Aug 28 04:19:23 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 n7S9IvH2148343 for ; Fri, 28 Aug 2009 04:19:13 -0500 X-ASG-Debug-ID: 1251451173-5b5503a60000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id DCE191B80E79 for ; Fri, 28 Aug 2009 02:19:33 -0700 (PDT) Received: from mx1.empa.ch (mx1.empa.ch [152.88.7.31]) by cuda.sgi.com with ESMTP id cKEamAIRbbJhw04e for ; Fri, 28 Aug 2009 02:19:33 -0700 (PDT) Received: from Du-Exc-Hub1.empa.emp-eaw.ch (localhost [127.0.0.1]) by mx1.empa.ch (Spam & Virus Firewall) with ESMTP id 5A207AF7C2; Fri, 28 Aug 2009 11:19:15 +0200 (CEST) Received: from Du-Exc-Hub1.empa.emp-eaw.ch ([152.88.6.64]) by mx1.empa.ch with ESMTP id Keh9rd2TmqJSjTEx; Fri, 28 Aug 2009 11:19:15 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by Du-Exc-Hub1.empa.emp-eaw.ch ([2002:9858:640::9858:640]) with mapi; Fri, 28 Aug 2009 11:19:15 +0200 From: "Passerone, Daniele" To: Eric Sandeen CC: "xfs@oss.sgi.com" Date: Fri, 28 Aug 2009 11:19:12 +0200 X-ASG-Orig-Subj: RE: xfs data loss Subject: RE: xfs data loss Thread-Topic: xfs data loss Thread-Index: AconlmMLs8vexhXfSlKBeZwYBOquQAAKYhww Message-ID: References: <4A975A35.3060809@sandeen.net> In-Reply-To: <4A975A35.3060809@sandeen.net> Accept-Language: it-IT, de-CH Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: it-IT, de-CH Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx1.empa.ch[152.88.7.31] X-Barracuda-Start-Time: 1251451176 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.7439 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 >> Due to a power shock, suddenly and without log messages about one half >(5 TB) of the user >> directories on /dev/md4 have disappeared. > >I presume you mean after a reboot? No! No reboot at all. The directories were mounted via nfs to all our cluster, and are of the type=20 /pool/user all directories from=20 /pool/g* to /pool/z* have disappeared. Of course NO COMMAND of the kind rm /pool/[g-z]* was issued. >Were the lost directories recently created? I've never heard of >untouched, existing directories disappearing after a power loss... > Not at all. Here I am. > >Not much to go on here I'm afraid. SLES10 is an old kernel, but it's >supported by SuSE at least. > Can you use my metadata, or is it useless? Thank you! Daniele From jengelh@medozas.de Fri Aug 28 05:13: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.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7SADP5D150323 for ; Fri, 28 Aug 2009 05:13:36 -0500 X-ASG-Debug-ID: 1251454446-3db203a90000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sovereign.computergmbh.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9508D1D61E2A for ; Fri, 28 Aug 2009 03:14:06 -0700 (PDT) Received: from sovereign.computergmbh.de (sovereign.computergmbh.de [85.214.69.204]) by cuda.sgi.com with ESMTP id WeSkrgTch0VcdJBF for ; Fri, 28 Aug 2009 03:14:06 -0700 (PDT) Received: by sovereign.computergmbh.de (Postfix, from userid 25121) id 7195C1B7AD; Fri, 28 Aug 2009 12:14:04 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by sovereign.computergmbh.de (Postfix) with ESMTP id 6F1D64045341; Fri, 28 Aug 2009 12:14:04 +0200 (CEST) Date: Fri, 28 Aug 2009 12:14:04 +0200 (CEST) From: Jan Engelhardt Sender: jengelh@sovereign.computergmbh.de To: Christoph Hellwig cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs_check does not recognize fs truncation Subject: Re: xfs_check does not recognize fs truncation In-Reply-To: Message-ID: References: <20090824144752.GA20898@infradead.org> User-Agent: Alpine 2.00 (LSU 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: sovereign.computergmbh.de[85.214.69.204] X-Barracuda-Start-Time: 1251454452 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.7439 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 Monday 2009-08-24 18:04, Jan Engelhardt wrote: >On Monday 2009-08-24 16:47, Christoph Hellwig wrote: >>On Mon, Aug 24, 2009 at 12:12:59PM +0200, Jan Engelhardt wrote: >>> >>> This I see on xfsprogs-2.10.1 with kernel 2.6.29.6: >> >>What does xfs_repair -n say? > >[success] > >You can get the image at >http://dev.medozas.de/files/linux-hist.img.lzma [179MB->1782MB] > If I pad the image with at least 20480*512 NUL bytes to a total of 1879048192 bytes, xfs (kernel side) starts to accept the image and will mount it. The steps to return to the previous problematic size is as follows: # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/loop0 1824768 1274824 549944 70% /mnt/linux-hist # truncate --size=$((1824768*1024)) linux-hist.img From jpiszcz@lucidpixels.com Fri Aug 28 06:23:17 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 n7SBMvxE153301 for ; Fri, 28 Aug 2009 06:23:07 -0500 X-ASG-Debug-ID: 1251458621-385c00120000-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 C54921D61FF1 for ; Fri, 28 Aug 2009 04:23:41 -0700 (PDT) Received: from lucidpixels.com (lucidpixels.com [75.144.35.66]) by cuda.sgi.com with ESMTP id HtFGAIX3ozywE6sI for ; Fri, 28 Aug 2009 04:23:41 -0700 (PDT) Received: by lucidpixels.com (Postfix, from userid 1001) id 1C9F73E75; Fri, 28 Aug 2009 07:23:11 -0400 (EDT) Date: Fri, 28 Aug 2009 07:23:11 -0400 (EDT) From: Justin Piszcz To: Christoph Hellwig cc: Nikanth Karthikesan , Jens Axboe , linux-kernel@vger.kernel.org, xfs@oss.sgi.com X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) In-Reply-To: Message-ID: References: <20090822201558.GA17955@infradead.org> <20090822205502.GA18904@infradead.org> <20090823224504.GA19942@infradead.org> <20090826180234.GC14019@infradead.org> <20090826212732.GA18124@infradead.org> 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: 1251458627 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.7443 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 Wed, 26 Aug 2009, Justin Piszcz wrote: > > > On Wed, 26 Aug 2009, Christoph Hellwig wrote: > >> On Wed, Aug 26, 2009 at 05:19:11PM -0400, Justin Piszcz wrote: >>> For the root filesystem, on / type xfs (rw,noatime) >>> For larger partitions (per the cryptoloop doc) the partition itself is >>> setup via cryptoloop and then XFS ontop of that. Nothing special. >> >> Just to make sure we have all data here - you see the problem only >> with loop devices backed by XFS, only with loop devices backed by >> raw partitions or with both? > Both. > >> >>>> Any way to trgiger it with just loop but not crypto, etc. >>> Unfortunately not that I am aware of.. Would trying the kernel with the >>> patch removed and mounted with -o nobarrier help to show us anything, or? >> >> Actually, yes - seeing what happens if you run plain 2.6.30 or 2.6.31-rc >> without the backout patch, but with -o nobarrier would be very >> interesting. >> > Will give it a try with 2.6.31-rc6 and mount all loop devices (both those > backed by XFS and raw partitions) with -o nobarrier to see if the problem > recurs. So far though with that patch up until this next test, there were no > problems. > > Justin. > > Hi, So far: $ uptime 07:20:04 up 1 day, 13:49, 1 user, load average: 0.07, 0.02, 0.06 Let's give it another 48-72 hours with -o nobarrier, so far, it has not recurred. It still may happen; however, moving forward I was wondering.. If both '-o nobarrier' and the patch solves the issue, what is the next action that should be taken? Update the documentation to always use -o nobarrier for cryptoloop? Or get the patch reverted in mainline? Justin. From BATV+b6773966f04148201243+2196+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 28 10:37:11 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_73, 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 n7SFaiQ9163070 for ; Fri, 28 Aug 2009 10:37:00 -0500 X-ASG-Debug-ID: 1251473838-3b3102050000-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 E6D571D62E4E for ; Fri, 28 Aug 2009 08:37:18 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id csTGwz3NU161zGG2 for ; Fri, 28 Aug 2009 08:37:18 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mh3Vu-0007lf-A1; Fri, 28 Aug 2009 15:37:18 +0000 Date: Fri, 28 Aug 2009 11:37:18 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com Cc: Gabriel Vlasiu X-ASG-Orig-Subj: [PATCH] xfsprogs: fix unaligned access in libxfs Subject: [PATCH] xfsprogs: fix unaligned access in libxfs Message-ID: <20090828153718.GA26409@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: 1251473858 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 get/put unaligned handlers we use to access the extent descriptor are not good enough for architectures like Sparc that do not tolerate dereferencing unaligned pointers. Replace the implementation with the one the kernel uses on these architectures. It might be a tad slower on architectures like x86, but I don't want to have multiple implementations around to not let the testing matrix explode. Also remove the unaligned.h header which includes another implementation for unaligned access we don't actually use anymore. Note that the little change to xfs_inode.c needs to go into the kernel aswell, I will send a patch for that shortly. Signed-off-by: Christoph Hellwig Reported-by: Gabriel Vlasiu Tested-by: Gabriel Vlasiu Index: xfsprogs-dev/libxfs/xfs.h =================================================================== --- xfsprogs-dev.orig/libxfs/xfs.h 2009-08-27 10:06:13.377855006 -0300 +++ xfsprogs-dev/libxfs/xfs.h 2009-08-27 10:06:26.537884492 -0300 @@ -127,19 +127,37 @@ static inline int __do_div(unsigned long #define max_t(type,x,y) \ ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; }) -/* only 64 bit accesses used in xfs kernel code */ -static inline __u64 get_unaligned_be64(void *ptr) + +static inline __uint32_t __get_unaligned_be32(const __uint8_t *p) +{ + return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3]; +} + +static inline __uint64_t get_unaligned_be64(void *p) { - __be64 __tmp; - memmove(&__tmp, ptr, 8); - return be64_to_cpu(__tmp); + return (__uint64_t)__get_unaligned_be32(p) << 32 | + __get_unaligned_be32(p + 4); } -static inline void put_unaligned(__be64 val, void *ptr) +static inline void __put_unaligned_be16(__uint16_t val, __uint8_t *p) { - memmove(ptr, &val, 8); + *p++ = val >> 8; + *p++ = val; } +static inline void __put_unaligned_be32(__uint32_t val, __uint8_t *p) +{ + __put_unaligned_be16(val >> 16, p); + __put_unaligned_be16(val, p + 2); +} + +static inline void put_unaligned_be64(__uint64_t val, void *p) +{ + __put_unaligned_be32(val >> 32, p); + __put_unaligned_be32(val, p + 4); +} + + static inline __attribute__((const)) int is_power_of_2(unsigned long n) { Index: xfsprogs-dev/libxfs/xfs_inode.c =================================================================== --- xfsprogs-dev.orig/libxfs/xfs_inode.c 2009-08-27 10:06:13.385884867 -0300 +++ xfsprogs-dev/libxfs/xfs_inode.c 2009-08-27 10:06:26.541855737 -0300 @@ -1056,8 +1056,8 @@ xfs_iextents_copy( } /* Translate to on disk format */ - put_unaligned(cpu_to_be64(ep->l0), &dp->l0); - put_unaligned(cpu_to_be64(ep->l1), &dp->l1); + put_unaligned_be64(ep->l0, &dp->l0); + put_unaligned_be64(ep->l1, &dp->l1); dp++; copied++; } Index: xfsprogs-dev/include/Makefile =================================================================== --- xfsprogs-dev.orig/include/Makefile 2009-08-28 12:29:42.257922053 -0300 +++ xfsprogs-dev/include/Makefile 2009-08-28 12:29:55.830456736 -0300 @@ -37,7 +37,7 @@ PHFILES = darwin.h freebsd.h irix.h linu DKHFILES = volume.h fstyp.h dvh.h LSRCFILES = $(shell echo $(PHFILES) | sed -e "s/$(PKG_PLATFORM).h//g") LSRCFILES += platform_defs.h.in builddefs.in buildmacros buildrules install-sh -LSRCFILES += $(DKHFILES) command.h input.h path.h project.h unaligned.h +LSRCFILES += $(DKHFILES) command.h input.h path.h project.h LDIRT = xfs disk default install: xfs disk Index: xfsprogs-dev/include/unaligned.h =================================================================== --- xfsprogs-dev.orig/include/unaligned.h 2009-08-28 12:29:34.710448280 -0300 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,120 +0,0 @@ -#ifndef _UNALIGNED_H_ -#define _UNALIGNED_H_ - -/* - * For the benefit of those who are trying to port Linux to another - * architecture, here are some C-language equivalents. - * - * This is based almost entirely upon Richard Henderson's - * asm-alpha/unaligned.h implementation. Some comments were - * taken from David Mosberger's asm-ia64/unaligned.h header. - */ - -/* - * The main single-value unaligned transfer routines. - */ -#define get_unaligned(ptr) \ - __get_unaligned((ptr), sizeof(*(ptr))) -#define put_unaligned(x,ptr) \ - __put_unaligned((__u64)(x), (ptr), sizeof(*(ptr))) - -/* - * This function doesn't actually exist. The idea is that when - * someone uses the macros below with an unsupported size (datatype), - * the linker will alert us to the problem via an unresolved reference - * error. - */ -extern void bad_unaligned_access_length(void) __attribute__((noreturn)); - -struct __una_u64 { __u64 x __attribute__((packed)); }; -struct __una_u32 { __u32 x __attribute__((packed)); }; -struct __una_u16 { __u16 x __attribute__((packed)); }; - -/* - * Elemental unaligned loads - */ - -static inline __u64 __uldq(const __u64 *addr) -{ - const struct __una_u64 *ptr = (const struct __una_u64 *) addr; - return ptr->x; -} - -static inline __u32 __uldl(const __u32 *addr) -{ - const struct __una_u32 *ptr = (const struct __una_u32 *) addr; - return ptr->x; -} - -static inline __u16 __uldw(const __u16 *addr) -{ - const struct __una_u16 *ptr = (const struct __una_u16 *) addr; - return ptr->x; -} - -/* - * Elemental unaligned stores - */ - -static inline void __ustq(__u64 val, __u64 *addr) -{ - struct __una_u64 *ptr = (struct __una_u64 *) addr; - ptr->x = val; -} - -static inline void __ustl(__u32 val, __u32 *addr) -{ - struct __una_u32 *ptr = (struct __una_u32 *) addr; - ptr->x = val; -} - -static inline void __ustw(__u16 val, __u16 *addr) -{ - struct __una_u16 *ptr = (struct __una_u16 *) addr; - ptr->x = val; -} - -#define __get_unaligned(ptr, size) ({ \ - const void *__gu_p = ptr; \ - __u64 val; \ - switch (size) { \ - case 1: \ - val = *(const __u8 *)__gu_p; \ - break; \ - case 2: \ - val = __uldw(__gu_p); \ - break; \ - case 4: \ - val = __uldl(__gu_p); \ - break; \ - case 8: \ - val = __uldq(__gu_p); \ - break; \ - default: \ - bad_unaligned_access_length(); \ - }; \ - (__typeof__(*(ptr)))val; \ -}) - -#define __put_unaligned(val, ptr, size) \ -do { \ - void *__gu_p = ptr; \ - switch (size) { \ - case 1: \ - *(__u8 *)__gu_p = val; \ - break; \ - case 2: \ - __ustw(val, __gu_p); \ - break; \ - case 4: \ - __ustl(val, __gu_p); \ - break; \ - case 8: \ - __ustq(val, __gu_p); \ - break; \ - default: \ - bad_unaligned_access_length(); \ - }; \ -} while(0) - -#endif /* _UNALIGNED_H */ From BATV+b6773966f04148201243+2196+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 28 11:58:09 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 n7SGviAh166050 for ; Fri, 28 Aug 2009 11:57:59 -0500 X-ASG-Debug-ID: 1251478718-3b3f03710000-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 40A981579760 for ; Fri, 28 Aug 2009 09:58:38 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id xpAiBGyMBvySr7be for ; Fri, 28 Aug 2009 09:58:38 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mh4jW-0002c7-Ts; Fri, 28 Aug 2009 16:55:26 +0000 Date: Fri, 28 Aug 2009 12:55:26 -0400 From: Christoph Hellwig To: Justin Piszcz Cc: Christoph Hellwig , Nikanth Karthikesan , xfs@oss.sgi.com, linux-kernel@vger.kernel.org, Jens Axboe X-ASG-Orig-Subj: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Subject: Re: Kernel 2.6.30.4 loop(..?) regression (& with/2.6.31-rc6) Message-ID: <20090828165526.GA6133@infradead.org> References: <20090822205502.GA18904@infradead.org> <20090823224504.GA19942@infradead.org> <20090826180234.GC14019@infradead.org> <20090826212732.GA18124@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 1251478718 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 Fri, Aug 28, 2009 at 07:23:11AM -0400, Justin Piszcz wrote: > If both '-o nobarrier' and the patch solves the issue, what is the next > action that should be taken? Update the documentation to always use > -o nobarrier for cryptoloop? Or get the patch reverted in mainline? We'll have to figure out why it causes those problems and how fix them. -o nobarrier on a loop device is extremly unsafe as you will possible lose large amounts of log updates in case of a crash. From aelder@sgi.com Fri Aug 28 12:02: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 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 n7SH2Q2B166228 for ; Fri, 28 Aug 2009 12:02:36 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay1.corp.sgi.com (Postfix) with ESMTP id CD8828F80F4 for ; Fri, 28 Aug 2009 10:03:20 -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] xfs: simplify xfs_trans_iget Date: Fri, 28 Aug 2009 12:02:06 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABE9@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090826204701.GA31870@infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] xfs: simplify xfs_trans_iget Thread-Index: AcomkeAWk64VN814Q6uZEMa/CkFhIgBa4oXA From: "Alex Elder" To: "Christoph Hellwig" Cc: X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean I have a couple of comments below--things I haven't convinced myself of yet--but overall this looks good, and is an improvement. -Alex Christoph Hellwig wrote: > xfs_trans_iget is a wrapper for xfs_iget that adds the inode to the > transaction after it is read. Except when the inode already is in the > inode cache, in which case it returns the existing locked inode with > increment lock recursion counts. >=20 > Now, no one in the tree every decrements these lock recursion counts, > so any user of this gets a potential double unlock when both the > original owner of the inode and the xfs_trans_iget caller unlock it.=20 > When looking=20 > back in a git bisect in the historic XFS tree there was only one place > that decremented these counts, xfs_trans_iput. Introduced in commit > ca25df7a840f426eb566d52667b6950b92bb84b5 by Adam Sweeney in 1993, > and removed in commit 19f899a3ab155ff6a49c0c79b06f2f61059afaf3 by > Steve Lord in 2003. And as long as it didn't slip through git bisects > cracks never actually used in that time frame. >=20 > A quick audit of the callers of xfs_trans_iget shows that no caller > really relies on this behaviour fortunately - xfs_ialloc allows this > inode from disk so it must not be there before, and all the RT > allocator routines only every add each RT bitmap inode once. >=20 > In addition to removing lots of code and reducing the size of the > inode item this patch also avoids the double inode cache lookup in = each > create/mkdir/mknod transaction. >=20 > Signed-off-by: Christoph Hellwig >=20 > Index: linux-2.6/fs/xfs/xfs_iget.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-08-26 14:14:32.113357904 > -0300 +++ linux-2.6/fs/xfs/xfs_iget.c 2009-08-26 14:15:40.613392686 > -0300 @@ -456,32 +456,6 @@ out_error_or_again: > return error; > } >=20 > - > -/* > - * Look for the inode corresponding to the given ino in the hash > table.=20 > - * If it is there and its i_transp pointer matches tp, return it. > - * Otherwise, return NULL. > - */ > -xfs_inode_t * > -xfs_inode_incore(xfs_mount_t *mp, > - xfs_ino_t ino, > - xfs_trans_t *tp) > -{ > - xfs_inode_t *ip; > - xfs_perag_t *pag; > - > - pag =3D xfs_get_perag(mp, ino); > - read_lock(&pag->pag_ici_lock); > - ip =3D radix_tree_lookup(&pag->pag_ici_root, XFS_INO_TO_AGINO(mp, > ino));=20 > - read_unlock(&pag->pag_ici_lock); > - xfs_put_perag(mp, pag); > - > - /* the returned inode must match the transaction */ > - if (ip && (ip->i_transp !=3D tp)) > - return NULL; This function was only ever called as a helper by xfs_trans_iget(). And it does the same things as xfs_iget() does, but in a more restricted context. One difference I see is that this verifies the transaction pointers match--and if they do not, it returns NULL. In xfs_iget(), meanwhile, there is no such check. I'm not familiar enough with the transaction code to know what circumstances that might lead a hashed inode without a matching transaction pointer, but thought I'd point it out anyway in hopes you maybe did... > - return ip; > -} > - > /* > * Decrement reference count of an inode structure and unlock it. > * . . . > Index: linux-2.6/fs/xfs/xfs_trans_inode.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- linux-2.6.orig/fs/xfs/xfs_trans_inode.c 2009-08-26 = 14:15:45.689894519 -0300 > +++ linux-2.6/fs/xfs/xfs_trans_inode.c 2009-08-26 14:17:14.434495492 = -0300 . . . > @@ -163,8 +89,6 @@ xfs_trans_ijoin( > xfs_inode_item_init(ip, ip->i_mount); > iip =3D ip->i_itemp; > ASSERT(iip->ili_flags =3D=3D 0); > - ASSERT(iip->ili_ilock_recur =3D=3D 0); > - ASSERT(iip->ili_iolock_recur =3D=3D 0); These are the only other references, and (assuming we've done a lot of testing with ASSERT() enabled) it is evident that these are always zero at this point. In any case, what this means is that xfs_trans_ijoin() must never be called after xfs_trans_iget() has been called on a hashed inode. Again, I'm not familiar enough with how we manage transactions to to verify by inspection this is the case, but I presume it is. From sandeen@sandeen.net Fri Aug 28 12:16: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.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_73 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 n7SHFe62166748 for ; Fri, 28 Aug 2009 12:15:50 -0500 X-ASG-Debug-ID: 1251479789-2de2024b0000-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 78C731B80FD5 for ; Fri, 28 Aug 2009 10:16:29 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 7FIygBXoRP5Hb4ZD for ; Fri, 28 Aug 2009 10:16:29 -0700 (PDT) Received: from Liberator2.local (24-113-179-26.wavecable.com [24.113.179.26]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id B6C39A9B0CC; Fri, 28 Aug 2009 12:15:56 -0500 (CDT) Message-ID: <4A9810C7.8010806@sandeen.net> Date: Fri, 28 Aug 2009 10:15:51 -0700 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com, Gabriel Vlasiu X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: fix unaligned access in libxfs Subject: Re: [PATCH] xfsprogs: fix unaligned access in libxfs References: <20090828153718.GA26409@infradead.org> In-Reply-To: <20090828153718.GA26409@infradead.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1251479794 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.7468 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: > The get/put unaligned handlers we use to access the extent descriptor > are not good enough for architectures like Sparc that do not tolerate > dereferencing unaligned pointers. Replace the implementation with the > one the kernel uses on these architectures. It might be a tad > slower on architectures like x86, but I don't want to have multiple > implementations around to not let the testing matrix explode. > Also remove the unaligned.h header which includes another implementation > for unaligned access we don't actually use anymore. > > Note that the little change to xfs_inode.c needs to go into the kernel > aswell, I will send a patch for that shortly. > > > Signed-off-by: Christoph Hellwig > Reported-by: Gabriel Vlasiu > Tested-by: Gabriel Vlasiu Looks good to me. Reviewed-by: Eric Sandeen > Index: xfsprogs-dev/libxfs/xfs.h > =================================================================== > --- xfsprogs-dev.orig/libxfs/xfs.h 2009-08-27 10:06:13.377855006 -0300 > +++ xfsprogs-dev/libxfs/xfs.h 2009-08-27 10:06:26.537884492 -0300 > @@ -127,19 +127,37 @@ static inline int __do_div(unsigned long > #define max_t(type,x,y) \ > ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; }) > > -/* only 64 bit accesses used in xfs kernel code */ > -static inline __u64 get_unaligned_be64(void *ptr) > + > +static inline __uint32_t __get_unaligned_be32(const __uint8_t *p) > +{ > + return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3]; > +} > + > +static inline __uint64_t get_unaligned_be64(void *p) > { > - __be64 __tmp; > - memmove(&__tmp, ptr, 8); > - return be64_to_cpu(__tmp); > + return (__uint64_t)__get_unaligned_be32(p) << 32 | > + __get_unaligned_be32(p + 4); > } > > -static inline void put_unaligned(__be64 val, void *ptr) > +static inline void __put_unaligned_be16(__uint16_t val, __uint8_t *p) > { > - memmove(ptr, &val, 8); > + *p++ = val >> 8; > + *p++ = val; > } > > +static inline void __put_unaligned_be32(__uint32_t val, __uint8_t *p) > +{ > + __put_unaligned_be16(val >> 16, p); > + __put_unaligned_be16(val, p + 2); > +} > + > +static inline void put_unaligned_be64(__uint64_t val, void *p) > +{ > + __put_unaligned_be32(val >> 32, p); > + __put_unaligned_be32(val, p + 4); > +} > + > + > static inline __attribute__((const)) > int is_power_of_2(unsigned long n) > { > Index: xfsprogs-dev/libxfs/xfs_inode.c > =================================================================== > --- xfsprogs-dev.orig/libxfs/xfs_inode.c 2009-08-27 10:06:13.385884867 -0300 > +++ xfsprogs-dev/libxfs/xfs_inode.c 2009-08-27 10:06:26.541855737 -0300 > @@ -1056,8 +1056,8 @@ xfs_iextents_copy( > } > > /* Translate to on disk format */ > - put_unaligned(cpu_to_be64(ep->l0), &dp->l0); > - put_unaligned(cpu_to_be64(ep->l1), &dp->l1); > + put_unaligned_be64(ep->l0, &dp->l0); > + put_unaligned_be64(ep->l1, &dp->l1); > dp++; > copied++; > } > Index: xfsprogs-dev/include/Makefile > =================================================================== > --- xfsprogs-dev.orig/include/Makefile 2009-08-28 12:29:42.257922053 -0300 > +++ xfsprogs-dev/include/Makefile 2009-08-28 12:29:55.830456736 -0300 > @@ -37,7 +37,7 @@ PHFILES = darwin.h freebsd.h irix.h linu > DKHFILES = volume.h fstyp.h dvh.h > LSRCFILES = $(shell echo $(PHFILES) | sed -e "s/$(PKG_PLATFORM).h//g") > LSRCFILES += platform_defs.h.in builddefs.in buildmacros buildrules install-sh > -LSRCFILES += $(DKHFILES) command.h input.h path.h project.h unaligned.h > +LSRCFILES += $(DKHFILES) command.h input.h path.h project.h > LDIRT = xfs disk > > default install: xfs disk > Index: xfsprogs-dev/include/unaligned.h > =================================================================== > --- xfsprogs-dev.orig/include/unaligned.h 2009-08-28 12:29:34.710448280 -0300 > +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 > @@ -1,120 +0,0 @@ > -#ifndef _UNALIGNED_H_ > -#define _UNALIGNED_H_ > - > -/* > - * For the benefit of those who are trying to port Linux to another > - * architecture, here are some C-language equivalents. > - * > - * This is based almost entirely upon Richard Henderson's > - * asm-alpha/unaligned.h implementation. Some comments were > - * taken from David Mosberger's asm-ia64/unaligned.h header. > - */ > - > -/* > - * The main single-value unaligned transfer routines. > - */ > -#define get_unaligned(ptr) \ > - __get_unaligned((ptr), sizeof(*(ptr))) > -#define put_unaligned(x,ptr) \ > - __put_unaligned((__u64)(x), (ptr), sizeof(*(ptr))) > - > -/* > - * This function doesn't actually exist. The idea is that when > - * someone uses the macros below with an unsupported size (datatype), > - * the linker will alert us to the problem via an unresolved reference > - * error. > - */ > -extern void bad_unaligned_access_length(void) __attribute__((noreturn)); > - > -struct __una_u64 { __u64 x __attribute__((packed)); }; > -struct __una_u32 { __u32 x __attribute__((packed)); }; > -struct __una_u16 { __u16 x __attribute__((packed)); }; > - > -/* > - * Elemental unaligned loads > - */ > - > -static inline __u64 __uldq(const __u64 *addr) > -{ > - const struct __una_u64 *ptr = (const struct __una_u64 *) addr; > - return ptr->x; > -} > - > -static inline __u32 __uldl(const __u32 *addr) > -{ > - const struct __una_u32 *ptr = (const struct __una_u32 *) addr; > - return ptr->x; > -} > - > -static inline __u16 __uldw(const __u16 *addr) > -{ > - const struct __una_u16 *ptr = (const struct __una_u16 *) addr; > - return ptr->x; > -} > - > -/* > - * Elemental unaligned stores > - */ > - > -static inline void __ustq(__u64 val, __u64 *addr) > -{ > - struct __una_u64 *ptr = (struct __una_u64 *) addr; > - ptr->x = val; > -} > - > -static inline void __ustl(__u32 val, __u32 *addr) > -{ > - struct __una_u32 *ptr = (struct __una_u32 *) addr; > - ptr->x = val; > -} > - > -static inline void __ustw(__u16 val, __u16 *addr) > -{ > - struct __una_u16 *ptr = (struct __una_u16 *) addr; > - ptr->x = val; > -} > - > -#define __get_unaligned(ptr, size) ({ \ > - const void *__gu_p = ptr; \ > - __u64 val; \ > - switch (size) { \ > - case 1: \ > - val = *(const __u8 *)__gu_p; \ > - break; \ > - case 2: \ > - val = __uldw(__gu_p); \ > - break; \ > - case 4: \ > - val = __uldl(__gu_p); \ > - break; \ > - case 8: \ > - val = __uldq(__gu_p); \ > - break; \ > - default: \ > - bad_unaligned_access_length(); \ > - }; \ > - (__typeof__(*(ptr)))val; \ > -}) > - > -#define __put_unaligned(val, ptr, size) \ > -do { \ > - void *__gu_p = ptr; \ > - switch (size) { \ > - case 1: \ > - *(__u8 *)__gu_p = val; \ > - break; \ > - case 2: \ > - __ustw(val, __gu_p); \ > - break; \ > - case 4: \ > - __ustl(val, __gu_p); \ > - break; \ > - case 8: \ > - __ustq(val, __gu_p); \ > - break; \ > - default: \ > - bad_unaligned_access_length(); \ > - }; \ > -} while(0) > - > -#endif /* _UNALIGNED_H */ > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sandeen@sandeen.net Fri Aug 28 12:17:14 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 n7SHGsZh166802 for ; Fri, 28 Aug 2009 12:17:04 -0500 X-ASG-Debug-ID: 1251479861-3b2c03df0000-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 2CB831B8153E for ; Fri, 28 Aug 2009 10:17:41 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 9RoKwHMnG03IymVk for ; Fri, 28 Aug 2009 10:17:41 -0700 (PDT) Received: from Liberator2.local (24-113-179-26.wavecable.com [24.113.179.26]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 260D2A9B0CC; Fri, 28 Aug 2009 12:17:41 -0500 (CDT) Message-ID: <4A981133.6060009@sandeen.net> Date: Fri, 28 Aug 2009 10:17:39 -0700 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: "Passerone, Daniele" CC: "xfs@oss.sgi.com" X-ASG-Orig-Subj: Re: xfs data loss Subject: Re: xfs data loss References: <4A975A35.3060809@sandeen.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1251479862 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.7468 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 Passerone, Daniele wrote: >>> Due to a power shock, suddenly and without log messages about one half >> (5 TB) of the user >>> directories on /dev/md4 have disappeared. >> I presume you mean after a reboot? > > > > No! No reboot at all. Ok then perhaps I don't know what you mean by "power shock" > The directories were mounted via nfs to all our cluster, > and are of the type > > /pool/user > > all directories from > > /pool/g* > > to > > /pool/z* > > have disappeared. On the server as well? Or just clients? -really- no server-side errors in the logs? Are you sure the storage hardware & the md volume is in ok shape? > Of course NO COMMAND of the kind rm /pool/[g-z]* was issued. > >> Were the lost directories recently created? I've never heard of >> untouched, existing directories disappearing after a power loss... >> > > Not at all. > Here I am. >> Not much to go on here I'm afraid. SLES10 is an old kernel, but it's >> supported by SuSE at least. >> > > Can you use my metadata, or is it useless? Not yet, still wondering what really happened. -eric > Thank you! > > Daniele > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From BATV+b6773966f04148201243+2196+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 28 13:24: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 n7SIOT7E169467 for ; Fri, 28 Aug 2009 13:24:44 -0500 X-ASG-Debug-ID: 1251483899-42c3019c0000-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 4A156157ABAD; Fri, 28 Aug 2009 11:25:00 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id TVPJUEp5OTNT66nB; Fri, 28 Aug 2009 11:25:00 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mh686-0003O5-N7; Fri, 28 Aug 2009 18:24:54 +0000 Date: Fri, 28 Aug 2009 14:24:54 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: Gabriel Vlasiu , xfs@oss.sgi.com, nathans@debian.org, felixb@sgi.com X-ASG-Orig-Subj: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs Subject: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs Message-ID: <20090828182454.GA8217@infradead.org> References: <20090828153718.GA26409@infradead.org> <4A9810C7.8010806@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A9810C7.8010806@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: 1251483920 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 Fri, Aug 28, 2009 at 10:15:51AM -0700, Eric Sandeen wrote: > Looks good to me. > > Reviewed-by: Eric Sandeen Thanks. What do people thing about pushing out a 3.0.3 xfsprogs release? Since 3.0.1 (discounting 3.0.2 as a Debian-only thing quickly following 3.0.1): we have the following changes the list below. It's not a whole lot, but everything is relatively small fixes, the the unaligned thing makes the 3.0 series so far unusable on strict alignment platforms. If we go for it I can update the CHANGES ASAP for the release, and ater that we can start putting in changes for a 3.1.0 release - I have Barry's repair speedups ready for a wider audience, Eric has the patch to make the lazy sb counters default and I can do the long needed resync with the kernel code. Changes from 3.0.1 to HEAD: Christoph Hellwig (3): add release.sh Merge branch 'master' of git://oss.sgi.com/xfs/cmds/xfsprogs xfsprogs: fix unaligned access in libxfs David Chinner (1): mkfs: allow to make larger logs Eric Sandeen (11): xfsprogs: fix readline/editline for xfs_io and xfs_quota xfs_io: add fallocate command Update CHANGES file for recent commits xfs_repair: catch bad depth in traverse_int_dir2block xfs_io: fix test for fallocate on 32bit boxes xfs_repair: fix agcount*agblocks overflows xfs_metadump: agcount*agblocks overflow xfs_repair: clear inodes in incorrect btree format the freesp doesn't support "-f" so take it out of the usage(). xfs_db: do bounds checking in frag's scanfunc_bmap xfs_io: actually issue 0 size writes Felix Blyakher (2): Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev 3.0.1 release Nathan Scott (2): Resolve minor man page warnings reported by lintian tool. Debian packaging updates, and bumped minor version to 3.0.2. Nathaniel W. Turner (1): xfs_repair: open filesystem device exclusively Robert Herndon (1): add -x flags to include/install-sh From BATV+b6773966f04148201243+2196+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 28 14:42:19 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 n7SJfqMr172088 for ; Fri, 28 Aug 2009 14:42:09 -0500 X-ASG-Debug-ID: 1251488566-76f6011d0000-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 BA0EA157DD59; Fri, 28 Aug 2009 12:42:46 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id l3NSjiEt377K6iaM; Fri, 28 Aug 2009 12:42:46 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mh7LP-00046L-4K; Fri, 28 Aug 2009 19:42:43 +0000 Date: Fri, 28 Aug 2009 15:42:43 -0400 From: Christoph Hellwig To: Alex Elder Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfs: simplify xfs_trans_iget Subject: Re: [PATCH] xfs: simplify xfs_trans_iget Message-ID: <20090828194243.GA6204@infradead.org> References: <20090826204701.GA31870@infradead.org> <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABE9@cf--amer001e--3.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABE9@cf--amer001e--3.americas.sgi.com> 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: 1251488566 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 Fri, Aug 28, 2009 at 12:02:06PM -0500, Alex Elder wrote: > This function was only ever called as a helper by xfs_trans_iget(). > And it does the same things as xfs_iget() does, but in a more > restricted context. One difference I see is that this verifies > the transaction pointers match--and if they do not, it returns NULL. > > In xfs_iget(), meanwhile, there is no such check. I'm not familiar > enough with the transaction code to know what circumstances that > might lead a hashed inode without a matching transaction pointer, > but thought I'd point it out anyway in hopes you maybe did... I'm always happy about people actually looking deep into the code in reviews. Let's got through the above case in detail: To have i_tansp set the inode must be locked. So assuming we have an inode in a transaction that is not your. We will no go on to the xfs_iget once the xfs_inode_incore is gone. But as part of xfs_iget we will lock the inode exclusively, which means we have to wait until the other transaction unlocks the inode. Also if this was for some reason no true we would immediately hit the ASSERT in xfs_trans_ijoin which chcks that the i_transp pointer is NULL. > > xfs_inode_item_init(ip, ip->i_mount); > > iip = ip->i_itemp; > > ASSERT(iip->ili_flags == 0); > > - ASSERT(iip->ili_ilock_recur == 0); > > - ASSERT(iip->ili_iolock_recur == 0); > > These are the only other references, and (assuming we've done > a lot of testing with ASSERT() enabled) it is evident that > these are always zero at this point. In any case, what this > means is that xfs_trans_ijoin() must never be called after > xfs_trans_iget() has been called on a hashed inode. Again, > I'm not familiar enough with how we manage transactions to > to verify by inspection this is the case, but I presume it is. I think this is where the above invariant that an inode in a transaction must always be locked kicks in again. From Daniele.Passerone@empa.ch Fri Aug 28 14:42:52 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 n7SJgR9i172118 for ; Fri, 28 Aug 2009 14:42:42 -0500 X-ASG-Debug-ID: 1251488592-63a101af0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2D93E157DDD4 for ; Fri, 28 Aug 2009 12:43:12 -0700 (PDT) Received: from mx2.empa.ch (mx2.empa.ch [152.88.7.32]) by cuda.sgi.com with ESMTP id eoMTFn6eDa7ADE8G for ; Fri, 28 Aug 2009 12:43:12 -0700 (PDT) Received: from Du-Exc-Hub1.empa.emp-eaw.ch (localhost [127.0.0.1]) by mx2.empa.ch (Spam & Virus Firewall) with ESMTP id B79EE4C2E4; Fri, 28 Aug 2009 21:43:08 +0200 (CEST) Received: from Du-Exc-Hub1.empa.emp-eaw.ch ([152.88.6.64]) by mx2.empa.ch with ESMTP id 2cwKV7UmxiqCEiQ7; Fri, 28 Aug 2009 21:43:08 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by Du-Exc-Hub1.empa.emp-eaw.ch ([2002:9858:640::9858:640]) with mapi; Fri, 28 Aug 2009 21:43:08 +0200 From: "Passerone, Daniele" To: Eric Sandeen CC: "xfs@oss.sgi.com" Date: Fri, 28 Aug 2009 21:42:55 +0200 X-ASG-Orig-Subj: RE: xfs data loss Subject: RE: xfs data loss Thread-Topic: xfs data loss Thread-Index: AcooA3SC8DG5+cSzQ/WrnNCXoFSl1QAE7tIQ Message-ID: References: <4A975A35.3060809@sandeen.net> <4A981133.6060009@sandeen.net> In-Reply-To: <4A981133.6060009@sandeen.net> Accept-Language: it-IT, de-CH Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: it-IT, de-CH Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx2.empa.ch[152.88.7.32] X-Barracuda-Start-Time: 1251488598 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.7478 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 Eric,=20 and thank you for your attention and your time. > >Ok then perhaps I don't know what you mean by "power shock" > We work at a Materials science center, and there are big plants for=20 simulating earthquakes or so (believe it or not). These plants have sometimes the side effect of inducing strong=20 destabilizations in the power supply.=20 We suspect that such destabilization could have induced=20 an effect in the system of 48 drives which constitutes our NAS server. But of course, this is only an hypotesis. > >On the server as well? Or just clients? -really- no server-side errors >in the logs? > Really.=20 >Are you sure the storage hardware & the md volume is in ok shape? This is a very good question.=20 Indeed, the md volume (md6) close to the affected one (md4) showed loss of = 2 disks upon reboot, but a=20 repair of THAT filesystem (md6) worked.=20 > >Not yet, still wondering what really happened. > Me too Thanks a lot. Daniele >-eric > >> Thank you! >> >> Daniele >> >> _______________________________________________ >> xfs mailing list >> xfs@oss.sgi.com >> http://oss.sgi.com/mailman/listinfo/xfs >> From adobriyan@gmail.com Fri Aug 28 14:55:02 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00, RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_BRBL,RCVD_IN_SORBS_WEB 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 n7SJsgi9172597 for ; Fri, 28 Aug 2009 14:54:52 -0500 X-ASG-Debug-ID: 1251489303-7dc001e60000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-ew0-f223.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 12AB940AABC; Fri, 28 Aug 2009 12:55:03 -0700 (PDT) Received: from mail-ew0-f223.google.com (mail-ew0-f223.google.com [209.85.219.223]) by cuda.sgi.com with ESMTP id ukYP3hcDtJFGEdUl; Fri, 28 Aug 2009 12:55:03 -0700 (PDT) Received: by ewy23 with SMTP id 23so2731976ewy.8 for ; Fri, 28 Aug 2009 12:55:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:mime-version:content-type:content-disposition:user-agent; bh=jdiJ9uYqRSN/utW+OgRO+P7q5LQ0oYuO7ladBoWCDEA=; b=ab2IIYMGqrnVhpxznxwxm0YlMUwign820q2vKrE53OXHc6QJ7dmzyFw8w26sP7GiIG 7TTZqvYlQ234rcI4IuyA8OwIc9LD5YmhLX2he7mPdwmZn5YZ/MjVcC2l24pNIYnXoJDo YZsrAvr17FDUuYywYOzl3cJaLbv7oaA759328= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; b=sYS2R+GeObG9KyvP+2mdH/ePK+sz0CkAnyIVJRftejf333e6g04Rmx+F4vvU/j2Lg7 T+UKbQixTk4MPDBoF1mTvsw2QH8+dkZU82+uGLN1PZMLE8y2lF407ONmAXgKBBuWlZ7B bNDfmQv+P8vgTAyXMsNWfxdWci0lYGHR0rqBY= Received: by 10.216.86.139 with SMTP id w11mr358513wee.10.1251489302417; Fri, 28 Aug 2009 12:55:02 -0700 (PDT) Received: from localhost ([213.171.34.226]) by mx.google.com with ESMTPS id 24sm417472eyx.4.2009.08.28.12.55.01 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 28 Aug 2009 12:55:01 -0700 (PDT) Date: Fri, 28 Aug 2009 23:55:00 +0400 From: Alexey Dobriyan To: xfs-masters@oss.sgi.com Cc: xfs@oss.sgi.com, hch@infradead.org X-ASG-Orig-Subj: [PATCH] xfs: switch to seq_file Subject: [PATCH] xfs: switch to seq_file Message-ID: <20090828195500.GC15123@x200.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.19 (2009-01-05) X-Barracuda-Connect: mail-ew0-f223.google.com[209.85.219.223] X-Barracuda-Start-Time: 1251489333 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.7480 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 create_proc_read_entry() is getting deprecated. Signed-off-by: Alexey Dobriyan --- fs/xfs/linux-2.6/xfs_stats.c | 51 ++++++++++++---------------- fs/xfs/quota/xfs_qm_stats.c | 78 +++++++++++++++++-------------------------- 2 files changed, 55 insertions(+), 74 deletions(-) --- a/fs/xfs/linux-2.6/xfs_stats.c +++ b/fs/xfs/linux-2.6/xfs_stats.c @@ -20,16 +20,9 @@ DEFINE_PER_CPU(struct xfsstats, xfsstats); -STATIC int -xfs_read_xfsstats( - char *buffer, - char **start, - off_t offset, - int count, - int *eof, - void *data) +static int xfs_stat_proc_show(struct seq_file *m, void *v) { - int c, i, j, len, val; + int c, i, j, val; __uint64_t xs_xstrat_bytes = 0; __uint64_t xs_write_bytes = 0; __uint64_t xs_read_bytes = 0; @@ -60,18 +53,18 @@ xfs_read_xfsstats( }; /* Loop over all stats groups */ - for (i=j=len = 0; i < ARRAY_SIZE(xstats); i++) { - len += sprintf(buffer + len, "%s", xstats[i].desc); + for (i=j = 0; i < ARRAY_SIZE(xstats); i++) { + seq_printf(m, "%s", xstats[i].desc); /* inner loop does each group */ while (j < xstats[i].endpoint) { val = 0; /* sum over all cpus */ for_each_possible_cpu(c) val += *(((__u32*)&per_cpu(xfsstats, c) + j)); - len += sprintf(buffer + len, " %u", val); + seq_printf(m, " %u", val); j++; } - buffer[len++] = '\n'; + seq_putc(m, '\n'); } /* extra precision counters */ for_each_possible_cpu(i) { @@ -80,36 +73,38 @@ xfs_read_xfsstats( xs_read_bytes += per_cpu(xfsstats, i).xs_read_bytes; } - len += sprintf(buffer + len, "xpc %Lu %Lu %Lu\n", + seq_printf(m, "xpc %Lu %Lu %Lu\n", xs_xstrat_bytes, xs_write_bytes, xs_read_bytes); - len += sprintf(buffer + len, "debug %u\n", + seq_printf(m, "debug %u\n", #if defined(DEBUG) 1); #else 0); #endif + return 0; +} - if (offset >= len) { - *start = buffer; - *eof = 1; - return 0; - } - *start = buffer + offset; - if ((len -= offset) > count) - return count; - *eof = 1; - - return len; +static int xfs_stat_proc_open(struct inode *inode, struct file *file) +{ + return single_open(file, xfs_stat_proc_show, NULL); } +static const struct file_operations xfs_stat_proc_fops = { + .owner = THIS_MODULE, + .open = xfs_stat_proc_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + int xfs_init_procfs(void) { if (!proc_mkdir("fs/xfs", NULL)) goto out; - if (!create_proc_read_entry("fs/xfs/stat", 0, NULL, - xfs_read_xfsstats, NULL)) + if (!proc_create("fs/xfs/stat", 0, NULL, + &xfs_stat_proc_fops)) goto out_remove_entry; return 0; --- a/fs/xfs/quota/xfs_qm_stats.c +++ b/fs/xfs/quota/xfs_qm_stats.c @@ -48,50 +48,34 @@ struct xqmstats xqmstats; -STATIC int -xfs_qm_read_xfsquota( - char *buffer, - char **start, - off_t offset, - int count, - int *eof, - void *data) +static int xqm_proc_show(struct seq_file *m, void *v) { - int len; - /* maximum; incore; ratio free to inuse; freelist */ - len = sprintf(buffer, "%d\t%d\t%d\t%u\n", + seq_printf(m, "%d\t%d\t%d\t%u\n", ndquot, xfs_Gqm? atomic_read(&xfs_Gqm->qm_totaldquots) : 0, xfs_Gqm? xfs_Gqm->qm_dqfree_ratio : 0, xfs_Gqm? xfs_Gqm->qm_dqfreelist.qh_nelems : 0); - - if (offset >= len) { - *start = buffer; - *eof = 1; - return 0; - } - *start = buffer + offset; - if ((len -= offset) > count) - return count; - *eof = 1; - - return len; + return 0; } -STATIC int -xfs_qm_read_stats( - char *buffer, - char **start, - off_t offset, - int count, - int *eof, - void *data) +static int xqm_proc_open(struct inode *inode, struct file *file) { - int len; + return single_open(file, xqm_proc_show, NULL); +} + +static const struct file_operations xqm_proc_fops = { + .owner = THIS_MODULE, + .open = xqm_proc_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; +static int xqmstat_proc_show(struct seq_file *m, void *v) +{ /* quota performance statistics */ - len = sprintf(buffer, "qm %u %u %u %u %u %u %u %u\n", + seq_printf(m, "qm %u %u %u %u %u %u %u %u\n", xqmstats.xs_qm_dqreclaims, xqmstats.xs_qm_dqreclaim_misses, xqmstats.xs_qm_dquot_dups, @@ -100,25 +84,27 @@ xfs_qm_read_stats( xqmstats.xs_qm_dqwants, xqmstats.xs_qm_dqshake_reclaims, xqmstats.xs_qm_dqinact_reclaims); + return 0; +} - if (offset >= len) { - *start = buffer; - *eof = 1; - return 0; - } - *start = buffer + offset; - if ((len -= offset) > count) - return count; - *eof = 1; - - return len; +static int xqmstat_proc_open(struct inode *inode, struct file *file) +{ + return single_open(file, xqmstat_proc_show, NULL); } +static const struct file_operations xqmstat_proc_fops = { + .owner = THIS_MODULE, + .open = xqmstat_proc_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + void xfs_qm_init_procfs(void) { - create_proc_read_entry("fs/xfs/xqmstat", 0, NULL, xfs_qm_read_stats, NULL); - create_proc_read_entry("fs/xfs/xqm", 0, NULL, xfs_qm_read_xfsquota, NULL); + proc_create("fs/xfs/xqmstat", 0, NULL, &xqmstat_proc_fops); + proc_create("fs/xfs/xqm", 0, NULL, &xqm_proc_fops); } void From BATV+b6773966f04148201243+2196+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 28 15:11:51 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 n7SKBQox173388 for ; Fri, 28 Aug 2009 15:11:41 -0500 X-ASG-Debug-ID: 1251490340-76f101790000-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 D67071B81A72; Fri, 28 Aug 2009 13:12:20 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id qMQFql1jkYTefXfU; Fri, 28 Aug 2009 13:12:20 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mh7o4-0004Zi-Gp; Fri, 28 Aug 2009 20:12:20 +0000 Date: Fri, 28 Aug 2009 16:12:20 -0400 From: Christoph Hellwig To: Alexey Dobriyan Cc: xfs-masters@oss.sgi.com, xfs@oss.sgi.com, hch@infradead.org X-ASG-Orig-Subj: Re: [PATCH] xfs: switch to seq_file Subject: Re: [PATCH] xfs: switch to seq_file Message-ID: <20090828201220.GA17216@infradead.org> References: <20090828195500.GC15123@x200.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090828195500.GC15123@x200.localdomain> 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: 1251490340 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 Fri, Aug 28, 2009 at 11:55:00PM +0400, Alexey Dobriyan wrote: > create_proc_read_entry() is getting deprecated. > > Signed-off-by: Alexey Dobriyan Looks good to me, I'll throw it into my QA queue. From felixb@sgi.com Fri Aug 28 16: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 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 n7SLUY8H177043 for ; Fri, 28 Aug 2009 16:30:44 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id E42948F8040 for ; Fri, 28 Aug 2009 14:31:28 -0700 (PDT) Received: from eagdhcp-232-188.americas.sgi.com (eagdhcp-232-188.americas.sgi.com [128.162.232.188]) by estes.americas.sgi.com (Postfix) with ESMTP id D71EE7000103; Fri, 28 Aug 2009 16:20:29 -0500 (CDT) Cc: Eric Sandeen , Gabriel Vlasiu , xfs@oss.sgi.com, nathans@debian.org Message-Id: From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090828182454.GA8217@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: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs Date: Fri, 28 Aug 2009 16:20:29 -0500 References: <20090828153718.GA26409@infradead.org> <4A9810C7.8010806@sandeen.net> <20090828182454.GA8217@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 28, 2009, at 1:24 PM, Christoph Hellwig wrote: > On Fri, Aug 28, 2009 at 10:15:51AM -0700, Eric Sandeen wrote: >> Looks good to me. >> >> Reviewed-by: Eric Sandeen > > Thanks. What do people thing about pushing out a 3.0.3 xfsprogs > release? > > Since 3.0.1 (discounting 3.0.2 as a Debian-only thing quickly > following > 3.0.1): we have the following changes the list below. It's not a > whole > lot, but everything is relatively small fixes, the the unaligned thing > makes the 3.0 series so far unusable on strict alignment platforms. Seems like a bunch of useful changes in xfs_repair, xfs_db and xfs_io. Also it's passed 3 months since the last release, and it's a good idea to keep the quarterly update. > If we go for it I can update the CHANGES ASAP for the release, I'll package it up right after that. > and > ater that we can start putting in changes for a 3.1.0 release - I have > Barry's repair speedups ready for a wider audience, Eric has the > patch to make the lazy sb counters default and I can do the long > needed resync with the kernel code. Yep, those bigger changes would be right for 3.1.0 release. Felix > > > > Changes from 3.0.1 to HEAD: > > > > Christoph Hellwig (3): > add release.sh > Merge branch 'master' of git://oss.sgi.com/xfs/cmds/xfsprogs > xfsprogs: fix unaligned access in libxfs > > David Chinner (1): > mkfs: allow to make larger logs > > Eric Sandeen (11): > xfsprogs: fix readline/editline for xfs_io and xfs_quota > xfs_io: add fallocate command > Update CHANGES file for recent commits > xfs_repair: catch bad depth in traverse_int_dir2block > xfs_io: fix test for fallocate on 32bit boxes > xfs_repair: fix agcount*agblocks overflows > xfs_metadump: agcount*agblocks overflow > xfs_repair: clear inodes in incorrect btree format > the freesp doesn't support "-f" so take it out of the usage(). > xfs_db: do bounds checking in frag's scanfunc_bmap > xfs_io: actually issue 0 size writes > > Felix Blyakher (2): > Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/ > xfsprogs-dev > 3.0.1 release > > Nathan Scott (2): > Resolve minor man page warnings reported by lintian tool. > Debian packaging updates, and bumped minor version to 3.0.2. > > Nathaniel W. Turner (1): > xfs_repair: open filesystem device exclusively > > Robert Herndon (1): > add -x flags to include/install-sh > From aelder@sgi.com Fri Aug 28 16:39: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.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 n7SLcsXf177455 for ; Fri, 28 Aug 2009 16:39:05 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay2.corp.sgi.com (Postfix) with ESMTP id 631223040D0; Fri, 28 Aug 2009 14:39:49 -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] xfsprogs: fix unaligned access in libxfs Date: Fri, 28 Aug 2009 16:39:49 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABEF@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090828153718.GA26409@infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] xfsprogs: fix unaligned access in libxfs Thread-Index: Acon+mrbCI249/EMQiKjyaA3Ujst/AALHnGg From: "Alex Elder" To: "Christoph Hellwig" Cc: "Gabriel Vlasiu" , 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: > The get/put unaligned handlers we use to access the extent descriptor > are not good enough for architectures like Sparc that do not tolerate > dereferencing unaligned pointers. Replace the implementation with the > one the kernel uses on these architectures. It might be a tad > slower on architectures like x86, but I don't want to have multiple > implementations around to not let the testing matrix explode. > Also remove the unaligned.h header which includes another = implementation > for unaligned access we don't actually use anymore. >=20 > Note that the little change to xfs_inode.c needs to go into the kernel > aswell, I will send a patch for that shortly. >=20 >=20 > Signed-off-by: Christoph Hellwig > Reported-by: Gabriel Vlasiu > Tested-by: Gabriel Vlasiu Looks good. Note comment about interface below. Reviewed-by: Alex Elder > Index: xfsprogs-dev/libxfs/xfs.h > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- xfsprogs-dev.orig/libxfs/xfs.h 2009-08-27 10:06:13.377855006 -0300 > +++ xfsprogs-dev/libxfs/xfs.h 2009-08-27 10:06:26.537884492 -0300 > @@ -127,19 +127,37 @@ static inline int __do_div(unsigned long > #define max_t(type,x,y) \ > ({ type __x =3D (x); type __y =3D (y); __x > __y ? __x: __y; }) >=20 > -/* only 64 bit accesses used in xfs kernel code */ > -static inline __u64 get_unaligned_be64(void *ptr) > + > +static inline __uint32_t __get_unaligned_be32(const __uint8_t *p) It would be nice for this interface (and others) to take a (void *) argument, but that would also mean immediately casting it to do pointer arithmetic portably. Not a big deal. > +{ > + return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3]; > +} > + > +static inline __uint64_t get_unaligned_be64(void *p) > { . . . From aelder@sgi.com Fri Aug 28 16:57: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 n7SLvJpF178409 for ; Fri, 28 Aug 2009 16:57:30 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay1.corp.sgi.com (Postfix) with ESMTP id 60D5B8F80F3; Fri, 28 Aug 2009 14:58:14 -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] xfs: simplify xfs_trans_iget Date: Fri, 28 Aug 2009 16:58:14 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABF0@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090828194243.GA6204@infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] xfs: simplify xfs_trans_iget Thread-Index: AcooF7gcaViwS7OuRNy9DYcRm31isQAElI8A From: "Alex Elder" To: "Christoph Hellwig" Cc: 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: > On Fri, Aug 28, 2009 at 12:02:06PM -0500, Alex Elder wrote: >> This function was only ever called as a helper by xfs_trans_iget(). >> And it does the same things as xfs_iget() does, but in a more >> restricted context. One difference I see is that this verifies >> the transaction pointers match--and if they do not, it returns NULL. >>=20 >> In xfs_iget(), meanwhile, there is no such check. I'm not familiar >> enough with the transaction code to know what circumstances that >> might lead a hashed inode without a matching transaction pointer, >> but thought I'd point it out anyway in hopes you maybe did... >=20 > I'm always happy about people actually looking deep into the code in > reviews. >=20 > Let's got through the above case in detail: >=20 > To have i_tansp set the inode must be locked. So assuming we have an That alone answers just about everything... > inode in a transaction that is not your. We will no go on to the > xfs_iget once the xfs_inode_incore is gone. But as part of xfs_iget > we will lock the inode exclusively, which means we have to wait > until the other transaction unlocks the inode. Also if this was > for some reason no true we would immediately hit the ASSERT in > xfs_trans_ijoin which chcks that the i_transp pointer is NULL. >=20 >>> xfs_inode_item_init(ip, ip->i_mount); >>> iip =3D ip->i_itemp; >>> ASSERT(iip->ili_flags =3D=3D 0); >>> - ASSERT(iip->ili_ilock_recur =3D=3D 0); >>> - ASSERT(iip->ili_iolock_recur =3D=3D 0); >>=20 >> These are the only other references, and (assuming we've done >> a lot of testing with ASSERT() enabled) it is evident that >> these are always zero at this point. In any case, what this >> means is that xfs_trans_ijoin() must never be called after >> xfs_trans_iget() has been called on a hashed inode. Again, >> I'm not familiar enough with how we manage transactions to >> to verify by inspection this is the case, but I presume it is. >=20 > I think this is where the above invariant that an inode in a = transaction > must always be locked kicks in again. Looks good. Thanks for the explanation. Reviewed-by: Alex Elder From BATV+b6773966f04148201243+2196+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 28 17:12: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7SMCUil179470 for ; Fri, 28 Aug 2009 17:12:46 -0500 X-ASG-Debug-ID: 1251497584-76f403b90000-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 B7DD51B23258 for ; Fri, 28 Aug 2009 15:13:04 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id vkU18dYpZUtOCVJd for ; Fri, 28 Aug 2009 15:13:04 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mh9gu-0005ps-CR for xfs@oss.sgi.com; Fri, 28 Aug 2009 22:13:04 +0000 Date: Fri, 28 Aug 2009 18:13:04 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: [PATCH] xfsprogs: update CHANGES Subject: [PATCH] xfsprogs: update CHANGES Message-ID: <20090828221304.GA17666@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: 1251497604 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 Signed-off-by: Christoph Hellwig Index: xfsprogs-dev/doc/CHANGES =================================================================== --- xfsprogs-dev.orig/doc/CHANGES 2009-08-28 18:55:43.439981605 -0300 +++ xfsprogs-dev/doc/CHANGES 2009-08-28 19:11:00.795912101 -0300 @@ -1,5 +1,11 @@ - - Fix xfs_io and xfs_quota when readline config enabled. +xfsprogs-3.0.3 + - Fix unaligned accesses in libxfs. + - Various small fixes to xfs_db, xfs_repair and xfs_io. - Add fallocate command to xfs_io. + - Enable readline support in xfs_io and xfs_quota. + - Allow log sizes up to 2GiB (minus 1 byte) in xfs_mkfs. + - Open the block device in xfs_repair exclusively, thanks to + Nathaniel W. Turner. xfsprogs-3.0.2 (6 May 2009) - Updates to Debian build process after recent autoconf tweaks. From BATV+b6773966f04148201243+2196+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 28 17:15: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 n7SMEbSJ179595 for ; Fri, 28 Aug 2009 17:14:52 -0500 X-ASG-Debug-ID: 1251497731-3f5400b20000-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 6933A157854C; Fri, 28 Aug 2009 15:15:31 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id cIWF3GzvN7cpSPSb; Fri, 28 Aug 2009 15:15:31 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mh9jG-00039X-A3; Fri, 28 Aug 2009 22:15:30 +0000 Date: Fri, 28 Aug 2009 18:15:30 -0400 From: Christoph Hellwig To: Alex Elder Cc: Christoph Hellwig , Gabriel Vlasiu , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: fix unaligned access in libxfs Subject: Re: [PATCH] xfsprogs: fix unaligned access in libxfs Message-ID: <20090828221530.GB17666@infradead.org> References: <20090828153718.GA26409@infradead.org> <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABEF@cf--amer001e--3.americas.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABEF@cf--amer001e--3.americas.sgi.com> 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: 1251497731 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 Fri, Aug 28, 2009 at 04:39:49PM -0500, Alex Elder wrote: > > +static inline __uint32_t __get_unaligned_be32(const __uint8_t *p) > > > It would be nice for this interface (and others) to take a (void *) > argument, but that would also mean immediately casting it to do > pointer arithmetic portably. Not a big deal. the __ routines are internal implementation details, the kernel has non-__ prefixed versions that take void pointers, but I didn't bother to add them to xfsprogs as we only do unaligned access to 64bit values. That beeing said I dislike the interface taking void pointers as it removes important error checking. The actually visible interface should take __be16/32/64 types to enforce they are used on the right type. Once I get some time I will push for that in the kernel again, but for xfsprogs I really do want to stick to the kernel interfaces so that we can share the code unmodified. From aelder@sgi.com Fri Aug 28 17:40:13 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 n7SMdrNo181301 for ; Fri, 28 Aug 2009 17:40:03 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay1.corp.sgi.com (Postfix) with ESMTP id DBAF58F80CA for ; Fri, 28 Aug 2009 15:40:47 -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] xfsprogs: fix unaligned access in libxfs Date: Fri, 28 Aug 2009 17:38:29 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABF1@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090828221530.GB17666@infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] xfsprogs: fix unaligned access in libxfs Thread-Index: AcooLQ7AdYGD0OqKRbaJx+exmoC3IQAAnNpA From: "Alex Elder" To: "Christoph Hellwig" Cc: "Gabriel Vlasiu" , 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: > On Fri, Aug 28, 2009 at 04:39:49PM -0500, Alex Elder wrote: >>> +static inline __uint32_t __get_unaligned_be32(const __uint8_t *p) >>=20 >>=20 >> It would be nice for this interface (and others) to take a (void *) >> argument, but that would also mean immediately casting it to do >> pointer arithmetic portably. Not a big deal. >=20 > the __ routines are internal implementation details, the kernel > has non-__ prefixed versions that take void pointers, but I didn't > bother to add them to xfsprogs as we only do unaligned access to > 64bit values. >=20 > That beeing said I dislike the interface taking void pointers as > it removes important error checking. The actually visible interface > should take __be16/32/64 types to enforce they are used on the right > type. Once I get some time I will push for that in the kernel again, > but for xfsprogs I really do want to stick to the kernel interfaces so > that we can share the code unmodified. The results should be int types: __be16, etc., I agree. But I'm saying the unaligned addresses--which we (now) make no assumptions about and treat as character pointers--I think the void pointer explicitly captures that unaligned quality (and avoids any need for a cast). In any event I think it's fine either way. Really not a big deal, just a tiny detail that only a geek could love to argue about. -Alex From felixb@sgi.com Fri Aug 28 17:48: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.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 n7SMmTP1181785 for ; Fri, 28 Aug 2009 17:48:39 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay2.corp.sgi.com (Postfix) with ESMTP id CF3203040D1 for ; Fri, 28 Aug 2009 15:49:23 -0700 (PDT) Received: from eagdhcp-232-188.americas.sgi.com (eagdhcp-232-188.americas.sgi.com [128.162.232.188]) by estes.americas.sgi.com (Postfix) with ESMTP id 92ED77000103; Fri, 28 Aug 2009 17:49:23 -0500 (CDT) Cc: xfs@oss.sgi.com Message-Id: <6854DCEB-F9C8-4969-8012-65B0CD671E38@sgi.com> From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090828221304.GA17666@infradead.org> Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [PATCH] xfsprogs: update CHANGES Date: Fri, 28 Aug 2009 17:49:22 -0500 References: <20090828221304.GA17666@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 28, 2009, at 5:13 PM, Christoph Hellwig wrote: > Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher I'll generate the 3.0.3 package later tonight. Are we planning on update of other xfs userland pieces at this time as well? Felix > > > Index: xfsprogs-dev/doc/CHANGES > =================================================================== > --- xfsprogs-dev.orig/doc/CHANGES 2009-08-28 18:55:43.439981605 -0300 > +++ xfsprogs-dev/doc/CHANGES 2009-08-28 19:11:00.795912101 -0300 > @@ -1,5 +1,11 @@ > - - Fix xfs_io and xfs_quota when readline config enabled. > +xfsprogs-3.0.3 > + - Fix unaligned accesses in libxfs. > + - Various small fixes to xfs_db, xfs_repair and xfs_io. > - Add fallocate command to xfs_io. > + - Enable readline support in xfs_io and xfs_quota. > + - Allow log sizes up to 2GiB (minus 1 byte) in xfs_mkfs. > + - Open the block device in xfs_repair exclusively, thanks to > + Nathaniel W. Turner. > > xfsprogs-3.0.2 (6 May 2009) > - Updates to Debian build process after recent autoconf tweaks. > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From BATV+b6773966f04148201243+2196+infradead.org+hch@bombadil.srs.infradead.org Fri Aug 28 17:57:17 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 n7SMupJd182141 for ; Fri, 28 Aug 2009 17:57:06 -0500 X-ASG-Debug-ID: 1251500265-3f5301de0000-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 03EA51B23342; Fri, 28 Aug 2009 15:57:45 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Tu4FjpWpnO8Fj1Ci; Fri, 28 Aug 2009 15:57:45 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MhAO9-0007JV-MV; Fri, 28 Aug 2009 22:57:45 +0000 Date: Fri, 28 Aug 2009 18:57:45 -0400 From: Christoph Hellwig To: Felix Blyakher Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: update CHANGES Subject: Re: [PATCH] xfsprogs: update CHANGES Message-ID: <20090828225745.GA24127@infradead.org> References: <20090828221304.GA17666@infradead.org> <6854DCEB-F9C8-4969-8012-65B0CD671E38@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6854DCEB-F9C8-4969-8012-65B0CD671E38@sgi.com> 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: 1251500266 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 Fri, Aug 28, 2009 at 05:49:22PM -0500, Felix Blyakher wrote: > > On Aug 28, 2009, at 5:13 PM, Christoph Hellwig wrote: > >> Signed-off-by: Christoph Hellwig > > Reviewed-by: Felix Blyakher Thanks, I've pushed it out to kernel.org including the missing update to VERSION to bump it to 3.0.3. > I'll generate the 3.0.3 package later tonight. Thanks. release.sh works fine to me so everything should be good. > Are we planning on update of other xfs userland pieces at this > time as well? The only change since the last release in xfsdump and dmapi is adding the executable flag to include/install-sh which doesn't really warrant doing a new release in my opinion. If you want to do one anyway I won't complain either. From aelder@sgi.com Fri Aug 28 18:18:21 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 n7SNI1dA183344 for ; Fri, 28 Aug 2009 18:18:11 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4C6FD3040D5; Fri, 28 Aug 2009 16:18:56 -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 3/4] [PATCH 2/5] xfs: cleanup ->sync_fs Date: Fri, 28 Aug 2009 18:18:37 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABF4@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090827231558.379824160@bombadil.infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH 3/4] [PATCH 2/5] xfs: cleanup ->sync_fs Thread-Index: AconcAtGqhBHzzNFSROEC91sxmZHIQAxGP7g From: "Alex Elder" To: "Christoph Hellwig" Cc: 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: > Sort out ->sync_fs to not perform a superblock writeback for the wait = =3D 0 case > as that is just an optional first pass and the superblock will be = written back > properly in the next call with wait =3D 1. Instead perform an = opportunistic > quota writeback to have less work later. Also remove the freeze = special case > as we do a proper wait =3D 1 call in the freeze code anyway. >=20 > Also rename the function to xfs_fs_sync_fs to match the normal naming > convention, update comments and avoid calling into the laptop_mode = logic on > an error. >=20 >=20 > Signed-off-by: Christoph Hellwig Looks good. Reviewed-by: Alex Elder =20 > Index: linux-2.6/fs/xfs/linux-2.6/xfs_super.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_super.c 2009-08-26 = 20:13:54.609362865 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_super.c 2009-08-26 = 20:18:36.065357266 -0300 > @@ -1144,7 +1144,7 @@ xfs_fs_put_super( > } >=20 > STATIC int > -xfs_fs_sync_super( > +xfs_fs_sync_fs( > struct super_block *sb, > int wait) > { > @@ -1152,23 +1152,23 @@ xfs_fs_sync_super( > int error; >=20 > /* > - * Treat a sync operation like a freeze. This is to work > - * around a race in sync_inodes() which works in two phases > - * - an asynchronous flush, which can write out an inode > - * without waiting for file size updates to complete, and a > - * synchronous flush, which wont do anything because the > - * async flush removed the inode's dirty flag. Also > - * sync_inodes() will not see any files that just have > - * outstanding transactions to be flushed because we don't > - * dirty the Linux inode until after the transaction I/O > - * completes. > + * Not much we can do for the first async pass. Writing out the > + * superblock would be counter-productive as we are going to redirty > + * when writing out other data and metadata (and writing out a = single > + * block is quite fast anyway). > + * > + * Try to asynchronously kick off quota syncing at least. > */ > - if (wait || unlikely(sb->s_frozen =3D=3D SB_FREEZE_WRITE)) > - error =3D xfs_quiesce_data(mp); > - else > - error =3D xfs_sync_fsdata(mp, 0); > + if (!wait) { > + xfs_qm_sync(mp, SYNC_TRYLOCK); > + return 0; > + } > + > + error =3D xfs_quiesce_data(mp); > + if (error) > + return -error; >=20 > - if (unlikely(laptop_mode)) { > + if (laptop_mode) { > int prev_sync_seq =3D mp->m_sync_seq; >=20 > /* > @@ -1187,7 +1187,7 @@ xfs_fs_sync_super( > mp->m_sync_seq !=3D prev_sync_seq); > } >=20 > - return -error; > + return 0; > } >=20 > STATIC int > @@ -1561,7 +1561,7 @@ static struct super_operations xfs_super > .write_inode =3D xfs_fs_write_inode, > .clear_inode =3D xfs_fs_clear_inode, > .put_super =3D xfs_fs_put_super, > - .sync_fs =3D xfs_fs_sync_super, > + .sync_fs =3D xfs_fs_sync_fs, > .freeze_fs =3D xfs_fs_freeze, > .statfs =3D xfs_fs_statfs, > .remount_fs =3D xfs_fs_remount, >=20 > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From aelder@sgi.com Fri Aug 28 18:18:21 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 n7SNI1ZU183343 for ; Fri, 28 Aug 2009 18:18:11 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3FEE33040D3; Fri, 28 Aug 2009 16:18:56 -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 2/4] xfs: make sure xfs_sync_fsdata covers the log Date: Fri, 28 Aug 2009 18:18:24 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABF3@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090827231558.057467775@bombadil.infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH 2/4] xfs: make sure xfs_sync_fsdata covers the log Thread-Index: AconcBBX/QD1njPaT0CpkqGdp0MzyQAxb2Fg From: "Alex Elder" To: "Christoph Hellwig" Cc: 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: > From: Dave Chinner >=20 > We want to always cover the log after writing out the superblock, and > in case of a synchronous writeout make sure we actually wait for the > log to be covered. That way a filesystem that has been sync()ed can > be considered clean by log recovery. >=20 > Signed-off-by: Dave Chinner > Signed-off-by: Christoph Hellwig > Reviewed-by: Eric Sandeen Looks good. Reviewed-by: Alex Elder > Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.c 2009-07-07 = 16:03:51.871239376 +0200 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-07-07 = 18:24:48.722251281 +0200 > @@ -309,11 +309,15 @@ xfs_sync_attr( > STATIC int > xfs_commit_dummy_trans( > struct xfs_mount *mp, > - uint log_flags) > + uint flags) > { > struct xfs_inode *ip =3D mp->m_rootip; > struct xfs_trans *tp; > int error; > + int log_flags =3D XFS_LOG_FORCE; > + > + if (flags & SYNC_WAIT) > + log_flags |=3D XFS_LOG_SYNC; >=20 > /* > * Put a dummy transaction in the log to tell recovery > @@ -331,13 +335,12 @@ xfs_commit_dummy_trans( > xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); > xfs_trans_ihold(tp, ip); > xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); > - /* XXX(hch): ignoring the error here.. */ > error =3D xfs_trans_commit(tp, 0); > - > xfs_iunlock(ip, XFS_ILOCK_EXCL); >=20 > + /* the log force ensures this transaction is pushed to disk */ > xfs_log_force(mp, 0, log_flags); > - return 0; > + return error; > } >=20 > int > @@ -377,6 +380,7 @@ xfs_sync_fsdata( > */ > if (XFS_BUF_ISPINNED(bp)) > xfs_log_force(mp, 0, XFS_LOG_FORCE); > + xfs_flush_buftarg(mp->m_ddev_targp, 1); > } >=20 >=20 > @@ -385,7 +389,10 @@ xfs_sync_fsdata( > else > XFS_BUF_ASYNC(bp); >=20 > - return xfs_bwrite(mp, bp); > + error =3D xfs_bwrite(mp, bp); > + if (!error && xfs_log_need_covered(mp)) > + error =3D xfs_commit_dummy_trans(mp, (flags & SYNC_WAIT)); > + return error; >=20 > out_brelse: > xfs_buf_relse(bp); > @@ -571,8 +578,6 @@ xfs_sync_worker( > /* dgc: errors ignored here */ > error =3D xfs_qm_sync(mp, SYNC_TRYLOCK); > error =3D xfs_sync_fsdata(mp, SYNC_TRYLOCK); > - if (xfs_log_need_covered(mp)) > - error =3D xfs_commit_dummy_trans(mp, XFS_LOG_FORCE); > } > mp->m_sync_seq++; > wake_up(&mp->m_wait_single_sync_task); >=20 > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From aelder@sgi.com Fri Aug 28 18:18:22 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 n7SNI1r9183345 for ; Fri, 28 Aug 2009 18:18:11 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6610B3040D7; Fri, 28 Aug 2009 16:18:56 -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 4/4] [PATCH 5/5] xfs: fix xfs_quiesce_data Date: Fri, 28 Aug 2009 18:18:45 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABF5@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090827231558.701516609@bombadil.infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH 4/4] [PATCH 5/5] xfs: fix xfs_quiesce_data Thread-Index: AconcDFaodEfQfH/RH6TAiaESOCbTgAxIInA From: "Alex Elder" To: "Christoph Hellwig" Cc: 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: > From: Dave Chinner >=20 > We need to do a synchronous xfs_sync_fsdata to make sure the = superblock > actually is on disk when we return. >=20 > Also remove SYNC_BDFLUSH flag to xfs_sync_inodes because that = particular > flag is never checked. >=20 > Move xfs_filestream_flush call later [hch: why? seems unrelated]. I concur with your question. Why not release the inode references = early? > Signed-off-by: Dave Chinner > Signed-off-by: Christoph Hellwig Looks good. Reviewed-by: Alex Elder > Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.c 2009-08-27 = 20:06:39.889355294 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-27 = 20:08:01.169357854 -0300 > @@ -426,14 +426,16 @@ xfs_quiesce_data( > /* push non-blocking */ > xfs_sync_data(mp, 0); > xfs_qm_sync(mp, SYNC_TRYLOCK); > - xfs_filestream_flush(mp); >=20 > - /* push and block */ > + /* push and block till complete */ > xfs_sync_data(mp, SYNC_WAIT); > xfs_qm_sync(mp, SYNC_WAIT); >=20 > + /* drop inode references pinned by filestreams */ > + xfs_filestream_flush(mp); > + > /* write superblock and hoover up shutdown errors */ > - error =3D xfs_sync_fsdata(mp, 0); > + error =3D xfs_sync_fsdata(mp, SYNC_WAIT); >=20 > /* flush data-only devices */ > if (mp->m_rtdev_targp) >=20 > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From aelder@sgi.com Fri Aug 28 18:18:22 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_35 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 n7SNI1cJ183346 for ; Fri, 28 Aug 2009 18:18:12 -0500 Received: from cf--amer001e--3.americas.sgi.com (cf--amer001e--3.americas.sgi.com [137.38.100.5]) by relay2.corp.sgi.com (Postfix) with ESMTP id 717DA3040D8 for ; Fri, 28 Aug 2009 16:18:56 -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 1/4] xfs: mark inodes dirty before issuing I/O Date: Fri, 28 Aug 2009 18:17:43 -0500 Message-ID: <1AB9A794DBDDF54A8A81BE2296F7BDFE83ABF2@cf--amer001e--3.americas.sgi.com> In-Reply-To: <20090827231557.717120121@bombadil.infradead.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH 1/4] xfs: mark inodes dirty before issuing I/O Thread-Index: AconcA/Mu5rEu2OITd2N1eOG9kKVAwAwFD1w From: "Alex Elder" To: "Christoph Hellwig" Cc: 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: > From: Dave Chinner >=20 > To make sure they get properly waited on in sync when I/O is in flight = and > we latter need to update the inode size. Requires a new helper to = check if an > ioend structure is beyond the current EOF. >=20 >=20 > Signed-off-by: Dave Chinner > Signed-off-by: Christoph Hellwig Looks good. Reviewed-by: Alex Elder > Index: linux-2.6/fs/xfs/linux-2.6/xfs_aops.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_aops.c 2009-08-26 = 20:06:07.105357325 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_aops.c 2009-08-26 = 20:08:09.017355358 -0300 > @@ -186,19 +186,37 @@ xfs_destroy_ioend( > } >=20 > /* > + * If the end of the current ioend is beyond the current EOF, > + * return the new EOF value, otherwise zero. > + */ > +STATIC xfs_fsize_t > +xfs_ioend_new_eof( > + xfs_ioend_t *ioend) > +{ > + xfs_inode_t *ip =3D XFS_I(ioend->io_inode); > + xfs_fsize_t isize; > + xfs_fsize_t bsize; > + > + bsize =3D ioend->io_offset + ioend->io_size; > + isize =3D MAX(ip->i_size, ip->i_new_size); > + isize =3D MIN(isize, bsize); > + return isize > ip->i_d.di_size ? isize : 0; > +} > + > +/* > * Update on-disk file size now that data has been written to disk. > * The current in-memory file size is i_size. If a write is beyond > * eof i_new_size will be the intended file size until i_size is > * updated. If this write does not extend all the way to the valid > * file size then restrict this update to the end of the write. > */ > + > STATIC void > xfs_setfilesize( > xfs_ioend_t *ioend) > { > xfs_inode_t *ip =3D XFS_I(ioend->io_inode); > xfs_fsize_t isize; > - xfs_fsize_t bsize; >=20 > ASSERT((ip->i_d.di_mode & S_IFMT) =3D=3D S_IFREG); > ASSERT(ioend->io_type !=3D IOMAP_READ); > @@ -206,14 +224,9 @@ xfs_setfilesize( > if (unlikely(ioend->io_error)) > return; >=20 > - bsize =3D ioend->io_offset + ioend->io_size; > - > xfs_ilock(ip, XFS_ILOCK_EXCL); > - > - isize =3D MAX(ip->i_size, ip->i_new_size); > - isize =3D MIN(isize, bsize); > - > - if (ip->i_d.di_size < isize) { > + isize =3D xfs_ioend_new_eof(ioend); > + if (isize) { > ip->i_d.di_size =3D isize; > xfs_mark_inode_dirty_sync(ip); > } > @@ -403,10 +416,16 @@ xfs_submit_ioend_bio( > struct bio *bio) > { > atomic_inc(&ioend->io_remaining); > - > bio->bi_private =3D ioend; > bio->bi_end_io =3D xfs_end_bio; >=20 > + /* > + * If the I/O is beyond EOF we mark the inode dirty immediately > + * but don't update the inode size until I/O completion. > + */ > + if (xfs_ioend_new_eof(ioend)) > + xfs_mark_inode_dirty_sync(XFS_I(ioend->io_inode)); > + > submit_bio(WRITE, bio); > ASSERT(!bio_flagged(bio, BIO_EOPNOTSUPP)); > bio_put(bio); >=20 > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From Daniele.Passerone@empa.ch Sat Aug 29 01:09: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.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 n7T68ewK203299 for ; Sat, 29 Aug 2009 01:08:55 -0500 X-ASG-Debug-ID: 1251526140-561503350000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5416640C005 for ; Fri, 28 Aug 2009 23:09:00 -0700 (PDT) Received: from mx2.empa.ch (mx2.empa.ch [152.88.7.32]) by cuda.sgi.com with ESMTP id EKnG6fxvPU7Cg9fV for ; Fri, 28 Aug 2009 23:09:00 -0700 (PDT) Received: from Du-Exc-Hub1.empa.emp-eaw.ch (localhost [127.0.0.1]) by mx2.empa.ch (Spam & Virus Firewall) with ESMTP id A35054CF96; Sat, 29 Aug 2009 08:08:44 +0200 (CEST) Received: from Du-Exc-Hub1.empa.emp-eaw.ch ([152.88.6.64]) by mx2.empa.ch with ESMTP id fFkdlli92A8cU8vQ; Sat, 29 Aug 2009 08:08:44 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by Du-Exc-Hub1.empa.emp-eaw.ch ([2002:9858:640::9858:640]) with mapi; Sat, 29 Aug 2009 08:08:44 +0200 From: "Passerone, Daniele" To: Eric Sandeen CC: "xfs@oss.sgi.com" Date: Sat, 29 Aug 2009 08:08:38 +0200 X-ASG-Orig-Subj: RE: xfs data loss Subject: RE: xfs data loss Thread-Topic: xfs data loss Thread-Index: AcooA3SC8DG5+cSzQ/WrnNCXoFSl1QAa0mew Message-ID: References: <4A975A35.3060809@sandeen.net> <4A981133.6060009@sandeen.net> In-Reply-To: <4A981133.6060009@sandeen.net> Accept-Language: it-IT, de-CH Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: it-IT, de-CH Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx2.empa.ch[152.88.7.32] X-Barracuda-Start-Time: 1251526168 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.7517 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 Dear Eric, all During the night also the "twin" partition of the previously affected one (/dev/md5) got problems,=20 this time with a clear hardware problem:=20 one of the 20 disks was going on failure (2 devices missing). After that, and also after a reboot I cannot mount the partition: can't read superblock. I would like to recover my data, so I try xfs_repair but... ipazia-sun:~ # xfs_repair -v /dev/md5 Phase 1 - find and verify superblock... superblock read failed, offset 0, size 524288, ag 0, rval 0 fatal error -- Invalid argument What should I do now? Thanks, Daniele Here the logs: Aug 29 04:52:31 ipazia-sun kernel: sdo: Current [descriptor]: sense key: Me= dium Error Aug 29 04:52:31 ipazia-sun kernel: Additional sense: Unrecovered read e= rror - auto reallocate failed Aug 29 04:52:31 ipazia-sun kernel: Descriptor sense data with sense descrip= tors (in hex): Aug 29 04:52:31 ipazia-sun kernel: 72 03 11 04 00 00 00 0c 00 0a 80= 00 00 00 00 00 Aug 29 04:52:31 ipazia-sun kernel: 08 6c c5 7e=20 Aug 29 04:52:31 ipazia-sun kernel: end_request: I/O error, dev sdo, sector = 141346174 Aug 29 04:52:31 ipazia-sun kernel: raid5: read error not correctable. Aug 29 04:52:31 ipazia-sun kernel: raid5: Disk failure on sdo1, disabling d= evice. Operation continuing on 18 devices Aug 29 04:52:31 ipazia-sun kernel: raid5: read error not correctable. Aug 29 04:52:32 ipazia-sun kernel: raid5: read error not correctable. Aug 29 04:52:32 ipazia-sun kernel: I/O error in filesystem ("md5") meta-dat= a dev md5 block 0x229195c48 ("xlog_iodone") error 5 buf count 20480 Aug 29 04:52:32 ipazia-sun kernel: xfs_force_shutdown(md5,0x2) called from = line 958 of file fs/xfs/xfs_log.c. Return address =3D 0xffffffff8829801c Aug 29 04:52:32 ipazia-sun kernel: Filesystem "md5": Log I/O Error Detected= . Shutting down filesystem: md5 Aug 29 04:52:32 ipazia-sun kernel: Please umount the filesystem, and rectif= y the problem(s) Aug 29 04:52:32 ipazia-sun kernel: RAID5 conf printout: Aug 29 04:52:32 ipazia-sun kernel: --- rd:20 wd:18 fd:2 >-----Original Message----- >From: Eric Sandeen [mailto:sandeen@sandeen.net] >Sent: Friday, August 28, 2009 7:18 PM >To: Passerone, Daniele >Cc: xfs@oss.sgi.com >Subject: Re: xfs data loss > >Passerone, Daniele wrote: >>>> Due to a power shock, suddenly and without log messages about one >half >>> (5 TB) of the user >>>> directories on /dev/md4 have disappeared. >>> I presume you mean after a reboot? >> >> >> >> No! No reboot at all. > >Ok then perhaps I don't know what you mean by "power shock" > >> The directories were mounted via nfs to all our cluster, >> and are of the type >> >> /pool/user >> >> all directories from >> >> /pool/g* >> >> to >> >> /pool/z* >> >> have disappeared. > >On the server as well? Or just clients? -really- no server-side errors >in the logs? > >Are you sure the storage hardware & the md volume is in ok shape? > >> Of course NO COMMAND of the kind rm /pool/[g-z]* was issued. >> >>> Were the lost directories recently created? I've never heard of >>> untouched, existing directories disappearing after a power loss... >>> >> >> Not at all. >> Here I am. >>> Not much to go on here I'm afraid. SLES10 is an old kernel, but it's >>> supported by SuSE at least. >>> >> >> Can you use my metadata, or is it useless? > >Not yet, still wondering what really happened. > >-eric > >> Thank you! >> >> Daniele >> >> _______________________________________________ >> xfs mailing list >> xfs@oss.sgi.com >> http://oss.sgi.com/mailman/listinfo/xfs >> From Daniele.Passerone@empa.ch Sat Aug 29 02:11:42 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 n7T7BHIZ205631 for ; Sat, 29 Aug 2009 02:11:32 -0500 X-ASG-Debug-ID: 1251529923-126e010b0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 79DFA40C1A0 for ; Sat, 29 Aug 2009 00:12:04 -0700 (PDT) Received: from mx2.empa.ch (mx2.empa.ch [152.88.7.32]) by cuda.sgi.com with ESMTP id kMygQStBwMEIMZDI for ; Sat, 29 Aug 2009 00:12:04 -0700 (PDT) Received: from eaw-exc-hub1.eawag.wroot.emp-eaw.ch (localhost [127.0.0.1]) by mx2.empa.ch (Spam & Virus Firewall) with ESMTP id 6DEB14D2B1; Sat, 29 Aug 2009 09:12:03 +0200 (CEST) Received: from eaw-exc-hub1.eawag.wroot.emp-eaw.ch (eaw-exc-hub1.emp-eaw.ch [152.88.5.116]) by mx2.empa.ch with ESMTP id GPT27U5YO1pOoPuL; Sat, 29 Aug 2009 09:12:03 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by eaw-exc-hub1.eawag.wroot.emp-eaw.ch ([2002:9858:574::9858:574]) with mapi; Sat, 29 Aug 2009 09:12:02 +0200 From: "Passerone, Daniele" To: Eric Sandeen CC: "xfs@oss.sgi.com" Date: Sat, 29 Aug 2009 09:11:57 +0200 X-ASG-Orig-Subj: RE: xfs data loss Subject: RE: xfs data loss Thread-Topic: xfs data loss Thread-Index: AcooA3SC8DG5+cSzQ/WrnNCXoFSl1QAdHVZA Message-ID: References: <4A975A35.3060809@sandeen.net> <4A981133.6060009@sandeen.net> In-Reply-To: <4A981133.6060009@sandeen.net> Accept-Language: it-IT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: it-IT, en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx2.empa.ch[152.88.7.32] X-Barracuda-Start-Time: 1251529928 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.7521 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 In particular, I don't understand why xfs_repair does not look for a second= ary superblock From rg@stz-softwaretechnik.de Sat Aug 29 02:45: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.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 n7T7ieKJ206983 for ; Sat, 29 Aug 2009 02:44:51 -0500 X-ASG-Debug-ID: 1251531931-1263029f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from stlx01.stz-softwaretechnik.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id D821E40C1AD for ; Sat, 29 Aug 2009 00:45:31 -0700 (PDT) Received: from stlx01.stz-softwaretechnik.com (stz-softwaretechnik.de [217.160.223.211]) by cuda.sgi.com with ESMTP id qNK6F9mMhqHbugkb for ; Sat, 29 Aug 2009 00:45:31 -0700 (PDT) Received: from rg by stlx01.stz-softwaretechnik.com with local (Exim 3.36 #1 (Debian)) id 1MhIcf-00027b-00 for ; Sat, 29 Aug 2009 09:45:17 +0200 Date: Sat, 29 Aug 2009 09:45:07 +0200 From: Ralf Gross To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs data loss Subject: Re: xfs data loss Message-ID: <20090829074507.GN22826@p15145560.pureserver.info> References: <4A975A35.3060809@sandeen.net> <4A981133.6060009@sandeen.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.9i Sender: Ralf Gross X-Barracuda-Connect: stz-softwaretechnik.de[217.160.223.211] X-Barracuda-Start-Time: 1251531931 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.7523 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 Passerone, Daniele schrieb: > Dear Eric, all > During the night also the "twin" partition of the previously affected one > > (/dev/md5) got problems, > this time with a clear hardware problem: > > one of the 20 disks was going on failure (2 devices missing). > After that, and also after a reboot I cannot mount the partition: > can't read superblock. If it's a raid5 and 2 devices are missing, the raid is lost. Or am I missing something? Ralf From pg_mh@sabi.co.UK Sat Aug 29 09:08:20 2009 X-Spam-Checker-Version: SpamAssassin 3.3.0-rupdated (updated) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=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 n7TE7nkx224193 for ; Sat, 29 Aug 2009 09:08:10 -0500 X-ASG-Debug-ID: 1251554921-13df00e90000-ps1ADW X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ty.sabi.co.UK (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E58BA40C88C for ; Sat, 29 Aug 2009 07:08:41 -0700 (PDT) Received: from ty.sabi.co.UK (82-69-39-138.dsl.in-addr.zen.co.uk [82.69.39.138]) by cuda.sgi.com with ESMTP id FSFs0qTHDnG6BWLe for ; Sat, 29 Aug 2009 07:08:41 -0700 (PDT) Received: from from [127.0.0.1] (helo=tree.ty.sabi.co.uk) by ty.sabi.co.UK with esmtp(Exim 4.63 #1) id 1MhOba-0003TV-87 for ; Sat, 29 Aug 2009 14:08:34 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <19097.13921.614380.753501@tree.ty.sabi.co.uk> Date: Sat, 29 Aug 2009 14:08:33 +0000 X-Face: SMJE]JPYVBO-9UR%/8d'mG.F!@.,l@c[f'[%S8'BZIcbQc3/">GrXDwb#;fTRGNmHr^JFb SAptvwWc,0+z+~p~"Gdr4H$(|N(yF(wwCM2bW0~U?HPEE^fkPGx^u[*[yV.gyB!hDOli}EF[\cW*S H&spRGFL}{`bj1TaD^l/"[ msn( /TH#THs{Hpj>)]f> X-ASG-Orig-Subj: Re: xfs data loss Subject: Re: xfs data loss In-Reply-To: References: X-Mailer: VM 8.0.12-devo-585 under 21.5 (beta27) XEmacs Lucid (i686-redhat-linux) From: pg_xf2@xf2.for.sabi.co.UK (Peter Grandi) X-Disclaimer: This message contains only personal opinions X-Barracuda-Connect: 82-69-39-138.dsl.in-addr.zen.co.uk[82.69.39.138] X-Barracuda-Start-Time: 1251554923 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.92 X-Barracuda-Spam-Status: No, SCORE=-1.92 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=RDNS_DYNAMIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7548 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_DYNAMIC Delivered to trusted network by host with dynamic-looking rDNS X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean > Dear xfs developers We have a SUN X4500 with 48 500 GB drives, > that we configured under SUSE SLES 10. > Among others, we have 3 RAID5 xfs filesystems, /dev/md4 with > 20 units (9.27 TB) /dev/md5 with 20 units (9.27 TB) and > /dev/md6 with 5 units (1.95 TB) AAAAA-Amazing! 19+1 RAID5s. With all identical drives in the same box. What a wondersome, challenging configuration! > These units are not backed up. Many would say that RAID means that backup is not necessary. > Due to a power shock, suddenly and without log messages about > one half (5 TB) of the user directories on /dev/md4 have > disappeared. [ ... ] That was unreally unforeseeable! Power problems never happen to computers, especially those that fry electronics or cause write errors on multiple drives, so why worry? > Upon reboot, /dev/md6 showed only 3 units, and after a > xfs_repair it was again ok. Uh, that was the "/dev/md6 with 5 units", so I guess Elvis personally came to deliver an exact copy of drive #4, or else someone has invented a new algorithm to ensure that a RAID5 can lose 2 drives and still be fine. In the latter case rush to the patent office -- you shall become billionaires. > /dev/md4 mounted immediately, but always with one half of the > directories. 1) xfs_check gives no problem on /dev/md4 but 2) > xfs_logprint [ ... ] > 3) xfs_ncheck eats a lot of memory and freezes after 6-7 hours > without giving output I wonder whether the further advanced technique of creating a multi-TB filesystem on a 32-bit kernel was used for higher sophistication. > WHat can I do? [ ... ] Well, I am not at the level of those who can develop such an advanced understanding of storage systems that includes 19+1 arrays and RAID5s that can lose 2 drives and be "again OK". But I'd look at how many controllers and drives are actually still working by doing a read test of all the drives. Once that is known perhaps some recovery strategy can be discerned. If several drives have failed it might take several weeks or months or even years to do a partial recovery. If things are really very lucky only some of the 6 host adapters have failed, or only one drive per array, and replacing the host adapters will get things working again, except that running 'xfs_repair' on an incomplete array will have made things even better, more challenging and advanced. From michael.monnerie@is.it-management.at Sat Aug 29 14:02:43 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_33 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 n7TJ2Lh7238080 for ; Sat, 29 Aug 2009 14:02:33 -0500 X-ASG-Debug-ID: 1251572558-7caf02cf0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv5.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 280F515830D5 for ; Sat, 29 Aug 2009 12:02:38 -0700 (PDT) Received: from mailsrv5.zmi.at (mailsrv5.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id 1YAaOeUDhnWi36QE for ; Sat, 29 Aug 2009 12:02:38 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv5.zmi.at (Postfix) with ESMTP id 357E63D1 for ; Sat, 29 Aug 2009 21:02:35 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 916D740015E for ; Sat, 29 Aug 2009 21:02:34 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: zero size file after power failure with kernel 2.6.30.5 Subject: zero size file after power failure with kernel 2.6.30.5 Date: Sat, 29 Aug 2009 21:02:21 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.5-ZMI; KDE/4.1.3; x86_64; ; ) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908292102.21710@zmi.at> X-Barracuda-Connect: mailsrv5.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1251572587 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.7567 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 I have /home mounted like this: /dev/sda3 on /disks/work1 type xfs (rw,noatime,logbufs=8,logbsize=256k,attr2,barrier,largeio,swalloc) Hardware: onboard SATA with a single WD VelociRaptor drive. My power supply melted and so I had a power fail and a sudden death crash. ( So please remember: even when you have a UPS, your power can fail ! ) After replacing the part, I had almost no isse with my KDE desktop. In earlier XFS releases, I constantly lost several config files all truncated to 0 length or at some point only contained NULLs on such occasions. So the situation improved a lot. But almost is not good enough: Exactly my kmail config file was 0 sized - obviously: at least when I started kmail, it started fresh without any accounts or config, but once I exited kmail the config was created with the default values and about 12KB size, while my config has >200KB. Shouldn't it be that this doesn't happen anymore? I'd love to be in a position where I really can rely on a crash not trashing any of my files anymore. I used to have reiserfs previously, and never, not a single time despite many crashes, did I have such an issue. I'd really be pleased so see such stability in XFS. I'm using barriers - what else must I do? mfg zmi -- // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From Daniele.Passerone@empa.ch Sat Aug 29 15:03:59 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 n7TK3Ydo240385 for ; Sat, 29 Aug 2009 15:03:49 -0500 X-ASG-Debug-ID: 1251576243-20cc01d30000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx2.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 810B540D052 for ; Sat, 29 Aug 2009 13:04:03 -0700 (PDT) Received: from mx2.empa.ch (mx2.empa.ch [152.88.7.32]) by cuda.sgi.com with ESMTP id iDLanGOZTw6Taqux for ; Sat, 29 Aug 2009 13:04:03 -0700 (PDT) Received: from Du-Exc-Hub1.empa.emp-eaw.ch (localhost [127.0.0.1]) by mx2.empa.ch (Spam & Virus Firewall) with ESMTP id 767BA4EAEB for ; Sat, 29 Aug 2009 22:03:41 +0200 (CEST) Received: from Du-Exc-Hub1.empa.emp-eaw.ch ([152.88.6.64]) by mx2.empa.ch with ESMTP id jdbG3wki3hdcp3pm for ; Sat, 29 Aug 2009 22:03:41 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by Du-Exc-Hub1.empa.emp-eaw.ch ([2002:9858:640::9858:640]) with mapi; Sat, 29 Aug 2009 22:03:41 +0200 From: "Passerone, Daniele" To: "xfs@oss.sgi.com" Date: Sat, 29 Aug 2009 22:03:35 +0200 X-ASG-Orig-Subj: RE: xfs data loss Subject: RE: xfs data loss Thread-Topic: xfs data loss Thread-Index: AcooA3SC8DG5+cSzQ/WrnNCXoFSl1QA31jIA Message-ID: References: <4A975A35.3060809@sandeen.net> <4A981133.6060009@sandeen.net> In-Reply-To: <4A981133.6060009@sandeen.net> Accept-Language: it-IT, de-CH Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: it-IT, de-CH Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx2.empa.ch[152.88.7.32] X-Barracuda-Start-Time: 1251576268 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.7571 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 I would like to ask mr. Peter Grandi, whether it is really necessary to del= ivery ist vaste knowledge in such a harsh way. Is this the habit of this mailing list? Apart from that, thank you for you help.=20 I understand that RAID5 is not the ideal solution for that system, and I ad= mit that in the urgence of solving the /md4 problem I miswrote the problem of /md6, = which=20 of course was "erased" and not "repaired". But apart from that, it is not as easy to backup 20 TB, so we decided to se= t it as data storage leaving the responsibilty of the backup to our users. I do not consider it completely absurd. Moreover, when a raid loses 2 devices, and the devices are still ok, it is = possible to reassemble the raid by assuming the devices clean. This is not the case for /Raid/md4, where apparently all devices are there. THanks, Daniele From sandeen@sandeen.net Sat Aug 29 17:13:23 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 n7TMD3gH246236 for ; Sat, 29 Aug 2009 17:13:13 -0500 X-ASG-Debug-ID: 1251584011-3179039a0000-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 A6B3740D3B0 for ; Sat, 29 Aug 2009 15:13:31 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 8UsB5lIOlJlUW7AX for ; Sat, 29 Aug 2009 15:13:31 -0700 (PDT) Received: from Liberator2.local (24-113-179-26.wavecable.com [24.113.179.26]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 85B8EA9DAD5; Sat, 29 Aug 2009 17:13:28 -0500 (CDT) Message-ID: <4A99A80C.9010307@sandeen.net> Date: Sat, 29 Aug 2009 15:13:32 -0700 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: Michael Monnerie CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: zero size file after power failure with kernel 2.6.30.5 Subject: Re: zero size file after power failure with kernel 2.6.30.5 References: <200908292102.21710@zmi.at> In-Reply-To: <200908292102.21710@zmi.at> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1251584034 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.7578 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 Michael Monnerie wrote: > I have /home mounted like this: > /dev/sda3 on /disks/work1 type xfs > (rw,noatime,logbufs=8,logbsize=256k,attr2,barrier,largeio,swalloc) > > Hardware: onboard SATA with a single WD VelociRaptor drive. > > My power supply melted and so I had a power fail and a sudden death > crash. > ( So please remember: even when you have a UPS, your power can fail ! ) > > After replacing the part, I had almost no isse with my KDE desktop. In > earlier XFS releases, I constantly lost several config files all > truncated to 0 length or at some point only contained NULLs on such > occasions. So the situation improved a lot. > > But almost is not good enough: Exactly my kmail config file was 0 sized > - obviously: at least when I started kmail, it started fresh without any > accounts or config, but once I exited kmail the config was created with > the default values and about 12KB size, while my config has >200KB. > > Shouldn't it be that this doesn't happen anymore? I'd love to be in a > position where I really can rely on a crash not trashing any of my files > anymore. I used to have reiserfs previously, and never, not a single > time despite many crashes, did I have such an issue. I'd really be > pleased so see such stability in XFS. I'm using barriers - what else > must I do? > > mfg zmi this will depend on what kde is doing internally as well. No filesystem can magically protect against buffered data loss on a crash. An application could certainly be doing something that results in this sort of thing. w/o reading some kde code I can't say for sure, and I don't mean to blame KDE, but this isn't necessarily a bug in xfs. -Eric From michael.monnerie@is.it-management.at Sat Aug 29 17:14:09 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_33 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 n7TMDnoI246278 for ; Sat, 29 Aug 2009 17:13:59 -0500 X-ASG-Debug-ID: 1251584073-298a00400000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv5.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7FCDE40D3B1 for ; Sat, 29 Aug 2009 15:14:34 -0700 (PDT) Received: from mailsrv5.zmi.at (mailsrv5.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id DnmvmLAySi67FGSS for ; Sat, 29 Aug 2009 15:14:34 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv5.zmi.at (Postfix) with ESMTP id C15F66A1 for ; Sun, 30 Aug 2009 00:14:28 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 503D040015E for ; Sun, 30 Aug 2009 00:14:28 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs data loss Subject: Re: xfs data loss Date: Sun, 30 Aug 2009 00:14:13 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.5-ZMI; KDE/4.1.3; x86_64; ; ) References: <4A981133.6060009@sandeen.net> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908300014.13845@zmi.at> X-Barracuda-Connect: mailsrv5.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1251584076 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.7578 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 Samstag 29 August 2009 Passerone, Daniele wrote: > But apart from that, it is not as easy to backup 20 TB, so we decided > to set it as data storage leaving the responsibilty of the backup to > our users. I do not consider it completely absurd. Right, if you communicated this to users it's OK. But really, don't create any RAID with more than 8 data disks. Performance doesn't increase above that, and the chance that a single disk dies is already 8x as high as with a single disk. I wish you luck with your recovery, but please try to split your 20 disks, make it 2x9 disks with a RAID-5, better RAID-6, and connect those two via RAID-0. So you get a RAID-50 or RAID-60. Take the remaining 2 drives as hot spare. This will protect you at least from drive failures, and speeds up recreating the RAID when a disk dies. Try to connect the disks which are in a single RAID-5/6 via the same controllers, so if a controller dies it's only one RAID-5/6 part that dies, which will help to make it possible to repair. mfg zmi -- // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From michael.monnerie@is.it-management.at Sat Aug 29 17:17: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=AWL,BAYES_00,J_CHICKENPOX_33 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 n7TMHBar246446 for ; Sat, 29 Aug 2009 17:17:21 -0500 X-ASG-Debug-ID: 1251584272-317403a80000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv5.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A10C640D3C3 for ; Sat, 29 Aug 2009 15:17:52 -0700 (PDT) Received: from mailsrv5.zmi.at (mailsrv5.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id HgEmHggC2BbHATqA for ; Sat, 29 Aug 2009 15:17:52 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv5.zmi.at (Postfix) with ESMTP id 267926A1 for ; Sun, 30 Aug 2009 00:17:22 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id A550340015E for ; Sun, 30 Aug 2009 00:17:21 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs Subject: Re: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs Date: Sun, 30 Aug 2009 00:17:07 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.5-ZMI; KDE/4.1.3; x86_64; ; ) References: <20090828153718.GA26409@infradead.org> <4A9810C7.8010806@sandeen.net> <20090828182454.GA8217@infradead.org> In-Reply-To: <20090828182454.GA8217@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908300017.07268@zmi.at> X-Barracuda-Connect: mailsrv5.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1251584279 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.7578 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 Freitag 28 August 2009 Christoph Hellwig wrote: > What do people thing about pushing out a 3.0.3 xfsprogs > release? Is there the patch to repair my filesystem? I sent the metadump to Eric once, I think he did some patches. Are they there, or do I need something else also? I'm still having the problem, and would like to fix it. mfg zmi -- // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From Daniele.Passerone@empa.ch Sat Aug 29 17:52: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.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 n7TMpd5m247899 for ; Sat, 29 Aug 2009 17:51:55 -0500 X-ASG-Debug-ID: 1251586345-33f501120000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mx1.empa.ch (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 454A540D3D7 for ; Sat, 29 Aug 2009 15:52:25 -0700 (PDT) Received: from mx1.empa.ch (mx1.empa.ch [152.88.7.31]) by cuda.sgi.com with ESMTP id zjEof9gX7CLdNETV for ; Sat, 29 Aug 2009 15:52:25 -0700 (PDT) Received: from Du-Exc-Hub1.empa.emp-eaw.ch (localhost [127.0.0.1]) by mx1.empa.ch (Spam & Virus Firewall) with ESMTP id CDC8BB30F4 for ; Sun, 30 Aug 2009 00:52:06 +0200 (CEST) Received: from Du-Exc-Hub1.empa.emp-eaw.ch ([152.88.6.64]) by mx1.empa.ch with ESMTP id rs2VTPPaHvWLlaAU for ; Sun, 30 Aug 2009 00:52:06 +0200 (CEST) Received: from DU-Exc-Mail.empa.emp-eaw.ch ([fe80::bc9b:a2a9:e3fb:5e94]) by Du-Exc-Hub1.empa.emp-eaw.ch ([2002:9858:640::9858:640]) with mapi; Sun, 30 Aug 2009 00:52:06 +0200 From: "Passerone, Daniele" To: "xfs@oss.sgi.com" Date: Sun, 30 Aug 2009 00:52:02 +0200 X-ASG-Orig-Subj: xfs data loss Subject: xfs data loss Thread-Topic: xfs data loss Thread-Index: AcooA3SC8DG5+cSzQ/WrnNCXoFSl1QA31jIA Message-ID: References: <4A975A35.3060809@sandeen.net> <4A981133.6060009@sandeen.net> In-Reply-To: <4A981133.6060009@sandeen.net> Accept-Language: it-IT, de-CH Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: it-IT, de-CH Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mx1.empa.ch[152.88.7.31] X-Barracuda-Start-Time: 1251586351 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.7582 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 I would like to ask mr. Peter Grandi, whether it is really necessary to del= ivery ist vaste knowledge in such a harsh way. Is this the habit of this mailing list? Apart from that, thank you for you help.=20 I understand that RAID5 is not the ideal solution for that system, and I ad= mit that in the urgence of solving the /md4 problem I miswrote the problem of /md6, = which=20 of course was "erased" and not "repaired". But apart from that, it is not as easy to backup 20 TB, so we decided to se= t it as data storage leaving the responsibilty of the backup to our users. I do not consider it completely absurd. Moreover, when a raid loses 2 devices, and the devices are still ok, it is = possible to reassemble the raid by assuming the devices clean. This is not the case for /Raid/md4, where apparently all devices are there. THanks, Daniele From sandeen@sandeen.net Sat Aug 29 20:21:58 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 n7U1LcNU253652 for ; Sat, 29 Aug 2009 20:21:48 -0500 X-ASG-Debug-ID: 1251595323-64d203b90000-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 1CDFC1583BFB for ; Sat, 29 Aug 2009 18:22:03 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id O5ja6fCwkimJoDco for ; Sat, 29 Aug 2009 18:22:03 -0700 (PDT) Received: from Liberator2.local (24-113-179-26.wavecable.com [24.113.179.26]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id EF19EA9DAA5; Sat, 29 Aug 2009 20:22:02 -0500 (CDT) Message-ID: <4A99D43D.5050208@sandeen.net> Date: Sat, 29 Aug 2009 18:22:05 -0700 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: Michael Monnerie CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs Subject: Re: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs References: <20090828153718.GA26409@infradead.org> <4A9810C7.8010806@sandeen.net> <20090828182454.GA8217@infradead.org> <200908300017.07268@zmi.at> In-Reply-To: <200908300017.07268@zmi.at> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1251595349 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.7592 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 Michael Monnerie wrote: > On Freitag 28 August 2009 Christoph Hellwig wrote: >> What do people thing about pushing out a 3.0.3 xfsprogs >> release? > > Is there the patch to repair my filesystem? I sent the metadump to Eric > once, I think he did some patches. Are they there, or do I need > something else also? I'm still having the problem, and would like to fix > it. > > mfg zmi Afraid I haven't fixed that one yet, sorry. If you could open a bug on xfs.org's bugzilla it'd be much better for tracking ... I did find that building xfsprogs w/o debug ASSERTs turned on, I could get a clean fs after 2 runs, just to get you going again... -Eric From sandeen@sandeen.net Sat Aug 29 20:24:11 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 n7U1Np9M253744 for ; Sat, 29 Aug 2009 20:24:01 -0500 X-ASG-Debug-ID: 1251595483-074b02530000-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 148DE1583F3D for ; Sat, 29 Aug 2009 18:24:43 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id zmVf6e7ulCMUm83b for ; Sat, 29 Aug 2009 18:24:43 -0700 (PDT) Received: from Liberator2.local (24-113-179-26.wavecable.com [24.113.179.26]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 1F5C6A9DAA5; Sat, 29 Aug 2009 20:24:42 -0500 (CDT) Message-ID: <4A99D4DF.50003@sandeen.net> Date: Sat, 29 Aug 2009 18:24:47 -0700 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: "Passerone, Daniele" CC: "xfs@oss.sgi.com" X-ASG-Orig-Subj: Re: xfs data loss Subject: Re: xfs data loss References: <4A975A35.3060809@sandeen.net> <4A981133.6060009@sandeen.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[209.173.210.139] X-Barracuda-Start-Time: 1251595486 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.7592 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 Passerone, Daniele wrote: > I would like to ask mr. Peter Grandi, whether it is really necessary > to delivery ist vaste knowledge in such a harsh way. Is this the > habit of this mailing list? Not generally. > Apart from that, thank you for you help. I understand that RAID5 is > not the ideal solution for that system, and I admit that in the > urgence of solving the /md4 problem I miswrote the problem of /md6, > which of course was "erased" and not "repaired". > > But apart from that, it is not as easy to backup 20 TB, so we decided > to set it as data storage leaving the responsibilty of the backup to > our users. I do not consider it completely absurd. I think others have pointed out, though, that you start -increasing- the risk of failure at a certain point... > Moreover, when a raid loses 2 devices, and the devices are still ok, > it is possible to reassemble the raid by assuming the devices clean. > > This is not the case for /Raid/md4, where apparently all devices are > there. This all seems most likely to be a raid failure problem, but it's hard to know. I can't imagine why you're getting suddenly-disappearing directories without a reboot or even a single error message; I just don't know what to make of that. -Eric From Holidayinnbursa@holidayinnbursa.com Sat Aug 29 22:32:03 2009 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 n7U3Vh6D258840 for ; Sat, 29 Aug 2009 22:31:53 -0500 X-ASG-Debug-ID: 1251603129-744802930000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from smtp01.vargonen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7294C1583FF9 for ; Sat, 29 Aug 2009 20:32:09 -0700 (PDT) Received: from smtp01.vargonen.net (smtp01.vargonen.net [79.98.128.12]) by cuda.sgi.com with ESMTP id iVQxzKoA61oDnFjX for ; Sat, 29 Aug 2009 20:32:09 -0700 (PDT) Received: (qmail 2862 invoked from network); 30 Aug 2009 06:34:01 +0300 Received: from dsl.static85961896.ttnet.net.tr (admin@holidayinnbursa.com@85.96.189.6) by smtp01.vargonen.net with SMTP; 30 Aug 2009 06:34:01 +0300 X-Confirm-Reading-To: holidayinnbursa@holidayinnbursa.com From: "Holiday Inn Bursa" Reply-To: "Holiday Inn Bursa" To: X-ASG-Orig-Subj: Holiday Inn Bursa Ýftar Yemeđi Subject: Holiday Inn Bursa Ýftar Yemeđi Date: %AMS_MESSAGE_DATE% Organization: Holiday Inn Bursa MIME-Version: 1.0 Content-Type: multipart/related; boundary="%AMS_NEXTPART%" X-Barracuda-Connect: smtp01.vargonen.net[79.98.128.12] X-Barracuda-Start-Time: 1251603157 Message-Id: <20090830033209.7294C1583FF9@cuda.sgi.com> X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Header-Alert: BAD HEADER Non-encoded 8-bit data (char DD hex) in message header 'X-ASG-Orig-Subj' X-ASG-Orig-Subj: Holiday Inn Bursa \335ftar Yeme\360i\n ^ X-Barracuda-Spam-Score: -1001.00 X-Barracuda-Spam-Status: No, SCORE=-1001.00 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 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. --%AMS_NEXTPART% Content-Type: multipart/alternative; boundary="%AMS_NEXTPART2%" --%AMS_NEXTPART2% Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit --%AMS_NEXTPART2% Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 8bit

 

--%AMS_NEXTPART2%-- --%AMS_NEXTPART% Content-Type: image/bmp; name="Holidayinn Bursa Ýftar.bmp" Content-Transfer-Encoding: base64 Content-ID: <015522113@20082009-2880> Qk1ihAgAAAAAADYEAAAoAAAAhAMAAGsCAAABAAgAAAAAACyACADEDgAAxA4A AAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwADA3MAA 8MqmAAAgQAAAIGAAACCAAAAgoAAAIMAAACDgAABAAAAAQCAAAEBAAABAYAAA QIAAAECgAABAwAAAQOAAAGAAAABgIAAAYEAAAGBgAABggAAAYKAAAGDAAABg 4AAAgAAAAIAgAACAQAAAgGAAAICAAACAoAAAgMAAAIDgAACgAAAAoCAAAKBA AACgYAAAoIAAAKCgAACgwAAAoOAAAMAAAADAIAAAwEAAAMBgAADAgAAAwKAA AMDAAADA4AAA4AAAAOAgAADgQAAA4GAAAOCAAADgoAAA4MAAAODgAEAAAABA ACAAQABAAEAAYABAAIAAQACgAEAAwABAAOAAQCAAAEAgIABAIEAAQCBgAEAg gABAIKAAQCDAAEAg4ABAQAAAQEAgAEBAQABAQGAAQECAAEBAoABAQMAAQEDg AEBgAABAYCAAQGBAAEBgYABAYIAAQGCgAEBgwABAYOAAQIAAAECAIABAgEAA QIBgAECAgABAgKAAQIDAAECA4ABAoAAAQKAgAECgQABAoGAAQKCAAECgoABA oMAAQKDgAEDAAABAwCAAQMBAAEDAYABAwIAAQMCgAEDAwABAwOAAQOAAAEDg IABA4EAAQOBgAEDggABA4KAAQODAAEDg4ACAAAAAgAAgAIAAQACAAGAAgACA AIAAoACAAMAAgADgAIAgAACAICAAgCBAAIAgYACAIIAAgCCgAIAgwACAIOAA gEAAAIBAIACAQEAAgEBgAIBAgACAQKAAgEDAAIBA4ACAYAAAgGAgAIBgQACA YGAAgGCAAIBgoACAYMAAgGDgAICAAACAgCAAgIBAAICAYACAgIAAgICgAICA wACAgOAAgKAAAICgIACAoEAAgKBgAICggACAoKAAgKDAAICg4ACAwAAAgMAg AIDAQACAwGAAgMCAAIDAoACAwMAAgMDgAIDgAACA4CAAgOBAAIDgYACA4IAA gOCgAIDgwACA4OAAwAAAAMAAIADAAEAAwABgAMAAgADAAKAAwADAAMAA4ADA IAAAwCAgAMAgQADAIGAAwCCAAMAgoADAIMAAwCDgAMBAAADAQCAAwEBAAMBA YADAQIAAwECgAMBAwADAQOAAwGAAAMBgIADAYEAAwGBgAMBggADAYKAAwGDA AMBg4ADAgAAAwIAgAMCAQADAgGAAwICAAMCAoADAgMAAwIDgAMCgAADAoCAA wKBAAMCgYADAoIAAwKCgAMCgwADAoOAAwMAAAMDAIADAwEAAwMBgAMDAgADA wKAA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AP// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////b/ //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////b////////2//////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////29v/////2 9v/////////////////////////////////////29vb2//////////////// //////////b29vb2//////////////////////////////////////////// /////////////////////////////////////////////////////////1lZ UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVlZWVlRUVlRUVFRUVFRUVFRUVFRUVFRUVlZWVlZWVlZ WVlZWVlZUVFRUVFRUVFQUFBQUVFRUVFRWVlZWVlZWVlZWVlZWVlZWVlZWVlZ WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZ WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWFhRUVFRUFFZUVFRUFlR WVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFR UVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWVlZWVhY WFhZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhQWVlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQUFBQ UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFBYUFBYWFhYWFhYWFhYWFhYWFhYWFhZUVlYWFhZUVFQWVlZ WVlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFBQWFhY WFhYUFBQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQUFBQUFBQUFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhYWFhZWVlZWVlZ GVlZWVlZWVlZWVlZWVlZWVlYWFhYWFhYWFlZWVlZWVlZWVlZWVlZWFhYWFhY WFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVlZWVlZWVlZ WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlYWFhYWFhYWFhYWFhYWFhYWVhYWVhY WFhZoqKiYmJiYmJiYmKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqJiYmJiYmJiYqJiollYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZ WlpaWlpaWlpaWlpaWhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa GhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa GhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhpaWVhYWGFY UFmrCAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb2CKtQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhYWFlj bGxsZGxkZGRkZWRlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVl ZWVlZWVtbWVlZWVlbW1tbW1tZW1lZWVlZWVlbWVlZWVlZWVkbGxsbGxsbGxs bGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxtZWVlZWVlZWVlZWVlZWVsWVhYWKJZ UVGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////b/9qtRWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlj bW1ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5u bm5ubm5tbW1tbW1tbW1tbW1tbW5ubm5ubm5ubm5ubm5ubm5ubi5uLm4ubi5u Lm4ubi5uLm4ubi5uLm4ubi5uLm4ubi5uLm4ubi5uLm4ubi5uLm5tWlhYWFlZ WVGs9v////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9qNRWVlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYYFhYWVlk bWYmJiYmJiYmJiYmJiYmJiYuLi4uJiYmJiYmJiYmJiYmJi4uLiYmJiYmJiYm JiYmJi4uLiYmJiYmLi4uLi4mJiYmJiYuLi4uLi4uLi4mJiYmJi4mLiYuJi4m LiYuJi4mLiYuJi4mLiYuJi4mLiYuJi4uLi4uLi4uLi4uLi4uLi5tWlhYWGFY WVGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY UFlYWFhYWFhQWFhYWFhYWFhYWFhQWVhYWVhQWFlYWFlYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYYFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhgWFhYWFhYWGBYWFhYWFhYWFhYWFhYWFhYWFlk bSUmLiYmJi4uLi4uJi4uJi4uLi4uLiUuLiUuJS4uJS4uLi4lLi4lLi4uJW4l Ji4lLi4uJS4uJS4uLi4lJS4uJSVuLiUlLS4lLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi5tWlhYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WVBYUFhYWVBYWFhYWFhYWFhZWFhZWFhYUFhZWFBYWVhYUFlYWVhYWFhhWFhY WFhYYVhYWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYYVhYWFhYWFhYWFhh WFhhWFhYWFhYWFhYWFhYWFhYUGFYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlk biYuLi4uLi4uLiUuLi4uLiUuJSUtbi4lJS4lbi4lLiUuLiUuJS4lLiUuLi4l LiUuJiUubi4lbm4mJS4uLiYubiYlJS5uLiUlLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFBZWFlYWFhYWFhZWFhYWFhYWFhYUFhYWVhYWFhYWFhYWVhYWFhYWFhYWFhY WFhYUFBhWFhZWFlYWFhYWFhYWVhYWFhZWFhYWFhYWFhYWFhYWFhYUFhYUFhQ WFhYWFhYWFhYWFhYWFhYWGFZWFlYWFhhWFhYWFhYWFhYWFhYWFhYWFhYWFlk bi4uLi4uJSUtJS1uJSVtbW0uJS4lbiYmJSYuJiYlJm4uLi4uJS4uLi4mLiUm biVuJi4mJiYmZmYlbiYlLiYmJW5uZSUlJi4uJi4uLi4mJiYmJi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLiYmJiYmJiYmJiZmJiYmZiZlWlhYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBY UFhYUFhYUFhYWFBYWFhQWFhQWFhYWFhQUFhQWFhYWFhYWBBYWFhQWFlQUFhY WFhQWFlY9QhYWVBQWFBYWFhQWFhQWVBQWFBYUFBZUFhYUFhQWFhYWFhYWFhZ WVBQWFlYWFhYWFhQWFhQWFhYWVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlk biYuJiZuJWZubm1ubnduZW1ud25lJWV3b25mZm9ubm4lb79ubiUlZm5vbm5u ZWVlbm5vbmZuZmZuZm8lbm53b2VubmVubm5uJSYmJiYmJiYmJiYmJiYmJiYm JiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiZmJiYmZiZlWlhYWGFY WFGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFii ollZollZWaJZWaJhWFiioliiqlhYqqFZomFZqlhhq6uiWFmqq1mqWVCrq6ui WaKrq2JZWfX0UFmrYVmiWWGiWaJiWaKiWaurq6JZUKurq6JZq1lQWaKqq6JY Waurq2JZs1lZoqurYVmrq6tYWapZWatZYapZWFlYWFhYWFhYWFhZWFhYWFlk biZmJmZuZm6/t2Vuv7+/rm6/v7+3rr+/v79lt7+/v21lZb9uZWVubr+/v7+/ tm23v7+/t2W3v2Vct79uv7+39re/v2Vlbb+3bm5mZmZmZmZmJiYmJiYmJiYm JiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYuLi4uLi4uLi4uLi4uLi5tWlhYWGFY WFGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFn0 CGKrCKtQrPaiogj0WVEICFAICGFZq2Gq9qKiCFmzCPQIoqIItKIIoqv29PYI qwj0CPZZUAj1WVr2oqsIWasIYvX0WfX1WfYI9Qiiqwj1CAhZCKtQWfT09Aii 9fX1/6uiq6KiCPT1oqII9AirqwhZogiiogiiWFhYWFhYWFhYWFhZWFhYWFlk biZuJmZmZW6/t2W/v2W39re/Zbe3tvZtbr+3v25uv79lbr+/ZWVlZb+3ZWW/ v2X2tmVu9q639mW39rZtt21lrva29r+3t79ubW1uZmZmZmZmJiYmJiYmJiYm JiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYuLi4uLi4uLi4uLi4uLi5tWlhYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZUGII /6P19vVQ9fb3rPYIWVr29qII9qtRWVCjCFqi9qII9VEIrKL2WVr2WvX1UfUI qwhZowiiovYIq1H/oqsIUasIWQj0UAj1UQj0Wfar9PVQ9AhaCKtZUFlZWQir 9qNZ9qtZUFn0CFlZWQj1WfX0qwhZoghZYgmiWVhZWFhYWFhYWFhZWFhYWFlk biZuJiZuJW6/dm2/t2S29r+/ZK6/t/Zubr9uZW1ldr9uZW6/bmVuZb+3ZWW/ v672bW1tv7e3v2W3v21tZWS2t/au9r+3v79uJS4uLiYmJiYmJiYmJiYmJiYm JiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYuLiYmLi5tWlhYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////9vb2//// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlZUWII 9fX2rAijCKz2CPUIo/f19QgI9fVZUVCj9lpaCKMIo1H19aMIWVr2WvX1Wff1 ovUICAhZrAj09VkIoqsIWasIWgisWfX0WgirUQis9AhQrAhZCKtRUKwICAha q/YI9vRQWVkI9FlQWQj0UfT1owhaWgiiYghhWVhYWFhYWFhYWFhYWFhYWFlk biUuJm5uJW6/t2W39va/tre/bW6/br+/v7duv7duv79lbm6/d2Vubr/2v7/2 bbb2bmVuv7e39r+/v7Zlt7+/9rdlt7duv3clLi4uLi4mJiYuLi4uLi4uJi4m LiYuLi4uLi4mJiYmJiYmLi4uLi4uLiYmJiYmJiYmJiYuJiYmLiZlWlhYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// 9vb////2///2///2//b////2//b/9vb///b////29v/29vb2//b///b29vb2 9vb2//////////b29vb29vb2//////b29vb/9vb2//b///b2///29vYHB/b2 9v////////////////////////////b/////////9v//////9v////////// //////////b2///2////////9v//////9v////////////////////////// //////////////////b////////////////////////////2//b///////// //////b/9v/2//////b29v////////////////////////////////////// ///////////////////////////////29vb/////9vb29vb29vb///////// ///29vb29vb2//////////////////////////////////////////////// ////////////////////////////////////////9vb///b////////29v// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBZWfUI WvYIWggICFoICFoI9Qiso/+sq/aiUVmi/6z1CFr1CKsIoqIIWVn2oqv2qwgI UfSi9fVZCKOj9qP2oqv2qwgIUQj2owi0WfYHq/ai9QhQ9AhaCAijYggIoqtZ oqyrCKtYWFmrCKy0WfQIqwirq/ar9fb09AhhWFhYWFhYWFhYWFhYWFhYWFlk bi4uZmZlZW6/t2Vuv7dlZb+/Za6/bre/bWVuv/a/v25lJW63v2Vlbb+/ZW2/ t7b2biVt9re39m1lt/au9r9ubmVlt7+3v24lbi4uZmZmJi4uLi4uLi4uJi5m LiYuLi4uLi4mJiZmZiYmJi4uLi4uJiYmJiYmJiYmJi4mJiYuLiZtWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////b/ ///2B/b29gf2Bwf2B/YHB/b2Bwf2Bwj2CPYH9gj2CPb2CPb29gf29gf29vYH B+/v9gf2//YH9gf2CAf29gj2CAf29gcHB/b29gcH9vYH9vbu9vYH7/avpQf2 //b///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////b///////////////////////////////////////////////// ////////////////////////////////////////////////////////9vb2 9v////////////////////////////////////////////////////////// //////////////////////////////////////////////b////////29v// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWKur UbSrUav0tFmiq1GsrLRiWrRaWfRiUFCr9gj1o1lZqwirEKsIWGKzWVn0CAj1 YqwI9aJh9FlZtKL0olr19fSiWaz1CPRZWQgI9bRZqqtZovRZ9PX1q6P0CPRZ ogj1s1hYYVBZrPT1WViz9bNZovT19fT09KtYWFhYWFhYWFhYWFhYWFhYWFlk biUuZmZubrf2t2Vlt79ubre/bbe/ZW6/tmVtt7dlZWVuLWVuv25lbb+3ZWW/ t26/tyVuv7e3v20lt7+u9q4lbW5lZr+/t2ZuJS4uZmZmJi4uLi4uLi4uJiYm Ji4uLi4uLi4mJiZmZmYmJi4uLi4uJiYuLi4uLi4uLi4uLi4uLiZtWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// 9vb2pQemrqWurq+lpvbvpvaupa7vpa6upq6lB66vrqaurq6upq7vr6aurQet 7qWl76UI9u+l9qXvpqWur6Xvpq/2Xa+une/2pqaupe+l9qampu+mpa6upa4H 9v////////////////////////////////////////////////////////// ///////2////9v////////////////////////////////////////////// ///////////////29v//9v/////2////////9v//////////////9v////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////9vb2 9vb29vb29vb29vb2//b29v/////29vb29vb/9v////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFlY WFhQWFhYWFhYWFBYWVlYWFBZWFhYWFiiCGFQEGFZWVBYWasIYllRWVlYWfQI WVFQUFhZUFhZUFkQWFlQEFhYUFFQUFBQYfarWVhZWFhZWFBQWVBZWVlZUFhY WVhQYVhQWFhZWVlZWFlYWFBYWFBZWVBZWFhYWFhYWFhYWFhYWFhYWFhYWFlk biUuJiYmbre/d25lbr93bm6/t7+3JSW3v25uv7+3t25ubiVuv7dlbb+/v7+/ t7e/biVuv7e3v7+/v7dut7+/v3dlJbe/b2ZuJS4uZmZmJi4uLi4uLi4uLiYm Li4uLi4uLi4mJiYmJiYmLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiZtWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// 9v/2pQim76+upvalrq/vpvam9vavru+mru+vr67276/vr663pqavr6+3rq4H 9qal76b29u+d753vru+mr+/vna/vpu+mpu/2ne/vpu+v9p32pqbvru/v7q4H 9v////////////////////////b////////////2//b///////////////b/ ////9v//9v//9v/////////2//////////////////////////////////// ////////////////////9v/////////2////9v//////9v//////9v////// ////////9v/////////////////29v//9vb///////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhQWFhYWFhYWFhYWFiiCWFYWFBQWFBQWaIIWVkIYllZUPQI WFlYWFhYWFhYWWEIolhZWFhYWFhZWFhgWAisUFhYYVhYWFhYWVhYWFBYWFhY WFhYWFhgYFhYUFlYWFhYUFlZWFhYWFlYWFhYWFhYWFhYWFhYWFhYWFhYWFlk biYuLiYmLm5vbm5lZXduZm5ud3dubiVubyUlbrd3d24lJiZmt7dlZXe3r29v bmVvbiVubm5ud3d3bm5lbm93d24uJW53bmYmLi4uJmZmJi4uLi4uLi4uLi4u Li4uLi4uLi4mJiYmJiYmLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiZtWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// 9v/2pQeupaXvpe+upqavpa9d9vbvpaavr12l712vr66vpaXvrmWvr12m766u 9qam9qX29u9e713vpq6mpa7vpabvr++lpu/2pfb27++d766lpq6urq6upaUI //b////////////////////////////////////2//////////////////// ///////////////////2//////////////////////////////////////// ///////////////2//b29vb29v/////29v//9v/29vb/9v/2//b////2//// ////////9v/////////29v//9vb29vb29vb///////////////////////// //////////////////////////////////////////////////////////// //////////////////////b///////b29v//////////////////9vb///// ////////////////9v////b2///////////////2///////2//////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFlYWFhYWFhYWFhYWFhZYVBQWVhhWFhYWGFiUFiiWFBQWFlh WVhYWFhYWFhQWVlZWVlYWFhYWFlYWFhYWGFZWFhYWFhYWFhhWFBYWVhYWVhg WFhYWFhYWFhYWVlYWFhYoVhYWFhgWFhYWGBYWGBYWFhYWFhYWFhYWFhYWFlk biYuJiYuLiYmJi5mZiUmJiYlJWYmLiVuJW4mZmYlJi4uJS4mbnclJSYlJSUl JiVubiZuZiUlJSUlJS5ubmZlJSYuLiUlLiYmLi4uJiZmJi4uJiYmJiYuLi4u Li4mJiYmJiYuLi4mJi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiZtWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///2pe4IBwf2pQf27/b2Bweurq4HCAf27+/v9q7v7+8IBwf29u/v9u/v9q6u 9u/v9qX29q6m71327+/27q72B+/2pe/27vb2paWurggHCPYH9gf2CPYIBwf2 //b///////////////////////////////b2///29vb/9v/2///2//b2//// 9vb////2//b2//8I///29v//9v/29v/29v////////////////////////// //////////////b2//b29vb29vb29vb29vb29vb29vb/9vb2////9vb///b2 ///2///2//b/////////////9vb29vb2///2//////////////////////// ///////////////////////////////////29vb29vb29vb29vb29vb29vb2 9vb///////////////////////////b29v//////////9v////////////// ///////////////////////////////////////////////2//////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFlYWFhQWFhYWFhYWFhYWFhQWFlQWVhZWFhYUFhZWFhQWVhQWFlYYVhY WFhYWFhYWFhhWFhQWVhYYFhYWFhYYFhYWFhZWFhhWFhhWFhYWFhYWFhYWFhY WFhYWFhgWFhQWFhYWFhYWFBYYVhYWGBYWFhQWFhYWFhYWFhYWFhYWFhYWFlk biYuJiYuLiYmJi4ubiUuLiZuLiUlLi5ubiYubiYmJiYuJi4mJSYuLiUubm4l Li4uJiYuJiYuLm5uLiUlJWZuJiYmJW4lJiYuJi4uJiYmJi4uJiYmJi4uLi4u Li4uJiYmJiYuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiZtWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////b/ 9vb27vb29vb29v/29v////b2B/f29vb/9vb/9vb2B/b///b/9v/////29vb2 9vb29vcI/wcH9vf29vb////29v8H9/b29vb29gf3CPb29vb29vb29vb29vb2 ////////////////////////////////9ggI9vYICPb2CPYHCP8H/wgH9vb2 Bwf29vYH9vYH9v8H9vYICPb2B/b2CPb2B/b/9v////////////////////// ////////////////9vb29vb29vb29vb29vb29vb29vb2//b29v/29vb29vb2 9vb/9vb29vb29vb29vb/9gj29vb29vb29vb2//////////////////////// ////////////9vb29vb29vb29vb29ggIBwcHBwcHBwf39/f39/f39/f1BwcH BwcHBwcICAgI9vb29vb2////////////////////////////////CAgJCQkJ CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkICAgI9v////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhZWFhY WFlZWFhZWVBZWVhZWFhYWFlYWGFZWFlZWVBZWFhYWFhZWVBYWVhYWFhYUFhZ UFhYYRBYYFBYWVlZWVhYWFhYWFhYWFhYWFlQWVBYWFhYWGFYWFhYWFhYWFhY WFlYWFhYWFlZWVFZWFhhWFhYUFhYWGBYUFlYWFhYWFhYWFhYWFhYWFhYWFlk bi4uJiYuJiYuJi4mbi4uJm4lbm4uLi4lJi4uJiZubi4uLi4uJiVuLi5uJWYm LiUlbiYmJiYuJiUmLi4uLmZmJm4mJW5uJiYuJi4uJiYmLi4uJmYmJi4uLi4u Li4uJiZmZiYuLi4uLi4uLi4mJi4uLi4uLi4uLi4uLi4uLi4uLiZtWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //b/9v/2///2//////b/////////////////9v//////////////////9v// //b///b///b29v/2///////2///29vb29vb29vb29vb29vb29vb29vb29vb2 9vb/////////////////////////////9gcHCAgIB/YIB/YHB/YH/wgH9v// 9/f///akCAj39v8HCPYICAgIpPYIB/YIB/b/9v////////////////////// //////////////b29getrvYHrq4IB67u9u7u9gcHBwf39vb2Bwf39gf39wj2 9+72Bwf2B/YH9gjurgf2B/f39vaurvb2ra32//////////////////////// ////////9vb29vb29vYHBwcH9/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f39fUHBwcICPb29vb29v//////////////9v////YIq1qioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqGhoqKirAj///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhQWVBZWFhY WFBQWVBQWVFRUVBZWFhYWFhYWFhQWVFRUVlZWVhYUFhQWVFRUFlZWFBYWVhY WFlYWGBYWFlYWVBRWVBQWFlYWFlYWFhYWFlQWVhYWVhYWVhYYFhYWGBYWFhY WFhQWVhYWFhZUFFZWFhYWFhYWVlYWFBZWFlYWFhYWFhYWFhYWFhYWFhYWFlk biYmJi4uJiZuLm4mJW4lJW4uJWVuJS5uJSZuJiZuJSUmZiVubiVuJWYlZm4l JW5mZm4mJiYuJiVuLi4lbmZmZmZuLiUlbm4lbi4uJi4uLi4mZmZmZm4uLi4u Li5uZmZmZmZuLi4uLi4uLiYmJi4uLi4uLi4uLi4uLi4uLi4uLiZtWlhYWGFY WFCs//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////9v/2 //b29v////////////b///////b///////////////////////////b///// ////9vb29vb29v//////9vb29vb29vb/////////////////////9vb2//// //////////////////b///b///////b///b2//YI9vb2CP8I9vb///8H//b/ 9gj///YH//YI//YI9vYI9vb/B/b2CP8I9vb2//b/9v/2//b////////2//// ////////////9v/29gfu7gfuru7vB6WuCK729q72paWu9u/2pqad9qbvru/v nK727+/2paal9u+lpqX2ru+u7+/u764Hru739v////////////////////// ///2////9ggHBwf39/f39/f3B/cH9wcHBwcHBwcHBwcHBwgHBwcHBwcHB/f3 9/f39/ek9/f396ykrPf39/X19QcIB/b///////////////////YIWllYBqFY oaGhWVmroaKZWVlZWVlZWaKroqKimVlZWZlZWWBYWFlZo/b///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYqwgIq1hYWFhYWFhYWFhYWPT19aJZWFiqCPUICAgICPUICPX0WFhY WFhYWFhYWFhZUFqj9QgI9KtZWVlQWFhYWVmrCPX19atQWVhYWFhYWFhYWFhY WFhYWFhYWFn1CPRZWVhYWFlZWaP1CPUIo1lQYVhYWFhYWFhYWFhYWFhYWFlk biZuJm5uJW5uZW4lZW5lZW5tJW1uJW1uZW5lLiVmZmZlZW5lZW5lbmYlbmVl bmVmZmYmJmZlbm5lJW4lJW5uZWZmZWZlZW5mbmVuJi4mJW4lZm5lbW5tJW5t bWVuZW5lZWVlbi4mJiYmJiYmJiYuLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFCs//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////9v/2 9vb/9v//////////9vb/9vb29vb29v////////////////b29vb///////// ///29vb29vb29vb29vb29vb29vb29v////////////////////////////// ///////////////////////////////////////2///2///2///2////9v/2 9v//9v/////29v//9v//9vb///b///b/////9v////////b/9vb2//////// ////////////9v//9getrgcHB+4H7qWu9u729q4Ipaau9vb2rqam9u+upu/v na72pab2ru+u9q6mpq7v766u7welrgf2pfcH9v////////////////////// //////YI9/f39/f1BwcH9QcHCAf1CAcHCAcIBwcHCAcIBwcHBwcHBwcHBwcH B+0H9+317ff39/f39/f3pPekpKT39wf2//////////////////8IolmhBmCh s/OqYaKzqvWrq/S09PT0rPT0rKur9Kqrs6uroWBgBqFZq/b2//////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWVlZ9P/2q1BYWFhYWVhZWFhYWAj/9mJQWFir////9v/29v/2//8IWVhY WVhZWFhYWFhQrAj/9v//9v/1WllZWFlQqwj2///29vb1WllYWFhYWFhYWFhY WFlZWFhYWKL//whYWFhgWFBZCPb/////9vWiUGFYWFhYWFhYWFhYWFhYWFlk bm5uZm4lbr+/v7dubre/v79uZb+3bmW/v21uv7+/t2W3v25tbr93v7+/v7+3 v7+/v78lZXe/bm5lv7+/diUlbr+3v25lbma3v2+/d2Vubm5ut7+/t2Vuv7+/ v25tbr+/v25uZS4uLi4uJiYmJiYuLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 9vb/7/b29vb29vb29vb29vb29vb29vb29vb///////b29vb29vb29vb2//// 9vb29r+/t7evrq63twj29vb29vb2//////////////////////////////// ///////////////////////////2////9v////b///b/9v//9v/29v////// ///2///////////////////2//////b2///2//////b/9v////////b///// //////////////b/9vYHCPb29vb29gf29vb29vb29vb29vb29vb29vYHCPb2 B/b2Bwf29vb29vb2CPb29gcI9vYHCPb2Bwj29v////////////////////// /////wj37e3t7e319fUH9Qn19/UH9Qf19fUH7fX19fUHBwcHB/X19fX19fXt 7fft9/X39/es9/f39/f3rKz3rKz3pPX2//////////////////8ImllhWGCh s7OqYar1q7T09Ky0rPS0tKysoqu09Ai09AirWQYGBlhZq///////9v////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFBQ UFBQUVFR9//2rFBYWFBQUFBQUFhYUQj/9qJRWVmr9v//9vYICAcICPX0WVhY WFhYWFhYWFmj9v//9ggICP//9lpZWVmiCP//9ggI9v//91lYWFhYWFhYWGFY UFBYWFBQWKL29vVZWFhYWKII9v8ICAj2//YIWlhYWFhYWFhYWFhYWFhYWFlk bW4lZW5lv792bva3bb+2Zb+/bb+3ZW6/t22/v22uv26/v2Rtv79uv79lJSV3 v7dubW5uZW72rmVuv7e/v25uv7+u9m5ut2W3v26/dyVuJSV3v25uv7+3t25t v79uv7dut79uZSUuLi4uJiYmJiYuLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 ///2pV1eXV1dXV1dpu+mZaZmZmamZqau9vb/9v//9gimpmZmZ2ZmpqWu9v// 9va3r2ZmZh5mZmZeXmavt7/29vb///////////////////////////////// //////////////////b///b///////b///b/9vb/////////9v////b///b2 ///////29v//9v/2///29vb/9v/29v/////2//b/9v//9v/29v/2//////// //////////////b/9v/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////////////////// /////wj39/ft9fX19ez39/Xso/cIrPX1rPf1pPX1rPcH9fUHB6ys9eys7Oyj 7Kyso/ejo/WsrKyspKz396ysrKz3pPX2//////////////////8JmlmhYaFh oVlZWfS09aui9auitPSiomKiYauzq6KioqKioQYGBphZo/b///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBZWKur q6yro6OkB//296OiUFmsrKysq6urqwj/9vejWlBZ9f//9UlJUVlZWFBZUFlZ WFhYWFhYWFkI//b1olBZqwj/9vVaWVn1//YIWlFaowj//6NZWFhYWFhYWFBh q6urq6uro6z/9girqmFYWKP//wijUVmiCP//rFBhWFhYWFhYWFhYWFhYWFlk bW4lbW5uv7dlZba/t79ubW6/rva/Zb+/Za72bgNu9re39q6u9nYlv7duZSV3 v65kJSVuJbf2t2W/v2W39r+/9rauv66/9ra3v66/tmVtZWW/t2Vlt79lZGVl t7+/v25lbva3ZWUuJiYmJiYmZiYuLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 //8HVEwNDQ0MTAwMXq9eXV5dFV5eFVVd9vb29vb29gddVRUVFRUVXVSl9vb2 B65mZmZmZmdmXmZnZ2ZeZm639vb///////////////////////////////// //////////////////cI9gf29gj/9gf2/wj3B/YHCPb3/wj39/f29vf3CP8H CP8I9v8IB///9wgIB///CP8H9wf/B/b/B/b/Bwf2B/YHBwj3Bwf39v////// //////////////b/9vYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB+8H7+8H7+8H BwcH7wfv7+/v7wfvB+8H7+/v7wcHBwcHBwcH//////////////////////// /////wj39/f39fX19aykpPes9az1rPX1o/f1pAj1rPcI9fUHB6Oj9ayr9eyj 9Kv0q6yro6z3rKyspKz396yspKT3pAf29v////////////////8Jo6KhBgZY oViZoapZqllQ9KthqqpZYVihYaqqoVhYWFhYoZiYoaKi7P////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhRWQj2 9vb/////9v//9v/1UaL2//b2////9v/////2rFFQogj/CPVaUVlYWFhZWFlY WFhYWFhYWKL//whZUFhYUKP29v9aUGII//+iWVlZUff2//VZWFhYWFhYWFn3 //b2//////b/9v//CKJQWQj2/6NRWVlQo/b/CFlYWFhYWFhYWFhYWFhYWFlk bSVubiVlv7dut/a/t79lZHa/rgj2v/a/Za72bm6u9re39vYHt25tv7dlbm1u 9va/v3YuZbf29r+/bWVuv66uv22uv7e/v7+/CK72v7e3tm6/t25lt79utrf2 9r+2v21lbva3ZW4uLi4uJiZmZiYuLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVE0NTQ1NTU0MXrdeXl5eXl5eXl5m9vb29vb29u9dXl5fXl5eXl1mv/a3 rmVeZmZmZm5vr69nZmZmZmVlrgj2//////////////////////////////// /////////////////6QH9vf29/f29qQI9gf3CP8H9wcH9qQHCAj2pAf29/YH CAekCP8H9/b29wcIB/ak9/b3B/b29/YHpPb/pAf2Bwj3BwikCAgH9v////// //////////////////YHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH7+8HBwcH BwcHB+/v7+/v7+/v7+/v7+/vBwcHBwcHBwcI//////////////////////// /////wj39/f39/f196z3pPes9/f3rPcHpPcHrAj3rPcIBwcHB6yj9ayj96yj 96ysrKyjo6yspKyspKytraytra2tpAf29v////////////////8Jo6Lr6+vq 66KioqKioqKZoZmZmaGYoaGhmKGZoaqhovPq6uvr6+uj7P////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVlQWQj/ ///29v//9v//9vb0UaL29v/29vb29v////8Iq1lZUGL2//ajWVBYWFhYWFhY WFhgWFhYWbT2/6xZWGFYUFoI9vZiWVn09LRYWFhZUVr//whZWFhYWFhYWFms //b///b2//b/9v//CKJZWQj29qJZWVhZWvb2CKJYWFhYWFhYWFhYWFhYWFlk biVuLiVuv7dlrq5utr+uZW6/rvYIrq6/v672diVk9re39gj2rmVlv7dlbm52 9ge2di4ubm729va/ZW1uv7e3v22u9r+/rr/2CK72v7a3v7a/v2Vlv7+29r+3 bW23v25ubr+3ZW4uJi4uJiZmZiYuLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //b2VE1OTk1NTU0NVu9eXl5eXl4WFl5e9vb/////9u9dXl4WVl5eXh5nv7dm ZmZmZq639vb29vb29revZmZlZa4I9vb///////////////////////////// /////////////////6QH9vcHpPf///f2/wf39v8HpPf2B5v/9v/2pP//pPYH B/ek9v8HB///9/YIBwekCP/3B/b2Bwf3pPb/9wj/B/ekCPb3///2//////// //////////////////b2//b2////9v////b2//b////29vb29vb29vb29vb2 9vb///////b/////9v////b2//b29vb29v//9v////////////////////// /////wj3ra2trq62tra2rQetrLa2rba2ra4Htge2rbYHBwgHB62tB7atta2t ra2srbWkra2tpKysrK2tra2lpaWtpAf2//////////////////8JmpmRmtqa 4+Lj4+Pj4+zr4+zr6+zj6+vr6+vr6+Lr45rj4pmZmZGSo/////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlQWff/ 9ghaWVpa9f/2rFpZUFkH//b3WVlZogf29qtZUFhYUFmj//b/ollYWFhYWFhY WFhYWFhYWfT2/6xYWFhYWFH1//aiWVBZWVhZYFhhWVH2/whZWFhYWFhYWFij //8Io1laUaP/9ghaYVhZWQj/CKJYWFhhUAj/CFpYWFhYWFhYWFhYWFhYWFlk biUuJW5uv7dlZa62t79uZW6/rgi3ZWW/v7b2biVl9ra3v672v20lv7dlbSV2 9q5lLSUlZW72r672biVltvb2diWu9vZubbf2CK72rmRuv7f2t2Vmt7+39m1l rmWuv25lbva3bm0mJiYmJiZmZiYuLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////b/ //b2VE1OTk5NTk0NVu9eXl5eXhZfXl5e9vb/////9u9dXl9WXl5WXhZnb2Zm Zmavv/b29vb/9vb29vb2t25lZWWut/b2//////////////////////////// //////////////////cH9vekBwf/9vf29gekB/YHpAf296T2//YH9/b/pAgH pPcHCP8H9///pAj296QHB//39wf/B5v3Bwj/9wf/9qT3//ak//b///b///b/ ////////////9vb2//b2//b29v/29vb///b///b/9vb29vb29vb29vb29vb2 9vb2//b2///////29vb/9v/////29vb29vb29vb///b///////////////// //////YHtra2v7a2v7a2v7a/CL6+CL6+CLYICAgICAgItgi2CAi/vr+2tr4I tr6+tra2vra2tra2tra2tra2tra2rQcI9v////////////////8JmpGampKR kpGRkZHakZHj2pHakZqZmpqZmpGRkZqRkZqRkZqampGS4/b///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL2 //ZZWVFQ9P//rFBYWVCs//8IUVlZUQj/9lpRWVhYWFhZq///CKJYWFhYWFhY WFhYWFhYWKv/9ghZWFhYWVr2//aiUGFYUFlYWFhYWFoI//ZaWVhYWFhYWFhZ CPb/q1FZWaL/9ghQWVlQWfb29lpYYGBYWfb2CGJYWFhYWFhYWFhYWFhYWFlk bi4uJSVlt7+3t79ubr+/dr+/rr/2bre/t672bW2uv7e/v25lv3ctv7dlbi12 9rdudm4uJbe/r2a/v25tbvb2bS1u9r9lZW72v672t26/9q6/t25lt7+uv7eu t263v25lbr+3bmUmLi4uJiZmZiYuLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk4NXrdeXl5eXl5eXlZe9vb29vb29rdeVl5eVl9eVl4WZ2Zd Zrf29vb////29vb29vb29vauZWVmZr/29v////////////////////////// ////////////////9vcI9pv3//f29vcH9gf39v8H9wcHB6T///b2pPb2pPbt o/YHCP8H9///9wj2Wwf2B//3B/b/pKT29wj29wf29qQH//ak//////////// //b/9v////b3pa729q7v9q7v9u+lpe/29vau7/bu7//2Bwf29q4H9valpfcH 9vb29gem9vb29valpqb2Bwf29qbv9qWupqb27+/29qUH9vb///////////// ///////1tbW1vbW2tr61vra2vb61tbW9tbW9tbW1vbW1vb21trW1tb61tb21 tb61trW1vbW+trW+tba2tbW1tbW1rLb29v////////////////8JmpGakZqa ktKRkpGR2pEJ45HakZGZmdmZkZGakdnZ0dnZkZqRmpqZ4/////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFn0 //asUVlQ9P//rFlYWFBZCP/2o1lQUQj/9ptRWVBYWFhYUPX2/whZWFhYWFhY WFhYWFhYWGEI9v/0WVBQWgj2//VZWFhYUFhYWFhYWVn//whZWVhYWFhYWFhZ Wv//CFlZUKP2//VZWFhZWfb/9mJYWFhYWfb/CGJYWFhYWFhYWFhYWFhYWFlk bWYmLi4lJne/v24tJW2/t7dlbre3t7+3Za63biVlt252d25lb79ud3cmLi5u t7+/v7dmZm53bmZud3dubm5vbiVud25lZW53t263v7+/b263bm5lbndubr+/ v25ut2ZlZbdvZiUuLi4mJm4lbiZuJSYuLi4uLi4uLiYuLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk4NXrdeXl5eXl5eXlZe9vb29vb29rdeVl5eXl5eXlYVZ2Zm t/b29v////////////////YIrmZmZq/2//////////////////////////// ////////////////9qQH/wf29gcIB6QHCAf3B/YH9wf29vcHBwf2Bwf3B/8H B/8H9gjt9wj27Qj27fYIB/8H9wf/Bwj/BwgH9/f29gf2//b39v////////// ////9v/29u6c7+/29lzvr1zv9l3v71T29vadnvadpvb2B6X271Tv9u9d7wf2 9vb29ghd7/b29gid7+/2B6729p3v9lym7+/276b2B5z29v////////////// /////wijYmJhYmJiY2JqYmtrampis2tqa2pqa2qrampqaqpra2tra2NjamJq YmJjWmNiGWtiYmIaGmMaYyIiYlpaWvf2///////////////2//8JmpGamgkJ CQns2uOZkdoJ45KR2tqRkJmQmpqSmtrZ2drj45qRmZmRmv////////////b/ //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFij ///2WllQ9P/2o1BYWFhZrPb29VlZUAj/9qJRWVlYWFhYWVkI9vb1WFlYWFhY WFhYWFhYWVis//b2CPUICPb/9qJYWFhhq6JYWVhZUKL/CAhZWVhYWFhYWFhZ WvX/9qtQWaP29ghYWFhYWQj/9mJYWFhYWfb/CGFYWFhYWFhYWFhYWFhYWFlk bW5mLi4uLm5lJS4uLW53brduJSVuZiUlZR1uv2W/biUuJm5mJWYlbiUuJiVu biUlZWYlbiYuJSZuJm4lJm5uJS4mLm4mJSUlJWVmJSUlZWZud25vb24lZWVm JW4lb7dut25mJSYmJiYmLiYmbiVuJiYuLi4uLi4uLiYuLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk4NXrdeXl5eXl5eXl5e9vb/////9gdeVl5eXhZeXhUVZma3 9vb29v/////////////////2CK5dZmbv9vb///////////////////////// ////////////////9gcH//b///b/9gj29v/2///29vb2//YHBwf2//b2//// ///2//b2CPb/9vb/////9v/2CPb/9v//9v/29vb29vb////29v////////// ////////9pyu9vb29l2mXe/2r1329l2m9u9dne9cpvb276bvnVzv9u+d9vb2 //b29ged7/b29gdc9vb29qWmnZ329u+d9vb29qWupaX29vb///////////// /////wiiYaGhqaGhoampqaKqqaixqampqampqampqampqampqaliWWJioWFh oWFhWaKhYWFYYGBhYGFYWGFYWFhZmvX29v/////////////2//8JmpGR6wnj 4wnsowmaCezsCeSSkQnj0ZEJ9gnk2wkJ4+PsCeyakZGa7P////////////b/ //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBZ 9fb/q1BZ9P/2q1lYWFhQWfb/9qJZWQj2CKJYWFhYWFhYUFGiCP//rFlQWFhY WFhYWFhYWFBZrPb///b2//8Io1lYWVmsCAisUFlRWff2//VZWFhYWFhYWFhY WaP//whZUKL//whZWFhYWQj/9mJYWFhYUfb/CGFYWFhYWFhYWFhYWFhYWFlk bW5mLi4mLmZlbi4lJW5vbm5uLiUlJW5uLi4ubi53bi0uLiYmbm4lJW4lbm4l JW5mJSYmJiZubm4lJS4mLiYuJW4mJSUubiYuJm4mZiYmbm4lbm5vbyUlbmUl Ji4mbm5ub24mJi4uLi4uJiYmbiUmLiYuLi4uLi4uLiYuLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk4NXrdeXl5eXl5eXl5e9vb/////9gddXl5eXlZfFg0VXq/2 9vb29v/////////////////29rdmZmav9vb///////////////////////// //////////////////////b/9v//9v//9v/////////////29vb///////b/ //b29v//////////////////////////9v/2////////////9v////////// ////////9lwH9vb29p2dne/2pqb29q+d9q6lr66lru/276+epq/v9vZUpq4I 9vb29ghdnqbv9ghc9vb29q6mpu7/9vacpvb29q6mnQf29vb///////////// /////wiioQYGBqGqoampqamhqaioqKioqKmoqKioqKipqKioqKrzCauhoaEG BqGhoZkGBlihBlgGYGBgWGBgYFhZovX////////////////2//8JmpGR4gma kZGRmvX/CZr17QntkgnakdoJ5JLt25rjCeOakvbs2pGR4/////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQ o//29llQWVliWVBYWFhYWaz2//VRUVlhYVhYWFhYWFhYWFlRo/b2/6NQWFhY WFhYWFhYWFhZpP/29vb2///2o1lQWVn1///291pR9//29qNZWFhYWFhYWFhY WFkI9v+sWVlhWVlYWVhYWQj/9mJYWFhYUfb/CGFYWFhYWFhYWFhYWFhYWFlk bW4mLi4mJm5uZiUubiUlbm4lLi4ubiUlbm4lbi4tJS4lJS4uJWZuZiZubiZu bi4mbiYubm4lJW5uLi4uLiZuZm5uLi4uJiUuLi5ubiYuLm4mLiYlJW5uJi4l byUubiVuJW4uLi4uLi4mJiZuJiYuLiYuLi4uLi4uLiYuLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk4NXrdeXl5eXl5eXl5e9v///////wddXl4eXl5fFQ0VZrf2 9vb2//////////////////b29vZmZmZm9vb2//////////////////////// ///////////////2///////////////////2//////////b/////9vb29v// 9vYI9vb29vb2////////9v//9v//////9v/2///////2//////////////// //////b29pyl9vb29l3v71z271z29l2m9q6m713vru/271Sd9qbv9u+d7/b/ ////9ghd7++d9gel9vb29gednfb29vbvnAf29u+cpfb29v////////////// //b//wiioQahoesJoamp9PSqqbGoqKioqLGoqPGpqamoqKio6fIJ9PUIWaGh oZmiWVihoQZgBmAGBlhYoWBgYFhZmfT2///////////////2//8JmpGR4gnj kZqakeP/o5Hs5JsJ5AnjkZoJ7aSbm5vt9pv17QnjmZmZ4/////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlQ WfX2/6xZWFBYWFhYWFhQWFkI//+jWVBQWFhYWFhYWFhYWVhZUaz//wiiWVhY WFhYWFhYWFCj///2o1FZrAj/CKJYUFn19v/29vb///b/9VlZWFhYWFhYWFhY WFir9v8IWVhYWFhYWVhYWfb/9mJYWFhYUfb/CGFYWFhYWFhYWFhYWFhYWFlk bm4mJi4uZmZlZmYlZm5mJSVuJiUlbm4lLiUlZW4uLm4uLi4uJm5uZWZmZiYm LiYlJi4lJW5ubm5mbiYmLiUubiUlJS4uJi4uLiUmbiUuLi5uJi4uLi4lJS4u JSUlJS4uJiUlLS4uLiUlbm5mJS4uLi4uLi4uLi4uLiYuLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk4NXrdeXl5eXl4eXl5e9vb//////wddXl4eXl5WDQ1Vp/b2 9vb/////////////////9vb29vavZmZlt/b29v////////////////////// ///////////////////2//////b///b///b///////////////b2////9vb2 CPdSnAj29vb///////////////b///b////////2///////2//////////// //////b2//ekB+/29p2u75z29p0HB1zv9qXv9lzv7672B1Pv9qXv9u+d7wf2 9vb29gdU76dc9vZUB/b29vadnfb2/wcIpKX29vZcpfYH9vb///////////// /////wiiBgahofQJoaH0/6uhoaGpqapYqQYGqQahoQapoQahoaGiWpoIoqGh 9PX19KJYWGFYoVhYWFlZWVhYWFhZovX2///////////////2//8JmpGRmQkJ CeyamgkJCZHtCUkJCfUJkZoJ9u3smwns4+MJ7OSamZmRmvb///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WaL/9ghZWFhYWFhYWFhYWFCr//b1WVlYWFhYWFhYWFhQWFhYWVkI9v+sWFlY WFhYWFhYUFkI//aiUFlQWqz2//RZWVn1//as9vb///b0WVlYWFhYWFhYWFhg WFhZCP//q1hYWGFYWVhYWfb/9mJYWFhYUfb/CGFYWFhYWFhYWFhYWFhYWFlk bm4mJi4mJWZmZmZlZWYlbm4lJW5uZWVuZmVlZW4lZm5lJSUuJSVlbmVlbm4l Jm5uJiUlJmZmZiVlJWZuJS4uLmZlbiUlZWUlJS4lbiUuJSUlJSUlJSVubiUu JW5uJS4lbiVubiUlJWVuZWVlbm4uJS4uLi4uLi4uLiYuLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk4NXrdeXl5eXl5eXl5e9vb/////9u9eXl4eXl5WDQ1U7/b2 ///////////////////////29va/ZmZlr/b29v////////////////////// //////////////b////////2////////////////////9v/2///2//b29vYH W1ukXFwH9vb///////b///b///////////////b2///////2//////////// //b///////b3pff29q6lpQf29getpQf29q729q72CO72CPf29gcH//alpaUI ////9vbvpqbv9vau9vb29vbv7///9velpaT29vYHB/YH9v////////////// /////wiiYAahofX0WaoI9VoI9aKhqvT1o/Sso/Wj7PWj9eya9aOjCJsIoqEJ 9qOjCAiiWaujWaz1rKNRWfX0q1lZWvf29v/////////////2//8JmpGRmgns 4+Ta2uzaCezj/wkJ4+v/CQnj7AkJmgkJCeObCQnjmZGZ4/////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFgI//+sWFhYWFBYWFhYWFhhCP/2o1lQWFhYWFhQWVFZWVhYUFmj///1UFlY WFhYWFhZWKL/CPZZWGFYUaL2//VZWVn1//ZZWqurq6JQWFhYWFhYWFhYWFhY WFhZrPb/CKJYWGFQWFlYWfb/9mJYWFhYUfb/CGJYWFhYWFhYWFhYWFhYWFlk bSYuLi4lbq+3t3dlbre/v7e/Zm63v7e3Zbe3v7e3Zbd3biVut7dlt7e3b25u LiVud7+3biVuv25uZre3brduJW63biVlt7+/v7+3t25ubre3bre/v25lbr9u JW63biVut7+/t7e3t7e/rm5ut2Vlbi4uLi4uLi4uLiYuLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk4NXrdeXl5eXl5eXl5eCPb29vb29rdeXl4eXlYVDQxV7/b2 ////////9v/////////////29vb2rmZmpvb29v////////////////////// //////////////////b///b////2////////////////////////9v/29gdb ZFxbZKRcB/b29v////////b////////2//////////b/9v////////////// //b///////b29vb29vb29vb///b29vb/9vb29vb29v/2//b2//b29vb29vb/ 9vb/9v/29vb29vb29vb29vb29vb2//b2//b///b2//b2//////////////// //b//wiiBqihmf+sofMIo/cI9Qii9Pb1CAgH9ggI//f/CPX29QgIBwgIoqKq /wiaWgirmvakWggHCPZapAgIq1lZWrX29v/////////////2//8JmpGSkQkJ kZKRkZHR2uOamuzkkaLj4+yamuvjmZHj7JGR2+PamZmR4/////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFii//YIWVhYWFhYWFhYWFhQrP//9VlZUFlYUFijCAj0WVhYWFCr9v8IWVlY WFhYWFhYWFn//wdZWFhYWVr2/whZWVn0//9ZWVBYUFhYWVhYWFhYWFhYWFhY WFhZWQj2/6tYWFhYWFhYWfb/9mJYWFhYUfb/CGJYWFhYWFhYWFhYWFhYWFlk bSYuLiVmt7+3t7+3br+3bndubr+/dre/brf2t66/t7e/bmVuv7+2v7e/v3dl JW63v26/v252v25lrva/bva3JW72v2Vtv7+ubnZu9rdtbr+3t7+3t7+3rvZt Zbe/bmW39rd2bra3v7euv7e3v2VlbiUuLi4uLi4uLiYuLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk5NXrdeXl5eXl5eXl5eZqZmpqZmZmZeVl5eXl4WDQ1V9v// //////////b29vb29vb29vb29va/r2ZmZr/29v////////////////////// //////////////////////////////////////////////b/////9vb29ltc paVkpaWtrQj2//////////////////////////////////////////////// //////////////////b2//////////////b///b////29v/29vb29vb29v// 9v/2//b2//b///////////////////////////////////////////////// /////wiiBgahogmimQn1WgmrmgisCauiCKz3CFn09aL2o6MJovMImvX1oaGh ofQJ9wisWv/3owhb9/+b9fVZWVlZovX2///////////////2//8JmpGRmgn2 7OPjmpGZ2ZGZkZqR0dmRkZqRkZHR2dnRkZGRkZGRmdmZ4/////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhZ9fb/q1hYWFhYUFhYWFhQWgj2/6JZWFhYWVGj//8IWlBZUFGs9v+sWVhY WFhYWFhYWKII//ZZWFhZUKP//whZWFn0//9ZWVlYWFlYWFhYWFhYWFhYWFhY WFhYWKP//whaWFhYWFhYWQj/9qNYWFhZWvb29llYWFhYWFhYWFhYWFhYWFlk bW4lJS5uv79lZbe/rr+uZWUld79uZW6/tre/ZW229m6/9r+/9m6/v2Vlt79t Zbe/rmVuv7duv25uv/a/bfa3ZXb29m5tv7dlZWVu9rdlv79lbW1lbb+/t79t bbf2bmW29m1lA2VuZWVtv7e3v2VlbiUuLi4uLi4uLiYuLiYmLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk5NXrdeXl5eXl5eXl5eXl1dXl5dXl5eXl5eXl4WDQ1V9v// ////////9giurq6urq6urq6urq5vZl5mZr/29v////////////////////// ///////////////////////////////////////////////////////2pGSt ra63tq2urgf29vb///////////////////////////////////////////// //////////////////////////////////////////b29vb29vb29vb29vb2 ///2///2//////////////////////////////////////////////////// /////wiioaGi9P+sogn1m/fs9P8I/5mrCaL1CFn19KIIq6MJqvP0mgn0oaFg qaujogis9fYHCPda9Qj1CKuhoVlZmvT2///////////////2//8JmpHakZrs CQkJ65HakZqa7JKakdqSkpHS0dnZ2dnZmdmZkZGR2dmZ4/////b///////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhQo/b/CFlYWFhZWFhYWFhYUaz///VZWVBYWVBaCP//q1lZUFr1//+rWVhY WFhYWFhYWFn1//b1WVBZWgj/9vRZWFn1//ZZUFFQUFBQWFhYWFhYWFhYWFlZ WFhYWKII/wisWVhYWFhYYav///VZWFBZ9//291lYWFhYWFhYWFhYWFhYWFlk bW4uLm5uv79lZbe/rr+2bW0ldvZuZW6/tre/bWWuv26/v2W/v22/t21uv79t Zbf2rmVlv7eu9mW39va/rfa2Zb+/v3Zlvwi2tm5tv7+3v79tZW62v7+3tvZt A7f2bSW39na3d21lbra/v7+3v25uJS4uLi4uLi4uLiYuLiYmLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk5NXrdeXl5eXl5eXl5eXh5eXl5eXl5eXl5eXlYWDQ1V9v// ////////9vZuXWZmZmZmZmZmZmZmZ2ZmZb/29v////////////////////// //////////////////////////////////////////////////////YHW7YH rgf2t662trb29vb///////////////////////////////////////////// //////////////////////////////////////////b29vb29vYIB67vru8H 7u/29v/29v////////////////////////////////////////////////// /////wiiWfQICAgICPb/96sICPT1/6Oi9KKqCQkJCJr0CQn0ofTzofTzoamh 8/ajowirCLT0CKJZ9PQJCaGqqllZovX2///////////////2//8JmpGR2ZmR kZGRmpmZmpJR9fdSkZqSm5ubkdHZ2dmZmZqampqR2dmZ4/////b///////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhQWQj//6tYWFhYWFhYWFhYUFr29v9iUFhYWFhZrP/2CPWrrAj/9ghaUFlY WFlYWFhYWFirCP//9aysCP/2CGFYWFn19v+srKysrKyrq6JYWFhYWFhYWFlZ WFhYWFmr//YIWVhgWFhYWFkI//8IrKwI///2olhgWFhYWFhYWFhYWFhYWFlk bS5ubm1tv79lZb+/rva3bm1td/ZubW6/t7a/bWW29m5u9q6/t22/t22/t3Zt ba72rm1tv7eu9rf2rb+/Zfa2bb+2t79tv/a/v7du9r+/v79utr+/v7dut/Zt Jbf2bWW39r93d25uv7+/t2W3vyVubi4uLi4uLi4uLiYuLiYmLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk5NXrdeXl5eXl5eXl5eXl5eHl4eXl4eXl5eXlYODQ1V9v// ////////9r9mXWZmZmZmZmZmZmZmZmZlpQf29v////////////////////// ///////////////////////////////////////////////////2//b3pAgI Bwf2t7e2rq4H9vb///////////////////////////////////////////// ///////////////////////////////////////2//b29vbvpVxTU1QLClNL S1RUne729vb29v////////////////////////////////////////////// /////wiiWaKj9vWirPajo6Kqqqr09fWjqqGhqvUI7aOqqqryqqmpqKmpoWGq CKOjCPVZqmGqqmFhqlmqoWChoVhZovX2///////////////2//8JmpHZ2ZGR 2dmRmZqRkZqjowibWpuk9/fkkpqZ2ZmZmZqakdqR2dmR4/////b///////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhZWav29ghZWFhYWFhYWFhYWVn09vb0WFhYWFlYWfT////////2CKNZWFlY WFhYWFhYWFhZtPb/9vb///8IolhYWFn19v/2////////9vRYWFhYWFhYWFhY WFhYWFhhCP/2o1hYWGBgYFmjCPb/////9gijWGBYWFhYWFhYWFhYWFhYWFlk bSZuLmVuv79lZbe/br+2bSUld/ZlZW2/t7f2bWW39m1tvwi/bm23t2VltnZt JW72rmVuv7eu9va/Zb+/bfa2tvZlrr9uv7dkZGVt9rZkZb+/t7+2ZWVkt/Zt bba/bWWu9mVlZWW/v21lZWW3v2VuJS4uLi4uLi4uLiYuLiYmLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk5NXrdeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4ODQ1V9vb/ ////////9va/t7e3t7e3t7e3t7e3t7e3t/b29v////////////////////// ///////////////////////////////////////////////////2//atB/b2 9rf2v7e2pa6t9v////////////////////////////////////////////// //////////////////////////////////////b29vb2r15VVFRUXKanXQsL S1RdCktcpgf29vb///////////////////////////////////////////// /////wiiWZmiCauhqwmroqmpqQb0q/f0sqmxqfT39aOhqaioqamoqKgGoaGq CVr3/6NYYKFgYGBgYFhYWGBYYFhZovX2///////////////2//8JmpGZ2ZmZ mZGZmdnZkZH3CGQHrfeupaWlm5GZmZmZmZmR0dqR2dmR4/////b///////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY UFhYWFkICP+iWVhYWFhYWFhYWFiiCAj/oVBYWFhYWFii9fb29vasWlBYWFhY WFhZWFBYWFhQWaP3///2CKxaWVhYWFn19v/2//b2//b/9vRYWFhYWFhYWFhY WFhYWFhYtPb29GFYWFhYEFhYorQI9vb/rKNZWFhgWFhYWFhYWFhYWFhYWFlk bSYuJmZuv79tbXe/rr+3biVmt/Zmbm6/t7e/ZW2/v25lt/a3ZW6/v66uv78t A3f2bmVuv7+u9r9tZb+/br+3v79lbva3v79tbm2u9rdlrr+3t7elrreut/Zl Zbe/bm63v65uZWW3v2Vlt66/v25uJW4mLi4uLi4uLiYuLiYmLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk5NXrdeXl5eXl5eXl5eXl1dXV1dXl5eXl4WXl4WDQ1V7/b/ //////////b29vb29vb29vb29vb29vb29vb29v////////////////////// ///////////////////////////////////////////////////2//atB/b2 9rf29rauZK5k9v/2//////////////////////////////////////////// //////////////////////////////////////b29vamVVVNVaav76emXaam 7++mVAsKC53v9vb2//////////////////////////////////////////// /////wiioVjsCampoQnsmamoqKn07PejqaioqfTs9aupqLCoqQaoqKioqamh CQkI7JmhBqlgBgZgYKFgYGBgYGFZovX2///////////////2//8JmpGZkZmZ mdna2dnZkdpRrAetra2tZKX3o5qZmZmZmZnZ2dqR2dmR4/////b///////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFlYWFhYWllZWFhYWFhYWFhYWFhYWVlZYVhYWFhYWFhYUFlaWlFQWFBZWFhY WFhYWVhYWFhYWFBZUFlZWVpZUFhYWFBiWlpZWVlZWVlZWlhYWFhYWFhYWFhY WFhYWFhYUGFZYllYWFhgYGFQWFlZWlpZWVhYWGFYWFhYWFhYWFhYWFhYWFlk bi4uJmZut3dtLXa/br9vbi4mb79mbm6/t66/v7+3biVubr+3JSVut7+/t24t Lm6/bm5uv7duv7dlZb+/br+3v65lbbe3v7+/v7+3v7/2v79lbre/v7dut7+u v7+/9r+39r+3v7dut7+/v263v2VubiYmLi4uLi4uLiYuLiYmLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTk5NXrdeXl5eXl5fXl5eZqampqampmZeXl9eXl5WDQ1V7/b/ //////////////b29vb2///////////29vb2//////////////////////// ///////////////////////////////////////////////////2//b3CPb2 9gf29rauZa1c9vb2//////////////////////////////////////////// ////////////////////////////////////9vb29gdVVVZWXq+mXaanpq+3 pV1dVUxUTEye7/b29v////////////////////////////////////////// /////wiioQb0CQapofQJoaiwsAaqCQmqBrGxBuoJCeupqKiwsKioBqgGqKgG svOrWaGhYAapBgYGBgZYYFhgYFhZWvf2///////////////2//8JmpHa2ZmR kZGZmdnZ0dGZkZrs96SlpaWkkpnZ2ZmZmZnZ2dmR2dmR4/////b///////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWGBYUVBZUFhYWFhYWFBYWFhYWFlQUFhYWFhYWGBYWFlRUFhYWFhYWFhY WFhYWFhYWFhgWFhYWFhQWFlQWVBYWFhYUFhYWFhYWFhYWVhYWFhYWFhYWFhY WFhYWFhYYFhQUFlZWFhYWFhYWFhYWFhZWFhhWFBYWFhYWFhYWFhYWFhYWFlk bi4uJm5mbm4lJS1uZW5mJiUmJm5lJSVubmVuJSVuZi4mZW4lJS5uZWVlZSUu LS1ubmZubm4lbiVlZmVlZW5lZW0tLW4lLS0lbSUlJW1uJW1uJW5ubm5uJSVm JS4uJWVuJWZuZSUlbm1tbW5lbiYmJS4uLi4uLi4uLiYuLiYmLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //bvVU1OTk1NTU5NXrdeXl5eXl5eXlZm7/b29vb29rdeVl5eHl8WDQ1Nr/b2 9v////////////////b////////////29vb/////9v////////////////// ///////////////////////////////////////////////////2//8HCPb2 9gcI9reupaVc9vb///////////////////////////////////////////// ////////////////////////////////////9vb2CK5VVlZWVl6mr7evpmVd Za+vVU1VTQye7/b2//////////////////////////////////////////// /////wiiWAaq8waoqaHzqamoqPGh6+vqqaioqKnq86mpqKiwqKioqaioqAao BgahoaEGqAZgBgYGBgZgYGBgYFhZovX2//////////////////8JmpKR0pKR 2tqZmdmR2dqRmpKRUZKbnJukkZnZ2ZmZmZmZ2ZmRmZmR4/////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////6NQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WVBYWFhYUFlZWFhYWFhYWFhYWFhYWFlZWVhYWFhYWFhYWFhZWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWVlZUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhhWFlYWGBYWVhYWFhYWFhYWFhYYVhZWFhYWFhYWFhYWFhYWFlk biYmJm4lZiYuLiVuZmVmJi4uJiYmLiUmZm5uLiYmJS4mJW4mbiVmt7e3dy4t LS1ut26/bm5uJiVuZmVubm93biUlLi4uLi0uJS4uJS4uLi4uLiUlLi4mLndu Li4lbmZuLiZuJi5uLiUtJS5udy4uLiYuLi4uLi4uLiYuLiYmLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 9vbvVU0OTk1NTU1NXrdeXl5eXl5eXl5e9vb29vb29gddXl5eHl8WDg0Vpvb2 9vb2//b2////////////9vb/9vb2//b///////////////////////////// //////////////////////////////////////////////////////b2B/b2 9gf29ratpaSk9v/2//////////////////////////////////////////// ////////////////////////////////////9v//9gddXl9eXqevr2amrq+v r6ZdX1ZVVVSm9vb////////////////////////////////////////////2 /////wejoQYGBgaoqamoqKioqKioqKmoqKioqKioqaioqKiosKioqKioqKio BgYGBgYGBgYGBgYGBmBgYFhhYVlZowj///////////////////8Hm5KSkZGR kZGRkZGRkZGRkZKSkpKSkpKSkpGRkZGRkZGRkZKRkpGR5An///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////b//6tYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWBlk biYmJiYmJiYuJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJm5uLiZub3d3b24m Ji4mJSYmJiYmJiYmZiZmbm9vbiYmJiYmJiYmJiYuJi4mJiYmLiYmbi4mbndu bi4mJiYmJiYmJiYmJiYmJm5ub24mJi4mJiYmJiYmJiYmJiYmJiZlWlhYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 9vbvVU0ODk5NTU1NXrdeXl5eXl5eXl5e9vb//////wddXl5eXl5eFg0VZq/2 9vb29v//9v////////////b29vb///b///////////////////////////// ///////////////////////////////////////////////////////2CPb2 B7b29geupFsH9v////////////////////////////////////////////// ////////////////////////////////////////9vamVl6np6amr7e3t6Zd Za6vr1ZNVZ3v9vb///////////////////////////////////////////// ///2//b3oqGhoaGhqampqaioqKioqKioqKioqKioqKioqKioqKioqKioqKio qAYGBgYGBgZgYGBgWFhYWFlZoqKj9/b////29v/////////////2BwcJCQkJ CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQn1CP////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////b/9qtYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlZWFhYWRlk LS4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uJiYuJiYmJi4mJiYm Ji4mJiYmJiYuLi4uJiYmJiYmJiYuLi4uLi4uLi4uLi4uLi4ubiYubi4mJi5u LiYmLi4mJi4uLi4uLi4uJiYmLiYlJi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 9vbvVU0ODg5NTU0NXrdeXl5eXl5eXl5e9vb//////wdeXl5eXl5eVg1VZmYI 9vb2////////////////9v////////////////////////////////////// ////////////////////////////////////////////////////////9gj2 rQcICK2tXKT29vb///////////////////////////////////////////// ///////////////////////////////////////////2r6Wlpqbv77eupqav r6+mVVVVpu/29vb///////////////////////////////////////////// ///2///2//8J9fTzq6qqqqmpqampqaioqKioqKioqKioqKioqKioqKioqKio qAYGBgYGYGBgYWGhoqqrtPT1CPb2//////////////////////////////// ///////////////////////////////////////////////2//////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9qNZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlk bSYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmLi4uLi4uJiUlJi4u Li4uLiYmJiYmJi4uLi4uJiYmJi4mJiYmJiYmJiYmJiYmJiYmJiYmLi4mJiYm JiYmJi4uJiYmJiYmJiYmLi4mJiYmLi4mJiYmJiYmJiYmJiYmLiZtWlhYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 9vbvVU0ODg5NTU0NXrdeXl5eHl5eXl5e9vb//////wdeXl5eXl1eXhUVXmau CPb29v//////////////9vb29v////////////////////////////////// ////////////////////////////////////////////////////////9ggI 9vYHB7akXAf2//b///////////////////////////////////////////// ///////////////////////////////////////////29geupa6urqampqVd XVVVXabv9vb29v////////////////////////////////////////////// //////////////////8JCQn19PTz8/KyqqmpqampqampqampqKmpqampoamp qampqqqqs/P09QgICPb/////////////9v//////////////////////9vb2 9vb29vb29vb29vb2///////////////////////////////2//////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////b/9qNRWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlk bS4uLi4uLi4uJiYmJiYmJiYuLi4uLi4uLi4uLi4uLi4uLi4mJi4uLi4uLi4u JiYuLiYmLi4uLi4uJi4uLi4mLi4mJiYmJiYmJi4uLi4uLi4uJi4uJi4uLi4u Li4uLi4uLi4uLi4uLi4uLiYmLi4uLi4uLi4uLi4uLi4uLiYuLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 9vbvVU0ODg5NTQ0NXrdeXl5eHl5eXl5e9vb//////wdeXl5eXl5eXlYVXmZl rgj29vb////////////29vYHtgj29vb///////////////////////////// //////////////////////////////////////////////////////////YH CPb2B6Sk9/b29v////////////////////////////////////////////// ///////////////////////////////////////////29vb29gcH966upaam r+/v9vb29vb29v////////////////////////////////////////////// ////////////////////////////////CQkJCQkJ9fX19fX19fX19fX1CQkJ CQgICPb////////////////////////////////////////////////29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////b//6NRUVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhYWFhYWFlZWGBYWFlk bS0uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uJiYmLi4uLiYl JS4uLi4uLi4uLi4uJSYuLi4uLiYuLi4uLi4uLi4uLi4uLi4uLi4uJSUmLi4u Li4uLi4uLi4uLi4uLi4uJiYmLi4uJi4uLi4uLi4uLi4uLi4uLi5tWlhYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 //bvVU0ODg5NTQ0NXrdeXl5eHl5eXl5e9vb//////wdeXl5eXl5eVl5eZ15m Za639vb2////////9vb2CLdmXa639vb///////////////////////////// //////////////////////////////////////////////////////////b2 9/cHpVsH9vb/9v////////////////////////////////////////////// ////////////////////////////////////////////9v////b/9vb29vb2 9vb29vb29vb///////////////////////////////////////////////// ////////////////////////////9v////////////////////////////// //////////b2////////////////////////////////////////////9vb2 9vb29vb29vb29vb29vb/9v/29vb/9v/2//b/////////9vb2//////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9qNRUVFZWFhYWFhYWFhYWFhYWFlZWVhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFlZWVlZWVlYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVlYWFhYWVlZWFhYWVlk bWUlJSUlJSUlJSUlJSUlJSUtLS0tLS0tLSUlJSUlJSUlZWVubm5lZWVlZWVl bm5uZWVlZWVlZWVlZmVlZWVuZWUlJSUlJSUlJS0tLS0tLS1tJWVuZWVlZWVl ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZm4lJSUlJSUlJSUtJSUlLSVtWlhYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 //bvVU0ODg5NTQ0NXrdeXl5eHl5eXl5e9vb//////wddXl5eXl5WXl5nr2dm ZWVut7/29vb29vb29va/rmZmXWW39vb2//////////////////////////// //////////////////////////////////////////////////////////b/ 9vekpAj2//b///////////////////////////////////////////////// ////////////////////////////////////////////////9v//9v//9vb/ ///29vb2//////b///////////////////////////////////////////// ////////9vb2//////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////b///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////29vejo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6KjoqOio6KjoqOio6Kjo6Ojo6Oj o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6OjY6Ojo6Ojo6Njo6Kio2Ot rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6ubm6urq6urq6urq6u rq6ubq6urq6urq6urq6ubq6urq6urq6urq6urq6urq6urq6urq6utq6urq6u rq6urq6urq6urq6urq6urq6ubq5urq6urq6urq6urq6urq6urq6tYlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //b2VU1OTk5NTU0NXrdeXl5eXl5eXl5e9vb//////wddXl5eXlZWXx5nv7dm ZmVlZmavt7/29r+/t69mZmZmZq+/9vb2//////////////////////////// ////////////////////////////////////////////////////////9v/2 //YI9vb/9v/2//////////////////////////////////////////////// ////////////////////////////////9v////b///////////////////// //////b29vb///////////////////////////////////////////////b/ ///////////////2//////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////9vb///b///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////2/wgI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj2CPYI9gj2CPYI9gj2CPb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj2 v/b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIYlhYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////b/ ///2VE1OTk5NTU0NXu9eVl5eVl5eXlVm9v//9vb//wddXV5eXl9eXl1mv/a/ rmVlZmZmXmZmZmZmZmZmZmZmt/b29vb///////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2o1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////b/ 9vbvVExNTU1NTA0MXq9eVVVdVVVVVVRlB////////wddVV1VFV5VXV1m9vb2 9reuZV1eZmZmZmZmZmZmZq+39vb2//////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //b2pp6enp6enp6eru+upqaupqamrqau9v/2/////wiupq+np6+mrq4H9vb2 9vb2t6+mZmZmZmZmZq+vvwj29v////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////9vb29vb29vb29vb29vb29vb29vb2///2///2///29vb29vb29vb2//// //b29vYIt7e3r7e3CPb29vb29v////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// 9v//9vb29vb29vb29vb29vb29vb29vb2///////////29vb29vb2//////// ///29vb29vb29vb29vb29vb29v////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////29vb2///////////29vb/9vb2//////// ///////29v//////////9v/29v////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////9vb/////////////////9v// ///2///////2///////////29vb///////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////b29v////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////9vb/////////////////9vb2 9v////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////2//////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////b29vb29vb29vb29vb29vb29vb29vb29vb2 9vb///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////9v/////29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v/////2//////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////b29v//9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb2///29vb///////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29v////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////9vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29v//9vb2//////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////b29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////b29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////b29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CAgICAgICAgICPb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb///////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////b29vb29vb29vb29vb29vb29vb29vb29vb29vYICAgICAgI CAgICAgICAgICAgICAgICAgHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH CAgICAgICAgICAgICAgICAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb2 9vb29vb2//////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////b29vb29vb29vb29vb29vb29vb29vb29vb2CAgICAgICAgICAgI CAgICAgICAgIBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgI9vb29vb29vb29vb29vb2 9vb29vb29vb29v////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb2 9gj29vb29vYI9vb29vb29vb29vb29gj29vb2CPb29vb2CPb29gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////29vb29vb29vb29vb29vb29vb29vb29vb29vYICAgICAgICAgICAgI CAgIBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAj29vb29vb29vb29vb2 9vb29vb29vb29vb///////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb2CPYI9vb2CAj29vb2 9vYI9vYI9vb29gj29vb29vb2CPb29vb29vYI9vb29vb29vYI9vb2pFz29vb2 9vb29vb29ggI9gj29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///29vb29vb29vb29vb29vb29vb29vb29vb29ggICAgICAgICAgICAgIBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAj29vb29vb29vb2 9vb29vb29vb29vb29v////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vYI9vb29vb29vYI9vb29vb29vb29vb29vb29vYI9qSk9vb2 9vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///29vb29vb29vb29vb29vb29vb29vb29vYICAgICAgICAgICAgIBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcICAgICAgICAgICPb29vb29vb2 9vb29vb29vb29vb29vb2//////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gf3rQf2BwcI9/etrQf2B6UI9vf3 9wf29wf29vYHB/b29ggHB62tCPb2B62tB/YIBwj2Bwf2CK0H9wf29gdb9vb2 B633B/YIB/b2CPf29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 9vb29vb29vb29vb29vb29vb29vb29ggICAgICAgICAgICAcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICPb29vb2 9vb29vb29vb29vb29vb29vb29v////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1ykpVsHrVIIW1KtrfcIW6QI91uk pJz2W6T29giknAj29ghbW6SkXPYHW6SkWwj3UggIUqQIW1sHU6T29q1S9/YI W6WkW/YHUgf291Kt9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////9vb2 9vb29vb29vb29vb29vb29vb2CAgICAgICAgICAgICAcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwf39/f39/f39wcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAj2 9vb29vb29vb29vb29vb29vb29vb29v////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gf29luk91v291L39vb3UvYIU632 9ggIW6T29vakWwgI9ghSpPYHUgekpPb2BwgHUgf3Wwj2Ugf2pKT29lJSpPak W/YIW60HWwf2CPf29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////9vb29vb2 9vb29vb29vb29vb29vb29ggICAgICAgICAgIBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwf39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f3BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgI CAgI9vb29vb29vb29vb29vb29vb29vb///////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vdbW6QH91v29gdSB/YHUgcIUltb W5z3pKT29vakW/b29gdb9/YHWwdbU1tbW/cHUlJbB/YHW/f2pKT291sHUgic pPYIpKQHWwf29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////9vb29vb2 9vb29vb29vb29vb29ggICAgICAgICAgIBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwf39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f39+0HBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgI CAgICAj29vb29vb29vb29vb29vb29vb2//////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1sH9vb2B1L29vakWwj3Wwf2W/f2 B1IHW6T29valWwj29vZbpfYHUgekpPYIUgcHW6RbB/YHW/f2W6T2pJwIW/et W/b2UvcHUgf29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////b29vb29vb2 9vb29vb29vb29vYICAgICAgICAgICAcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH B/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f39/f39+3t7ff3BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgI CAgICAgICAj29vb29vb29vb29vb29vb29v////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1ukrff2pVL29/ekUqT3Wwf291ul pKT2nFKlpAekWwj29ghbUq1bW/YIW6WlW/YHWwj3UvcIUgf2W6QHUvf2pVv3 W6SkWwgHUlukrfb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////9vb29vb29vb29vb2 9vb29vb29vb29ggICAgICAgICAcHBwcHBwcHBwcHBwcHBwcHBwcHBwft9/f3 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f39/f39/f39+0HBwf39/f3BwcHBwcHBwcHBwcHBwcHBwcHBwcI CAgICAgICAgI9vb29vb29vb29vb29vb29vb2//////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29getrfcICAcI9/etrQcHUgj29get B/YIB/f3rQgH9/b29gdbpPf3CPb2CK2t9vYHUgf2BwcHWwf2BwcIB/b2CPf2 CPf3CPYI9/f39wj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////29vb29vb29vb29vb2 9vb29vb2CAgICAgICAgICAcHBwcHBwcHBwcHBwcHBwcHB+3t7ff39/f39/f3 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f39/f39/f39/f39/f39/cH9/f3BwcHBwcHBwcHBwcHBwcHBwcH BwcICAgICAgICAj29vb29vb29vb29vb29vb29vb2//////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb3Uwj29vb2 9gj29vb29vb29vYI9vZT9/b29vb29vb29ggHUwf29vYIU/f29vb29vYI9vYI 9vb29gj29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////29vb29vb29vb29vb2 9vb29vYICAgICAgICAcHBwcHBwcHBwcHBwcHBwcHBwcH7ff39/f39/f39/f3 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3BwcHBwcHBwcHBwcHBwcH BwcHBwgICAgICAgICPb29vb29vb29vb29vb29vb29v////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2raT29vb29vYHWwj29vb2 9vb29vb29vatpAj29ghb9/b29gj29vb29vb3Wwf29vYHWwf2pKX29vb29vb2 9vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////b29vb29vb29vb29vb2 9vYICAgICAgICAgHBwcHBwcHBwcHBwcHBwcHBwcH7e339/f39/f39/f39/f3 9/f39/f39/f39/f39/f39/f39/f39/f3paSkpKSkpKSkpKWl9/f39/f39/f3 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3BwcHBwcHBwcHBwcH BwcHBwcHCAgICAgICAgI9vb29vb29vb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj2CPb29vb2CPb29vb29vYI 9vYI9vb29gj29vb29vb29vb29vYI9vb29gj29vb29vb29vYI9vYI9vb29vb2 CPb29vb29vb2CPYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////b29vb29vb29vb29vb29vb2 CAgICAgICAgIBwcHBwcHBwcHBwcHBwcHBwcH7ff39/f39/f39/f39/f39/f3 9/f39/f39/f39/f39/f39/elpKSkpaWlpaSlrff39/f3BwcHBwcHBwgICAgI CAgICAgIBwcHBwcH7ff39/f39/f39/f39/f39/f39/f39/f3BwcHBwcHBwcH BwcHBwcHBwcHCAgICAgICAj29vb29vb29vb29vb29vb2//////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb2CPb29vb2 9gj29vYICPYICPb29vYICPb29vYI9vb29gj29vb29gj29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////29vb29vb29vb29vb29vb29ggI CAgICAgIBwcHBwcHBwcHBwcHBwcHBwft9/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f3paSkpKSkpKSkpff3pff3BwcHCPYICPb29vb///////////// ///////////////29vb29ggIBwcH9/f39/f39/f39/f39/f39/f39wcHBwcH BwcHBwcHBwcHBwcICAgICAgICPb29vb29vb29vb29vb29vb29vb2//////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////b29vb29vb29vb29vb29v////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vYI9vb29vb29vb29vb2 9vb29vb29vYI9vb29vb29vb29vb29ggI9vb29vb29vb29vb29vb29vb29vYI 9vb29gj29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////29vb29vb29vb29vb29vb29vYICAgI CAgICAcHBwcHBwcHBwcHBwcHBwcH7ff39/f39/f39/f39/f39/f39/f39/f3 9/f39/elpKSkpKSkpKSk9/f3BwcICPb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb2///2////////////////9vb2CAcH9/f39/f39/f39/f39/cHBwcH BwcHBwcHBwcHBwcHBwcICAgICAgI9vb29vb29vb29vb29vb29vb29v////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////b29ggIBwcHBwgICAj29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb2 9vb29gj2CPb2CPb29vYI9gj29vb29vb29gj29vb29ggI9vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////2//// ////9v////////////////////////////////////////////////////// //////////////////////////////b29vb29vb29vb29vb29vb29ggICAgI CAgHBwcHBwcHBwcHBwcHBwcH7ff39/f39/f39/f39/f39/f39/f39/f3pKSl pKSkpKSkpKT3pPf3BwcI9vb29vb2//b29vb29vb29vb29vb/9vb/9vb/9vb2 9vb29v/29v////////////////////////b29vb2CAcH9/f39/f39/f39/cH Bwf3BwcHBwcHBwcHBwcHCAgICAgICAj29vb29vb29vb29vb29vb2//////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //b/////9v/2//////////////////////////////////////////////// ///////////29vYHBwf39/ekpJtSUlubpKT39/cHB/b////////2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb2CPb29gj29vb29gj2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI 9vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////9vb29vb29vb29vb29vb29vYICAgICAgI BwcHBwcHBwcHBwcHBwcHBwf39/f39/f39/f39/f39/f396T39/f396SkpKSk pKSkpKSk9/cHB/b2//b29vb29vb29vb29vb2B/f29vb29vb2//b/9vb29vb/ 9v/29vb///b////////////////////////29v////b/9vYIBwf39/f39/f3 BwcH9/cHBwcHBwcHBwcHBwcHBwgICAgICPb29vb29vb29vb29vb29v////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////9v/2CPYICAgI9vb2//////////b2//////////////////////////// ///////////2CAf396SkUkkAAAAAAAAAAABSW1JSAFJb9/b29v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb2CPb29vb29vb29vb2 9vb29vb29vb29vb29vb29ggI9vb29vb2CPb29vb29vb29vb29vb29gj2CPb2 9vb29vb29gj29vb29vb29vYI9vYI9gj29vb29vb29vb29vb29vb2CPb29vb2 9vb29vb29gj29vb29vb29gj29vYI9vb29vb29vb29vb29vYI9vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////////////29vb29vb29vb29v//////9v// //////////////////////////////////////////////////////////// ////////////////////////////9vb29vb29vb29vb29vb2CAgICAgICAgH BwcHBwcHBwcHBwcHB+3t9/f39/f39/f39/f39/f39/f3pPekpKSkpPf396Sk pKT39wcI9vb/9vb29vb29vb29v//9vb29vYIY1sI9vb29vb2//b////29v/2 CPf3CP/29v/29v/////////////////////29v////////////b2CAcHB/f3 9/f3Bwf39/cHBwcHBwcHBwcHBwgICAgICAgI9vb29vb29vb29vb29vb2//// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////b2 9vb2B/ekpPf39/f39/f3BwcI9v////////////////////////////////// //////////YI96SkpFtSAAAAAAAAAAAASZv3B/f3W1IAAEmk9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb2CPb29vb29vb29gj29vb2 9vYI9vb29vYI9vb29vYI9vb29vb29vb29vYI9vb29gj29gj29gj29vb29vb2 9vb29vb29gj29gj29vb2B/b2CPb29vb29vb29vb29vb29vb29vb29vYI9vb2 9vYICPb29vb29vb29vb29vb2CPb29gj29vb29gj29gj29vb29vb2CPb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9v/2CAcHBwcH9/f3BwcHBwcICAj29vb/ //////////////////////////////////////////////////////////// //////////////////////////b29vb29vb29vb29vb29ggICAgICAgHBwcH BwcHBwcHBwcHB+339/f39/f39/f39/f39/f39/f3pPf396SkpKSkpKSkpKT3 Bwj29v//9v/29vb/9vb29vb////29vb2CPWkWlGstQj2///2///////2//b3 o6RbUgf/9v/29v////////b29v//////9v/////29vb29vb///////b29ggH B/f39/f3BwcHBwcHBwcHBwcHCAcHCAgICAgICPb29vb29vb29vb29vb29v// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////9vYI B/ekW1JJUvf39/f39/f39/f3BwcI9v////////////////////////////// /////////wgHpKSkW0kAAAAAAAAAAAAAW/cICAgIB/ekm1Jb9/b///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb2CPb29vb2CPb29vb29vb29vb2 9vb29vb29vb29vb2CPb29gj29vb29vb29vYI9vb29vb2CPb29vb2CPYI9vYI 9vb29vb29gj29vb29vYI9vb29vYI9vYI9gecpKX29vb29vb29vb29vb29vb2 9vb29vYI9vYI9getXKQH9vYI9vYI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////b29ggH9/f39/f39/f39/f39/cHBwcHBwgI 9v////////////////////////////////////////////////////////// ////////////////////////9vb29vb29vb29vb29vb2CAgICAgICAcHBwcH BwcHBwcHBwcH9/f39/f39/f39/f39/f39/f3pKSk9/f39/ekpKSkpPf3CAj2 9vb29vb29vb29vb/9vb2//////b2///2pFFRY1paWqz29vb2///////2/wdS 9/YIWlv2//b29v////////b29vb/////9vb/////9vb///b29vb2///////2 9ggIB/f39wf39wcHBwcHBwcHBwcHBwcICAgICAj29vb29vb29vb29vb29vb2 9v////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////2CAcH pFJJAABJWwf29gj29vYICAgHB/cHB/b2//////////////////////////// ////////9gf3pKSbUgAAAAAAAAAAAABJ9wgIBwcICPYHBwcHBwj///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vYI 9vYI9gj29vb29vb29vYI9vYI9vb29gj29vb29vb29gj29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vYI9gj29vb29vf3B1v39vb29vb29vb2CPb29vb2 XAf2CPb29vb29getB6Sc9gj29vb29gj29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYIBwf3pPf3pPf39/f39/f39/f3Bwf3BwcH B/b///////////////////////////////////////////////////////// //////////////////////b29vb29vb29vb29vb29vYICAgICAgHBwcHBwcH BwcHBwcHB/f39/f39/f39/f39/f39/f39/f3pKT396SkpKSkpPf3Bwj29vb2 9vb29v/29v//9vb29vb29vb////29vb2rFFaCAhREaz29vb///////////cA Ugf2B0kH9v/29v////////b29v/////////////2///29vb///////b2//// ///29ggHB/f39wf39wcHBwcHBwcHBwcHBwgICAgI9vb29vb29vb29vb29vb2 9vb///////////////////////////////////////////////////////// ///////////////////////////////////////////////////////2B/ek UgAASUlJpPb29vb29vb29v/29vYIBwj2////9v////////////////////// ///////29gekpKRbSQAAAAAAAAAAAABbBwgHCAgHBwcHCAgICPb2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYICPb29vYICAf29ggIB/b29vYI CPb2CPb29vYICPYICPb29gj29vYI9vYIBwcICPYI9vb29ggI9ggI9vb2CAcI 9vb29gj29vYICAgI9ggICPb29gj2CAgI9vYH9q1b9vYH9vb29vYICAj29ggH UvcI9vYICAgI9vYI9vdb9/b2B/b29vb2CPb2Bwj2B/b29ggHCAj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggH96SkpKSk9/f39wcHBwcH9/f39wcHBwf3 Bwf2//////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vYICAgICAgIBwcHBwcHBwcH BwcHBwf39/f39/f39/f39/f39/f39/f396T3pKSkpKSkpKT3B/b2////9vb2 9vb29vb29vb2CAgICPb29vb2///////2CGNarLRaYwj29vb/9v//9vb//whb Sff/B1IH9vb29vb2////////////////////9vb29vb////////29v//9vb2 9vb2///29ggHB/f39/cHBwcHBwcHBwcHBwcICAgICAgI9vb29vb29vb29vb2 9vb2//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////2B6Rb SUlJSUlJmwgICAgI9vb29vb29vb29vb2//////////////////////////// ///////2CAekpKRSAAAAAAAAAAAAAACkBwcHCAgIBwgICAcHCAgH//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vdbUpwH91JbW6QIB1tbW6T2B1Kk CPb291sH9luk9pxbW6T2B1sH9qSk9gdbnKRTrQdSB/ZbWwiknFtbB/b3W6Rb rfb2pFsH9gdbW1ukCAdSCPYI9qRbrVut9vdSnJtSB/dcCPb29gdbXFukCKRb XFut9q1S961TCAhbW1tS9whSCAdTCPacnPYHU1tbUwf2W1xbpAj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2CAf3pJubpJuk9wcHBwgIBwcHBwcHBwcHBwcH 9/cI9v////////////////////////////////////////////////////// ///////////////////29vb29vb29vb29vb29ggICAgICAcHBwcHBwcHBwcH BwcH9/f39/f39/f39/f39/f39/f396SkpKSkpKSkpKT3B/b2///29vb29vb2 9vb29v/2//YHW1tbW/b2////////9v/29mNZUVFRrPb29vb/9v//9vb2//YH 9/b2pKMI///29vb29vb///////////////////////b29vb///////////// ///29v//////9ggHB/f39wcHBwcHBwcHBwcHBwgICAgICPb29vb29vb29vb2 9vb2//////////////////////////////////////////////////////// //////////////////////////////////////////////////////8IB6RS SUlJAElJmwcICAgICAgICAgICAgI9vb29v////////////////////////// ///////2CPekpKRSAAAAAAAAAAAAAFIHCAgHBwcICAgHCAgIBwj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFL39qSkB1uk9vYIraT29gf2rZz2 9gj291L291II91v2CFv3B1MI9qVbCK1b9ghS9wdSBwdTB/YH9vb3Ugdb9/YI CPYIW1L39qSb9vYH9gdSCPb2B1IH9lulCFv39qRS9vdSCPb2B1ut9vYH9gj2 9vdbB6Sk9vdb9qRb9gdS9wdb9wdbCPakpAhbpPb3WweknPb2Bwj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////b2B/ekpFtbU5v3BwgHCAcIBwcHBwcHBwcIBwcH BwcH9v////////////////////////////////////////////////////// //////////////////b29vb29vb29vb29vYICAgICAgIBwcHBwcHBwcHBwcH 7ff39/f39/f39/f39/f39/f396SkpKWkpKSkpKSt9wj2//b29vb29vb29vb2 9vb29vb29vb1WltaWgj29v/29v//9v/2/6NRrFpSrPb29vb/9v/29gf3B//2 //b3Ugf29vb29vb///b29v/////////////////////29vb/////9vb29v/2 9v/29vb29vb29vb29ggH9/f3BwcHBwcHBwcHBwcHCAgICPYI9vb29vb29vb2 9vb29vb/9v////////////////////////////////////////////////// //////////////////////////////////////////////////////8I96Rb SUlJSUlJmwj29ggICAgICAgICAgI9vb2//////////////////////////// ///////2CPekpJtSAAAAAAAAAAAAAFsHCAgICAgIBwcIBwgHCAj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1II9vdbCAhS9/b2W1ukpKQHpJz2 9vb291KcU/f2pFv29qSkB1sI9q1bCKSk9vZb9wdSnFuk9vYIraRb9wdTW6Sk pAgHm1ukCJtbpKSkBwdSCPb2B1IH9pukCFIH9vdTCPdbCPb2B1JbpKT3CAik pFKk9luk9vdbCKSk/wdb9wdbBwdbCP+kpPZb9/YHUvekW5ykpAf29gj29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB/ekm1JSUqQHBwgHBwcHBwcHBwcHBwcHBwcH BwcH9v////////////////////////////////////////////////////// ////////////9vb/9vb29vb29vb29vb29ggICAgICAgHBwcHBwcHBwcHBwft 9/f39/f39/f39/f39/f39/ekpKSl96SkpKSk9wf29vb29vb29vb29vb29vb2 9vb2//b29vasUrW1WqT29vb///b29v//9ggICAgHCP//9vb/9vb2//YHm6T2 rFIASVv3//b29vb29vb29v/////////////////////29vb////29v/29vb/ /wj/9vb29vb29vb29vb29gcH9wcHBwcHBwcHBwcHCAgICAgICPb29vb29vb2 9vb29vb29v////////////////////////////////////////////////// //////////////////////////////////////////////////////8I96Rb SUlJSUlJmwj29gj29vb29ggICAgI9vb2//////////////////////////// ///////2CPekpJtSAAAAAAAAAAAAAKQHCAgICAgICAcIBwgHCAj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb291sH9vdbCPYHUgcIUq33B1L3pKQI 9vb291JTWwj2pJz29pykB1L29qSk9qSk9vZb9wdbUlMH9vZbpAcH9gdS9wet WwikpAhbB5tbBwdbrQdSCPb2B1IH9pukB1v39vdS9gdSCPb2CFKtCPdSB6Rb rQcI9pyk9vdT9luk9vdb9whSBwdbCPakpAdb9/b3WwecWwf3Uvf29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YH96SkW1JSUq0HBwgHBwcHBwcHBwcHBwcHBwcI CAcH9v////////////////////////////////////////////////////// ///////////29vb29vb29vb29vb29vb2CAgICAgIBwcHBwcHBwcHBwcH7ff3 9/f39/f39/f39/f39/ekpKSkpKSkpKSk9/cICPb29vb2//b29vb29vb29vb2 9vb2//b2//akWmNaWvf2///29v////b2////9v/////29vb///b29vb/B5tS rPYIrABSCPb29v/////////////////////////////29v////b29vb2///2 9ggI9vb29vb29vb29v////b2CAcHBwcHBwcHBwcHBwcICAgICAj29vb29vb2 9vb29vb29vb///////////////////////////////////////////////// //////////////////////////////////////////////////////8I96Rb SUlJSUlJmwj29vb29vb29vb29vYI9gj2//////////////////////////// ///////2CPekpJtSAAAAAAAAAAAASaQICAgICAgICAcIBwgHCAj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFv3B6Sk9ggHpFL291sI91sIpFv2 9gj291sIpJz2B1sH91sHB1KtB1ukCKSk9ghb9wdSB6VbB/akrQgHCAikpAik pAdb9/ZbpPdbB/dTBwdS9/cHB1sHCFuk9lukB1tTCPdSCPb2CKSkB/dbCKRb BwcH9luk9qVbCPdSB/dK9whbBwdS9webrfakWwelUgf3W/YHWwf2CPb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YH96SkUlJJUvcHBwcHCAgIBwcHBwcHBwcHBwcI CAcI9v////////////////////////////////////////////////////// ///////////29vb29vb29vb29vb29ggICAgICAgHBwcHBwcHBwcHBwft9/f3 9/f39/f39/f39/f396SkpKSkpKSkpPcHCPb29v/29vb29vb29vb29vb29vb2 9v////////YICFtaCPb29v/29vYHCPb29v/29vb/9vb2////9v/2////9gdS 9/b29vdJ9//29vb29vb29v//////////////////////////9vb29v///wj3 pAf29vb29vb29vb/9vb29v////YIBwftBwcHBwcHBwcHCAgICAgICPb29vb2 9vb29vb29vb2//////////////////////////////////////////////// //////////////////////////////////////////////////////8I96Rb SUlJSUlJmwj29vb29vb29vb29vYI9gj2//////////////////////////// ///////2CAekpKRSAAAAAAAAAAAASfcICAgICAgICAcIBwgHCAj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gekUqT2B6SkpJwI9q1bnAf2pFv2 9vb2B1IICKT39vdbpPcICKRbXKQI9q2k9vak9wdSCAikrfYHpFukB/YIpFuk 9vdbCPYHpAj3pFsH9gdbpKSt91sH9qX39gecpKScCPekCPb29gikW6QI9git W1v39luk9gekCPakW6SkBwicBwikpKSkCPYHnKSbUgf291ucB/b29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////9vYH96SkUkpJUvcIBwgHCAcHBwcHBwcHBwcHCAcI CAcI9v////////////////////////////////////////////////////// ///////////29vb29vb29vb29vb2CAgICAgICAcHBwcHBwcHBwcH9/f39/f3 9/f39/f39/f3pKSkpKSkpKSkpKT3Bwj2///29vb29vb29vb29vb29vb29vb2 9v//////CPb/9vcH9v//9vf3pKStpKQH9vb2///29vb////2//8I9v/2//+k UQj/9gdbB///9vb29v//9v/////////////////////////29vb29vb291v3 //b/9vb29vb29vb29vb29vb29v//9ggHBwf3BwcHBwcHBwgICAgICAj29vb2 9vb29vb29vb29v////////////////////////////////////////////// //////////////////////////////////////////////////////8I96Rb SUlJSUlJmwj29vb29vb29vb29vb29gj2//////////////////////////// ////////9gekpKRSAAAAAAAAAAAASfcICAgICAgICAgIBwgHCAj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2pFsI 9vb2rVsI9vb29vb29vb29vb29vb29vb29vb29vdTCPb29vb29vb29gj29vb2 9vb29vb29vb29vb29vb29vb2B1sH9vb29vb29vb29vb29gj29vb29vYI9vb2 9vb29qSk9vb29vb29vb29vb29vb29vb29gj29vYIWwf29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YH96SkU0lJUvcHBwgHCAcHBwcHBwcHBwcICAcH BwcI9v////////////////////////////////////////////////////// ///////29vb29vb29vb29vb29vYICAgICAgHBwcHBwcHBwcHBwf39/f39/f3 9/f39/f39/ekpKSkpKSkpKSk9wf29v////b/9vb29vb2//b29vb29vb29vb2 9v/////////2//b29vb3pPcH9vb2CPebowj/9v//////9vb2//b///b29v/3 Sff/9gj39vb29vb////29v////////////////////////b29vb29v8HWwj/ 9v/29vb29vb29vb29v////b29v/////2CAcH7QcHBwcHBwcHCAgICAgI9vb2 9vb29vb29vb29vb///////////////////////////////////////////// //////////////////////////////////////////////////////8I96Sb SUlJSUlJmwf29vb29vb29vb29vb29gj2//////////////////////////// ////////9gekpKRbAAAAAAAAAAAAUvcICAgICAgICAgIBwgHCAj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CKUHB6QH9vb29vb29vb29vb2pKT2 9gj2BwoI9gj29gj29gj29gj29vb29vb29vb29gdSB/b29vYI9vb29vb29gj2 9vYI9vb2CPb29vb29gj29vb2B1v39q2l9gdbpFv39vdcCPb29vb29vb29vb2 CAj29luk9gelCPakW6Sl9gikB/b29vb29vYI9vYHWwf29gj29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YH96SkW0lJUqQHBwgHCAcIBwcHBwcHBwcHCAcH BwcI9v////////////////////////////////////////////////////// //////b29vb29vb29vb29vb2CAgICAgICAcHBwcHBwcHBwcH7ff39/f39/f3 9/f39/f396SkpKSkpKSk9/f3CPb///b29vb29vb///b29vb29vb29vb29vb2 9v/////2//b2///2/wisB/b2///2///2pJsH//b/9vb29vb2////9vb/9v8H AKz///b2//b2CAj29vb2////////////////////////9vb29vb///ZS9/b2 //b29vb29vb29vb29vb29vb///b29v////YIBwcHBwcHBwcHBwcICAgICAj2 9vb29vb29vb29vb2//////////////////////////////////////////// //////////////////////////////////////////////////////8I96Sb SUlJSUlJmwf29vb29vb29vb29vb29gj2//////////////////////////// ////////9gekpKRbAAAAAAAAAAAAUgcICAcICAgICAgIBwgHCAj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gcI9ggI9vb29vb29gj29vYICAj2 9vb2CAj29vYI9vYI9vb29vb2CPb29vb29vb29vYH9gj29vb2B/b29vb29vYI 9vYI9ggI9gj2CAj29vb29vb29gcI9gcI9ggHBwcICPYI9gj29vb29vb29vYI 9vb2CAj2CAgH9vYHBwgHCPYH9vb29gj2CPb29vYHB/b29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YH96WkW0lSUqQHBwgHCAcHBwcHBwcHBwcHBwcH BwcI9v////////////////////////////////////////////////////// //////b29vb29vb29vb29vYICAgICAgHBwcHBwcHBwcHB+3t9/f39/f39/f3 9/f396SkpKSkpKSkpKT3B/b/9vb29vb2//b29vb29vb///b29vb2///29vb2 9v////////b/9vb/9qwH9v////b/9vb///ek9vb29vb/////9vcI9vb29v8H AKz///YIrFtSSUlRUqMH9v/////////////////////29vb29vb///dS//// CP/29vb29vb29vb29vb29vb29v//9vb2//////YHBwcHBwcHBwcHBwgICAgI 9vb29vb29vb29vb29vb///////////////////////////////////////// //////////////////////////////////////////////////////8I96Sb SUlJSUlJmwf29vb29vb29vb29vb29gj2//////////////////////////// ////////9gekpKRbAAAAAAAAAAAAUgcICAcICAgICAgIBwgHBwj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb2 9vb29vb2CPb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29gj29vb29vYI 9vb29vb29gj29vb29vb29gj29vb29vb29vb29vb29gj29vb2CPb29vYI9vb2 9vb29gj29vb29gj29gj29vb29vYI9vb29gj29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////9vYH96Skm0lJUqQHBwcHCAcHBwcHBwcHBwcHBwcH BwcI9v////////////////////////////////////////////////////// ///29vb29vb29vb29vb29ggICAgICAcHBwcHBwcHBwcH9/f39/f39/f39/f3 9/ekpKSkpKSk96Sk9wf29vb29vb29vb29vb29vb29vb29vb29vb29vb29v/2 9v/29v//////9vb/B/f29gj3B/b29v/29vasB///9v//9v//90n3////9vYH APf2B1pJSUlSUlpSSQBJWwf/9v////b////////////2//b2//b/CFL3///2 ///29vb29vb29vb29vb29vb29vb29vb29vb29v/29gcHBwcHBwcHBwcICAgI CAj29vb29vb29vb29vb///////////////////////////////////////// //////////////////////////////////////////////////////8I7aSb SUlJSUlJmwf29gj29vb29vb29vb2CPb2//////////////////////////// ////////9gf3pJubAAAAAAAAAAAAWwcICAgICAgICAcICAgIBwj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb2 9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb2CPb2CPb29vb29vb2 9vb29vb29vb29gj29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vYI9vYI 9gj2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////9vYH96Skm0lJUqQHBwcHCAcHBwcHBwcHBwcHBwcH BwcI9v////////////////////////////////////////////////////// ///29vb29vb29vb29vb2CAgICAgIBwcHBwcHBwcHBwf39/f39/f39/f39/f3 96Sk96SkpPekpPcHCPb/9vb29vb29vb29vb29vb29vb29vb29vb29vb29v/2 9vb29vb/////9v//B/f/9qSjSVsH9v/29v8HB/b/9v////8HUkmk//b2//+b AKRbSVqk9wgI9ggICKwRAFoH//b///b////////////2///2//b/B1IH///2 ///29vb29vb29vb29vb29vb29vb29vb29vb2////9vYIBwcHBwcHBwcHBwgI CAgI9vb29vb29vb29vb29v////////////////////////////////////// //////////////////////////////////////////////////////8I7aSb SUlJSUlJmwf29gj29vb29vb29vb2CPb2//////////////////////////// ////////9gf3pJubAAAAAAAAAAAAWwcICAgICAgICAcICAgIBwj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vYI9vb29vb29gj29vb29vb2 9vb29vb29vb29vb2CPb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29gj2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29ggI9gj29vb29vb2 9vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb2CPYI 9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////9vYH96Skm0lJUqQHBwcHCAcHBwcHBwcHBwcHBwcH BwcI9v////////////////////////////////////////////////////// //b29vb29vb29vb29vYICAgICAcHBwcHBwcHBwcH9/f39/f39/f39/f396Sk pKT3pKSkpKSk7Qj2///29vb29vb29vb29vb29vb29vb2//b29vb29vb2//b/ //b/B/b/////9v/2BwcI//b290lSB/b29v/2B/b/9v/2//abAEla9v//9gdS UVKkBwj2//b2///29vb3UgBSCP/29v/2///////////29v//9vb/91II///2 //b29vb29vb29vb29vb29vb29vb29vb29vb29vb////29ggHBwcHBwcHBwgI CAgICPb29vb29vb29vb29vb2//////////////////////////////////// //////////////////////////////////////////////////////8I7aSb SUlJSUlJmwf29gj29vb29vb29vb2CPb2//////////////////////////// ////////9gf3pKSbAAAAAAAAAAAAWwcICAgICAgICAcICAgIBwj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPYI9vYI9vb2CPb2CPYI9vb29vb2 9gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb2CPb2CPb29vb29vb29vb29vYI9vb29gj29vb29vb29vb2CPYI 9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YH96Skm0pJUqQHBwgHCAcHBwcHBwcHBwcHBwcH BwcI///////////////////////////////////////////////////////2 9vb29vb29vb29vb29ggICAgHBwcHBwcHBwcHBwf39/f39/f39/f39/f3pKSk pKSkpKSkpPcH9vb29vb29vb29vb29vb29vb29vb29v////b29vb29vb2//b/ 9vb/9/b///b////2B6T/9vb29qwAWwj/9v/29/b2///29gdRSQBa9vb/B1oA Ugf///b/9vb/9v//9v//91EApPb2///2///////////29v//9vb/rFL29v/2 //b29vb29vb29vb29vb29vb29vb29vb29vb29vb29v////b2CAcHBwcHBwcH CAgICAgI9vb29vb29vb29vb2//////////////////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJWwf29gj29vb29vb29vb2CPb2//////////////////////////// ////////9gf3pKSbAAAAAAAAAAAAWwcICAgICAgICAgICAgIBwj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YH96Skm1JJUqQHBwgHCAcHBwcHBwcHBwcHBwcH BwcI//////////////////////////////////////////////////////b2 9vb29vb29vb29vb2CAgICAgHBwcHBwcHBwcH7ff39/f39/f39/f39/ekpKT3 96SkpKT3B/b///b29vb2///29vb29vb29vb29vb29v////b29vb29vb2//b2 9v/2pPb29vb2//b/9qQH9v///wgAUQj/9v/2pPb////29gdJUVFSCP8ImwBS CPb/9vb///b/9vb/9vb2B1FJSff///b////////////29v//9vb/rFL29vb2 //b29vb29vb29vb29vb29vb29vb29vb29vb2///29vb29vb/9ggHBwcHBwcH CAgICAgI9vb29vb29vb29vb2//////////////////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJWwf29gj29vb29vb29vb29vb2//////////////////////////// ////////9gf3pKSbAAAAAAAAAAAAmwcICAgICAgICAgICAgIBwj2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gj2CPb2CPb29vb2CPYI9vYI9vYI CPb29vYI9ggI9vb29vb29vb29gj29vYICPb29vb29vb29vb29vb29vb29vb2 9ggI9vb29vb29vb29vb29vb29vb29vb29vb29vb2CAj29ggI9vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9gj29vb29vb29gj29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB6SknFJJUqQHBwgHCAcHBwcHBwcHBwcHBwcH BwcI///////////////////////////////////////////////////29vb2 9vb29vb29vb29ggICAgICAcHBwcHBwcHBwf39/f39/f39/f39/f3pKSkpKSk pKSkpPcI//b2//b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2///2 9v/2pPf2//b29vb//wij9wj29loAW/b29v8Hrfb/9vb//wdJERGj//abAFEH 9v/////29v/29vb/9v//9VFJSFr/9v/2///////////2///29vb291II9vb2 //b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb/9vb2CAcHBwcH BwcICAgICPb29vb29vb29vb29v////////////////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJWwf29vb29vb29vb29vb29vb2//////////////////////////// ////////9gf3pKSbAAAAAAAAAAAAmwcICAgICAgICAgICAgIBwj///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gcI9vb29vb29vb2 9gj29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vYI9vb2CPb29vb29vb29vb29vb29vb29vb29vb29gj29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb2CAj29gj29vb29gf29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB6SkpFJJUqQHBwgHCAcIBwcHBwcHBwcHCAcH BwcI///////////////////////////////////////////////////29vb2 9vb29vb29vYICAgICAgHBwcHBwcHBwcH7ff39/f39/f39/f39/ek96SkpKSk pKT3B/b29v//9vb29vb29vb/9vb29vb29vb29vb29vb29vb29vb29vb2///2 9vb295v2///29vb29v/2o1JaWgBa9fb2//akB/b/9vb//whRSFEI9qMAUvX2 //b29gj/9qSk9v/2CPWkUUlISVEH9v/2///////////2///2//b/91EH//b2 //b/9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v//9vYIBwcH BwcHCAgICAj29vb29vb29vb29vb29v////////////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJWwf29vb29vb29vb29vb29vb2//////////////////////////// ////////9gf3pKSbSQAAAAAAAAAAmwcICAgICAgICAgICAgIBwj///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CFL39gj29vb29vb2 9gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vYI9vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI 9vb29vb29vYI9vb29vb29vb29vb29vb2CFwI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB6SkpFJJUqQHBwgHCAcIBwcHBwcHBwcHCAcH BwcI//////////////////////////////////////////////////b29vb2 9vb29vb29ggICAgICAcHBwcHBwcHBwft9/f39/f39/f39/f396SkpKSkpKSk pPcI9v//9vb///b29vb/9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 //b/CFII///29v//9v/2//eko/cH9v/2/whbCP/2//b/9vZbUfUIWgBaB/b/ 9v/29v/2pABS9vb29qMAUUlRSUn39vb/9v/////////2//b2//b/B0n3//b2 //b/9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2///2CAcH BwcHBwgICAgICPb29vb29vb29vb29v////////////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJWwf29vb29vb29vb29vb29vb2//////////////////////////// ////////9gf3pKSbSQAAAAAAAAAAmwgICAgICAgICAgIBwgIBwj///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2rff29vYIrfcIW1JbBwikCAetCPak rfb29getpKStCPYIpKSkpAcIpAj2CPdbpPf29vb29vf3B/b296Sk9wj29gj3 pFusB/b2pKSkB/YI91wI9vYHrQf2B6T29vf39vatpFsH9vf39vakBwgHpKSk pfb29gj3pKSkrfYHW/cI96QICK1bpAcIB632CPYHrfb2rQcH96Skpff2B6T3 B6QICKUH9gekrQgIpFytCAf3B/b2B60HBwr39vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB/eknFJJUqQHBwcHCAcHBwcHBwcHBwcIBwcI Bwf2///////////////////////////////////////////////29vb29vb2 9vb29vb2CAgICAgIBwcHBwcHBwcHB+339/f39/f39/f3pKT396SkpKSkpKT3 B/b29vb29vb29vb29vb29vb29vb///b29vb/9v/2//b29vb2//b/9vb///b2 //b//6Nb9v/2//b29v//////9v//9vb/CKSk//b/9v//9v/2B/dSAKQI9vb/ ///29v8HUQCj9vb29qxREREQURGs///29vb///////////b29v/29lKs9v/2 //b29vb29vb29vb/9vb///b/9vb2//b///b/9vb/9vb2//b29vb29vb29vYI BwcHBwcICAgICAj29vb29vb29vb29vb///////////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJWwf29vb29vb29vb29vb29gj2//////////////////////////// ////////9gf3pKSkSQAAAAAAAAAApAgICAgICAgICAcICAgICAj///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2pVIH9vb3UwecU6WkBwdKB61b9vdS rfb29vdSpPdbrfakmwf3UgcHUgf2pJsH96QI9vYI9ltSB/b3WwcHpAj29vak 9welnPakmwit9/YHUvcI9vYHUgf291MI9qRb9qRbBwek9qSk9gdSrfZSpAhb W/b29vdb9wdbW/acpAgHWwf2W6QHra32pFv29vb3Wwj2nJwHU/cHW1v2pFsI B1IHCFIH9qScCAdb9wikCAdJCPb2CFL3CFL39vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB/eknFJJUqQHBwcHCAcHBwcHBwcHBwcIBwcI Bwf2///////////////////////////////////////////////29vb29vb2 9vb29vYICAgICAgHBwcHBwcHBwcH7ff39/f39/f39/f396SkpKSkpKSkpPcI 9vb29vb29vb29vb29vb29vb2///29v/2//8H9vYI9v/2///29v//9v/29vYI Bwj29gdJrPb29v////b///b2///2//b/pFv29vb/9v//9vb3W0laB///9v// //b29v/3ERFRCPb29qMQEVEQEBH39vb/9vb////////////29vb29ptb9vb2 9vb29vb29vb29vb///b29vb2///29ggH9vb2//b29v/29vb29vb29vb29vb2 CAgHBwcIBwgICAgI9vb29vb29vb29vb2//////////////////////////// //////////////////////////////////////////////////////8I9aSb SUlJSUlJUwf29vb29vb29vb29vb29gj2//////////////////////////// ////////9gf3pKSkSQAAAAAAAAAApAgICAgICAgICAcICAgICAj///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFtTW1JSpPZb9/YI9ghTB/dS91ut 9vb29vdS9vakW/ZbrfYHWwj3Wwj2W6UHBwf29vb2B1JbpPZbpAcIB/b29vb2 Bwf3WwdbpQgHB/b3mwj29vYHUgf2rVsH9qSk9lKtCAcH9qSt9ghbBwdbCPak W/b29gdb9/ZbpAhS9/alW/YHW60HCAcIraT29vYHWwj2pKT3UwcIW6T/pKT2 B1sHCFv39luk9vdbBwcHBwdbB/b2B1IH9ggI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB/ekpFJJUqQHBwcHCAcHBwcHBwcHBwcIBwcI Bwj2//////////////////////////////////////////////b29vb29vb2 9vb29vYICAgICAcHBwcHBwcHB+339/f39/f39/f39/f3pKSkpKSkpKSkB/b/ 9vb29vb29vb29vb29vb29vb2//b2//b/CAcHCPf39/b/9v//9v/2//8I95tR SUlS9/akAKT/9vb29vb///////////+kUgj2//YI9gj391tRowf///b29vb2 9vb2//b3SUkAW/UHo1FRURBREFEH9vb29vb/////////////9vb///dSCPb/ 9vb29vb29vb29vb2//b29v//B6RSUlukpPcHCPb///b/9vb29vb29vb29v// 9vYIBwcHBwcICAgICPb29vb29vb29vb2//////////////////////////// //////////////////////////////////////////////////////8I9aSb SUlJSUlJUwf29vb29vb29vb29vb29gj2//////////////////////////// ////////9gf3pKSkSQAAAAAAAAAApAgICAgICAgICAcICAgICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29qRb/whb9/Zb9//29gdSB61SUlsI 9vb29gdSCPb3Wwhb9/YHUwcHUgf2UlukW1L39vb2pJz3WwhbU6ScUq32CPal W1ukBwhSnJubUgcHUgf2CPYIUgf291sI9qSkB1tbm1tbB6Sk/whS9/dTCPb3 W/b29gitW1xbW/Zbpfb3UvYIUlukW1MHpKT29vb3Wwj2pJz291ubW5z2W6X2 B1MHCFP39luk9vdSm6RbpAdS9/b2CFL39vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB/ekpFJJUpwHBwcHCAcIBwcHBwcHCAgIBwcI Bwj2//////////////////////////////////////////////b29vb29vb2 9vb29ggICAgIBwcHBwcHBwcH7ff39/f39/f39/f3pKSkpKSkpKSkpPcI9vb/ 9vb29vb29vb29vb29vb29vb29v//9v8IpAcI//8I96T29vb/9vb29gdbAAAA AFEAAKz2pABbCP//9v/29vb29vb/B6RSB/b/9vYH9/ekURFSo/f2//b///b/ 9vb2//YHUhBRABBREBBREBBREFsI///29vb/////////9vb///b2/wdSpP/2 9vb29vb29vb29vb29v//9vb3UkmkBwf2CPes9wf2//b29v/29vb29vb29vb2 9vb29gcHBwcICAgICPb29vb29vb29vb29v////////////////////////// //////////////////////////////////////////////////////8I9aSb SUlJSUlJUwf29vb29vb29vb29vb29vb2//////////////////////////// ////////9gj3pKSkSQAAAAAAAAAApAgICAgICAgICAcICAgICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vdSCPdbB/acpPYI9ghSB/dbrVIH 9vb29vdSCPZbW/ZbpfYIUgcHU/b2m632B1IH9vYIW/cIUwekpPb2W/f29vZb rfb29gikpfYHUggHW/b29vYHWwf2rVIH9lul9lut9gdSB6Vb9gdSBwdSB/ak W/b29vYI9vacpAdbrfb3W/YIW/f291IIpFv29vb3Wwj2W6T29vb2pFv2paT2 B1sI9lsH9qSt9vdS9vacpAdSB/YI9lIH9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////YIB/ekpFJJUpsHBwcHCAcIBwcHBwcICAgIBwgI Bwj2///////////////////////////////////////////2//b29vb29vb2 9vb2CAgICAgHBwcHBwcHBwft9/f39/f39/f39/ekpKSkpPekpKSkB/b/9vb2 9vb29vb29vb29vb29vb29vb29v/2//+bB/b///b///f39v/29vb/B1IAUVr3 B/espKT/9psAUaMH9vb29vb29gekUlIH9v//9vb//wijSRERUUlaB///9v/2 9vb29v8IoxBRURAQUVERUVEQUff29vb29vb/////////9vb///b2//+bUvb2 9v/29vb29vb29vb/9v/29qxJWwj///b2///2BwcH///29vb29vb29vb29vb2 9vb/9vYHBwcHBwgICAj29vb29vb29vb29vb2//////////////////////// //////////////////////////////////////////////////////8I9aSb SUlJSUlJUwf29vb29vb29vb29vb29vb2//////////////////////////// ////////9gj3pKSkSQAAAAAAAAAApAgICAgICAgICAcICAgICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29ghbpKSk9vYIpFtb9wdb9/dS9vdS rfb29gdTW1tbB/ZbpfYHWwekUlIHCFtbW/f29vatWwj2pJwIpFtbpPb29gj3 W1ukB/b3m1tTBwhbUlsI9vYHUlJbW1ukW6T3CAdbW1v39qVSW1ukCPdbB/ak W/b29gitW1tbCAhb9whbUqT2B1tTpK32pFNbW/f3UlxcWwgIpJxbUwgHUlul B0oHpVJS96Sb9vakm1uk9gdSU1uk91sH9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////b2B/ekpFJKUpsHBwgHCAcIBwcHBwgICAgHCAgI Bwj2////////////////////////////////////////9vb29vb29vb29vb2 9vYICAgIBwcHBwcHBwcHB+339/f39/f39/f39/ekpKSkpKSkpPcH9vb2///2 9v/29vb29vb29vb29vb29vb2//b2/6Ss///2CP//9vb3CP/2///2m0lbBwj2 9v/29vb/9vb3UQBJUmOjpKRjWlFJUgj2////////9v8IUklREBEAWwf29v/2 9vb29v8I9VsAUVFRUREQURBSrPb/9vb29vb///////////b////29v8HUqT/ 9v/29vb29vb29vb29vb/91Kj9v/2///29vb//wgHCP//9vb29vb29vb29vb2 9vb29vb2BwcHBwcICAgICPb29vb29vb29vb29v////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJUgf29vb29vb29vb29vb29vb///////////////////////////// ////////9gj3pJukUgAAAAAAAAAApAgICAgICAgICAcICAcICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29valW6T39vb2CAcHCPYH9vdb9ggI CPb29vdbBwcH9vYHCPb2B/b3Ugf29vYICPb29vYICPb29gcI9gcI9vYI9vb2 CAgICPb2BwgH9vatUvf29vb2CAgHBwgICAj29gj2CAf29gcIBwgI9ggH9vYI B/b2CAj2BwcI9vZbrfakWwf29ggH9vb29gcIB/b2BwcHCPb2CAcI9vYIW1sI 9ggIB1Kt9luk9gj2CAf29ggICAgH9gj29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////b2B/ekpFJSSpsHBwgHCAcIBwcHCAgICAgHCAgI Bwj2////////////////////////////////////////9vb29vb29vb29vb2 CAgICAgHBwcHBwcHBwcH7ff39/f39/f39/f3pKSkpKSkpKSk9wj/9v/29vb/ //b29vb29vb29vb29vb29vb29v//B5v29vakAFIH///3B/b2//8ISVKkUlJb CP/2//b2///29vVaUVEREREAEVr39vb/9vb2//b/9v/2B6NRUVJbpAf///b/ 9vb29vb3CAijURAQABEREVL39v/29v//9vb/////////////9v//9vb/pFII 9vb29vb29vb29vb2//b2Ulr2//b/9vebm/f2//8IB/b/9vb29vb29vb29vb/ //b29vb/9ggHBwcHCAgICAj29vb29vb29vb29v////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJUgf29vb29vb29vb29vb29vb///////////////////////////// ////////9gj3pJukUgAAAAAAAABJpAgICAgICAgICAcICAcICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYHUlsI9vb29gj29vb29qRb9gj2 9gj29vdSCPb29vYICAgI9vb2UqX2CPYI9vb29vb29gj29vb29gj29vb29vYI 9vYI9vb29vb29vYHW/b29vb29vYI9vb29vb2CPYI9vb29vb29vb29vYICAf2 9vYI9vb2CPb29ghTpPb3W/b29vb29vb29vb29gj29vb29vb29vb29vb2ra32 9gj29lutCFuk9vb29vYI9vb29vb29gcI9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////b2B/ekpFJSSZsHBwgHCAcIBwcHCAgICAgHCAgI Bwj2///////////////////////////////////////29vb29vb29vb29vYI CAgICAcHBwcHBwcHBwft9/f39/f39/f39/ekpKSkpKSkpKQH9v/29vb29vb2 9v/29vb29vb29vb29vb29vb2///2pPf2/wdJpKNSB/YIB/b/9vYIAFFJSVJS 9//29vb2//b2//b2CPespKSsBwj29vb29ggHCPb29v/29v8ICPb///b2//b2 9vb/9gibCP//9aNaWlparAj/9vb2//b/9vb////////2////9vb///b/CFKk 9v/29vb29vb29vb29v/3AAf29vb/B1pbUlEI//8I9/b29vb29vb29vb29vb2 9vb2//b2//b2BwcHBwgICAgICPb29vb29vb29v////////////////////// //////////////////////////////////////////////////////8IB6Sb SUlJSUlJUgf29vb29vb29vb29vb29vb///////////////////////////// /////////wj3pJukUgAAAAAAAABJpAgICAgICAgICAcICAcICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gj2pPf29vb2CPb2CPb29gek9vb2 CPb29gikCPb29vatrQikCPYI91sH9gj29gj29vb29vb2CPb2CPb2CPYI9vb2 9vb2CPYI9gj29gj29vb29vb29vb29vYI9gj29vb29vb29vb29vb29vakCPek 9vb29gj29vb29vakB/b29gj29vb29vb29vb29gj29vb29vb29vb29vb29vb2 B1wI9vec9/f3CPYI9vb29vb29vb2CKQH9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpFNJUpsHBwgHCAcHCAgICAgICAgICAcI Bwj2////////////////////////////////////9vb29vb29vb29vb29ggI CAgICAcHBwcHBwcHB+339/f39/f39/f3pKSkpKSkpKSk9wf29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29v/2W/f///da9v/3rPb3B//29v/3SUmj9wcI 9vb29vb29vb2///29vb///b////29vb2CKRRrPb2//b2///2///29vb29vb2 9v/29qSj//b2///2CPb2//b29vb29vb29v/29v//9v//////9vb2//b2/wdJ 9fb/9v/29v/29v//9vZSo/b/9vb/W/X2B0n3//8I9wj/9v/29vb29vb29vb2 9vb29vb2//b29ggHBwgICAgI9vb29vb29vb29vb29v////////////////// //////////////////////////////////////////////////////8IB6Sb UklJSUlJWwf29vb29vb29vb29vb2CPb///////////////////////////// /////////wj3pKSkUgAAAAAAAABJ9wgICAgICAgICAgHCAgIB/b///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 CPYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpFNJUpsHBwgHCAcHCAgICAgICAgICAcI Bwj2////////////////////////////////////9vb29vb29vb29vb29ggI CAgIBwcHBwcHBwcH7ff39/f39/f39/ek96SkpKSkpKT3B/b/9vb29vb29vb2 9vb29vb29vb29vb29vb29vb2//YISQf/9ghb9f//CAj3CPb///b3Saz///b2 ////9vb29vb29vb/////9vb/9v/2//asY1paWqwH9v/29vb2////////9vb2 ///29luk9v/29gj29vb/9vb29vb29vb29vb2////9v/////29vb29vb2//+k Uvb2//b2//b2//b29ghS9/b/9v/29wj2CFEH9v8H9/b/9v/29vb29vb29vb2 9vb29vb29vb/9vYIBwcICAgICAj29vb29vb29vb29v////////////////// //////////////////////////////////////////////////////8IB6Sb UklJSUlJWwf29vb29vb29vb29vb2CPb///////////////////////////// /////////wj3pKSkUgAAAAAAAABJ9wgICAgICAgICAgHCAgIB/b///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb2 9vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb2CAj29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpFtJUpsHBwgHCAcIBwcICAgICAgICAcI Bwj2////////////////////////////////////9vb29vb29vb29vb2CAgI CAgHBwcHBwcHB+339/f39/f39/f396T3pKSkpKSkpPcI///29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2//YISQf2///3pAj/9vcH//////ako/b29v/2 96NbWlJSUlJbo6T3CP/29v////b29gdaUau1WhGk9v/2//b29vb29vb29v// //b/9lKk9v//9vcH//b/9vb2///////////29v/29v//9v/29vb29v8I9v/2 pFII//b/9vb29v/2/wdSB/b/9vb29/b/91v2//b39/b/9v/29vb29vb29vb2 9vb29vb29vb////2CAcHBwgICAj29vb29vb29vb29vb///////////////// //////////////////////////////////////////////////////8IB6Sb UklJSUlJWwf29vb29vb29vb29vb2CPb///////////////////////////// /////////wj3pKSkUgAAAAAAAABJ9wgICAgICAgICAgHCAgICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb2CPb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpFtJUlsHBwgHCAcIBwgICAgICAgICAcI Bwj2////////////////////////////////////9vb29vb29vb29vYICAgI CAcHBwcHBwcH7ff39/f39/f39/f3pKT3pKSkpKSk9/b///b29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb2UqT/////CPek9wj/9v/29v+k9f8I91oR UVJRUVJSUlJRSUlJSVv3//b2///2//asWqwIYloH9v/2///2///////29vb2 9vb/9lKk9vb29qSk9vb/////////////9v//9vb///b/9vb29vb29vb/9v/2 9qRa9vb/9vb///b2/wdSCP//9v/2rP/2rAj2/wesCPb29vb29vb29vb29vb2 9vb29vb29vb29vb/9vYHBwcICPYICPb29vb29vb29vb2//////////////// ///////////////////////////////////////////////////////29aSb UklJSUlJWwf29vb29vb29vb29vb2CPb///////////////////////////// /////////wgHpKSkUgAAAAAAAABJ9wgICAgICAgICAgHCAcICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggI9vYI9vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpFtJSlsHBwgHCAcICAgICAgICAgICAcI Bwj2///////////////////////////////////29vb29vb29vb29ggICAgI BwcHBwcHBwcH9/f39/f39/f39/ekpKSkpKSkpKQH9vb29vb29v/29vb29vb2 9vb29vb29vb29vb29vb29vb2////Ulv/CP/29v////b2//b///8ICKNRWqOs 9/cHCAgICAgH96RSSUkAUff/9v/2CPYIUlFaEaz29v/29v//9vb29vb///b2 ////9lpSCP/2/6Ob//b/9v//////////9vb///b////29vb29vb29gj2CPb2 9vakW/b29v/2//b2//ZSB//2//b2BwcI////B/cH//b29v/29vb29vb29vb2 9vb29vb29vb29vb///b2CAcHCAgICPb29vb29vb29vb29v////////////// ///////////////////////////////////////////////////////29aSb UklJSUlJWwf29vb29vb29vb29vb2CPb///////////////////////////// /////////wgHpKSkUgAAAAAAAABJ9wgICAgICAgICAgHCAcICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI 9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29gj29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpFtJSVsHBwgHCAcICAgICAgICAgICAgI CAj2///////////////////////////////////29vb29vb29vb2CAgICAgH BwcHBwcHBwft9/f39/f39/f396SkpKSkpKSkpAf2//b29v//9vb/9vb29vb2 9vb29vb29vb2//b29vb29vb29v/2B1H3///2//b2////9v/2/wikSUmj9/UI 9v/////2//////YI91sAUQCb9vb///YIWmNjWmP29v//9vb/////9vb29v// ///2/6QApP//9lpb9v/29v////////////b///b29v/29vb29vb29vaj9wgI CPb291sI9vb/9v/29vak9/b2///2/wf3B/esBwj29vb/9v/29vb29vb29vb2 9vb29vb29vb/9vb29vb/9ggHBwgICAj29vb29vb29vb29vb///////////// ///////////////////////////////////////////////////////29aSb UklJSUlJWwf29vb29vb29vb29vb2CPb///////////////////////////// /////////wgHpKSkUgAAAAAAAABJ9wgICAgICAgICAgHCAcICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI 9vb29vb29vb29vb29vb29vb29vb29gj29vb29vb2CPb29vb2CPb29vb2CPb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpFtJSVsHBwgHCAcICAgICAgICAgICAgI CAj///////////////////////////////////b29vb29vb29vYICAgICAcH BwcHBwcH9+339/f39/f39/f3pKSkpKSkpKSkB/b/9vb29vb29vb29vb29vb2 9vb29vb29vb///b29vb29vb29v/2/6RSCPb/9vb///b2///2CFoASVJREVFS WqP39v/29vb29v//9gj3UQBRm/b2CPb/BwgICPYIB/f39/cHCPb2///29vb/ ///2/whSUvf291Gk9vb29v//////////////9gcH9vb29vb29vb29vYHo6T3 CAj29vdbB//2//b2//YH9/b///b///b2CAf29v//9vb/9vb29vb29vb29vb2 9vb29vb29vb2///29vb/9vYIBwcICAgI9vb29vb29vb29vb2//////////// ///////////////////////////////////////////////////////29aSb UklJSUlJWwf29vb29vb29vb29vb29vb///////////////////////////// //////////YHpKSkUgAAAAAAAABJ9wgICAgICAgICAgHCAcICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9gj29vb29vb29vb29vb29vb29vb29vb2CPdcCPb29vb29vYI9gekB/YI9vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpFtJSVsHBwgHCAcICAgICAgICAgICAgI CPb///////////////////////////////////b29vb29vb29ggICAgIBwcH BwcHBwf39/f39/f39/f39/ekpKSkpKSkpPcI//b29vb29vb2///29vb29vb2 9vb29vb29v////b29vb29vb2//b29vZSWvb/9v/29v//9v8HUgBJSVKk9fUH B6xbpAf29v//9vb2//YICFoASff2Bwj/9v/29aNSUklJUlJRUlukB/b/9vb2 9v////+kAFr3UkkH//b2////////////9v/2B6wH//b29vb29vb29vYIW1us 9ggICAj3o6wI9v////b2pAj/9vb29v////b///b2///2//b29vb29vb29vb2 9vb29vb2//b29v/29v/2///2CAcICAgICPb29vb29vb29vb29vb///////// ///////////////////////////////////////////////////////29aSb UklJSUlJWwf29vb29vb29vb29vb29vb///////////////////////////// //////////YHpKSkWwAAAAAAAABJ9wgICAgICAgICAgHCAcICPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 B6QH9vb29vb29vb29vb29vb29vb29vb29gekrQj29vb29vb29valWwf29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI96T29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpJtJSlsHCAcICAgICAgICAgICAgICAgI CPb///////////////////////////////b29vb29vb29vb29ggICAgHBwcH BwcHBwf39/f39/f39/f39/ekpPekpKSk9wj29vb29vb29vb29vb2///29vb2 //b////2///29vb29vb29vb29vb29vYHpEn39vb29gj/9ghaAEla9/b29v// 9v/2CPcHCPb/////9v/2/whSSVr/9qMI9gdaSVqk9wcI9vYI96RSUVoH9vb/ 9v////8IpABJSaT2///2//////b/9v///wekowf///b29vb29vb29vYHY2Nj rAgICLWrq1qj9wj29v//CAcI///2///2///29vb2//b///b29vb29vb/9vb2 //b29vb29vb2//b2//b/9v///wgIBwgICAgI9vb29vb29vb2//////////// //////////////////////////////////////////////////////8IB6Sb UklJSUlJWwf29vb29vb29vb29vb29vb///////////////////////////// //////////YHpKSbWwAAAAAAAABJ9wgICAgICAgICAgHCAgHCPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29ggIBwcI9vYHBwgH9ggI9ggICPb2 pFL39vYIBwcICPb29gj29vYICPb29wf29vYHW/b2CAgICPYHCPb2W/f29ggI B/b2BwcH9vb29vYHCAcH9vYICAgHCPb29vYHB/YIBwcI9vYHW1sI9vYIB/YI CPYHCPb29vYHBwcH9vYI9vYH9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpJtJSlsHBwcICAgICAgICAgICAgICAgI CPb///////////////////////////////b29vb29vb29vb2CAgICAgHBwcH BwcHB+339/f39/f39/f3pKSk96SkpKT3B/b29vb29vb29vb29vb29vb29v// 9vb2//b2///2//b29vb29vb29vb2///2CPdbm6QH9wgI9lpJSaz29vb///// 9v////YHCPb2//////////b3SVII9vabpFJaB/b2///29vb2//b2B6RSm/b2 9vb29v/2rFEAAJsI9v/2//////b///YHpFGk9v/2//b29vb29vb29vb2tVpj rGKsa2JrY/UIo6P3Bwj///b29v/29v//9vb///b/9v/29vb/9v/29v/2///2 9vb29vb///b29vb2//b29v/2//b2CAcICAgI9vb29vb29vb29v////////// //////////////////////////////////////////////////////8IB6Sb UklJSUlJWwf29vb29vb29vb29vb29vb///////////////////////////// //////////YHpKSbWwAAAAAAAABJ9wgICAgICAgICAgHCAgHCPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFJbpFv39qRbpFNSCKRb9vZS9/Zb UltbCAdbpFuk9vYI9luk9gdKBwdSpJyk9gilUgf29q1b9gdbrfYIW5z29gdb WwitUltb9/b2CAdSnKRbrfZbpAhb9/YI9q1b9wekW5xbBwdbpJtbCPakUgek W/acW/b2CAdTW1xTBwdSCPcKrfb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2B/ekpJtJSVsHBwcICAgICAgICAgICAgICAgI CPb///////////////////////////////b29vb29vb29vYICAgICAcHBwcH Bwft9/f39/f39/f396SkpKSkpKSkpPcI9vb29vb29vb29vb29vb29v/29v// Bwf2//////b2//b29vb29vb2///29v////b2B/f1CAj2pABS9//////2///2 9vb////29vb2////9vb2///2UlEH//8HSVKk9vb///b29v//9v/29vYHW1sI ////9gejUUmjUQBRWvcHBwgICAf3pFtRWgj/9v//9v/29vb29vb29vb2CKxj tLVrY2JatPb29vdJUlukrPcI9vb/9vb/9vb///8H96T39/b2//b2//b2//b2 //b///b29vb29vb///b29v/2//b29gcICAgICPb29vb29vb29vb///////// //////////////////////////////////////////////////////8IB6Sb W0lJSUlJWwf29vb29vb29vb29vb29vb///////////////////////////// //////////YHpKSbWwAAAAAAAABJ9wgICAgICAgICAgHCAgHCPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFuk9vdSCFv39gdSCK1bCPZb9wdS 9wcHB1uk9vYHB/b29lyk9lKtCFv39vYH9vZcUqT29qRb9ghbrfb3UlIH9q1b 9gdbCPYICPb29ghS9/akpAhbpAhS9/b29lKk9vdb9vYHCPYI9ghbnAhbCPak W/atW/b2CFyk9gdbBwdSCAelCPb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2CPekpJtJSVvuCAgICAgICAgICAgICAgICAgI CPb/////////////////////////////9vb29vb29vb29ggICAgIBwcHBwcH Bwf39/f39/f39/f3pKSkpPekpKSk9wj29vb29vb29vb29vb29vb29v/29vb/ 9wf////2//b2//b2//b/9v/2////9vb2//b/////9v/3AFH1//b29vb////2 //b29v//////////9vb2//b/pFL2//+bpAikUpv3B/b///b29vb2//b29vdb B/ejUkkAowj2B6RSAElRUVJRUVJJUqT3//b29v/29v/29vb29vb29vb2CKxj Y6xjYqy1CPb3o1JRSQAASVJSWqQH///2//8IB5taUQAAURGs9vb/9vb/9vb/ 9vb29v//9vb/9vb/9vb29v/2///29ggICAgICPb29vb29vb29vb2//////// //////////////////////////////////////////////////////8IB6Sb W0lJSUlJWwf29vb29vb29vb29vb29vb///////////////////////////// //////////YHpKSkWwAAAAAAAABJ9wgICAgICAgICAgHCAgHCPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1sH9gdS9/dbW1tSB6Rb9vZbrfdb CPb2CFukW5ukB/b29qRSW1v2B1NbnFykCAdbpVsH9q1b9ghb9/ZbpFuk9vdb 9q1SnFKkrQj2CAdbB/b3WwecpAdb9/b29lut9qRSpFtb9/akW6RSB/ZS9/b3 W/akXAj29lv39gdbBwdbB/b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2CPekpJtJSVv3CAgICAgICAgICAgICAgICAgI CPb////////////////////////////29vb29vb29vb29ggICAgHBwcHBwcH B/f39/f39/f39/f3pKSk96SkpKT3CPb29vb29vb29vb29vb29vb29v/29vb2 9wf2//b2//b2//////////////////////b2//b29gdSUff2//b///b/9vb2 ////9vb/9vb29vb///////b291L2/whS//b29vdbW1uj9wcHBwj2Bwf3o6NS UlFJUqwI9vb///YIBwekm0lapPcH9v////b///b2//b29vb29vb29vb2B2Nj Wlpjqwj2CFsRUVJbpKSbUlERAFFJUvf29vdbUVEAAKNbUVFRpPb/9v/29vb2 9v//9vb/9v//9vb29vb29vb29vb2//b2CAgICAgI9vb29vb29vb29v////// //////////////////////////////////////////////////////8IB6Sb W0lJSUlJWwf29vb29vb29vb29vb29vb///////////////////////////// //////////YHpKSkmwAAAAAAAABJ9wgICAgICAgICAgICAgH9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFL39gdbCPYH9vdTCK2kCPZbrQdb CPb2CFuk9vdSB/b29ltbU6X2CFut9gdbB6VbCFut9vdS9ghS9wdSB/db9qRb CAdb9wikW/b29gdSB/b3W/ZbpPZb9wj29lL39qRbCAhbpAdbrQcI9ghbB/ak W/acpPb2CFul9vZSBwdTB/b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2CPekpJtJSVvuCAgICAgICAgICAgICAgICAgI CPb////////////////////////////29vb29vb29vb2CAgICAgHBwcHBwcH B/f39/f39/f396SkpKSkpKSkpPcI9vb29vb29vb29vb29vb29vb29vb2//b2 9/f2///2///29v/////////////////////29v//CFJRUvb2///////2//b2 //////////////b2//b/9v//rKT//wek9v//9v/2CPekW1JSUklSUVFaWlJb W/cI9v/////29vb/9vakSQBRpPb/9vb////29v//9vb29vb29vb29v8I9vdj o2Njtfb3EVIHB/////b29gisWwBRURFb9/UHB6xSUVH3rFEASaT29vb29vb/ 9vb29vb2///29vb29vb2CPb29vb2///29ggICAgI9vb29vb29vb29vb///// ///////////////////////////////////////////////////////29aSb W0lJSUlJWwf29gj29vb29vb29vb29vb///////////////////////////// //////////YH96SkmwAAAAAAAABK9wgICAgICAgICAgICAcH9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1tSB6Rb9gf3B6RbCKVS961TBwhb rQetCPdcB6RcCPb2CFv3B1L39qRcB6RbCFOt9qRbB6RTBwhb961SCAhSB/dS 9ghbpQhb9/YI9gdSpAiknAhbpAdSpAf39qSk9ghb9/dbBwdb9wf3CAdSpfak W/akUvcHCKVb96QKBwdSCPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2CPelpJtJSVvuCAgICAgICAgICAgICAgICAgI CPb///////////////////////////b29vb29vb29vYICAgICAcHBwcHBwcH 7ff39/f39/f3pKSkpKSkpKSk9/b29vb29vb29vb29vb29vb29vb29vb///b2 B5v2////9v/29v////////////////////b29vYHWkkA9fb///b///b///// 9vb///b///////b2//b/9v//9wf/9vYI9vb/9vb/9vb///YIBwf3BwgHCPb2 9vb2///29vb2////CAdSAEn39vb2///29v//9vb2///29vb2//b29vb29gj1 CKytCKxS9//2//b2///////29vVRABEAUff///b2WwBR9QhSSUn3//b/9v/2 BwcH9v/29vb29vb2CAi1rAj29vb2///29vYICAgICPb29vb29vb29vb///// ///////////////////////////////////////////////////////29aSb W0lJSUlJmwf29gj29vb29vb29vb29vb///////////////////////////// //////////YH96SkmwAAAAAAAABS9wgICAgICAgICAgICAcH9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFtbpKQI9gekpK0H9qVSpKT3CPb2 pFut9gitpKQH9vb29luk9gec9vatW60ICKUI9gekB1tbpAek9/f39vatB/db 9vYHrVut9vb29gdbW6SkCPat9witpFukCFul9vYHpKQH9vb3pFuk9qRSWwcH pPb3pKVb9/atpJxbBwekB/b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2CPelpJtJSVsHCAgICAgICAgICAgICAgICAgI CPb///////////////////////////b29vb29vb29ggICAgHBwcHBwcHBwft 9/f39/f39/f3pKSkpKSk95ukCPb29vb29vb29vb29vb29vb29vb29vb/9vb/ 9lsH9v/29vb////////////////////////29vdb91tS9v/2////////9v// ////////9vb///b2///2//b2B/b2//b2//b29v/29vb29vb2//b/9vb29vb2 9vb29vb29vb29vb29vb3pKz2//b29vb///b2///29vb29vb2///29vb29vYI CAj2pFsI9vb29v/////29vb29vb2oxBSUVGk9vb/9loAo/asUQBa9v/2/wj3 pAf/9vb/9vb2//YHY1paUff29vb///b2//YIBwgICAj29vb29vb29vb///// ///////////////////////////////////////////////////////29aSj m0lJSUlJmwf29gj29vb29vb29vb29vb///////////////////////////// //////////YH96SkmwAAAAAAAABS9wgICAgICAgICAgICAcH9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1IH9vb29vb29vb29qSc9vb29vb2 9vb29vb29vb29vb2CFuk9vb29vb29vb29vb29vb29vdb9vb29vb29vb29q1b CPb29vb29vb29ghbB/b29vb29vb29vb29lut9vb29vb2CPb29vb2CPZS9/b2 9vb29vb29vb29ghb9/b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////2CPf3pJtSSVP3CAgICAgICAgICAgICAgICAj2 CPb///////////////////////b29vb29vb29vb2CAgICAgHBwcHBwcHB+33 9/f39/f39/ekpKSkpKSkm/f29vb29vb29vb29vb29vb29vb29vb29vb29v// 9gdS9/b////2//b29vb////////2//b///8IrKMI9lGb//////////////// 9vb29v/29v/////29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29v//9vb////29vb2///////29vb/9vb2 9vakWwj/9vb29v/29vb29vb29vb2/6MRW6RRo/b29gdJW//2o0hRB/b/CFL3 9vb/9vb2//b29vYIUWKjWqQI9vb/9v/29v/29ggICPb29vb29vb29vb29vb/ ///////////////////////////////////////////////////////29aSb m0lJSUlJmwj29vb29vb29vb29vb2CPb///////////////////////////// //////////YH96Skm0kAAAAAAABS9wgICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1v39vb29vb29vb29qSkCPb29vb2 9vb29vb29vb29vb2B6Sk9vb29vb29vb29vb29vb29gdcpAek9wj29vb29qWk CPb29vb29vb29gdbB/b29git9/b29vb29lyk9vb29vb29vb29vb29ggICAj3 pPb29vb29vb29gdbBwecCPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////2CPf3pJtSSVP3CAgICAgICAgICAgICAgI9gj2 CPb///////////////////////b29vb29vb29vb2CAgICAcHBwcHBwcH7ff3 9/f39/f396T3pKSkpKSk9wf2//b29vb29vb29vb29vb29vb29vb29v////// 9vb3UqT///b/9v/////////29v////b/CPekY/f2B1H39v//////9v//9vb2 //////////b29v////b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v/////29v/2 9gdbB///9v/////29vb29vb29vb29vajEfWsUaT/9vb39/b/pFFR9f8HUvcI ///29vb/9v/29vb1WqwIWlL39vb/9v/29vb29ggICAj29vb29vb29vb29vb/ ///////////////////////////////////////////////////////29aSb m0lJSUlJmwj29vb29vb29vb29vb2CPb///////////////////////////// //////////YH96Skm0kAAAAAAABS9wgICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gcI9vb29vb29vb29ggH9vb29vb2 9vb29vb29vb29vb29gcI9vb29vb29vb29vb29vb29vYHB/YHCPb29vb29ggH 9vb29vb29vb29vYH9vb29vYHB/b29vb29gcI9vb29vb29vb29vb29vYI9vYI B/b29vb29vb29vYH9vYH9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////2CAf3pJtSSVL3CAgICAgICAgICAgICAgI9gj2 CPb///////////////////////b29vb29vb29vYICAgIBwcHBwcHBwft9/f3 9/f39/f3pKT3pKSkpKT3CPb29vb29vb29vb29vb29vb29vb29vb29v//9vb/ ///291JSB/b2//////b29v////b29gekpKT3WqMICFH3////////////9vb2 9v////////b29vb///b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb///b29vb2//b/9vb/ 9qT3///29vb29vb29vb29vb29vb/9vb2UlL2mwD3////9vb/CFJJCPZaWvb/ //b29vb/9vb2//b3UlqjWqMH9vb/9vb29vb2//b2CAgI9vb29vb29vb29vb/ ///////////////////////////////////////////////////////29aSb m0lJSUlJmwj29vb29vb29vb29vb2CPb///////////////////////////// //////////YH96Skm0kAAAAAAABS9wgICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////2CAf3pJxSSVL3CAgICAgICAgICAgICAj29gj2 CPb/////////////////////9vb29vb29vb29ggICAgIBwcHBwcHBwf39/f3 9/f39/ekpKSkpKSkpKQH9vb29vb29vb29vb29vb29vb29vb29vb29v//9vb2 9v//9gebUlKkBwgI9v//9vYICPekW5v3CPb1Y2OsCFL3//b/////////9vb2 9vb29vb29v////b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v/////29vb/9vb/ CKT29v/2///2//b29vb29vb29v/2//b/9wAHCFJJB/b2//b2/6Ob9qRJCPb/ 9vb29vb29vb29vYIrKQRowj29vb/9vb29vb2//b29ggICPb29vb29vb29vb2 ///////////////////////////////////////////////////////29aSb m0lJSUlJmwj29vb29vb29vb29vb29vb///////////////////////////// //////////YH96Skm0kAAAAAAABS9wgICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb2CPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9gj2CPb29vb2CAj29gj29vb29vb29vb29gj29vb29vb29vb29vb29vb29vYI 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////2CAf3pKRSSVL3CAgICAgICAgICAgICAj29gj2 CPb/////////////////////9vb29vb29vb2CAgICAgHBwcHBwcHB+339/f3 9/f39/ekpKSkpKSkpAf29vb29vb29vb29vb29vb29vb29vb29vb2////9vb2 9vb/9v//B6SbSVJaW5ubW1taUlr3B/b2/wgIY2Os9lv39vb///////b29vb2 //b29vb29vb29vb29vb29vb2CAj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v/2///2 Bwf/9vb///b2//b29vb29vb29v/29v/29luk//dJUfb29vb29gcICEmb//b2 9vb29vb29v/2//b29gj3B/b2//b29vb///b29v/29vYICAgI9vb29vb29vb2 ///////////////////////////////////////////////////////29aSb m0lJSUlJmwj29vb29vb29vb29vb29v////////////////////////////// //////////YH96Skm0kAAAAAAABSBwgICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj2 9vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////2CAf3pKRSSVL3CAgICAgICAgI9vb29gj29gj2 CP/////////////////////29vb29vb29vb2CAgICAcHBwcHBwcH7ff39/f3 9/f396SkpKSkpKSkB/b29vb29vb29vb29vb29vb29vb29vb29vb/9vb29v// //b2///2//YIB/espKOjpPf39gj2/wgHCAi1YmKs9qyj9vb29vb29vb29vb2 9vb29vb29vb29vb29ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICPb2 CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v/29v/2 Bwj29vb29vb2//b29vb29vb29vb/9vb//6Oj9vabAPf29vb29v/2pAAH9vb2 9v/29v/29vb29vb///b/9vb29vb29vb///b29vb2//YICAgI9vb29vb29vb2 ///////////////////////////////////////////////////////29aSb m0lJSUlJmwj29vb29vb29vb29vb29v////////////////////////////// //////////YI96Skm0kAAAAAAABSB/YICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2CPb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////29gf3pKRSSVL3CAgICAj2CAgI9vb29vb29gj2 CP/////////////////////29vb29vb29vYICAgICAcHBwcHBwft9/f39/f3 9/f3pKSkpKSkpKT39v/29vb29vb29vb29vb29vb29vb29vb29v//9vb29v// 9vb/9vb////////29vb29vb29vb/9ggICPdjtGtjtfdb9v/29vb29vb29vb2 9vb29vb29vYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb/ CPb////29vb2//b29vb29vb29vb2//b2//eb9vYHUkn1//b2//8HUlL29vb2 9vb2///2CAcHB/UI9v/2///29vb29vb29vb29vb29vb2CAgI9vb29vb29vb2 9v/////////////////////////////////////////////////////29aSb m0lJSUlJpAj29vb29vb29vb29vb29v////////////////////////////// //////////YI96SkpEkAAAAAAABSB/YICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb2CPb29vb2 9vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2CPb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb2 9vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// ///////////////////////29gf3pKRSSVL3CAgICAj2CAj29vb29vb29gj2 CP/////////////////////29vb29vb29vYICAgIBwcHBwcHBwf39/f39/f3 9/ekpKSkpKSkpPf2//b29vb29vb29vb29vb29vb29vb29vb2///////////2 9v//9v//9vb/9vb29vb29vb29vb2CKykpGO1tGJjowhjB///9vb29vb29vb2 9vb2CAgICAgICAgICAgIBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcICAgI CAgICAgICAgICAj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v/2 9v//9vb2///29vb29vb29vb29vb/9vb/9gib9v//mwCb//b29vYHUlr2//b2 9vb29vYIrKz39aSkrAj29vb29vb29v/29v//9vb29v/29ggI9vb29vb29vb2 9vb////////////////////////////////////////////////////29aSb m0lJSUlJpAj29vb29vb29vb29vb29v////////////////////////////// //////////YI96SkpEkAAAAAAABSB/YICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb2CPYI9vb29gj29gj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////CAf3pKRTSVL3CAgICAj2CAj29vb29vb29vYI 9vb////////////////29vb29vb29vb29ggICAgIBwcHBwcHB+339/f39/f3 pKSk96SkpKSk9wj29vb29vb29vb2//b/9v/29v/29vb29vb///////b2//b/ //////b2///2//b29vb29vb29vYHrGNbY2OsY1pjrPakpPb/9vb29vb29vb2 CAgICAgICAcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcICAgICAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb/9vb29vb29vb/9vb29vb29vb/9vb2/wek9vb2B0lJB//29vYHAKT29vb/ 9v/29gejB/////b291sH//b/9vb29v/29vb/9vb29vb29vYHCPb29vb29vb2 9vb2//////////////////////////////////////////////////8IB6Sc pElJSUlJpAj29vb29vb29vb29vb29v////////////////////////////// //////////YI96Sbm1IAAAAAAABSB/YICAgICAgICAgICAgI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb2CPYI9vb29vYI9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vYI9vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////CAf3pKRbSVL3CAgICAj2CAj29vb29vb29vb2 9vb///////////////b29vb29vb29vb29ggICAgHBwcHBwcHB/f39/f39/f3 9/ekpKSkpKT3B/b29vb29vb2///29v/29v//9vb29vb2///29vb///b///// //b2///29v////b29vb29vb29vYI96ysrKyjWlq1CAj/Wwf29vb29vb2CAgI BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcICAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb/9gj39v/29qMRo/b29v/3AKT2//b2 //b29qQH//YICPb29gekCPb2///29vb2//b2///29vb29vYICAj29vb29vb2 9vb2//////////////////////////////////////////////////8IB6Sk pElJSUlJpAj29vb29vb29vb29vb29v////////////////////////////// //////////YI96SbpFIAAAAAAABSB/YICAgICAgICAgICPYI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb2 CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2CPb29vb29vb29vb29vb29vYI9vb29vb29vb29vb2CPb2CPb29vb29vb2 9vb29vb29vb29vb29vb2CPYI9vb29gj29vb29getCPb29gj29vb2CPb2CPb2 9ggI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////CAf3pKRbSVL3CAgICAj2CPb29vb29vb29vb2 9vb///////////////b29vb29vb29vb2CAgICAcHBwcHBwcH9/f39/f39/ek 9/ekpKSkpKQH9v/29vb29vb29vb29vb///b/9vb/9v//9vb/////9vb///b2 ///2////9v//9vb29vb29vb29vb29vYICAgIY/W1CPb/B/cI9vb29ggIBwcH BwcHBwcHBwcHBwcHBwcHBwfu9/f39/f39/f39/f39/f39/f39/f39wcHBwcH BwcHBwcHBwcHBwcHBwgICAgICAgICAj29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb/9ggH9v/2/wcRUQj/9v/3AKQI//b2 //b/CKT29vYHpPb///ak9/b2//b29vb29v/29vb29vb29vb29gj29vb29vb2 9vb2///////////////////////////////////////////////////2B6Sk pElJSUlJpAj29vb29vb29vb29vb29v////////////////////////////// //////////8I96SbpFIAAAAAAABSB/YICAgICAgICAgICPYI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29gj29gj2 9vb2CPYI9vb29vb29vb29vYH9vb29vb29vb29vb29ggI9vYI9vb29vb2CAj2 9vb29vb29vb29vb29vb29vYI9vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9gj29vb29vb29vb29gj29vb29vb29vb29vb29qRT9gj29vb2CPb29vYI9vb2 9vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVL3CAgICAj29vb29vb29vb29vb2 9vb///////////////b29vb29vb29vYICAgIBwcHBwcHBwf39/f39/f39/ek pKSkpKSkpAf2//b29vb2//b/CFtJUVIH//b2//b/////9vb2CAespKT3B/b2 9v//////9v//9vb29vb29vb29vb29vb29vb2CAgI9vYI9gf29ggICAgHBwcH BwcHBwcHBwcH7vf39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f3BwcHBwcHBwcHBwcHBwcICAgICAgICAgI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb2///29vb29vb29vb29vb/9vYI9vb29vZSEPX/9v/3SVv29vb2 9vb/96329v/2Uvf29v/2pAf/9vb29vb2CAj29vb29vb29vb29gj2CAj29vb2 9vb29v/////////////////////////////////////////////////2B6Sk pElJSUlJpAj29vb29vb29vb29vb29v////////////////////////////// //////////YI96SbpFIAAAAAAABSB/YICAgICAgICAgICPYI9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B6RTW6QH9q1bpFukCK2l9vZb9/ak U5xbpPb3W60HpFtcW/cIUwf2B1v29vb2pVut9vdTW6UIrVJbW6T3W1tTWwf2 rVtbpAf2pFIHCFuk9gdbW6QIB1II9vb2XPf29vYHXAf2raT2pFKkW5z29qRb 9vb2pVtbW6StU1tbWwcHW5xbW/b2W1tbW5wIW1tbWwgHWwcI9vb2B1sH9vb3 W1JbB/b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVL3CAgI9gj29vb29vb29vb29vb2 9v//////////////9vb29vb29vb29vYICAgIBwcHBwcHB+339/f39/f39/ek pKSkpKSk9/b29vb29vb/9v/2pKQI91JSCP/2//b2//b///b3UkkACklJAFKk B/b/9vb2////9vb29vb////29v/29vb29vb29gj29gj29vb2CAcHBwcHBwcH BwcH9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f3BwcHBwcHBwcHBwgICAgICAgI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2//b29vajAKP29v8HSVL29vb/ 9vb/pKT/9gj/m5v29v//pKz/9vb29vb2rWOs9vb29vb29vb/9vYICAj29vb2 9vb29vb////////////////////////////////////////////////2B6Sk pElJSUlJpPb29vb29vb29vb29vb29v////////////////////////////// //////////YI96SbpFIAAAAAAABSB/YICAgICAgICAgICPYI//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B/f29lut91IHCFuk9qRb9ghS9wdb B/ZbW/ZbrfakW/b2UqT2Wwf2rVMH9vYHXPf2rVL29q32B1L39vYIW1v29vat W/b29/YHWwf2pFv2B1IH9vf3CFMH9vb2W/cICPb3Uwf2pFsHUgj2pFL29ltS B/b3UwcIpFsIpJz2CPb3Sff2W6T3Ugj2pFsI9/b2pK0HUgf29vb2pVL39gdb 9/YH9/b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVL3CAgI9gj29vb29vb29vb29vb2 9v//////////////9vb29vb29vb29ggICAgHBwcHBwcHB/f39/f39/f396Sk pKSkpKT3CPb29vb29vb/9v8HpPb29ghRB/b2///29v/2B5tJSVKjm0kAUVEA Uff2///2///2//b29vb29vb29v//9vb29vb29vYI9vYI9ggHBwcHBwcHBwf3 9/f39/f39/f39/f39/f39/f39/f3paWlpaSkpKSkpKSkpKSkpKWlpaWlpa2t 9/f39/f39/f39/f3BwcHBwcHBwcHBwgICAgICPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb2//b29vb29vb29vb29vb2//b/9vasEVL29vYIUgAH9vb/ 9vb/pFL2//YIUlv29vb2B6T29v/29vYIWhFa9wj29vb29vb2//b2CAj29vb2 9vb29vb2///////////////////////////////////////////////2B6Sk pElJSUlJpPb29vb29vb29vb29vb29v////////////////////////////// //////////YI96SbpFIAAAAAAABSB/YICAgICAgICAgICPYI//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gf3pFL3rVv29qScCKSk9gdbB/dT B/alpAhbpfYHU6WtW60HWwf291sI9vYHU632pFv3pfcH9q1bBwj2B1Kt9vak W62lrQgHUgf2pKT291OlrfcHB1P39vYIW6X29vb3U/b2pJwHW5yknJz295xb pPYHWwf2rVsIB1uk9vb3nAj2pKQHUqT3W6T2CPelUlsIU/f29vYIW5xbCPdS pfetB/b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVL3CAgI9gj29vb29vb29vb29vb2 9v/////////////29vb29vb29vb2CAgICAgHBwcHBwcH7ff39/f39/f3pKSk pKSkpKQH//b29vb29vb29v/3UqSkCPabpPesB/b/9v8HWgBS9wj29gibABBR UQD39v/2///2//b29vb29v//9vb29vb29vb29vYI9vYHBwcHBwcHB/f39/f3 9/f39/f39/f39/f3paWkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk pKSkpKSlpa339/f39/f39/cHBwcHBwcHBwcICAgICAj29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29v/29vb/9vb1UVEH9vb2pACk9vb2 9vb291Gk9vasAJv29vb29lv29vb29qxjEVpaWlqs9vb29vb2//b29gj29vb2 9vb29vb29v/////////////////////////////////////////////2B6Sk pElJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// //////////YI96SbpFIAAAAAAABSB/YICAgICAj29ggICPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B6SkpAf2pVv29qSkCKSl9vZSB/dS CPakWwib9wj2B6T3Uq32Wwf291sH9vYHWwf2W1v3rVuk9vZbWwj29gdSB/ak Uq33W6QHWwf2pJv2B0qtrVtb91wH9vYIpPf29vYHUwj2pVv2CK33W1v2pKSt WwgHUgj2rVsI9gdS9/akWwj2pFsIB/f3W6QIW1v3BwgHW/f29vb3WwdbBwdS 9/ekUvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVL3CAj29gj29vb29vb29vb29gj2 9v/////////////29vb29vb29vb2CAgICAcHBwcHBwcH9/f39/f39/f3pKSk pKSkpPcI//b29vb29v/29v8HUgAACP+kUUkAUff29ghbAFsI///2//asURBR URBRB//2///2//b29vb29v/////2//b29vb29vb2BwcHBwcHBwf39/f39/f3 9/f396X396WkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk pKSkpKSkpKSkpKX39/f39/f39/cHBwcHBwcHBwgICAgICPb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29v/2//b29vYHERH39v//9wBSCPb2 9v/2CFtJW1sASQf2//b/CFv29vb/BxFaYrW0WhFj9vb29vb2////9gj29vb2 9vb29vb29v/////////////////////////////////////////////2B6Sk pElJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// //////////b296SbpFIAAAAAAABSB/YICAgICPb29ggICPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb291sI9vb291L29qSk9lub9gdbCPdb CPakpAhbrfb2B/YIW/cIW/cIpVv29vYIW/f291sI9lIH9vYIW6T2CPakUgf3 W/YIUgcHWwf2pKT2B1sH9qStB1OlCPb2U6329vb3W632pFv2CAj2pKQIUgf2 WwcHUgj291sI9gitUgcHUgf2W6T2CPb2pKT2Ugf2B/YHUgf29vZbpPakWwhb B/ZbpPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVKtCAj2CPYI9vb29vb29vb29ggI 9v////////////b29vb29vb29vYICAgIBwcHBwcHB+339/f39/f39/ekpKSk pKSk9/b/9vb29vb29vb29v//B5uk9vZaUvf3o1II9qQAowj///b2//asEFEQ EFERW/b/9v//9v/29vb////29vb/9vb29vb29vYIBwcHBwfu9/f39/f39/f3 9/f3paSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk pKSkpKSkpKSkpKSkpKSkpPf39/f39wcHBwcHBwcHCAgICAj29vb29vb29vb2 9vb29vb29vb29vb29vb29v//9vb29vb29vb29vb29vYHUQD39vb/CFoApP/2 9v/2/wdSSQAAmwj/9vb2B1v/9vb/B1oZWggIEVr19vb29vb2//b29vYICPb2 9vb29vb29vb////////////////////////////////////////////2B6Sk pElJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// //////////8IB6SkpFIAAAAAAABSB/YICAgICPb29gj2CAj2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPdbW60H91v29q2kB/dbW1v39veb CPakpAhbrfYHm1tbpAgIpFtbWwf29vYHU/f29vdbW/f291tbU6T3pFtbUvf2 91tbB/abUlsHpFv29gdbW60IB6RbW6QHXPf29vb3UltbWwf291tbpAf3Wwf2 pKQHWwf291sIpFtbUvf3UltbpAgIrVtbpPYI95tbpAcIW/f29gekB/b3WwcH W1ukCPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVKtCAj2CPYI9vb29vb29vb29ggI 9v//////////9vb29vb29vb29vYICAgIBwcHBwcHB/f39/f39/f396SkpKSk pKSkCPb29vb29vb29vb29vb2//b///ej//YI//cICFFaB//29v/29ghRURBR URERUgj/9v//9v/29vb29vb29vb29vb29vYIBwcHB+7u7vf39/f39/f39/f3 paSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpJycnJykpKSkpJycnJyc m5ycnJykpKSkpKSkpKSkpKSl9/f39/f39/cHBwcHBwcICAgICAj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIURCs9vb29qxJSff2 //b29vYIpFuk9vb29vb/95v2//b29ghjYmJaUVoI9vb29vb2//b29vb2CPb2 9vb29vb29vb////////////////////////////////////////////2B6Sk pElJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// //////////8IB6SkpFIAAAAAAABSB/YICAgICPb29gj2CAj2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CAj29vb2CAj29vb29vb29vb2 9vb29vZbrfb29gj29vb2CPb2CPb2CPYHUvf29vb2CPb29gj2CPb29gj29vb2 CPb29vYHUgf2pJz29vb29vb29vb29vb29vb29vYHWwf29vb29ggI9vb29vb2 9vb2CPYI9vb29vb2CPb3Wwj2CPb29gj29gj29vYI9vb29vb29vYI9vb2CPb2 9gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVKlCAj2CPYI9vb29vb29vb29vb2 9v//////////9vb29vb29vb29ggICAgHBwcHBwcH7ff39/f39/f3pKSkpKSk pKQH///2//b29vb29vb29v////YIB1v3//////b2WwD3///29v/2/wisUQBR EBAREQf///b/////9vb29vb29vb29vb29gcHB+739+739/f39/f39/elpKSk pKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSknJukpJycnJycpJycnJycnJyc m5ycnJubnJycnKSkpKSkpKSkpKSkpff39/f39wcHBwcHBwgICAgICPb29vb2 9vb29vb29vb29vb29vb2CPb29vb29vb29vb29v/29vYHEACs9vb2/wibAFIH //b///b/9v/29vb///b2pPf29vb29ghaEVFZUVoI9vb29vb29vb29vb29gj2 9vb29vb29vb////////////////////////////////////////////2B6Sk pEpJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// //////////8IB6SkpFIAAAAAAABSB/YICAgI9vb29gj2CAj2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29ggI9vb29vb29vb29vb29gj2 9vb29ghbpAj29vb29vb29vb29vb2CPYIW/f29vb29vb29vb29vb29vb29gj2 9vb29vYIrQj2pKT29vb29vb29vb29vb2rQf29vb3Wwf29ggI9vb29vb29vb2 9vb29vYI9vb29vb29vakUgj29gj2CPb29vb29vb29vb29vb29vb29vb29vb2 9vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVKkCAj2CPb29vb29vb29vb29vb2 9v/////////29vb29vb29vb2CAgICAcHBwcHBwcH9/f39/f39/ekpKSkpKSk pPf29vb/9vb29vb29vb29v/2B6RbWlJbmwf29v/3SaP2//b2//b2//b/rBBR EBFRAAf///b///////b29vb29vb29vb2BwcH7vf39/f39/f39/elpaWkpKSk pKSkpKSkpKSkpKSkpKSkpKSkpKSkpKScm5ubnJybm5ycnJubm5ybm5ubm5ub m5ubm5ubm5ubm5ycm5ubnKSkpKSkpKStpff39/f39wcHBwcHBwgICAgI9vb2 9vb29vb29vb29vb29vb2CAj29vb29vb29vb29v/29v/3EBD39v/29v8HpABa B/b29vYICP/29vb29v8HpPb/9vb29vajWqysY6wI9vb29vb29vb29vb29ggI 9vb29vb29vb2///////////////////////////////////////////2B6Sk pFJJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// //////////8IB6SkpFIAAAAAAABSB/YICAgI9vb29gj2CAj2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vYI9vb2 9vb29vb3B/b2CPb29vb29vb29vb29vYI9wj29vb29vb29vb29vb29vb29vYI 9vYICPb29vb2Bwf29vb29vb29vb29gj29wf29vYI9wj29vb29vb2CAj29vb2 9gj29gj29gj29vb29vYI9/b29vb29vb29vb2CPb29vb2CPb29vYI9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVKkCAj2CPb29vb29vb29vb29vb2 9v/////////29vb29vb29vb2CAgICAcHBwcHBwcH9/f39/f39/ekpKSkpKSk pAj/9vb/9vb29vb29vb29vYHBwcICAekUVH39vakSQj/9vb/9gf/9v/2CFER EBERUQj29vb/9v////b29vb29vYICAgHBwfu9/f39/f39/f396WlpKWkpKSk pKSkpKSkpKSkpKSkpKSkpKSkpKSkm5ubm5ubnKScnKScm5ubm5ubm5tbW1tb W1tbW1ubm5ubm5ubm5ubnKSkpKSkpKSkpKSl9/f39/cHBwcHBwcICAgICPb2 9vb29vb29vb29vb29vb29gj29vb29vb29vb29v/29vajEVH19v/29v/2CKQA Uff29v////b2//b2/wikB//29v/2//b2Bwj2CPb29vb29vb29vb29vb/9vYI CPb29vb29vb29v/////////////////////////////////////////2B6Sk pFJJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// ///////////2B6SkpFsAAAAAAABSB/YICAgI9vb29gj2CAj2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb2CPb29vb29gj29vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVKkCAj2CPb29vb29vb29vb29vb2 9v/////////29vb29vb29vYICAgICAcHBwcHBwf39/f39/f396SkpKSkpKSk B/b///b2//b29vb29vb2//b29v////b2B1IA9/ZSpPb29vb291sH///291EQ EBEAW/b2////9v//9vb29vb2CAgICAcH7ff39/f39/f39/f3pKSkpKSkpKSk pKSkpKSkpKSkpKSkpKSkpKScnJybm5ucnJubm5ubm5tbW1ubm5ubm5ucnJyc nJybm5ubm1ubW1tbW1tbm1ubm5ykpKScpKSkpKT39/f39wcHBwcHBwgICAgI 9vb29vb29vb29vb29vb29vb2CAj29vb29v//9v/2/whREFEI9vb/9vb29vb3 W0lS9wgICPb/9vb2B6QH//b29v/29vb29vb///b29vb29vb29vb29vb2//b2 CPb29vb29vb29vb////////////////////////////////////////2B6Sk pFJJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// ///////////2B6SkpFsAAAAAAABSB/YICAgI9vb29gj2CPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb2 9vYI9vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb2 9vb29vYI9gj29vb29vb29vb29vb29gj2CPb29vb29vb29vb29vb29vb2CPb2 CPb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb2CPb29vb29gj2 9gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gf3pKRbSVKkCAj2CPb29vb29vb29vb29vb2 9v////////b29vb29vb29vYICAgIBwcHBwcHB/f39/f39/f396SkpKSkpKT3 9v/2///2//b29vb29vb29vb///b2//b/9vZSSaRSB/b2//b2owBbBwcHWhER EREQrPb2//////b29vb29vYICAgHBwf39/f39/f396ytrKSkpKSkpKSkpKSk pKSkpKSkpKSkpKSkpJycnJubm5ubm5ubm5ubm5ubm5ykpKSkpPf39/f39/f3 9/f39/f3962kpKScm5tbW1tbW1ubm5ubnKSkpKSkpKX39/f3BwcHBwcHCAgI CPb29vb29vb29vb29vb29vb29ggI9vb29vb/9v//9qQREKP2//b29vb29v/2 CAekUlKkrPf39/et9/b///b/9vb/9v/29vb29vb/9vb29vb29vb29vb29vb2 9vb29vb29vb29vb////////////////////////////////////////2B6Sk pFJJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// ///////////2B6SkpFsAAAAAAABSB/YICAj29vb29gj2CPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggI9vYI9vb29vYI9vb2 9vb29vb2CPb29vb29vb29gj29vb29gj29gj29vb29vb29vb29vb29vb29vYI CPb2CPb29gj29gj29gj29vb2CPb29gj29vb29gj29vb29vb29vb2CPb29gj2 9gj29gj29vb29vb29vb29gj29vb29vb29vb29vb29vYI9gj2CPb29vb29vb2 9gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gj3pKRbSVKkCAj2CPb29vb29vb29vb29vb2 9v////////b29vb29vb29vYICAgHBwcHBwcHB/f39/f39/f396SkpKSkpKQI 9v/29vb/9vb29vb29vb2//b2//b2//b29v/3ERFb///2//b2pABJUVIAEVER UQBaCPb29vb29vb29vb29ggICAcH9/f39/f39/f39/ekpKSkpKSkpKSkpKSk pKSkpKSkpKSkpKScm5ubm5ubm5ubm5ubW5ubpKSl9/cHBwcICAgICAgICAgI CAgICPb2CAgICAcHB/elpKSbW1tbW5tbm5ubpKSkpKSlrff39/cHBwcHCAgI CAj29vb29vb29vb29vb29vb29vb2CAj29vb2///2B0kRUQj2//b29vb29vb2 //b29gf3rKOkpPcI9v/29vb29vb29vb29v/29vb29vb29vb29vb2//b29vb2 9vb29vb29vb29vb////////////////////////////////////////2B6Sk pFJJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// ///////////2B6SkpFsAAAAAAABSB/YICAj29vb29gj2CPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb2CPb2CPb2CAj29vb2 9gj29gj29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb2CPb29vb29vb29vb29vb29vb29ggI9vb29vb29vb29vYI9vYI9vb2 9vb2CPb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29gj29vb29vb2CPYI 9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gj3pKSbSVKkCAj29vb29vb29vb29vb29vb2 9v/////29vb29vb29vb2CAgICAgHBwcHBwcH7ff39/f39/f3pKSkpKWkpAf2 9vb29gi1B/WjpPb29vb2//b/9vb/9vb29vb2WwCk9vb/9vb/91FISUlRUVFI EVEI9vb29vb29vb29vb2CAgIBwf39/f39/f39/f396SkpKSkpKSkpKSkpKSk pKScpKSkpJykm5ubo5ubm6Ojm5tbW5ukpfcHBwcICAgICAgICAgICAgICAgI CAgICAgICAgICAgI9ggICAgH9/ekm1tbW1ubm5ucnKSkpKSk9/f39+4HBwcI CAgI9vb29vb29vb29vb29vb29gj2CAgI9vb29v8HUQBS9fb2//b29rWtCPb2 9vb2//b2//b////29v//9vb29vb/9vb29vb2//b29vb29vb29vb29vb29vb2 9vYI9vb29vb29vb2///////////////////////////////////////2B6Sk 91JJSUlJ9/b29vb29vb29vb29vYI9v////////////////////////////// ///////////2B6Skm5sAAAAAAABSB/b29vb29vb29gj29gj2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vYI9vb29vb2CPb29vYI9vYI9vYI9vb29vb29vb29vb29vb29vb29vYI 9vb29vb2CPb29gj29vb2CPb29vYI9vb29gj29gj29vYI9vb29vb29vb29vb2 9vb29vb29gj29vYI9vb2CPb29vb29gj29gj29vb2CPb29vb2CPb29vb29vb2 9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gj3pKSbSlKkCAj29vb29vb29vb29vb29vb2 9v/////29vb29vb29vb2CAgICAcHBwcHBwcH9/f39/f39/espKSkpKSk9/b/ 9vb29qxaYloRWgj29vb/////////9vb29v/2pEla9vb/9vb/9qNJUQAASREA WvX29v/29vb29vb29ggICAcHB/f39/f39/f39/elpKSkpKSkpKSkpKSkpKSk pKSkpKScnJykpJybm6Sjm1tbm6SkBwcHBwgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICAgIBwf3o5tbW1ubnKSkpKSkrff39/f3BwcH BwgICAgI9vb29vb29vb29vb29vb29vYICPb29vYIpKwH9vb29vb2B2NRtfb2 9vb/9gj/9vb2//b/9vb2///2//b2//b29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb2///////////////////////////////////////2B6Sk 91JJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// ///////////2B6Skm5sAAAAAAABSB/b29vb29vYICAj29gj2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb2CAj29gj2 9vb2CAj29vb29vYI9ggI9vb29gj2CPb29vb29vb29vb29vb29vb29vb29vb2 9vb29vYI9vYI9vb29vYI9vb29vb2CPb29vYI9vYI9vb29vb29gj29vb29vYI 9gj29vb29gj29gj29vb29vb2CPb29vb29vYI9vb29gj2CPb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gj3pKSbSlKkCAj29vb29vb29vb29vb29vb2 9v/2///29vb29vb29vb2CAgICAcHBwcHBwf39/f39/f39/ekpKSkpKSlB//2 9vb29q1RWVpZWgj29vb////29v//CP//9v/2rElS9v/2//b2/wisUVJSUVr3 9vb///b29vb29vb2CAgIBwcH9/f39/f39/f3paSkpKSkpKSkpKSkpKSkpKSk pKSknJyknJubm5ubm1tbpKSt9wcICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICAgICPb29ggICAf3pJtbW1uko6OkpKSk9/f39wcH BwcHCAgICPb29vb29vb29vb29gj29vYICAgICPb2CPb///b29va1Y1oRWmOs CPb29ggI9v/29v/29vb/9vb/CPb/9vb29vb29vb29vb29vb29v/29vb29vb2 9vb29vb29vb29vb2///////////////////////////////////////2B6Sk 91JJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// ///////////2B6Skm5sAAAAAAABSB/b29vb29vYICAj29vb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29gj29vb2CPb2 9vYIpFsI9vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb2 9vb2CPb29vb2CPb29vb29ggI9vb29gj29vb29gj29ggHWwj29vb2CPb29vb2 9vb29vb29vb29vYI9gj29vb29vb29vb29vb29gj29vb29vb29vb29vb2CPb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9gj3pKSbUlKkCPb29vb29vb29vb29vb29vb2 9v/2///29vb29vb29vYICAgIBwcHBwcHB+339/f39/f39/ekpKSkpKQH9v/2 //b29rVjrAirUWMI///2///29v/2rAf29vb/9xFb9v/2///29v///wgH9v/2 9v/29vb29vb29ggICAgHB/f39/f39/f396SlpKSkpKSkpKSkpKSkpKSkpKSj pKSknJubnKSkm1tbm6Sl9wcHCAgICAgICAgICAgICAgICAgICAgICPb29ggI 9vb29vb29vb2CAgICAgICPb2CAcICPb29vb2CAf3pJtbW5ukpKSkpKX39/f3 BwcHCAgICAj29vb29vb29vb29gj29vb2CAgICPb/9v/29vb29gdSWmO1WlFb CP/2//8H9vb///YI//b29vb////29vb29vb29vb29vb////29vb29vb29vb2 9vb29vb29vb29vb29v/////////////////////////////////////2B6Sk 91JJSUlJ9/b29vb29vb29vb29vb29v////////////////////////////// ///////////2B/ekm5sAAAAAAABSB/b29vb29vYICAj2CPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2B6T39vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb3U/b29vb29vb29vb2 9vb29vb29vb29gdSCPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggHpKSbUlKkCPb29vb29vb29vb29vb29vb2 9v/29vb29vb29vb29vYICAgIBwcHBwcHB+339/f39/f396SkpKSkpPcI//b2 9vb2CFoRpAijUVqtCP//9v/////2UlL39vb/B0lS9v/29v//9vb/9v//9vb/ //b29vb29vb29ggICAcH9/f39/f39/f3paSkpKSkpKSkpKSkpKSkpKSkpKOb o6ScnJucnJtbW6Sk9wcHCAgICAgICAgICAgICAgICAgICPb29vb29vb29vb2 9vb29vb29vb29vb2CAgICAj2CAj29vb2Bwj29vb2Bwf3pFtbm6SkpKSl9/f3 9wcHBwcICAgI9vb29vb29vb29vb29vb29vb29gj2CPb29vb29gdaWqwIY1r3 9v/2//YHB/b2//b29v////////b2//b29vb29vb2//b29vb29vb29vb29vb2 9v/29vb29vb29vb29v/////////////////////////////////////2B6Sk 91JJSUlJpPb29vb29vb29vb29vb29v////////////////////////////// ///////////2B/ekm5sAAAAAAABSB/b29vb29vYICAj2CPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPekrff2CAek9/cHCPcI9vYIB62l B/f29q2cCPb2B/cICKWl9/f2B/f29vYI96339wj296Wt9wf29vYHraT3CPYI 96T39wf296T39wf2CK2tpAj2CAetrQj2B62lBwj29vYHW/et9wgIB62t9wf2 B6339/f29wcIB1tS9/b2B6St9/f2Bwf29vcH9gf3Bwj3pff39gf39vb29vet 960H9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggHpKSbUlKkCPb2CPb29vb29vb29vb29vb2 9v/29vb29vb29vb29vYICAgHBwcHBwcHB/f39/f39/f396SkpKSkpAf2//b2 9vb2B1oRWlpRY6wI///2//b////2UgBRowj/B1Fa9vb29vb/9vb2////9vb2 9vb29vb29vYICAgIBwf39/f39/f39/elpaWkpKSkpKSkpKSkpKSkpKSkpKOb m5ubm5ucm1ubpPcHCAgICAgICAj2CAgICAgICAgI9vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vYICAj2CAgI9vb2CPb29vb2B/ekm1ubpKSkpKX3 9/cHBwcHCAgICPb29vb29vb29vb29vb29vb29ggICPb29vb/9vb3WlpjWlEH 9vb/9vb2rPb29v//9vYHo1qjpAf29vb29vb29vYI9vb29vb///b29vb29vb2 9vb29vb29vb29vb29v/////////////////////////////////////2B6Sk 91JJSUlJpPb29vb29vb29vb29vb29v////////////////////////////// ///////////2B/ekm5tJAAAAAABSB/b29vb29vYICAj2CPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B6Sk91v391L3rVL3B1IH9vYIW6QH W1L29qRKB/YHU6QHW6T3nFIHpFsI9vatW6WkUgf3W62lUqT29gj3pKSlWwik W/ekSgcHUq2kUqT2pFutpKT291ulpKUHW6T3pPf29vb3UqStW/f3W62tUq0I pFv3W1IIpJz2pPcHW6UIW6QHW1IIW6T2CFL3CFulCKRb961SB61b9vb2pFv3 pFL39vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggHpKSbUkqkCPb2CPb29vb29vb29vb29vb2 9v/29vb29vb29vb29ggICAgHBwcHBwcH9/f39/f39/f3pKSkpKSk9/b/9vb2 //b29gj3o1FaB/b29vb/////9v/2pEkAAKP290mk9vb///b29v////b2///2 9vb29vb29ggICAgHB/f39/f39/f396WkpKSkpKSkpKSkpKSkpKSkpKSkm5ub m5ubm5tbpPcHCAgICAgICAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vYIB6SkW5ykpKSk rff39wcHBwcICAgI9vb29vb29vb29vb29vYICPb2CPb29v/29vYIWhFaWlIH 9vb/9vb2rKP2//b29qNJUUkASVGbCPb29vb29gj3CPb/9vb29vb29vb29vb2 9vb29vb29vb29vb29vb////////////////////////////////////2B6Sk 91JJSUlJpPb29vb29vb29vb29vb29v////////////////////////////// ///////////2B/ekm5tJAAAAAABSB/b29vb29vYICPb2CPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CAj2CFukrVv2CFOtB1II9ggIUwf2 pFv2B1JSrfYHWwgIUvf2rVsHpFsI9vZbpPYIUgelW/b2W6329ggI9vYHUgeb pPYHUgekW/YIW/cHUgf29gcIW632CPatW/b2B/b29vb3W/b2m6SkW/b2UqQI Wwf2rVL2pJv29vb2m5wHUgf2pFv2W6T2CFL3B1II9lut9gdSCK1b9vb2pJv2 B1IH9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggHpKSbUkqcCPb2CPb29vb29vb29vb29vb2 9v/29vb29vb29vb29ggICAgHBwcHBwft9/f39/f39/f3pKSkpKSkB///9v/2 9vb29vb2CGOjCPb/9v/29v/29v/29wBSEREH9RCs9v/29v/29v/29v//9vb2 9vb29vb29ggICAcH9/f39/f39/f396WkpKSkpKSkpKSkpKSkpKSknJybm5ub m5ubm5z3BwgICAgICAgICAgICAgI9vb29vb29vb29vb29vb29gcHB66urq6u rq6urgfv7wf29vb29vb29vb29vb29vb2CAj29vb29vb29vb29vYHpZubpKSk pff39/cHBwcHCAgICPb29vb29vb29vb29vYICAj2CPYI9v/2//YIrKMIrPcI //b2//akWlqs9v8IW0lREBFJSVL3//b29vb/9gek9v8IpFqkCP/29vb29vb2 9vb29vb29vb29vb29vb////////////////////////////////////2B6Sk 91JJSUlJpPb29vb29vb29vb29vb29v////////////////////////////// ///////////2B/ekm5tJAAAAAABSB/b29vb29vYICPb2CPb2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vdbW6QIB6RbW1L3B1sH9vYIrVtb W1v2pFutW/b3Ugj291tbW1IIrVv29ghb9/b2UgcIpJtbUq329vYHm1KbpPYH W1tbUgekm/b2m6QHUltbW6T3Uvf29vakUltbW6T29vb3Wwj2rVsHpFtbUq0I Ugf291sIpKT291KbW/f291ubW1sIm6T29lv3B1IH9vebW1tbCKSkCPb2B1uk W1L39vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggH96SkUkmcCPb2CPb29vb29vb29vb29vb2 9vb2//b29vb29vb29ggICAcHBwcHBwf39/f39/f39/ekpKSkpKT39vb2//b2 //b29vb29vb29vb29vb29v/2//b/CFpJAFGsrBD3//b/9vb/9vb29vb29vb2 9vb29vYICPYIB/f39/f39/f39/f396SkpKSkpKSkpKSkpJykpKSkm5ucm5ub m1ub9wcICAgICAgICAcICAgI9vb29vb29vb29vb276+mpl1dVFRUVFRUVFRU VFRUVFRUVFRVXZ2mr+/v9vb29vb29vb29vb2CAgI9vb29vb29vb29gekW5yk pKSl9/f3BwcHBwgICPb29vb29vb29vb29vb29ggICAgICPb29vb29vb29vb2 9vb/9gdSSVFRrP/3AElJSQBJowj/9vb29v/29vek//akAFqjmwj///b29vb2 //b29vb29vb29vb29vb////////////////////////////////////2B/ek 91IASQBJpPb29vb29vb29vb29vb2//////////////////////////////// ///////////2B/ekm6RJAAAAAABSB/b29vb29vYICPb2CPb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1IH9vb29gj29lL3CFIH9vb29vb2 rVsIW/cIW/f3Ugj29vb291sIpFsI9gikpPYHUvf2CPb2W6T29vakW/b29vb2 9vYHWwekW/b2UvcIWwf291sIW6329vatW/b2W6T29vb3Wwj2m6T2CPYHW/cH Wwf2rVv2m6T2UqT29vb29vb291sIpJv29lIHB1II9vb29gdSCK1S9vYI9vb2 CFL39vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggH96SkUkmbCPb2CPb29vb29vb29vb29vb2 9vb29vb29vb29vb2CAgIBwcHBwcHBwf39/f39/f39/ekpKSkpKQH//b29vb/ CPb2//b29vb29vb///b/9vb////2//VSEVFbo1EH9v/29vb29v/29vb29vb2 9vb29vYICAgHB/f39/f39/f39/f3pKSkpKSkpKSkpKSkpKSknJybm5ubm5ub m6QHCAj29ggICAgICAgI9vb29vb29vb29u/vpp1UVFRUVFVVVFRUVVVVVVVV VVVVVVVVVVVUVFRUVFVVXaWuBwj29vb29vb29vb29vb29vb29vb29vb2B6Rb nKSkpPf39/cHBwcICAgI9vb29vb29vb29vb29vb29ggICPb29vb29vb29vb2 9vb29vcREVFaUqMI91pRUlv39v/29v/29vb/9lus9vasAFL/9Vv29v/29vb2 9vb29vb29vb29vb29vb2///////////////////////////////////2B/ek 91IASQBJpPb29vb29vb29vb29vb2//////////////////////////////// ///////////2B/ekm6RJAAAAAABSB/b29vb29vYICPb2CPb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFukpPcICKSkpFsHCFJbpKT296Sk pPf3Ugf2W6T3Wwj296SkW6T2pFKkpPf3W6SkWwf2raSkWwf29vb3W6Sk9/YH pKSkWwgHUqSkUqX2rZulpK32B5ukpPcIW6SlWwj29vb3UqSkWwf2pKWtWwf2 pFP3W1L2pJwIpKSlpAf2B6SlW6QIm1ukW1v2B1II9vekrVuk9qRSpKT3B6Sk pJsI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggH96SkUkmbCPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vYICAgIBwcHBwcHB/f39/f39/f396SkpKSkpPf2//b29vb2 9vb/CPb/9vb2//8I9v////b2///2//8IpFGso1r////2///2////9vb29vb2 9vb29ggICAcH9/f39/f39/f396WkpKSkpKSkpKSkpKSkpKScm5ucm5ubm5uk BwgICPYICAgIBwcICPb29vb29vb29u+mXVRUSwtUVAxUVFRUDFVVVVVVVVVV VVVVVVVVVVVVVVVUTAxMVExUVF2mr+/29vb29vb29gj29vb29vb29vb29gj3 pJukpKSk9/f39wcHBwgICPb29vb29vb29vb29vb29vYICAj29vb29vb29vb2 9v/29vcAAFFarFFSB/YICAj29vb29vb///b291Kk9vYHpAf2B1EH9v/29vb2 9vb29vb29vb29vb29vb2///////////////////////////////////2B/ek 91IASUlJpPb29vb29vb29vb29vb2//////////////////////////////// ///////////2B/ekm6RJAAAAAABSB/b29vb29vYICPb2CPb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gf39/f29vet9wj2CAf3rff2B/f3 BwgIB/b2Bwf3Ugj2CK33Bwf2B60H9wj29633Uvf29/cHB/b29vb2B/f3B/YI 9/f3B/b2B62tW/f2CAetB/b29gf3rQf29vf3CPb29vYI9/f3B/YIB62tB/b2 CPf3pFv2Bwf29vf39wj2B/f3B/b2m1v39wgI91sI9gj39/f29gcH960HCPf3 9wj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9ggH96SkUkmbB/b29vb29vb29vb29vb29vb2 9vb29vb29vb29vYICAgHBwcHBwcHB/f39/f39/f3pKSkpKSkpAf/9vb29vb2 //b29v/2/wgHpFuk9/cH9v/29v//9v/29ggIUff2CAf3CPb/9vb29vb29vb2 9vb2CAgIBwf39/f39/f39/elpaSkpKSkpKSkpKSkpKSkpJubm5ybm5ubpPcH CAgICAgICAgICAj29vb29vb29q6lXFRTS1RUVFVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVExMVFRdpgf29vb29vb29vb29vb29gj29vb2 CPecm6Sl9/f39wcHBwcICPb29vb29vb29vb29vb29vb2CAgI9vb29vb29vb2 ///2/wdRURBa9vdRAFoHCP//9vb29vb29vYHUlusW/b2//b2rFEI9v/29vb2 9vb29vb29vb29vb29vb29v/////////////////////////////////2B/ek 7VIASUlJpPb29vb29vb29vb29vb2//////////////////////////////// ///////////2B/ekm6RJAAAAAABSB/b29vb29vYICPb2CPb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vYI9vb2 9gj29vb29vYHUwj29vb29vb29vb29vb29vYIUgf29vb29gj29gj29vb29vb2 9vb29vb29vb2W6T29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb2 9vb2B1IICPb29vb29vb29vb29ggInKT29vb290oI9vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkUkmbB/b29vb29vb29vb29vb29vb2 9vb29vb29vb29vYICAgHBwcHBwcHB/f39/f39/f3pKSkpKSk9/b/9vb29vb2 9vb2//b/91ub9/b29vb39wj/9v/2//b/9v+sWghbUUlJ9/b2////9vb29vb2 9vb2CAgHB/f39/f39/f39/elpKSkpKSkpKSkpKSkpKSkpKSknJubm6SkBwgI CAj2CAgICAgI9vb29vb29u+lXFRUVFRUVFRUDFQUFBQUFFRUVVVVVVVVVVVV VVVVVVVVVVUUVVVVVVVVVVVNVVVVVFRUVFRdrgf29vb29vb29vb29vb29gj2 9ggHpKSkpK339/cHBwcICAgI9vb29vb29vb29vYICPb2CAj2CAj29vb29vb/ //b29gijAABaCPYIWwARWqwHCPb29vb2CKRRSQj2W1oHCPakSaT2///29vb2 9vb29vb29vb29vb29vb29vb////////////////////////////////2B/ek 7VIASUlJpPb29vb29vb29vb29vb2//////////////////////////////// ///////////2B/ekm6RJAAAAAABSB/b29vb29vYICPb2CPb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29gj29vb3XAj29vb29vb29vYI9vYI9vYInAf29vb29vb29vb2CPb29vb2 9vb29vb29vb2pPf29vb29gj29vb29vb2CPb29vb29vb29vb29vb2CPb2CPb2 CAj291v2raT29vb29vb29vb29vYIpaX29vb2B1sICPb29vb29vb29vb29vb2 9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkUkmbB/b29vb29vb29vb29vb29vb2 9vb29vb29vb29ggICAgHBwcHBwcH7ff39/f396T3pKT3pKSkCP//9vb29vb2 //b/9vYImwf2////9vb/B6wH///2//b29ghapFEAEQCj9v/29vb29vb29vb2 9gj2CAcH9/f39/f39/f396WlpKSkpKSkpKSkpKSkpKSknKScm5ubpPcH9ggI 9vYHBwgICPb29vb29u+uXVRLVFRUVExUVAwUVVVVVVVVVFRVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFRUVFyl7/b2///29vb29vb2CPb2 9vb2CPekpKSk9/f3BwcHCAgICPb29vb29vb29vYICAj29gj2CAj29vb29vb/ 9vb29vYHUkla9vb29vdSEQBRWqP3B/WsWwBSB//2B1FJWklRUgj2//b29vb2 9vb29vb29vb29vb29vb29vb2///////////////////////////////2B/ek B1IASUlJpPb29vb29vb29vb29vb2//////////////////////////////// ///////////2CPekm6RJAAAAAABSB/b29vb29vYICPb2CPb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vYI9vb2CPb2CPb2 9vYICPb2CPb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb2 9gj29vb29vb29vb29vYI9vb29vb2CPYI9vYI9gj29vb29vb29vb29vb29vb2 9vYI9vYICPYI9ggI9vb2CPb2CPb2CPb29vb29vb29vb2CPb29vb29vb29vYI 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkUkmbB/b29vb29vb29vb29vb29vb2 9vb29vb29vb29ggICAcHBwcHBwft9/f39/f396T3pKT3pKQH///29vb29vb/ 9vb2//ZSB//29v/2///2//ejCP//9v/2//daWhBREVEH9vb///b/9vb29vb2 CAgIBwf39/f39/f39/f3paSkpKSkpKSkpKSkpKSkpKScm5ubm6T3Bwj2CPb2 CAcICAj29vb29vYHrlRUTExUVFRUVFVVVVUVDAxVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVRUVVVVVVVUMVVVUVFRUVV3vB/b29vb29gj29vYI 9vb29vYHpJyk9/f39wcHBwcICAgI9vb29vb29vb2CAj29gj29ggI9vb29vb/ 9v//9vb29wCk//b29vYIrFoQAAAQUQAAUqMI9gj/B1FbB/X39vb29vb2//b2 //b29vb29vb29vb29vb29vb2///////////////////////////////2B/ek B1JJSUlJpPb29vb29vb29vb29vb2//////////////////////////////// ///////////2CPekm6RSAAAAAABSB/b29vb29vYICPb2CPb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vYI9vb29vb29gj29vb29gj29vb29vb29vb29gj29vb29vb29vb29vb2 9vb29vb29vb29vb2CPb29vb2CPb29vb29gj29vb29gj29vYI9vb2CPb29vb2 9vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkUkmbB/b29vb29vb29vb29vb29vb2 9vb29vb29vb2CAgICAcHBwcHBwf39/f39/f39/f3pKSkpPf2//b29v/29vb2 9vb/9qQH9v////b2//b///akpPb///b2B6SsEVEASaz2//b29vb29vb29vYI CAgHB/f39/f39/f39/elpKSkpKSkpKSkpKSkpKSkpJycm5ubpPcH9vb29ggH BwgI9vb29vb2B6VTC0xMTFRVVExMTFUVDA1VVRVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVRUVVVVVVU1VVVVMTFRTnO729vb29vb2CPb2 9vb29vb2CPekpK339/cHBwcICAgI9vb29vb29vb29ggICAgI9ggICPb29v// 9v//9vb29q0H//b2//b//wj1o1pRAFGsCPb/9vb/rBGj9vb2//b29vb2//b2 //b/9vb29vb29vb29vb29vb2///////////////////////////////2B/ek B1JJSUlJpPb29vb29vb29vb29vb2//////////////////////////////// ///////////2CPekm6RSAAAAAABSB/b29vb29vYICPb2CPb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb2CPb29vb2 9vb29vb29vb29vb2CPb29gj2CPb29vb2CPb29vb29vb29vb29vb2CPb29vb2 9vb29vb29vb2CPb2CPb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vYI9vb29vb29vb29vb2CPb29vb2CPYI9gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkUklbB/b2CPb29vb29vb29vb29vb2 9vb29vb29vb2CAgICAcHBwcHB+3t9/f39/f396SkpKSkpPf29vb29vb29vb2 9vb/CKT2//b/9vb/9v/29vb2Wwf/9v/2rAgHWlKk9//29vb29vb29vb/9gj2 CAgH9/f39/f39/f396WlpKSkpKSkpKSkpKSkpJubnKSkm1ukBwj2CAj2CAgI CAj29vb29u+lVAsMDFRMVFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFRdrvb29vb29vb2 9gj29vb29vb3pKStpfcH9wcIBwgICPb29vb29vb29vYICAj2CAgICAj29vb2 9vb29vb29vb29vb29vb2///29vYH90mk9v/29vYIUVH3//b2//b29vb29v// //////b29vb29vb29vb29vb2///////////////////////////////2B/ek 7VsASUlJpPb/9vb29vb29vb29vb2//////////////////////////////// ///////////2CPekpKRSAAAAAABSB/b29vb29vYICPYI9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb2CPb29vb29gj29vb29gj2CPb29vb29vb29vb29vYI9vYI9gj29gj2 9vb29gj29gj29vb2CPb29vb29vb29vb29vb29gj29vb29vb2CPb29vb29vb2 9vb2B/b29vb29vb29vb29vb29ggI9vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkUklbB/b2CPb29vb29vb29vb29vb2 9vb29vb29vb2CAgICAcHBwcHB+339/f39/f396SkpKSkpAj29vb29vb29vb2 //b/9wf29v8IB5tbmwj2///2pK329vYHB/b29v/2//b2//b29vb29v8IBwf3 BwgH9/f39/f39/f396WkpKSkpKSkpKSkpKSkpJycnJubm60HCPb29ggHCAgI 9vb29vYHplQLC1RVVQwMFBRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFUUVVQMVF2v9vb2//YI CP/29vb29vYIB/eb9/f39wcHBwgICAj29vb29vb29vb2CAgICAgICAgI9vb2 9vb29vb29vb29vb29vb29v/29v//9vdRWgj/9vdaWvf29vb///b29vb29v// //////b29vb29vb29vb29vb2///////////////////////////////2B/ek 7VtJSUlJpPb/9vb29vb29vb29vb2//////////////////////////////// ///////////2CPekpKRSAAAAAABSB/b29vb29vYICAgI9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb2CPb2CAj29vb2 9vb29vYI9vYH9vYICPb2CPb29vb2CPb2CPb29vb29vb29vb29vb29vb29vb2 CPb2CPb29vb2CPb29gj29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb2 9vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkUklbB/b2CPb29vb29vb29vb29vb2 9vb29vb29vYICAgIBwcHBwcHB/f39/f39/f3pPekpKSk9/b29vb29vb29vb2 9v//rAf//whbSVIASVoI9v/2B1v29gj2///29v/29vb/9gj2//b2CAekW0mb Bwf39/f39/f39/f3paSkpKSkpKSkpKSkpKScnKSkm1uk9wcI9vYICAgHCAj2 9vb29qVUUwsMVFQMDAwUFBRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUMVFVUDFRUXe/29vb/ 9gj29vb29vb29getpKT39/cHBwcHCAj29vb29vb29vb29vYICAj2CAgICPb2 9vb29vb29vb29vb29vb29vb29vb29vb3SVEI9gf1CPb2///29v/29vb29vb2 ///29vb29vb29vb29vb29vb2///////////////////////////////2B/ek 7VtJSUlJpPb/9vb29vb29vb29vb2//////////////////////////////// ///////////2CPekm6RSAAAAAABJB/b29vb29vYICAgI9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29gj2CAj29vb29vYI9vb2 9gj29vb2CPYI9vb2CPb29vb29gj29vYI9vYICPb29vb29vb29vYI9vb29vYI 9vb29vb29ggI9vb29vb29gj29vb29vb29vb29vYI9vYI9vb2CPb29vb29vb2 9gj29vYI9vYI9gj29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkU0lbB/b2CPb29vb29vb29vb29vb2 9vb29vb29vYICAgIBwcHBwcHB/f39/f39/f3pKSkpKSkCP/29vb29vb29vb2 9v//9wf/9qRarAf3UgD39v/29lIH9vb29v/29vb////29v/29gj3WwBSpPcH B/f39/f39/f39/elpKSkpKSkpKSkpKSkpKScnJycm6T3CPb2CAgIBwcI9vb2 9vYHXFMLC1RUVAwMFBQUFBRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFRMU1Su9vb2 9vYICPb29vb29vYIraSk9/cHBwcHBwgI9vb29vb29vb29vYICPYICAgICPb2 9vb29vb29vb29vb29vb/9vb2///29vb/9wBSCP/////29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29v/////////////////////////////2B/ek B1tJSUlJpPb/9vb29vb29vb29vb2//////////////////////////////// ///////////2CPekm6RSAAAAAABJB/b29vb29vYICAgI9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb2 9vYI9vb29vb29vb2B6QH9vb29vYI9vYI9vb29vb29vb29vb2CPb29vb29vb2 9vb29vb29vb29vb29ggI9vb29gj29vb29vb29vb29vb29vb29vb29vb29gj2 9vb29vb29vb29vb2CPb2CPb29vb29vb29gj29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkU0lbB/b29vb29vb29vb29vb29vb2 9vb29vb29ggICAgHBwcHBwcH7ff39/f39/ekpKT3pKT39vb29vb29vb29vb2 //b2rAf/CKQH////pAD39v/29lL39vb///b2///29vb/9vb/CKNJW/f2CPYI 9/f39/f39/f3pKWkpKSkpKSkpKSkpKSkpKSkpJubpPcI9vb2CAgHBwj29vb2 9qVTUwtUTAwMVAwUVBQUFFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFBRUVExUVFQLXO/2 9vb29vb29vb29vb29vekpPf39wcHBwgICAj29vb29vb29vYI9vYICAgICAj2 9vb29vb29vb29vb29vb29vb29vb2//b29qwAWgj29vb/9vb2//b29vb29vb2 9vb29vb29vb29vb29vb29vb29v/////////////////////////////2B/ek B5tJSUlJpPb/9vb29vb29vb29vb2//////////////////////////////// ///////////2CPekm6RSAAAAAABJB/b29vb29vYICAgI9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb2CPb29vYI CPb2CAj29vYI9vb2CFykCPb29vYI9vb29vb29vb29vb2CPb29vYI9vb29gj2 9vb29vb29vb2CPb29vb29vb2CPb29vb29vb29vb29vYI9vb29vb2CAj29vb2 9qT39vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0lbB/b29vb29vb29vb29vb29vb2 9vb29vb29ggICAgHBwcHBwcH9/f39/f39/ekpKT3pKQH//b29vb29vb29vb2 //b/B/f29gj2CP/2rEkH///29luk9v/29vb/9vb/9vb///b3SUn1CPYHCAj3 9/f39/f39/f3pKSkpKSkpKSkpKSkpKSkpKSkm5ukBwj29ggICAcH9vb29vav XFMLC1RUDAxUVFQUDBQUFFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUFFRVVVRUVAxUS0uu 9vb29vb29vb29vb29vYHpKSt9/cHBwcICAgI9vb29vb29vb29vYICAj29ggI 9vb29vb29vb29vb29vb29v////b29v/2/whbAJv//wj2///29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29v/////////////////////////////2B/ek B5tJSUlJpPb///b29vb29vb29gj2//////////////////////////////// ///////////2CPekm6RSAAAAAABJB/b29vb29vYICAgI9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gj29vb2CPb29ggI9vb29ggICAj2 9gj29vb29vYI9gj29ghbB/YI9gj2CPb29vb29vb2CPb29vYI9vb29ggI9vYI 9vb29gf29vb2CPYI9vb2CPb29vb2CPb29vYI9vb2CPYICPb29vYI9vb29vYH CFuk9vYI9gj29gj29vb29gj2B/b29vb2CPYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0lbB/b29vb29vb29vb29vb29vb2 9vb29vb29ggICAcHBwcHBwcH9/f39/f39/ekpKSkpPf29vb29vb29vb29vb2 9v//9vcH9v/2//8IUpv29vb29lpb9vb29gj2B/cI9vb29qQAmwj2CAj2CPf3 B6T39/f39/f3pKSkpKSkpKSkpKSkpKSknJubm6QHCPb2CAcICAj29v/29qVT VAwMVExMVEwMDAwUVBQUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRQMDFVVTExUVFQL XO/29vb29vb29vb2CPb2B6St9/f3BwcHCAgI9vb29vb29vb29vYICPb2CAgI 9vb29vb29vb29vb29vb29vb29vb2//b29v8HUVH3//b29vb29vb29vb29vb2 9vb29vb29vb29v/29vb29vb29vb////////////////////////////2B/ek B5tJSUlJpPb///b29vb29vb29gj2//////////////////////////////// ///////////2CAekm6RSAAAAAABJB/b29vb29vYICAgI9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CKSk9ggHW/f291tbpAj2rVutB1sI B1ukm1sHB6Rbm1v39ghSrfb29vYIW/cIpPf2B1MHB1sI9lyt9vb2CFtTW6Rb 9/YIrVtbU6QIW/f29ghbW1tbBwhbW6RbpPb29vdb9q1b9vakpPYHUvcHUgcH UltSpPb3W1tbUvYHUgj2pKQI9qSk9qRT96WkCAj29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0lbB/b29vb29vb29vb29vb29vb2 9vb29vb2CAgICAcHBwcHBwcH9/f39/f39/ekpKSkpAf29vb29vb29vb29vb2 //b/9gj3Bwj2CPdaWwj/9vb29lJa//b2B1JaW1Gs9vb2pEmbCPYHCAcIB/f3 9/f39/f3pKT396SkpKSkpKSkpKSkpKSknJubpAf29vYICAgHCPb29vb2XFQL C0xUTAwMDAwMVFRUDBQUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVDU1UDFRU E1Su9vb29vb29vb29vb29gekpPf3BwcHBwgICPb29vb29vb29vYICPYICPYI CPb29vb29vb29vb29vb29gekm6QH9vb/9vb/pABbCP//9vb29vb29vb29vb2 9vb29vb29vb29v//9vb29vb29vb////////////////////////////2B/ek B5tJSUlJnPb///b29vb29vb29gj2//////////////////////////////// ///////////2CAekm6RSAAAAAABJB/b29vb29vYICAgI9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFuk9vYIUvcHUgf2W6T2W6T291sI pKT291IHpFv2CFut9q1SWwj29vb2W/cIW/f2B1sH91v29luk9vb2B1v39vat Wwj3Ugj2UqQIUgf29gj39vakpKRb9vZbpPb29gdSCPdbCPakpPZbpPYHUgcH B/YIUgdbpPYHUgj3Wwf2rVv29lP3B1MH9qRb9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0lTB/b29vYI9vb29vb29vb2CPb2 9vb29vb2CAgICAcHBwcHBwft9/f39/f3pKSkpKSkpPb29vb29vb29vb29vb2 //b2//8I9/f3rKT39v/29vb291Kj9vb2tVpaY1qsCPb3EZsI9gj2CAgH9/f3 9/f39/f396SkpKSkpKSkpKSkpJycpKSbm5ukB/b29ggHCAcI9vb29gdTCxRU DAwMTAwMDAwMFBQUVFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVNTU1VVBQU FBRTpfb29vb29vb29vb29vYHpPf39wcHBwgICAj29vb29vb29vb29ggICAgI CAj29vb29vb/9vb29vb2rFEQEQBJ9//29vb2CFIAB//29vb29vb/9vb/9vb/ 9v/2//b/9vb///b29vb29vb29vb////////////////////////////2B/ek B5tJSUlJnPb/9vb29vb29vb29vb2//////////////////////////////// ///////////29vekm5tbAAAAAABSB/YICAj29vb29vYI9v/2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29luk9vYHW/cHUgj2rVsIW63291II W632B1IHB1ukrVKtCKSkUgf29vYIW/f2W/f2B1sIrVv2CKSk9gj2CFv39vYH UgekWwj2pKQIUgcI9vYIraRSrQdbpKRbpPb29vdbCPdSCPakW/akpPYHUgf2 96SbUgekW6SkWwgHUgf2pFv29lulB1sH9qRb9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0lTB/b29vYI9vb29vb29vb2CPb2 9vb29vb2CAgICAcHBwcHBwf39/f39/f3pKSkpKSk9/b29vb29vb29vb29vb2 ///////29ggI9vb2//b29v/2o0ms9vb2rFq0CFparAhRWgj29ggICAgH9/f3 9/f39/f396SkpKSkpKSkpKSkpKScpJybm6QH9vb2CAcHCAj/9vb2rlNTCwwM DAwMDAwMDAwUFBQUFFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVNTU1VFRQU FBQUU1z29vb29vb29vb29vb2B6T39/cHBwcICAj29vb29vb29vb29ggICAgI CAj29vb29vb/9vb2//b3UQBJEVFbrfb29vb/CJsApPb29vb29vb/9v/29v/2 ///29vb////2//b29vb29vb29vb////////////////////////////2B/ek B5tJSUlJnPb/9vb29vb29vb29vb2//////////////////////////////// ///////////29vekpJtbAAAAAABSB/YICAj29vb29vYI9v/2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFuk9vYHU633Wwj2pKQIUvf2B1L3 W/f2B1v39gj3pFv3B1IHpFv29vYIU6QIW/f2B1IH91v29luk9vb2CFv39vak pPYHWwj2W6QIWwf29gikpPcHCPYH9/dbpAj29vdSCPdbCPabpPZbpPYHUval UqQHB/b29/etUgf3Ugj2pFv29lutCFL39qRb9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0lSB/b29vYI9vb29vb29vb2CPb2 9vb29vb2CAgIBwcHBwcHBwf39/f39/f3pKSkpKT3CPb29vb29vb29vb29vb2 ////9vb///b29v//9vb/9vYIUgAH//YIYxFjtFpaY6NR9fYICPYICAf39/f3 9/f39/f3pKSkpKSkpKSkpKSkpJykpJubpPf29vYICAcI9vb29valU1MLCwsM DAwMDAwMDAwUVFRUVFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ0VFRQU FBQUC1NU7/b29vb29vb29vb29velpPcHBwcHCAgI9vb29vb29vb29ggICAgI CAgI9vb29vb29vb2/whaABARUgf29vb2//b2/6RJW/b29vb29vb////29v/2 //b2///2///29vb29vb29vb29vb29v/////////////////////////2B/ek B5tJSUlJm/b/9vb29vb29vb29vb2//////////////////////////////// ///////////29vekpKRbAAAAAABJ9/YICAj29vb29vYI9v/2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CKRbW1JbUvcIUvf2W632W/f291v2 pVv2rVIICPf2B1sHpFv291II9vb2W/cIW6QIrVsI91sHB1v39vb29lNbpFtb 9wikW/b2W6QHUqUHCAhTrfYI9vb39gikpPb29vdb9vdSBwhbpPakpAgHUwil pPYHCPYIB/b3W/YHUvcIpFMHB1v3B1sI9qSk9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0lSB/b29vYI9vb29vb29vb2CPb2 9vb29vYICAgIBwcHBwcHB+339/f39/f3pKSkpKT39vb29vb29vb29vb29vb2 9vb29vb29v//9vb29v////asAFr2//b2rFpaWlms9RFj9vb29gf3Bwf39/f3 9/f39/ekpKSkpKSkpKSkpKSkm6Skm5ukB/b29ggICAgI9vb276VLC1QLCwsL DAwMDAwMDAwUVFRUVFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVBQU FBQUVFRLVO/29vb29vb29vb29vb3pPf39wcHCAgICPb29vb29vb29vYICAgI CAgICPb29vb29vb29gdRUVEQpPb2//b2//b2//cAWvb/9vb29vb2//b2//b2 9gj29vYH9vb29vb29vb29vb29vb29v/////////////////////////2B/ek B5tJSUlJm/b/9vb29vb29vb29vb2//////////////////////////////// ///////////29gekpJtbAAAAAABJ9/YICAj29vb29vYI9v/2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29luk9vYHUq32CKRSpfYHW/f296QI B6RbW1IHCKRbW6T2ZPf2CKT39vb2Uq0IpFtbWwf296RbW6QI9vb2CFutCPak W/b3Wwj2pPcIpFtbpAcHW1tbB/akW1OkCPb29gdbCPdSW1uk9vcKW6T2Wwf2 pFtbpPYHW1tbB/YHW1tbW61cW6X2CFIH9qWkCPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0lSBwj29vb29vb29vb29vb2CPb2 9vb29vYICAgIBwcHBwcH7ff39/f39/ekpKSkpKQH//b29vb29vb29vb29vb2 9vb29v//9vb////29vb2/wdJAPX/9v/29vasUaz2rFoH9vYIrFv3B/f39/f3 9/f39/ekpKSkpKSkpKSkpKSkpKSbm6T3CPb29ggICAj29vb2nQsLVAwLCwsL DBQUDBQMDBQUFBQUFFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFQU FBQUFAxUC1Su9vb29vb29vb29v/296T39/cHBwcICAj29vb29vb29vYICAgI CAgICPb29vb29vb29qwAEBBR9/YI9vb29vb29vcAWvb/9vb29vb29vb2CAj2 CAgH9/f3CPb29vb29vb29vb29vb29v/////////////////////////2B/ek B5tJSUlJm/b29vb29vb29vb29vb2//////////////////////////////// ///////////29gekpJtbAAAAAABJ9/YICAj29vb29vYI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29lv39vYHW/f2CPb29vYIW60I9vb2 9vb2B1MH9vb29vb29vb2CPb29vb2W/f29vb29gj29vb29vb29vYICFv39vb3 Uwj29vYI9vb29vb29vb29vb29vb29vb29vYI9vb29vdbCPb29vZcnPYI9vYI 9vb2CPb29vb29vb29vb29vb29vYIB1MH9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYH96SkW0pS7gj2CPb29vb29vb29vb2CPb2 9vb29ggICAgHBwcHBwcH9/f39/f39/ekpKSkpPcI//b29vb29vb29vb29vb2 ///29v//9vb29v/29vb/B1IApPb29vb29vb2Bwj2UlL/9qRSW/cI9/f39/f3 9/f396SkpKSkpKSkpKSkpKSkpJubnPcI9vb2CAcHCPb/9gdcS1QMDBQMDAsL DBQUFBQUFBQUFBQUFBRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVFRUVFRU FBQMDBQMVFMLrvb29vb29vb29vb/9vek9wf3BwcICAj29vb29vb29vb29ggI CAgICAj29vb29vb29qQRUVFRpPb29gj1///29ptJm/b29vb29vb29wf39wgI CAitW2P39vb29vb29vb29vb29vb29v/////////////////////////2B/ek B5tJSUlJm/b29vb29vb29vb29vb///////////////////////////////// ///////////29gf3m5tbAAAAAABJ9/YICAj29vb29vYI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29luk9vYIUq329vb29vb2U632B6UI 9vb2CAoH9vb29gj29vb29vb29vYIW6329vb29vb29vb29vb29vb2B1JbpZxb rQj29vb29vb29vb2CPYI9vYI9vYI9vb29vb29gek9qVb9vb29vb3B/YIpAj2 9vYI9vb2CPb29vb29gj29vb29vb2CFIH9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYI96SkW0pS9wj2CPb29vb29vb29vb29vb2 9vb29ggICAgHBwcHBwft9/f39/f39/ekpKSkpAf29vb29vb29vb29vb29vb2 9vb29vb2////9vb///YIWgCj9vb2//b/9vb29v8IUaOkUlr3BwcH9/f39/f3 9/f396SkpKSkpKSkpKSkpKSkm5uc9wj29ggIBwcI9v/2B1xTC1RUDAwUDAwM DBRUFAwUFBQUFBQVVRRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFRUVFRU VFQMDBVVCwtTU6X29vb29vb29vb2/wj39wf3BwcHCAgI9vb29vb29vb29vYI CAgICAj29vb29vb29qQAURAAUff2CKNSCPb29REA9/b29vb29vYIrKNjrAgI CLWsWqMI9vb29vb29vb29vb29vb29v/////////////////////////2B/ek B5tJAElJm/b2//b29vb29vb29vb///////////////////////////////// ///////////29gf3pKSbAAAAAABJ9/YICAj29vb29vYI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gcI9vb2BwgI9vb29vYIBwj2B/f2 9vb2BwcI9vb29vb2CPYI9vYI9vb2Bwf29vb29vb29vb29vb2CPb29gcH9wcH 9vb29gj29vYI9vb29vb2CPb2CPb29vYICPb29gcH9gj39vb29vb29vb29wj2 9vb29vb29vb29vb29vb29vb29vb2CPf2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYI96Skm1JS9wj2CPb29vb29vb29vb29vb2 9vb29ggICAgHBwcHBwft9/f39/f39/ekpKSkpAf/9v/29vb29vb29vb29vb2 CAj2///2//b///b/9vdSAFv2//b/9v/29gcH96SkUVKsBwf2CAf39/f39/f3 9/f3pKSkpKSkpKSkpKSkpKSkm5z3B/b2CAgICPb29vYHXAtLVAwMDAwMDFRU FBQUFAtUFBQUDAwMDBQUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVFRUVFRU VFQUFQwMVFQLU1Ou9vb29vb29vb29vYH96QHBwcHCAgI9vb29vb29vb29vYI CAgICAgI9vb29vb2/6wQURBRURFaWlFJUqysSVFJB//29vb2//b29qxjY2Or a2NjY6z29vb29vb29vb29vb29vb29v/////////////////////////2B/ek B5tJAElJmwj29vb29vb29vb29vb///////////////////////////////// ///////////29gf3pKSbAAAAAABJ9/YICAj29vb29ggI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb2CPb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb2 CPb29vb29gj29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////YI9/ekm1JS9/b29vb29vb29vb29vb2CPb2 9vb2CAgICAcHBwcHBwf39/f39/f3pPekpKSk9/b29vb29vb29vb29vb29vb2 9vf1CAj///b//wgHW0lRrAj/9vb29v/29vYH9/cHUqT29gf2B/f39/f39/f3 9/elpKSkpKSkpKScpKSbm6SbW6UHCPb2CAgHCP/29vZcCwwMDAwMDAwMDAwM FBQUFAwUFFQUFBQUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVWVVVVVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVBQU FBQUFBQMDAwMDEtLrvb29vb29vb29vb2B6339wcHBwgICPb2CAj29vb29vb2 9ggICAgICPb///b29gdREFFREBAREFEQEFFRAEmb9vb29vb29vb29gikY2Jr taxirPb29vb29vb29vb29vb29vb29vb////////////////////////2B/ek B6RJSUlJmwj29vb29vb29vb29vb///////////////////////////////// ////////////9gekpJubAAAAAABJ9/YICAj29vb29ggI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////YI9/ekm1JS9/b29vb29vb29vb29vb2CPb2 9vb2CAgICAcHBwcHBwf39/f39/f3pPekpKSk9/b29vb29vb29vb29vb29vb/ 9vb3o6Sj9/ekm1JJSZv19v/29v/29ff39wgI9vb/pJsH9ggIB/f39/f39/f3 96WkpKSkpKSkpKScnKSbpKScpPcI9vYICAcH/wj29lxUVAwMDAwMDAwMFAwM DAwUFBQMFFRUVBRUVFQUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVFQU FBQUVBQMDAwMDAxUVK729vb/9vb29vb2CAet9+4HBwcICPb29vb29vb29vb2 9ggICAgICAj29vb2/whaERAREFFREBBRURBREVL39vb29vb2///29v8ItWNr a2NirPb29vb29vb29vb29vb29vb29vb////////////////////////2B/ek B6RJSUlJmwj29vb29vb29vb29vb///////////////////////////////// ////////////9gekpJubAAAAAABJ9/YICAj29vb29ggI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vYI9vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////YI9/ekm1JS9/b29vb29vb29vb29vb2CPb2 9vb2CAgICAcHBwcHBwf39/f39/el9/ekpKSkB//29vb29vb29vb29vb29vb2 ////9vekm1JRUlub9/b/////CKRaUkkRAFJbB/b2CKQHCAgH9/f39/f39/el paSkpKSkpKSkpKSkpJukm5ub9wf29vYIBwj29vb2pQsLVAwMDAwMDAwMFAwM DAwUFAwMFFRUVFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVFQU FBQUVBQMDAwMDAwLS1Pu9vb29vb29vb29gj39/cHBwcHCAj29vb29vb29vb2 9ggICAgICAj29vb2//b3URBRURAQEBAQEFEQEaT/9vb29vb29v//9vb2CKxa WmJjtfb29v//9vb29vb29vb29vb29vb////////////////////////2B/ek B6RJSUlJmwj29vb29vb29vb29vb///////////////////////////////// ////////////9gekpJubAAAAAABJ9/YICAj29vb29ggI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb2 9vb29vb29vb2CAj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYI9/ekm1JS9/b29vb29vb29vb29vb29vb2 9vb2CAgICAcHBwcHB+339/f39/ek96SkpKT39v/29vb29vb29vb29vb29vb2 //b2////CAj29vb////29gikUkkAAABJEREAUff29gcHCAgH9/f39/f39/el pKSkpKSkpKSkpKSkpKSkm5ukB/b29ggICPb29vauC1QLDAwMDAwMDAwMDAwU FBQMDAwUFFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVDAwMVVVVVVVVVVVVVVVVVVVVVFRU VBRUVBQMDAwMDAwLVAtUB/b29vb29vb29vYI9/f3BwcHCAj29vb29vb29vb2 9ggICAgICAj29vb29vb2pFEQEVFRUVFRURAQowj29vb29vb29vb2///29qxj Y6ysCPb29v/29vb29vb29vb29vb29vb////////////////////////2B/ek B6RJSUlJmwj29vb29vb29vb29vb///////////////////////////////// ////////////9gf3pJubAAAAAABJ9/YICAj29vb29ggI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPYI9gj29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYI7fekm1JS9wj29vb29vb29vb29vb29vb2 9vb2CAgIBwcHBwcHB+339/f39/ek96SkpKT39vb29vb29vb29vb29vb29vb/ 9v/291ub9v////b29vb/B1oASVFb9/UHB/ekSVEHCPYHCAf39/f39/f39/el pKSkpKSkpKSkpJucm6Skm6QH9vb2BwcI9vb29q5TC1QMDAwMDAwMDAwMDAwU FBQMDAwUFFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZW VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRU VFRUVFQUDAwMDAxUC1QLXPb29vb29vb29v/2B/f3BwcHCAgICPb29vb29vb2 9vYICAgICAgI9vb29vb/CPdSABEREAAREBGkCPb29vb29vb29vb/9vb29ggI tQgI9vb29vb29vb29vb29vb29vb29vb////////////////////////2B/ek B6RJSUlJmwj29vb29vb29vb29vb///////////////////////////////// ////////////9gf3pJubCgAAAABJ9/YICAj29vb29vb29v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYI7feknFJS9wj29vb29vb29vb29vb29vb2 9vb2CAgIBwcHBwcHB/f39/f39/ek96SkpKQH//b29vb29vb29vb29vb29vb2 /whbAEmk9v/2//////b3UUlJowj29v//9vb291pSCPYICAf39/f39/f39/ek pKSkpKSkpKSkpKScm5ubm/f29vYIBwcI9vb271QLVAwUDAwMDAwMDAwUFAwM DBQUFAwUFFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZW VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU VFRUVFQUDAwMDAwMDFRUCp329vb29vb29vb2CPf39wcHBwgICAj29vb29vb2 9vYICAgI9ggI9vb29vb2//b1m1JJUVFRW/cI9vb29vb29vb29vb29v/29vb2 9vb29vb29vb29vb29vb29vb29vb29vb/9v/////////////////////2B/ek B6RJSUlJWwj29vb29vb29vb29vb///////////////////////////////// ////////////9gf3pJubSQAAAABJ9/YICAj29vb29vb29v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYIB/YI9vYI9vb29vb29vb29vb2 9vb29vb29vYHBwf29vb2CPb29vb29vb29vb29vb2B/cHCPb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYIB/ekpFJS9wj29vb29vb29vb29vb29vb2 9vb2CAgIBwcHBwcH7ff39/f39/ekpaSkpPf29vb29vb29vb29vb29vb29vb/ 9ptJUaMI9v/29vb29qxJSaQI9vb///b29v8I9ghbBwgIB/f396X39/f396Wk pKSkpKSkpKSknKSknJubpQf29vYIBwj29vbvXAtUDAwUDAwMDAwMDBQUFBQM DBQUVFQUFFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZW VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU VFRUVFQUDAwMDAwMVQtUUwuu9vb29vb29vb2/wf39/cHBwgICAgI9vb29vb2 9vYICAgICAgICPb29vb/9vb/9gj39/cH9v/29v/29vb29vb29vb2//YI//b2 9vb29vb29vb29vb29vb29vb29vb29vb29v/////////////////////2B/ek B6RJSUlJWwj2//b29vb29vb29vb///////////////////////////////// ////////////9gf3pJubSQAAAABJ9/YICAj29vb29vb29v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vatW/f29gj29vb29vb29vb29vb2 9vb29vb29giknKRbB/b29vb29vb29vb29vb29vYHpFukpAj29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYIB/ekpFJS9wj29vb29vb29vb29vb29vb2 9vYICAgIBwcHBwcH7ff39/f39/ekpKSkpPf29vb29vb29vb29vb29vb29vb/ 91EAo/b///b/9v/2pElRB/b/9v/29vb29gj29ggHpAgIB6339/f39/f3paSk pKSkpKSkpKSkm5ucpJucB/b29ggHB/b29vZdDAsMDAwMDAwMDAwMFBQUDAwU FFRUFAwUFFRUVFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVWVVVWVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VFRUVFQMDAwMDAxUCxQMDAtT7/b/9vb29vb///YH9/cHBwcICAgI9vb29vb2 9vYICAgICPb2CPb29vb29v/29vb2//b/9vb29vb29vb29vb29vb29v/29vb/ 9vb29vb29vb29vb29vb29vb29vb29vb29v/////////////////////2B/ek B6RJSUlJWwj2//b29vb29vb29vb///////////////////////////////// ////////////9gf3pJubSQAAAABJ9/YICAj29vb29vb29v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2B1wI9vb29vb29vb29vb29vb2 9vb29vb29ggH9gibrQj29vb29vb29vb29vb29vYICPYIW/f29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////YIB/ekpFJS9wj29vYI9vb29vb29vb29vb2 9ggICAgIBwcHBwcH7ff39/f39/ekpKSkpAj29vb29vb29vb29vb29vb29v/2 WklSB/b/9vb/9v+kAFEH///2//b29vb29vb29vYIBwgH9/f39/f39/f3pKSk pKSkpKSkpKScnJukW1v3CPb2CAcICPb29q5MDAwMDAwMDAwMDAwMFBQUDAwU FBQUFBRUVFRUVFVVVVRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV5eVVRVVVVV VVVWVVVeVVVVVVVWVVVVVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VBQMVFRUVAwMDAwMDAwMDAtUVPb29vb29vb29v8I9/f3BwcHCAgI9vb2CPb2 9vb2CAgICAgICAj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 ///2//YIrFtbWlv3CPb29v/29vb29vb////////////////////////2B/ek B6RJSUlJWwj29vb29vb29vb29vb///////////////////////////////// ////////////9gf3pJukSQAAAABJ9/b29vb29vYI9vYI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29ggIpAf29gekW6QH9vb2CKSkpKQH 9gecW6SkCJykW5z3B6QH9q1bBwekW6SkB/ek9vb2B6QI9vYIraRbpAj2CKRb 9wgI96T2CKQH9vYI91ukpaX2rVukrQgIpAcIpPf29632CKRcpKQICKSkpKQH 9vb2B6SkWwf2B1ucpKQIra329ggIpVukpAf2B1MHCPb29q2kW1ulCAikW6QH 9qT39gikB/b3W6RbnPak9wikCPYHpAgIW6QInAj295ykW60HpAf2CPYHpFyt pAgIpAj29gj3pFukrQikB/b2pK329vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////YIB/ekpFJS9wj29vYI9vb29vb29vb29vb2 9ggICAgIBwcHBwcH9/f39/f39/ekpKSkpAj29vb29vb29vb29vb29vb2///2 UQCj/wgH9vb29vcAUgf29vb2///29vb29vb29vb2CAgH9/f39/f39/elpKSk pKSkpKSkpKScpJubm6QH9vb2CAgH9vb271QMDAwMDAwMDAwMDAwMFBQUDAwU FBQUFBRUVFRUVFVVVVRUVVVVVVVVVVVVVVVVVVVVVVZVVVVVVVSnXVRUDFRM TFVVVVVVVVZVVVZWVlVVVVVVVVVVVVVVVVVVFQ1VVVVVVVVVVVVVVVVVVVVU VVVVVFRUVAwMDAwMDAwUDAsLC6X29vb2/wj29vb2B/f39wcHCAgI9vb29vb2 9vb2CAgICAgICAj29vb29vb29vb29vb29vb29vb29vb29vb29vb2//b///b/ 9v//9qRJWqz39gf3pPf2//b29vb29vb////////////////////////2B/ek B6RJSUlJWwj29vb29vb29vb29vb///////////////////////////////// ////////////9gf3pJukSQAAAABJ9/b29vb29vYI9vYI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vatUvf2CFyk9q2l9vb2B1JbB6Rb CFutCKVSB1tSBwcHCFIHCFsHCFukCKRSCK1T9vb2rVsH9vb2pK0IpFsIW6QI XKT2pJz2CFIH9vYHUgf2UqQIpAcIW6UHSgcHUwf2rVP2W1sHpFIIpFv29wr3 9vb296QIB1v3W632pVIIrVII9vakW/YHUvf2rVJc9vb29q1S9wgHCFuk9qWt 9qSk9ghS9whbpfdbpAhS9wdSCPakW/akW/YHUgj3W/cHUvcIUvf29gikpAet Ugf3Ugj29vdSCAhbpAhKrfYHUq329vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////YIB/ekpFJS9wj29vb29vb29vb29vb29vb2 9ggICAgIBwcHBwcH9/f39/f39/ekpKSk9/b29vb29vb29vb29vb29vb2///3 SVH191Fa9v/2B0lJ9fb2////////9vb29vb2CPb2CAgH9/f39/f3paWkpKSk pKSkpKSkpJycm6NbnPf29vb2CAf29vb2XUsMDAwMDAwMDAwMDAwUFBQUDAwU FAwMFFRUVFRUVFVVVVRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVExUXVRUVFRU VFVUVVVVVVVVVVVVVlZWVVVVVVVVVVVVVVVVDQ1VVVVVVVVVVVVVVVVVVVVV VVVVVFRUVAwMDAwMDAwMDAwMCwuu9vb29vb29vb/9vf39wcHBwgICPb29vb2 9vb2CAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb2//b2//b2 //YISVIH9vb29vb2CAcH9v/29vb29vb2///////////////////////2B/ek B6RJSUlJWwj29vb29vb29vb29vb///////////////////////////////// ////////////9gf3pJukSQAAAABJ9/b29vb29vYI9vYI9v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vZbUqT2B1L3BwcH9vb2B1P39vdT B1ukCPdS9gdb9/b2B1IH91IICJykB/dSB6Sc9vb291MI9vb29ggHpJwHUgf2 91MInKT2CFIH9vYHU/cIpFz29gf3pKQHWwgHWwf2rVsHWwf2CFMHpVsH91sH 9vYI9ggH91sHnKQH91IHpKT29valnAcHU/f2W1tSCAj2CPakWwj291v3BwcI 9lyk9ghTB/dS9vakW/Zb9whbB/b3WwicpPYHWwilW/b2W6UHW/f29gekpAf3 UgcHWwf29vdbBwdbpAhbB/b29vb2CPb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////YIB/ekpFJSpQj29vb29vb29vb29vb29vb2 9ggICAgHBwcHBwcH9/f39/f39/ekpKSkB/b29vb29vb29vb29vb29vb2///3 SVr1UUms9v8IWgD3////9vb29vb29vb29vb2CAgICAf39/f39/elpKSkpKSk pKSkpKSknJybm6ObpAf29ggICAj29vauC0wMDAwMDAwMDAwMDAwUFBQUDAwU FAwUFFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVUVFRUVFRVVVVUVEtU766urqZd VFRUTFRVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VRQMVFRUVFRUDAwMDAwMDAwMDAtU7/b2CP/29vb29gf3BwcHBwgICPb29vb2 9vb29ggI9ggICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb/ /wdJpPb/9vb///b2///29vb29vb29vb2//b////////////////////2B/ek B6RJSUlJWwf29vb29vb29vb29vb///////////////////////////////// ////////////9gf3pJukSQAAAABJ9/b29vb29vYI9vb29v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CAhbpVMHB1KkpFtSB/b2B1sH9gdS CAeknFNTCPYISvf2B1sH91sI9geknKRbB6Rb9vb291II9ggIpFtbrQcHUwf2 B1sHpJz2B1v39vb2B5ycW1z2pJykpPYHW/cHXPf2rZwHW/f291IHCK2cpFKt 9vb291ukXK32B6SkW1L2pVv29ggIrVulUgcHUwecrfb29vb2W1v2B1KkpFtS CKSk9ghbB/dS9gicpAhb9wdbCPatW/akpPYHUgeknAj2W6UIUvf29vYHpKRb Wwf3Wwf29vb3nFtbpQhbB/b29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////YIB/ekpFJSpAj29vb29vb29vb29vb29vb2 9ggICAgHBwcHBwcH9/f39/f396SkpaSkCPb29vb29vb29vb29vb29vb2//8I UVKsAKP2//akAPf/9v8H9QcI9v//9vb29vb2CAgICAf39/f3pfekpKSkpKSk pKSkpKScm5ubm1uk9wj29ggHB/b29gdTTAwMDAwMDAwMDAwMFBQMFBQUDAwU FBQUFFRUVFRUVVVVVVVVVVVVVVVVVVRUVFRUSwtUVFRUVEwLC0um9vb29vb2 9qalXVRUC1RUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VQwMVVVUVFRUVFQMVFQMDAwMDEwLpfb29vb29vb29vb39wcHBwgICAj29vb2 9vb29ggI9ggICAgICPb29vb29vb29vb29vb29vb29vb29vb29vb2//b/9vb/ 90mj9vb2//b29vb29vb29v/29vb29vb29vb////////////////////2B/ek B6RJSUlJUgf29vb29vb29vb29vb///////////////////////////////// ////////////9gj3pJukSQAAAABJ9/b29vb29vYI9vb29v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29q1bCFL3CFv39q1c9vb2CFKl9vdS CPb29gdS9vb291IHCFII91IH9gj29vdSB/db9vb291sI9vb2U/f29vYIU/f2 pFv2pJz2CAr39gj29vb2W6QHUgf29ggHUwcHWwf2pFv2W6T2rVsI9gf2CFIH 9vb2pFv29vb29vb291MHrVsI9vb2CPYHU/eknAilW/b29vb2CFuk9lMH9q2c 9luk9ghS9wdSCPZbW/ZS9whSB/atW/acpPb3Uwj3Uvb2UqQIWwf2CPb29vYH UggHUgf29vYH9vacpAhSrfb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////b2B/ekpFJSpAj29vb29vb29vb29vb29vb2 9ggICAgHBwcHBwft9/f39/f396SkpKT39vb29vb29vb29vb29vb29vb29v/2 m1FaSff2//ZSUvb/96OkBwj29vb29vb29vb2CAgICPf39/f3pKSkpKSkpKSk pKSkpJybm5ubm1usB/b29gcH9vb29l0LVAwMDAwMDAwMDBQUFBQUFBQUDAwU FBQUFFRUVFRUVVVVVVVVVVVVVVVUVExLU1NUXFylpaampqVdXKUH9vYHpVul 9vb29u+mXVRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVUUVVVVVBQMVFQMVFQMDAwMDAwLU6729gj29vb29vYI9/cHBwcICAgICPb2 9vb29vb29ggICAgICPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2///1 UqT29v//9v/29vb29vb29vb29vb29vb29vb2///////////////////2B/ek B6RJSUlJUgf29vb29vb29vb29vb///////////////////////////////// ////////////9gj3pJukSQAAAABJ9/b29vb29vYI9gj29v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29luk9qRb9vekW1v39vb2B1tSW1L3 9vdbW1utCK2kW1KkB1IHB1sI9gdbW1ut9qRSW1utpFsI9vb2pFtbWwf2B1tb pAcHUlucB1ucW5wIpVtcWwf291tbpAgHUgcHW1tbW/f291tbW1IHCKRbUqT2 9vYIB6RbW/cIB1tbm632rVJbU/cHpFtTpfZbrfYIUwf29gdbW1NTB/dbW1wH 9qRSW1uk9vZbW1tSpPZbpAhbUltb9/ZbpPb3UgcIpFucUvcHUvf29vb3pFtS pPb3UltbpAhbW1tbCPZSW1xcB/b29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////b2B/ekpFJSpAj29vb29vb29vb29vb29vb2 9ggICAcHBwcHBwft9/f39/f3pKSkpKTt9vb29vb29vb29vb29v/////29vb/ 9VJIUQj//6QA9vZSUvf29v////b2//b29vb2CAgIB/f39/f396SkpKSkpKSk pKSkpJubm5ubm5v39vb2CAcI9vb2thNUDAwMDAwMDAwUFBQUFBQUFBQUDAwU FBQUFFRVVFRVVVVVVVVVVVVVVExMC1RcpaWuBwf29vb29vb29vb29q5cpZyu 9gecpe/29q9dVFRUVBQUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVFAwMDAwMDAwMTEwMDAwLC1T29vb29vb29vb2B/f3BwcHCAgICPb2 9vb29vb29ggICAgICAj29vb2////////9vb29vb29vb29vb29vb/9v/29gha W/b2//b2//////b29vb29v/29vb29vb29vb2///////////////////2B/ek B6RJSUlJUgf29vb29vb29vb29vb///////////////////////////////// ////////////9gj3pJukUgAAAABJ9/b29vb29vYI9gj29v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1IH9vdTB/YHB/b29vb2CFL3CPb2 9ggICAj29vYHBwgI9gf291sH9ggI9gcI9ggIBwj29gj29vb29ggH9gcI9ggI 9vb2pFsI9ggHCPYIB/YH9vYI9gj2B/b2CPb2CAf2CPb29ggI91sH9vYICPYI 9vb29vYICAcICAcICPb29ggICAj2CAcI9vYH9vYICPb29vYICAcH9vYHCPb2 9vYH9gcI9vYICAgICPb29ggI9gcI9vZbpAj29vb29gj2CAj2CPb29vb2CAj2 9vb2CAcICAj2CAcI9vYICAcI9vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////b2B/ekpFJSpAj29vb29vb29vb29vb29vb2 9ggICAcHBwcHBwf39/f39/f3pKSkpKQH//b29vb29vb29vb2////////9vb2 //dRAAf2CFH3B0mbCP/29vb/9vb/9vb29vb2CAgHB/f396T396SkpKSkpKSk pKSkpJubm5ubW6QH9ggIBwf29vYIXFMMVAwMDAwMDAwMDBQUFBQMFAwUDBQU FBQUVFRUVVVVVVVVVVVVVVVUVAsLXKXv9vb29valXFtTXFxcXAj2B/acpQj2 9pxTUlNTnfbvrl1cXFRUXVVVVVVVVVVVVVVVVVZVVVVVVVVVVVVVVVVVVVVV VVVVVFVUFAwLCwxUVAwMTEwMDAwUC1Ol9vb29vb29vb29vf3BwcHBwgICPb2 9vb29vb2CAgICAgICAj29vb29vb29vb29vb29vb29vb29vb29vb/9vb//6RS CP/29vb2///29vb29vb29vb29vb29vb29vb2///////////////////2B/ek B6RJAElJUgf29vb29vb29vb29vb///////////////////////////////// ////////////9gj3pJukUgAAAABJ9/b29vb29vYI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2pFP29ghSpfb29gj29gj2B1IH9vb2 9vb29vb29vb29vb29vb2rVII9vb29vb2CPb29vb29vb29vb2CPb29vb2CPb2 9vb2pVsH9vb29vb29vb2CPb2CPb29vb29vb29vb29vb29vb2B1IH9vb29vb2 9vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vYHCPb29vb29vZbpPYIBwj2BwcHB/YIBwj2CPb29vb2 CPb29vb29vb2CPb2CPb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2B/ekpFJSpAj29vb29vb29vb29vb29vb2 CAgICAcHBwcHB+339/f39/f3pKSkpKQI9vb29vb2//b2//b/9ggIB/b/9v/2 9v8HUaP291L3SVv2//b29v/29v/29vb29ggICAgH9/f39/f396SkpKSkpKSk pKSkpJubnJubmwcI9vYIBwj29vamCwtUDAwMDAwMDAwUFAwMDAwMDAwMFBRU VFRUVFRUVFRUVVVVVVUVVU1UC1OtB/b2CK+ut/b276VUC1NMSwelU50H9vb2 9qVTU1Ncrvb29vb29vb29u+vpl1VVVZVVVVVVVVVVlZVVVVVVVVVVVVVVVVV VVVVVVRUFAsLCxRUDAwMDAwMDAwLCwtU7/b29vb29vb29gf3BwcHCAgI9vb2 9vb29vb2CAgICAgICAj29vb29vb29vb29vb29vb29vb29vb29vb2//b/B0kH 9vb29vb29vb29vb29vb29vb29vb29vb29vb////////////////////2B/ek B/dJSUlJUgf29vb29vb29vb29vb///////////////////////////////// ////////////9gj3pJukUgAAAAAK9/b29vYICAgI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2rfcI9gj39/b29vb29vYICK0H9vb2 9vb29vb29vb29vb29vb2B/cH9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2CK2k9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2B60ICPb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29gj39/b29vYI9gj3B/YIpAj2raRcpAgIrQf29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2B/ekpFJKpAj29vb29vb29vb29vb29vb2 CAgICAcHBwcHB+339/f39/f3pKSkpPf29vb29vb/9vb29vYI96z396T39vb/ 9vb/96MHWlpRWgf/9vb///b29vb29vb29vYICAgH9/f39/f396SkpKSkpKSk pKSkpJubnJubpAcI9ggICAj29u9cC0wMVAwMDAwMDAwMDAwMDAwMDAwMFBRU VFRUVFRUVFRVVVVVVQ0VVQwLXAf29vbvVFMUE2Wu7/bvrl0MC/ZbClPv9vb3 Bwfu9+729vb29ggHrq6ur+/v755VVl5VVVVVVVVVVlZVVVVVVVVVVVVVVVVV VVVVFBRUFAwMDBQUFBRUVAwMDBQMDAtLpvb29vb29vb29gj39wcHBwgI9vb2 9vb29vb2CAgICAgICAj29vb29vb29vb29vb29vb29vb29vb29vb29vb2m1sI 9vb29vb29vb29vb29vb29vb29vb29vb29vb////////////////////2B/ek B/dJSUlJUgf///b29vb29vb29vb///////////////////////////////// ////////////9gj3pJukUgAAAAAK9/b29vYICAgI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb2 9vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2B/ekpFJKpAj29vb29vb29vb29vb29vb2 CAgICAcHBwcHB+339/f39/f3pKSlpPf29vb29vb/9vb29ggHB/YI9vYH9wj/ 9v//9gf3UVFI9//29v/29v/29vb29vb29vYICAgHpPf39/f3pKSkpKSkpKSk pKSkpJubm1uk9wj29ggHCPb29qZLC0wMVAwMDAwMDAwMDAwMDAwMDAwMFFRU VFRUVFRUVFRVVVVVVVVUVAtUrvb2rqannlRUVAtcVFzv9u9dTAekXK72B60I 9/b29vb2rqVcXFRTS0tUVFRUXV1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVUUDAxUVFQMDAwMDAwLDAsLVO/29vb29vb29vYH9wcHBwcICAj2 9vb29vb2CAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vYISff2 9vb29vb29vb29vb29vb29vb29vb29vb29vb////////////////////2B/ek B/dJSUlJUgf2//b29vb29vb29vb///////////////////////////////// ////////////9gj3pJukUgAAAAAA9/b29vYICAgI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2B/ekpFJJpAj29vb29vb29vb29vb29vb2 CAgICAcHBwcHB/f39/f39/f3pKSkpAf/9vb29vb29v/29gcI9v/////2B/f2 9v/2///3URBa9vb2//b29v////b29vb29vYI9gf3pPf39/f3pKSkpKSkpKSk pKSbpJubm1ukBwj29ggHCPb2CFRLDAxUDAwMDAwMDAwMDAwMDAwMDAwMVFRU VFRUVFRUVFVVVVVVVVVUC1Su9vamVExVp69VC1QKU1MKXO/vSwf29vb2B1Ol B/b29gj3nFxTU1RUVFRUVFRUVVVVVlUVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVNVVVVTExMVFQMDAwMDAwLCwsLC6X29vb29vb29vYI9/cHBwcICAgI 9vb29vb2CAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb3Uvb/ 9vb29vb29vb29vb29vb29vb29vb29vb29vb2///////////////////2B/ek B/dJSUlJUgf2//b29vb29vb29vb///////////////////////////////// ////////////9gj3pKSkUgAAAAAA9/b29vYICAgI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2B/ekpFJJpAj29vb29vb29vb29vb29vb2 CAgIBwcHBwcHB/f39/f39/f3pKSkpAf/9vb29vb29v/2CAf2//b2Bwf2//cI //b2//asERCs//b/9vb///b2//b///b29ggICAf39/f396SkpKSkpKSkpKSk pJybm5ubm5v3CPYICAgI9vb2rgtUVAxUDAwMDAwMDAwMDAwMDAwMDAwMVFRU VFRUVFRUFFUVVVVVVVVUC1T29q5UTFVMAZ2mUwpUU1NTClOmXQf29gf2rlwL VF2mrq0HCAf39+4H7wcHt6ZdVFVVVl5WVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVU1NVVVVVFQMTFRUTExMDAxUDAtLC1MH9vb29vb29vb2B/cHBwcICAgI 9vb29vb2CAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vZS9//2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2///////////////////2B/ek B/dJSUlJUgf2//b29vb29vb29vb///////////////////////////////// ////////////9gj3pKSkUgAAAAAA9/b29vYICAgI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2B/ekpFJJpAj29vb29vb29vb29vb29vYI CAgIBwcHBwcHB/f39/f39/ekpKSkpQj/9vb29vb/9v/29wf//wdSUpuk9gcH //b/9vakSVEH//b29v/29v8IBwcHB/b29ggICPek9/f3pKSkpKSkpKSkpKSk pJucm5ubW6QH9vYICAcI9vYIXEsLVAwMVAwMDAwMDAwMDAwMDAwMDAxUVFRU VFRUVFRVFRUVFRUVVU1VC1T2711UVUxMTKUHpa3vr++upaWvXAcHU6X2rlMT DAsLU1MH9vb29vb29vYI769eVV5WVRVWVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVRUVEwMCwtMDAxUDAsLCwsLCwsLSwqu9vb29vb29vb/B/f3BwcICAgI 9vb29vb2CAgICAgICAgICPb29vb29vb29vb29vb29vb29vb29vb29ghJCPb2 //b29vb29vb29vb29vb29vb29vb29vb29vb2///////////////////2B/ek B/dJSUlJUgf2//b29vb29vb29v////////////////////////////////// /////////////wj3pKSkUgAAAAAArfb29vYICAgI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vYI9vb2CPb29vYI9ggI9gj29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2B/ekpFJJpAj29vb29vb29vb29vb29vYI CAgIBwcHBwcHB/f39/f39/ekpKSk9/b29vb29vb/9vb/9wf/9qNSB/YI9gcI 9v/29v+kSVII///29v/2/wisrAcHpKQH9vb2CPek9/f3pKSkpKSkpKSkpKSk nJucm5tbW/cI9vYIBwgI9vauS1QLVEwMVAwMDAwMDAwMDAwMDAwMDExUVFRU VFRUVFRVFRUVFRUVVVVVVFTvt1RVDFVMUwf2CPb29vb29gjvXAf2B/b2plSm pZ2l9wf29vaupp5dVVRUFFVVVVVVVlZVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VFRUVFNTU0tLU1RdVFMTUwsLEwsLCwtUCwpUCPb29vb29vb/CAf3BwcHCAgI 9vb29vb2CAgICAgICAgICPb29vb29vb29vb29vb29vb29vb29vb2//da9vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2///////////////////2CPek B/dJSUlJUgf2//b29vb29vb29v////////////////////////////////// /////////////wj3pKSkUgAAAAAArfb29vYICAgI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2B/ekpFJJpAj29vb29vb29vb29vb29vYI CAgIBwcHBwcHB/f39/f39/ekpKSk9//29vb29vb2//b/B/f/9ptb9v//9vf2 9v/2//asAFv29v/29v/2CKT1//b29qykB/YIB/ek9/f3pKSkpKSkpKSkpKSk m5ucW5tbW/f29vYHBwj29gdcS0xMDAwMDAwMDAwMDAwUFAwMDAwMTExMVFRU VFRUVFRVFRUVFRUVVVVMVFO3t1RUVFQLrvb29gilXFNl9vb2pQcH9vauC1Su 9vb29vb2rlRTS0sLDFRVVVVVVlZVVVVVVVVVVVVVVVVUVFRUVFRUVFRUVFRM TAwLU1NTVFylru+uXVNTVFxdXWVmXl5eVFMKrvb29vb29vb/9gf3BwcHCAgI 9vb29ggICAgICAgICAgICPb29vb29vb29vb29vb29vb29vb29vb29qSk9vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2///////////////////2CPek B/dJSUlJUgf2//b29vb29vb29v////////////////////////////////// /////////////wj3pKSkUgAAAAAArfb29vYICAgI9gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb2CPb29vYI9vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////b2//////////////////////////////////////// ///////////////////////////2B/ekpFNSpAj29vb29vb29vb29vb29vYI CAgIBwcHBwcH7ff39/f39/ekpKSkB/b29vb29vb29vb/9/f2/wdaWwcH9wj2 //b2//YHAFv29v/29v//pAf/9gj29vYHmwcIB/f39/f3pKSkpKSkpKSkpKSb m5ubm5tbpAj29ggHB/b29gdTU0wMDAwMDAwMDAwMDAwMDAwMDAwMTExMDBRU VFRUVFRVVVUVFRUVVVVUVAum9l1UVAtc9vb2pVRUClMH9vbvXAet9/adC1QL Zbf29vb2CPf3pKWlXVRdVVVVVVVUVVUMTFRUVFRUVFRcXFxcXFxcXFxcXFxc XF2lpaWutq6urq7vt+/v76+ur6+np6emVAsKXPb29vb29vb29vb3BwcHBwgI 9vb29vYICAgICAgICAgICAj29vb29vb29vb29vb29vb29vb29vb2/6T39vb2 9v/29vb29vb29vb29vb29vb29vb29vb29vb2///////////////////2B/f3 B/dJSUlJUgf29vb29vb29vYI9v////////////////////////////////// /////////////wgHpKSkUgAAAAAApPb29ggI9vb29gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYIWwf2CPb29vb29gj29vb29vb2 CPb29vb29vb29vb29vb29vb29vb29gj29vb29gj29vb2CPb29gj29vb29vYI 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb2CPb2 9vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////YH95sH9vb/////9v////////////////////////////// ///////////////////////////2B/ekpFtSnAj29vb29vb29vb29vb29vYI CAgIBwcHBwcH7ff39/f39/ekpKSkCPb29vb29vb2//b/B6P29v8I9/cH9vb/ 9vb2//asSVr29vb////3pP//9gik9vYIpPcI9/f39/ekpKSkpKSkpKSkpKSb m5ubm5tbpQj29ggHCPb29qULVAwMDAwMDAwMDAwMDAwMDAwMDAwMTExMVFRU VFRUVFQUFBQUVFVVVVRVVBRUr69UC1QICPZdTFRLS6b29q5UCgf29vbvr11d ExNcZaWuBwcI9vb2CKZUVFVVVFRMC1Smpqampq+vr6+urq6urq6urgcHBwcI 9vb29vb29vb29vbvr6VdVAsLDAsLCxQMCwsLUwf29vb29vb29vb39wcHBwgI CPb29vYICAgICAgICAgICAj29vb29vb29vb29vb/9vb29vb29vb2/6QH9vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2///////////////////2B/f3 B/dJSUlJUgf29vb29vb29vYI9v////////////////////////////////// /////////////wgHpKSkWwAAAAAApPb29vYI9vb29gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gikUq0I9ggHB/b2CAj29gj39vb2 9gitBwj2BwcHBwf29gcHBwf29vcH9vb2CAcH9vb3Bwf2CAf39wcIBwf39wf2 9vf3CPb2CPcI9gcH9vb39wcI9gcI9vb2CPb2BwcHCPb29gcHCAf2Bwj29vYH CPb2CPb2B/YICAcHBwf2Bwj2Bwj29vYHCPYICPb2CAf29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////dSW6T2//////b///////////////////////////////// ///////////////////////////2B/ekpFtSmwj29vb29vb29vb29vb29vYI CAgIBwcHBwcH7ff39/f39/ekpKSlCPb/9vb29vb2//b/9lv3//b///b29vb2 ////CAgIAFL2//b2//9bpPb29ghaB/b2B6QH9/ek9/ekpKSkpKSkpKSkpKSb m5ubW1ubBwgICAgH9vb2B1QLVAwMDBQUDAwMDAwMDAwMDAwMDAxMTExMVFRU FFRUVFRVVVRUVFRUVFVVVVUMVa9dVFz29lxUTFQLpvb2rlNLUwf29vbv76/v 765cS1RUS0ulrlSl9u9dVEtTU1ym7wjv7+/vrqVdZaWlpqaurq/v7wcH7+8I CAjv7++vrqZdXFxTCwtMVEwMDAwLCwsLCwsLC5329vb29vb29vYH9wcHBwgI CAj29vYICAgICAgICAgICAj29vb29v/29vb29vb29vb29vb/9vb29qQI9vb2 9vb29vb29vb29vb29vb29v/29vb29vb29vb2///////////////////2CPf3 CPdJSUlJUgf29vb29vb29vYI9v////////////////////////////////// //////////////YHpKSkWwAAAAAApPb29vYI9vb29gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29ltSW1sHCFukW6X291II9luk9vb2 B1ykpKQIXFKkXK0IrVukpAf2W1v39vb2rVukCKRbpFsHrQqkpPf3W1KkpPf2 m6SkWwj2pFP3CFutB6RbpFv39lOl9vb29vYHUlukUq0InJycW1sIpKT29vak W/akW/b2Uq32pFukW1v2W5z2W6T29vakW/ZbW/b2W1P29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9vb//wfupFII//////////////////////////////////////// ///////////////////////////2B/ekpFtSmwf29vb29vb29vb29vb29vYI CAgIBwcHBwcH9/f39/f39/ekpKT39vb29vb29vb29vb29vdSCPb29v//9vb/ 9v8IB/b2UVEH//b29vZapPb/9vdSB/b2B6QH9/ek9/ekpKSkpKSkpKSkpJub m5ubW1ukCPYICAcH9vb2rgtUTAwMDAwMFAwMDAwMDAwMDAwMDExMTFQUFBQU FBRUVFRUVFRUVFRUVFVVVU1VDFVdVKX2pQtUTEyd9vamU1RUVPb2pZ1LS1RU rgf271RMVEymVFOu9vZdC1Rc7vb2CK6lpaWlpq/v7+/v7+/vr6+urqampaVd XVxUVFQTVFRUVFRUVFRUTExMDFQUDAwMDAwLC1P29vb29vb29vb29/cHBwcI CAgI9vYICAgICAgICAgICAj29vb29vb29vb2///2////9vb29vb29qT29vb2 9vb29vb29v/////29vb29vb29vb29vb29vb2///////////////////2CAf3 CPdKAElJUgf2//b29vb29vYI9v////////////////////////////////// //////////////YHpKSkWwAAAAAApPb29vb29vb29gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1v3BwcIpKT2B1MH91MIpFsH9gj2 pKT2CFL3B1v39vYIWwf2CAcHWwf29vYIW6X291sI9gj2CFuk9vb291IH9vak pPb2CPb2Ugf2pVv291MI9ggH9lv39gj29vYHUvf2pZwHUwf2rVsIpKT29val W/alpAcIW/cIW/f2pVv2XK32W6X29vakpAikpPb29wf29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis/////////wf3pKQH9v////////////////////////////////////// ///////////////////////////2B/ekpFtKmwf2CPb29vb29vb29vb29vYI CAgIBwcHBwcH9/f39/f39/ekpKT39vb29vb29vb29v/2//abUvf///b29vb2 /wik9/b2W0mk///2//abUQj2B1JS9vYICKT39/f3pPekpKSkpKSkpKSkpJub m5ubW1uk9ggICAcI9vb2XEtUDAwMDAwMDBQMDAwMDAwMDAwMTExMVFQUVBRU VFRUVFRUVFRUVFRUVExVVQxVVUxUU2X2pVRUVFT29u5TClNMSwf2VEtUXFxT SlNcrvavXFSu9vb29qVLne8I9gilXKWu9vb29u+vpqZdVVVVVVRUVFVUVFRU VFRUVVVVVVVUVFRUVFQMDExVVAsLCwwMDAwLCwsH9vb29vb29vb29/cHBwcI CAgI9vYICAgICAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29qT29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2///////////////////2CAf3 CPdSAElJUgf2//b29vb29vYI9v////////////////////////////////// //////////////YHpKSbWwAAAAAApPb29vb29vb29gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1II9vb2W6T2CFv391Jbmwf29vb2 W6T29lul9q1SB/b3UqRbW60IW/f29vb2W6T2rVJbpFuk9gdS9/b2CKRbB/ak UpucW/f2W/f291L291JbW1ytCFuk9vb2CPYHUgf291sHpVtbW1v2pKT29vat W/akpPb2W6UHU/b2rVsIpKT2W6T29vakpPacpPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b29vecm6z3///2//////////////////////////////////// ///////////////////////////2B/ekpFtKmwf2CPb29vb29vb29vb29vYI CAgIBwcHBwcH9/f39/f39/ekpKQH9vb29vb29v/2//b/9v8IUlKkCPb2//b2 91v3///2mwBa9v/2//b3SVJaUUms/wj2CKT39/f3pPekpKSkpKSkpKSkm5ub m5ubW5v39ggICAf29vYHU1MLDAwMDAwMFFQMDAwMDAwMDFRUTExUVFRUVFRU VFRUVFRUVFQMCwsLC0tMC0xUVFQLS1Omr1RUVF3/9getpVxUVPb27+/vBweu XFNTU1yv9u9d7/b2nUvuB/b2pVKlBwj29q9dVVRVVBRVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVUMVFVUVAwMDFQUDAwMDAwLCwul9vb29vb29vb2B/cHBwcI CAgI9vYICAgICAgICAgICAgI9vb29v////b29vb/9v////b29vb29qT29vb2 9vb29v/////2//b29vb29vb29vb29vb29vb2///////////////////2CAf3 CPdSAElJUgf2//b29vb29vYI9v////////////////////////////////// //////////////YHpKSbWwAAAAAApPb29vb29vb29gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1sH9vYInKT2CFIHB1tbUgj29gj2 pFv2CFut9valWwcHWwf2pFsHUvf29vb2pKT291sH9luk9vb3Ugf29vZbpPak m/YIW6T2Ugf2rVL2B1IH9qSkCFut9vb29vYHUgf291v29vb2pFsInKT29vak W/atW/b2UvcHUgf291sIW6X2W6329vakpPZbpPYI9vYI9vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9v//9qX39wek9v//////9v////////////////////////////// ///////////////////////////2B/ekpFtKmwf2CPb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f39/ekpKQH9vb29vb29vb2//b/9vb/CKRSUVKbpFtS Wwf29v/2pElR9/b2//b2pAAASaT29vb2CJv39/f396SkpKSkpKSkpKSkm5ub m5tbm5wH9ggIBwf29vauUwsMDAwMDAwMFBQMDAwMDAwMDFRUTFRUVFRUFBQU VFQUDAwLDExMS1RUVFxcXKWlnKVcVFRVVVULCqX2//b29u+mTO/2pqb2rlz2 7+6mpV1TXa9dVKZcXAf29u9TXAf29ghdVFRVVVVVVV5VVVVVVVZWVlZWVlVV VVVVVlZVVVVVVVRVVFRUFAwMVAwMDAwMDAwMCwtUB/b29vb29vb2CPcHBwcI CAgI9vYICAgICAgICAgICAgI9vb29vb29vb////2///29v//9vb29qT2//b/ 9vb29vb29vb29vb///b29v/29vb29vb29vb2///////////////////2CAf3 CPdSAElJUgf2//b29vb29vYI9v////////////////////////////////// //////////////YHpKSbWwAAAAAApPb29vb29vb29gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29luk9/cHB1L395wI91v2pFsH9gj2 91v391IICPekUqQIm6QHpPf2Uvf29vb2pKT2B1v391v3CAcHUlsIB/etUqQI m6StWwcHW1sI91L2CFukB1v39lNb9/cI9vYHSqT3W6T2rff3W6T2m1Kl9wel W/akUvf3Wwf2m1v3W1v2W6T2W1ut9wiknAhbW/f3B/b29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis/////////wf/9vYH///2//b2//////////////////////////////// ///////////////////////////2CPekpJtKmwf2CPb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f39/ekpKQI9vb29vb29vb/9v/2//b///8I96SbW6QH 9vb/9vb2pKRRUgj/9vb/9vekrPb29vb2B1v39/ek96SkpKSkpKSkpKSkm5ub m5tbm6QH9ggIBwj29vZcUwtUDAwMDAwMFBQMDAwMDBQUFBQUDBQUVFRUDAwU FAwMCwsLVFRdpa7vBwj29vb29vYI9u/vplVUVKX2//YHr6+mVPauClTuU632 9vb27+/vpktUVAtUB/b2pAql7/b2rlRUVVVVVlZWVlVVVVZWVVVVVVVVVlZV VVVWVVVVVVVVVVRUFBRUVBQMDAwMDAwMDAwLCwsL7vYI9vb29vb29vcHBwcH CAgICPYI9ggICAgICAgICAgI9vb29v/29v/29gf39/f3Bwj2///29qQI//b/ 9v/29gekW1JSW60H9v/29vb29vb29vb29vb2///////////////////2CAf3 CPdSAElJUgf2//b29vb29vYI9v////////////////////////////////// //////////////YHpKSbWwAAAAAApPb29vb29vb29gj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gitpKUI9gekpAj2rVv2CKUH9vb2 9gekpAj2raSkpPf2CK2k9/YHW/f29vb2W6T29gikpAf2B6SkpK0IraSkpQcI B6SkCPatUlsH91v29gitpAf2CPekpKQH9vYHUqSkpfb2B6Sk9wj296SkpAcH rfYHpKSk9/b2B62kpFsI9/f2raWkpAj39/YHpKSkB/b29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis/////////wf3CPX2//////////////////////////////////////// ///////////////////////////2CO2kpJtSmwf29vb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f396T3pKQI9vb29vb29vb29vb29vb29vb///////// //b/9v/2pPb3SVv2//b2//////b29vb295z396X396SkpKSkpKSkpKSbm5ub m1tbW/cICAgIBwj29gdUCwwMDAwMDAwUDAwMDAwMDAwUFBQMFFQMDFUMDAwM DAsLVFylrgf29vb29gjvr6ampqWmpq/v9u+vVKX2B11MVUwLXO9cpe6upfb2 76ZUXV2n769US1Tv9ghcSqX29u+mVFVVVVZWVlZWVlZVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVUVFRUFBQMDAwMDAwMDAwMCwsKpfb29vb29vb29gf3BwcH CAgI9vYI9vb2CAgICAgICAgICPb29vb//wgH9/f39/ekm1tb9/b//6QH9vb2 9v8HW1JSm6SkWklJ9/b/9vb29vb29vb29vb29v/////////////////2CAf3 CPdSSUlJUvf29vb29vb29vYI9v////////////////////////////////// //////////////YHpKSkWwAAAAAApPb29vb29vYICPb2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2rVP29vb29vb2 9vb29vb29vb29vb29vb29vYHUvf29vb2W6T29vb29vb29vb29vb29vb29vb2 9vb29vb2Uvf291L2CPb29vb29vb29vb29vYHUgf29vb29vb29vb29vb29vb2 9vb29vb29vb29vb291P29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9v//CKWkW6QH//////////////////////////////////////// ///////////////////////////2CO2kpJtSmwf29vb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f396T3pPf29vb29vb29vb29vb29vb29vb///////// 9vb29vb2pAj29Umb9v/////29vb29ggHUvf3pAekpKSkpKSkpKSkpKSbm5ub m1tbW/cICAgHB/b29q5UDAwMDAwMDAwMDAwMDFQUFBQUFFQMDBQMDAwMDAsL U1yl7gf29vb2B+6lXFxUVExMTExUVFRUXK72r+/2ZVRUVVRLpQel9vbvB/YH U0tMTAxUU6VLXPb29qUKpvb29qZUVVVVVlZWVlZWVlZVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVFQUFAwMDAwMDAwMDAwLCwsLXPb29vb29vb29gf3BwcH CAgI9vYI9vb2CAgICAgICAgICPb29v/2BwcH9vb2///2CAekUlr3CKwH9vb2 /wdSnAf2//b/9gj3Saz29v/29vb29vb29vb29v/////////////////2CAf3 CPdSSUlJUvf29vb29vb29vYI9v////////////////////////////////// //////////////YHpKSkWwAAAAAApPb29vb29vYICPb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb295wICPb2CAj2 B6QIrfcI9vb29gj29vb29vYHW/f29vYIpK329vb29vb29vb29vb29vb29vb2 9vb29vb2Bwj291v29vb29vb29vb29vb29vYHWwf29vb29vb29vb29vb29vb2 9vb29vb29vb29vb2rVsI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////////9qX3m6wI////////9v////////////////////////////// ///////////////////////////2CO2lpJtSmwf29vb29vb29vb29vb29vYI CAgHBwcHBwft9/f39/f396T3pPf29vb29vb29vb29vb29vb29vb/////9vb/ 9v/29vYIpPb/9gebWgf29v/29vb/9gikpPf39/ekpKSkpKSkpKSkpKSbm5ub m1tbpAf2CAgHB/b29qULDAwMDAwMDAwMDAwMDBQUFBQUFFQMDAwUVBQLC1Nc pQf29vb2B6ZdVExNVVRUVVVVVVVVVQxUSwtUnfb2pkxUDEwLXK6u9vZUS/bu VFxdnV1UVAtcCPb2pgulB/b2pVRUVV5VVlZWVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVFRUFAwMDAwMDAwMDAwLCwsLCwf29vb29vb29gj3BwcH CAgI9vYI9vb2CAgICAgICAgICPb29v8IpAf29v//9vb29vb/CFpRm5us//b/ CFv3//b2//b29v8IB1IH9vb29vb29vb29vb29v/////////////////2CAf3 CPdSSUlJUvf29vb29vb29vYI9v////////////////////////////////// //////////////YHpKSkWwAAAAAApPb29vb29vYICPb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gf29vYI9vYI 9vYICAj29vb29vb29vb29vb2Bwj29vb2Bwj29vb29vb29vb29vb29vb29vb2 9vb29vb29vb2CAf29gj29vb29vb29vb29vb2B/b29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9vb/9u5SpJsH9v/2//////////////////////////////////// ///////////////////////////2CO6lpJtSWwf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396T3pPf29vb29vb29vb29vb29vb29vb////29vb/ 9v/29v/39//2//8I95ukBwj29vYI9aT3CPf396T3pKSkpKSkpKSkpKSbm5ub m1tbpAf2CAcHCPb29lwLDAwMDAwMDAwMDAwMFBQUFBQUTAwMVFQLCxNTXK72 9vb2B6VTVFRUVVVNTRRUVVVVVVVNTV6nXVRTVFzvrgtUXVRcra2l9qVTVFTv 9vbv76VcXFMH9vYHC1329u+mVFRVXlVWVlVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVFRUVAwMDAwMDAwMDAwMCwsLCq729vb29vb2/wgH9wcH CAgICPYI9vb2CAgICAgICAgICPb29vb3rfb/CPb29vb/9vb2//ZbSUlb9vb2 rPf29gj29vb29v/2//ej9v/29vb29vb29vb29v/////////////////2CAf3 CPdSAElJUvf29vb29vb29vYI9v////////////////////////////////// //////////////YHpKSkmwAAAAAApPb29vb29vYICPb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b///ekW/cH//////b/9v////////////////////////////// ///////////////////////////2CO73pJtSWwf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396SkpAf29vb29vb29vb29vb29vb2////////9vb/ 9v/2//+kB//2///2/wekm5uk9wcH9/cIB/f3pKT3pKSkpKSkpKSkpJybm5ub W1tb9wcICAcICPb2B1QLDAwMDAwMDAwMDAwUFBQUFBQMDAxMVEwLC1ykCPb2 9q5cU1RUVFRVVVVVVRRUVVVVVVVVVV3v9u+lU1NTXVOm7+8I9gitB66dVApT XK72rlRLCu729vZTVO/29p5VVVVeVhVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVBQMDAwMDAwMDAwMCwsLCqX29vb29vb2//YH9wcH BwgICPYI9vb2CAgICAgICAgICPb2/wibCPb29vb29ggI///29vb2pABJB/8I pPb29v//9vYIBwf/9v+krPb29vb29vb29vb29v/////////////////2CAf3 CO1SAElJSvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96SkmwAAAAAApPb29vb29vb2CPb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb2CAj2 CAf2CAj29vb29vb29vb29vYI9vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vYI9vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9v/2/5wH//f39v////////////////////////////////////// ///////////////////////////2CAf3pJxSWwf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f39/ekpAf29vb29vb29vb29vb29vb2////////9v/2 //b2//ak9vb/9vb/9v//9ggHBwcHCPb2B/f39/ekpKSkpKSkpKSkpJybm5ub W1tb9wgICAcICPb2rlMLTAwMDAwMDAwMDAwUFBQUFAwMDEwMCwtTXAf29vbv VAtUVAxUVVVVVRUVFBVVVRUVVVRUDFRUXa7v76ZTU6729vb29vb276Wu7+9c XKQH9u+urvb29lNT7/b2plRWVVZWDVZVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVBQMDAwMDAwMDAwMCwsLC1z29vb29vb2//YH9wcH BwgICPYI9vb2CAgICAgICAgICPb29vej//b2///3UlKjB/b///b/CFJJo/8H B//29vb/9vekW1Ks//b2pAj29vb29vb29vb29v/////////////////2CAf3 CO1SAElJSvf29vb29vb29vb29v////////////////////////////////// //////////////YH96SkmwAAAAAApPb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI 9vYI9vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9v//9gdbW6QI////////9v////////////////////////////// ///////////////////////////2CAf3pKRSWwf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f39/ekpAf29vb29vb29vb29vb29vb2////9v/////2 //b2/wes9v/2//b2//b2///2//b29vYIB6Sk9/ekpKSkpKSkpKSkpJubm5ub W1ubBwgICAcI9vb2pVNMDAwMDAwMDAwMDAwMDAwMDEwMDEwLC1ymB/b2710L TFVMTVZNVRUUFBQUVVVVVVUUDBRUVFQLTAtVnu/2B/b271xTXO+m7/adXK72 9vb29q7u9vb2pQqu9vavVFVVXlUVVlVWVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVBQMDAwMDAwMDAwMCwsLC1MH9vb29vb2//YHBwcH BwgICPYI9vb2CAgICAgICAgICPb29qz39vb29ghSAFEAUgj/CPb29vdRUggI 9vb2//YI9/f29qxR9fb2pPf29vb29vb29vb29v/////////////////2CAf3 CO5SAElJSvf29vb29vb29vb29v////////////////////////////////// //////////////YH96SbmwoAAAAApPb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb2 9vYI9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vYI9vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb2CAj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b///b/B/b////2//////////////////////////////////// ///////////////////////////2CAf3pKRSWwf2CPb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f39/ekpAf29vb29vb29vb29vb29vb2///29vb///// //b/9qT39v//9v//9v/////29vb29gj2B/f3pKX3pKSkpKSkpKSkpJubm5ub W1ubBwgICAcI9vb2XEsMDAwMDAwMDAwMDAwMDAwMDExMCwsLXK729u+mVExM VVVVTU1VVVUVFBQUFFRMTExMDFNUU1xTVExMTFSl9valU0tTVK5LVFxTClOt 9vb296X29vauCqX29gddVVZWVVZWVlZVVVVVVVVVVlZVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVBQMDAwMDAwMDAwMDAsLC0vu9vb29vb2//YHBwcH BwgICPYI9vb2CAgICAgICAgICPb29qz39vb/9qwAWgf3UqP2//b29vZSSaz2 9v/29v8I9/b2//dJ9f/29/f29vb29vb29vb29v/////////////////2CAf3 CAdSAElJSvf29vb29vb29vb29v////////////////////////////////// //////////////YH96SbmwoAAAAApPb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29gj29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b////2//b2//////////////////////////////////////// ///////////////////////////2CAf3pKRSWwf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/ek96SkpAj29vb29vb29vb29vb29vb29vb///////b/ 9v/2CFv29vb/////9vb29vb29vb29vYI9/f396SlpKSkpKSkpKSknKSbm5ub W1ukBwgICAcH9vYHXFMMDBQMDAxMVFQMDAwUC1QMTQxUCwpcB/b2711MTBRU VFVVVVUUVVVVFBRVVEtLS1Rcpa22trYHt6+mVFQKpfZTSlNTpaZTVKVcXAcI 9vakW/b29u9LVPb2CF1VVVZWVlZWVlVVVVVVVVVWVlUNVVVVVVVVVlVVVVVV VVVVVVVVVVVVVVVVVFQUVBQMDAwMDAwMDAwLDAsLCwul9vb29vb2//b29wcH BwgICAgICAj2CAgICAgICAgICAj2//ek//b29ptSCP/2rFEI//b/9vb3AFII //b2//YHCAgHrFGjCP/2Bwf29vb29vb29vb29v/////////////////2CAcH CAdSSUkASvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96Sbm0kAAAAApPb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb2CPb29vb29vb2 9vb29vb29gj29vb29vb29vYI9vb29vb29gj29vb29vb29vb29vb29gj29vb2 CPYI9vb29vYI9vb2CPYI9gj29gj29vb29vb29vb29vb29vb29gj29vb29vYI 9vb29gj29vb29vb29vb2CPYI9vb29vb29vb29vb29vb29vb29vb2CPb2CAf3 B/b2CPb29vb29vb29gj2Bwf29vb29vb29vb29vb29vb29gj29gj29vb29vb2 CPb2CPb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9v/29vcHCJv39v////////////////////////////////////// ///////////////////////////2CAf3pKRSWwf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/ek96SkpAj29vb29vb29vb29vb29vb2////9v//9vb2 //b/pKT29vb/////9vb29vb29vb29vYI96X396SlpKSkpKSkpKSknKSbm5ub W1ukCAgIBwcI9vbvVEsMDAwMDBQMDAwMDAwUVFQMVQxMCmQI9vYHVExVFBQU FBQUFFRVVVRVVVQMDFOcpu7v9vb29ggIru/276ZTnfaupa7v7+8HBwgHCPb2 9qRTCPb270tU7/b2rlRVVVZWVlZWVlVVVVVVVVVWVlYNVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVFRUVBQMDAwMDAwMDAwLCwsLCwul9vb29vb29vb29wcH BwcICAgICAj2CAgICAgICAgICAj2/wek9vb/CFqk9gj2CFIH//b29v8HSVEH 9vb29vYHB/b3o/f/9vb29/b29vb29vb29vb29v/////////////////2CAcH CAdSSUkASvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96Sbm0kAAAAApPb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vYI9vb29vYI9vYI9vb2CPb2 CPb29vb29vb29vYI9vb29vb29vb29ggI9vb29vb29vYICPb2CPb29vb29vb2 9vb29vb29vb29vb2CPb29vb29vb29vb29vYI9vb29vb29vb2CPb2CPb29vb2 9vb29vb2CPb29vb29vb29gj29vb29gj29gj29vb29vb29vb29vb29vb295yk nKX29vb29vb29gj2CPb291ut9vb29vb29vb29vb29vb29vb29vb2CPb29vb2 9ggI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////////9psHpKSk9v/2//////////////////////////////////// ///////////////////////////2CAf3pKRSUwf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/ek96SkpAj29vb29vb29vb29vb29vb2//b2////9v/2 9v8HUgj2//b/////9vb29vb29vb29vYI96X396X3pKSkpKSkpKSknJybm5ub W1v3CAgIBwcI9vbuU0sMDAwMDBQMCwwUDFQUDEwMTAwLpQj29q5TTExNFBQU FBQUFFRVVUxMVExMVKYH9vb29u+mXVRUVAtdpq9VpvYH9vb29vb29gj2B2T2 pUr39vb270um9vauVFVVVlVVVVVWVVVVVVVVVVVWVlZVVVVWVVVVFVVVVVVV VVVVVVVVVVVVVVVVVFRUVBQMDAwMDAwMDAwLCwwLCwtc9vb29vb29vb2BwcH BwcICAgICAj2CAgICAgICAgICAj29gikCP/29qyj///2B6QI9v/29v8IUhCj 9vb29vb29wj///b2//8H9/b29vb29vb29vb29v/////////////////2CAcH CAdSSUkASvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96Sbm0kAAAAApPb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb2CPb29vb29vb29vb29vb29gj29vb29vb29vb29vb29gj2 9gj29vb29vb2CPb29vb2CPb29vYI9gj29vb29vb29vb2CPb29vb29vb29vb2 9vb29vb29vb29gj29vb29vb2CPYI9vb29vb29vb29vb29vb29vb29vb2CPb2 B1MI9vYI9vYI9vYI9vb29gdbCPb29vb29vb29vb29vYI9vYI9vb29vb29vb2 9vb29gj29vYI9vb2CPb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9v//9gekBwgH///2///2//////////////////////////////// ///////////////////////////2CAf3pKRSUgf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/ek96SkpAj29vb29vb29vb29vb29vb29vb2///29vb2 //ZbpP/2//b/////9vb29vb29vb29vYH9/f396T3pKSkpKSkpKSknJubm5ub W1v3CAgIBwgI9vauS0sMDAwMDFRUDFRUDAwMDExMCwtcB/b2pVMLVFVNFBQU FBUVVVVVVExMC1Sm7/b29u+mVFRVVFVUVAtdVFRUpvb29vb3pfecpFKkB1Ou XFT2CPbupu/v9vZcVF5VVlVVVVVVVVVVVVVVVVVWVlZWVVVVVVVVVVVVVVVV VVVVVVVVVVUVVVVVVVRUVFQMDAwMDAwMDAwLCwwLCwtT9vb29vb29vb2B/cH BwcICAgICAj2CAgICAgICAgICAj29v/3pP//9gejCPb/B6T2//b/9vb2WwBS 9vb2//b/B/cI//b29qSk//b29vb29vb29vb29v/////////////////2CAcH CAdSSUkASvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96Sbm0kAAAAApPb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2pKT29vb2pK33pAj2pK32B1sHB1tb pFwH9vYIraSkW6QI9qRbW6T391tbW1sHraQI9vYIpFtbpQgI91tbBwgIpAf2 96X29vYHpFukpPf291sH91JbpFv2ra329vb29vb291wH9ghbpFtcBwdcCPb2 9vdbpKSlCJz39qQH9vb29vb3pAj2rVwI91IHCJxbpFsHB6RbU/f2pKX2CKRb nFMHB1v296T29lwH9vb29ghT9/b2raRbpKQIra32CKQHCFsHCKQI9vek9ghb W6VbBwekW6RbB/b29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis/////////6WcB/cH///2///2//////////////////////////////// ///////////////////////////29gf3pKRSUgf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396Sk9/b29vb29vb29vb29vb29vb2///////29vb2 /6RaCPb/9vb/////9vb29vb29vb29vYH9/f396SlpKSkpKSkpKSknJubm5ub W1v3CAgIBwgI9vamC0wMDAwMDFRUTFQMDAwMVQwLC1QI9vauUwtUVE1VFBQU FVVVVVVVDAtUXK729vauXFRUVFRUVFQLU66vXVRMpvb2ra2kW/dTpJxbrlym 7gf29gdLnfb29qZUVVVWVVVVVVVVVVVVVVVVVVVVVlZWVVVVVVVVVVVVVVVV VVVVVVVVVQwMDFVVVVRUVFQMDAwMDAwMDAwLCwwLCwtT7/b29vb29vb2B/cH BwcICAgICAj2CAgICAgICAgICAj29v/2pPf2//8I9v/2rQf2//b29vb2owBR CPb2/wj2/wj3pPespPf29v/29vb29vb29vb29v/////////////////29gcH CAdSSUkASvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96Sbm0kAAAAAm/b29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb291L3CAitUgikW/b2W6T2B1IHW6T2 B1L39gj29wr3CFv3B1II9lukCFKk9vb2pFv2CPYHrQgIW6QHUgcHU/f2W632 pFv29vatW/YHW60HUvcIWwf2rVIHpFsI9vb29vb2W1IH9qRb9gdS9/dSB/b2 CFL39ltS9lut9lut9vb29vYHUggHW/f2W/cIpFv2CFIHB632CFsHpJz2W1v2 pFIIB1IIrVv29lut9vb29vdKW/YHU/f2pVII96QICFutB1IHB1IH9qRSCKRb 9q1SB1ut9q1b9/b29gj29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b2B6Wb96T39v/2//////////////////////////////////// ///////////////////////////29gf3pKRSUgf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396Sk9/b29vb29vb29vb29vb29vb2////9vb2//// 91L39vb2//b/////9vb29vb29vb29vYH9/f3paSkpKSkpKSkpKSkm5ubm5tb W5sHCAcIBwj29valC1QMDAwMDBQUDAwMDFVUCwsKUwf29q5LVFQMVQwUVBQU VVVVVUxMC1Sl7/b2B1xUVFRVVVVVVUwLpfbvXFRMrgcHpPcHCPb2CPYHB6Vc 9vb2B1NTB/b2t1RVVVZVVlVVVVVWVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVQwMDBRVVVRUVFQUDAwMDAwMDAwLDAsLCwtT7/b29vb29vb/B/cH BwcICAgICAj2CAgICAgICAgICAgI9vb/CKT3CPb29vYHpPb29v/29vb2m0kR 9f/29v//9vb/9ggI9vb29vb29vb29vb29vb29v/////////////////29gcH CAdSAEkASvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96SbpEkAAAAAmwj29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1tbW1tSpPakW/b2W6T2B1IHrVv3 91v39vb2rVv29qRb91OtB1tb9gdb9/b2pFv29vb2Bwf3W6SkW/b2W6QIW632 pFv29vatW/f3W60IUwf2UpwHrVsHrZz29vb29vYHW1uk9qVb9/dS9wdbB/b2 91MH9qSc9lul9lut9vb29vb3UvebW/b2Uvf2rVv391Kt9ggHpFv3nKQHnPf2 B1IH91sIrVv29luk9vb29qRbUgj2nKT3pFMIpVv2B1P3B1IHCFMI9q1b9lut 9gdSB6RbB/db9/b29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b///cHm/cH9v////////////////////////////////////// ///////////////////////////29gf3pKRSUvf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396Sk9/b29vb29vb29vb29vb29vb29v/29vb///YH Upv2//8I//b/////9vb29vb29vb29vYH9/f3paSlpKSkpKSkpKSkm5ubm5tb W6QHCAcIBwj29gidC1QMFAwMDAwMVFQMVV5eC1MKrfb27wtVDE1VDFQUVVVV VVRUVBQLVKbv9vauXFRVVVVVVVUMCwxd9vb2nUtLrwcHCPb2//amnPb29q2u 9gjvVAqu9vYIXFRVVVYVVlVVVVZWVlZVVVUUVVVVVVVVVVVVVVVVVVVVVVVV DRVVVVVVVRUMDFVVVVRUVFQUDAwMDAwMDAwLDAsLCwtTrvb29vb29vb/CPcH BwcICAgICAj2CAgICAgICAgICAgI9v/2/wj3pPcHB6T3CP/2//b29vYIWklJ 9/cI//b29vb29v/2///2//b29vb29vb29vb29v/////////////////29gcH CAdSAEkASvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96SbpEkAAAAAmwj29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29qVb9vZS9/alpPb2W6T2B1v39vek pFL39vb2rVv29qSk9gekpKSb9vakWwf2pFv29gj2pFuk9/aknPb2nKT2UqT2 pFv29vYI9/ekUq0HUgf2B6WlW1IIpKT29vb29valWwdbBwj3pKRS9wdbB/b2 B1MH/6Wc9lut9lOt9vb29vYHW1JbB/b2W/f2CPekpFP3B1ukpPf2paT2W/f2 B1IIB1v2rVv29lut9vb291IHpKT2B62kpFsH96T2CFv3B1sHB1sI9q1b9luk 9ghSBwitpKVS9/b29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9v/2/wf3/wf///b///b///////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396Sk9/b/9vb29vb29vb29vb29v//9v//9v//9ghS W/b/9vb/9v//////9vb29vb29vb29vYH9/f3paT3pKSkpKSkpKScm5ubm5tb W6QHCAcIBwj29gddC1QMFAwMFBQUVFQMFF2np1RbCPb2VFQMVVUMVVQMVVVV VFRUVAsTrvb29qVTVFUVVVVVTVRUVEvv9vZdVFRUB/b29vb27u5KnPYH9vb2 9gdUC6X29vYHXFRVXg1eFVVVVVZWVlZVDQwMFFVVVVVVVVVVVVVVVVVVVVVV DA1VVVVVVVUVVVVVVVRUVFQUDAwMDAwMDAwLDAsLCwtLpvb29vb29vb/CPcH BwcICAgICAj2CAgICAgICAgICAgI9vb29v/2CAcHBwj2//b29vb29v8IUlFS 9/dR9/b/9vb2/wj/9vb/9vb29vb29vb29vb29v/////////////////29gcH CAdSAEkASvf29vb29vb29vYI9v////////////////////////////////// //////////////YH96SbpEkAAAAAmwj29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gdSB/dbCPakW/b2UqT2B1IICAj2 B1sH9vb2rVIH9luk9gj29lut9vb2W6QIpJv29vYHSgj2CPb3Wwj2W632W/f2 pFsICAj2CPb2W/cIUgf29vb291sIpFsICPb29ghb9whT9/YH9ghSBwdSB/b2 B1v3/6RT9lut9lKl9vb29vb3UwdbpfYIW/f29gj2CFIH91P29vb2pJv2W6T2 pFIHB1sIrVsICFut9gj291sIrVP2CPb2rVsIrVv2CFL3CFIHB1IH9qRb9pyk 9vdSBwgI9gdbB/b29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b/CKRTm6MH9v////b/9v////////////////////////////// ////////////////////////////9gf3pKRSUvf29gj29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396Sk9/b/9vb29v/2CPb2///29v/2//b///b291Kj CP/29vb2////////////9vb29vb29vYH9/f396SlpKSkpKSkpKScm5ubm1ub W6QHCAgHBwj29ghUSwwMDAwMFAwMDAwMDAwMVKb29vadC1RUVFRVTQwUFBRU VVVMCwul9vb2pQtVTFVVDAxVVAxUCp329p1MVExUB/b2B6Tu9gf3CPb29/b/ 71RLVPb29gcIXVRdVVVWVVVVVVVVVlVVVQ0MDVVVVVVVVVVVVVVVVlVWVlVV VVVVVlVVVVVVVVVVVVVUVBQMDAwMDAwMDAsLCwsMCwsLpfb29vb29vb2CAcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb2////9v//9vb///b29v/3UqNa B/abAFKs9v/29vb29vb29vb29vb29vb29vb29v/////////////////2CAcH CAdSSUlJUvf2//b29vb29ggI9vb///////////////////////////////// //////////////YH96SkpFIAAAAAWwj29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vZbpKSk9vakW1tbnFtbW632B1xb W6T29vb291JbW1v2CKRbW6QHCFukUlIHraQI9vYI91tbpAf2rZtbpAj3UlP3 pFtbW60IpFtbpAgHUgf291tbW/cIrVtbW/f29vdbCPb3pPekW1ulCPdbW1uk 9qVTnFtbCKStCFtbW1sH9vYHUgj2W6QIW/f2B1tbW60ICKRbW6QIpKT2B1uc W1sH91sIrVKcW1v29vYIW6329lsH95xbW/f291KkW1v2B1sHB1tbW1sH9gdb W1tTBwdcXFutCPb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////9v//////9vb2//////b///////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396Sk9/b/9v/29vb2Bwf2//b/////9v/29vasUlsI 9v/29vb29v//////////9vb29vb29vYH9/f396SlpKSkpKSkpKScm5ubm1ub W6QHCAgHBwj29u9USwwMDAwMDBRUVAwMDAxUC1P29gdUTEtUVFQMDU1UFFVV DExMC1329vZcVFUMVQxUVAwMVF1cnAf/71RdVExL9vb2B1tTpfb29gj29v/2 pktTB/b2B1z2pVRVVVVWVlVVVVVVVlVVDAwMDVVVVlVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVUVBQMFBQMDAwMDAsLCwsMCwsLpfb29vb29v/2CAcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb29v////b29v//9vZSWvdJ CPYHUUlRowj/9vb29vb29vb29vb29vb29vb29v//////////////////9gcH CAdSAElJSvf29vb29vb29vb2//////////////////////////////////// //////////////YH96SkpEkAAAAAW/b29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vatUlsH9vb2CAj29vYICAj29ggI CAj29vb2rVsH9gj29ggICAj29vYHCPb2CPb29vb29ggICPb29gcI9vYIU632 9ggIBwj2CAgI9vYHUgf2CAgICPb2CAgICAj29vYI9vb2CPYICAgI9vYICAj2 9vYICKRb9gj29ggICAj29vb3Wwf29vYHW/f29ggICAj29vYHCPb29gj29vb2 9vYI9vb29vYHCPb29vb2CPYI9vb29ggICPb2B/YHCPb29gj29vYIB/b29vb2 9gdbB/YICAj29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis///////2//////////b/////9v////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f396Sk9/b/9v/29vb2CKQH///2///2//b/B1JR9/b/ //b2//b29v////////b29vb29vb29vYH9/f396SlpKSkpKSkpKScm5ubm1ub W60HCAgHBwj29u9USwwMDAwMDBRUVAwMDAwLC1wI9vbvplQLCwtUVUwMDQ1V DFVLCwf29qZTVFUMDFQLU12u7/b29vb2CO9cVFRU7/b29+7unAj3pPf2//b2 XAqt9vbvXFP2plRVVlZWVVVVVVVVVlVVDQ0NVVVVVVVVVVVVVlVVVQ1VVVVV VVUVVVVVVVVVVVVVVVVUVBQMFBQMDAwMDAsLCwsMCwsLpfb29vb29v/29gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb29vb29v/29vb29vdJB/dS CPb2UlFSSaz29vb29vb29vb29vb29vb29vb29v/////////////////29gcH CAdSSUlJSvf29vb29vb29vb2//b///////////////////////////////// //////////////YI96SkpEkAAAAAWwj29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYHUlv29vb29vb29vb29vb29vb2 9vb29vb2rVsI9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vYIpFsH 9vb29vb29vb29vYHW/f29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29qRb9vb29vb29vb2CPb3Ugf29vb2UvcI9vb29vb2CPb29vb2Bwf2CPf3 9wf2CAcI9vb29vb2CPb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb2 9gdT9/b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b//wcHCAj2//b2//////////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29ggI CAgHBwcHBwft9/f39/f39/ek9/b/9v/29vb/9gekpAj29v//CAdaAJsH9v/2 9vb29vb2//////////b29vb29vb29vYH9/f396SlpKSkpKSkpKScm5ubm1tb W/cHCAgHBwj29u9USxQMDAwMDAxMVAwMDAwMCrb29lxd7++mVAsMTFRUTQ0N DFQLVPb2B1NUVQxVDFNcrvb29gel9/atXAgHr11TB/b2B/b29vZTXPb27+72 pVz29vZdS132plVVVlZWVVVVVVVVVlVVVVVVVVVVVVVVVVVVVlVVVQwNVVVW VQ0MVVVVVVVVVVVVVVVUVBQMFBQMDAwMDAsLCwsMCwsKpfb29vb29v//9gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb2//b29vb29vb29lKkCFtb 9vYIWlKkUVII//b29vb29vb29vb29vb29vb29v/////////////////29gcH CAdSAAAAUvf29vb29vb29gj2//////////////////////////////////// //////////////YI96SkpFIAAAAAWwj29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2rQf29vb29vb29vb29vb29vYI CPb29vb2B6329vb29vYICPb29gj29gj29vb29vb29vb29vb2CPb2CPb2CKUH CPb29vYI9vb29vYI9wj29vb29vb29vb29gj29vb29vb29vYI9vb29ggI9vYI 9vb29vf39vb2CPb2CPb29vYIrQj29vYIrQj29vb29vb29gj2CAj29/f2CKSt pK32B60H9vb29gj29vb29vb29vb2CPb29vb29gj29gj29vb29vb29vb29vb2 9gitCPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////////9pyk96T39v////b///////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29ggI CAgHBwcHBwcH9/f39/f39/ek9/b/9vb29vb29vYIrFubpJtTUkmbB/////b2 9v//9vb29v//////9vb29vb29vb29vYH9/f396X3pKSkpKSkpKSkm5ubm1tb W/cHCAcHBwj29u9USxQMDAwMDAwMDFQUDAwLCwj2B1RLTKa3t2YLC0xUDFVV VFQLrvb2nVRUSwtMVK4H9vbvXFNc9/acpfYHXa5c9vYH7u/v7/YHB/bvnVMH Bwf29qYLVF32plVVVlZVVVVVVVVVVVVWVVVVVVVVVVZVVVVVVVVVVVVVVVZW VVUNVVVVVVVVVVVVVVVUVBQMFBQMDAwMDAsLCwsMCwsKpfb29vb29vb/9gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb29v//9vb2//8IUqT2BwD3 9v8HUVH3UVH3//b29vb29vb29vb29vb29vb29v/////////////////29gcH CAdSAEpSW/cHBwcHBwcHB/cH9v////////////////////////////////// //////////////YI96SkpFIAAAAAWwj29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////////CKWkpKT39v//////9v////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29ggI CAgHBwcHBwcH9/f39/f39/ek9/b29vb29vb29v//9ggH96T39wj/9vb///b/ ////9v//9vb2////9vb29vb29vb29vYH9/f396X3pKSkpKSkpKSkm5ubm1tb W/cHCAcHBwj29u9USxQMDAwMDAwMDFRUDAwLVAj2pUtLCwsLXe/2r1RMDAxM CwsKrvbvS0tUC1Slr/b276VUS1zu7vb3pfb2XVNTB/b2XFNTnPb29u9dTEuu 9vb2rlRVDKb2plVWVlZVVVVVVVVVVVVWVVVVVVVVVVZVVVVVVVVVVVZWVVVV VVVVVVVVVVVVVVVVVVVUVBQMFBQMDAwMDAsLCwsMCwsKpfb29vb29vb29gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb29vb29v//9gebpP/2pFEH 9vb3AKMISRGs//b29vb29vb29vb29vb29vb29v/////////////////29gcH CAdSUqStra33ra2lpaSkpJv39vb///////////////////////////////// //////////////YI96SkpFIAAAAAWwj29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vYI9vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPYI9vb29vb2CPb2 9vYI9vb29vb29gj2CPb2CPb29vb29vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////ekm1sI///2//////////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29ggI CAgHBwcHBwcH9/f39/f39/ek9/b29vb29vb29vb2///2///2///2////9v// 9vb/9v//9vb29vb29vb29vb29vb29vYH9/f396X3pKSkpKSkpKSknJubm5tb W/cICAcHBwj29u9USxQMDAwMDAwMDFQUDAxMXAj2XFNUDFRUDAtdr++vplxU ExMK7vauU1Ncpa729vauXVRUTJ3vpfb2rgempVNc9vb271NTB/b2r1RUTFMH 9vYHVFVVC+/2pVVWVlZVVVVVVVZVVVVVVlVVVVVVVVVVVVVVVVVVVVZVVVVV VVVVVVVVVVVVVVVVVVVUVBQMFBQMDAwMDAsLCwsMCwsKpfb29vb29vb29gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb2//b29v/2B/cH//b/UVIH //b3WggISUms//b29vb29vb29vb29vb29vb29v/////////////////2CAcH CAecpKX3ra2tra2traWlpKT39v////////////////////////////////// //////////////YI96SkpFIAAAAAWwj29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb2 9vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CAj29vb29vb29vb29vb29vYI9vYI 9vb29vb29vb29vb29vYI9vb29vb29vb2CPb29vb29vb29vb29vb2CPb29gj2 CPb29vYI9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29gj29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////////9pyk96T39v/////2//////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f39/ek9/b29vb29vb29vb/9vb///b/9vb///b2//// 9vb/9vb/9vb29vb29vb29vb29vb29vYH9/f396X3pKSkpKSkpKSkpJubm5tb W/cICAcHBwj29u9USxQMDAwMDAxMVEwMDAwLVPYIXExUFBQUFBQLC12m7+/v rq6lB/YHrQcI9vb2rl1UVFVMTKbvne+u/wdcplNTCAdcU1Ou9vauVFRMC1z2 9vZdVVULVO/2ZVRWVlZVVVVVVVZVVVVVVVVVVVZWVVVVVVVVVVVVVlVVVlZV VVVVVVVVVVVVVVVVVVVUVBQMFBQMDAwMDAsLCwsMCwsKpfb29vb29vb29gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb29vb29vYICPb29vasAKP/ 9vb29v+sSVH3//b29vb29vb29vb29vb29vb29v/////////////////2CAcH Bwek9633ra2tra2tra2traQH//////////////////////////////////// //////////////YI96SkpFIAAAAAWwj29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb2 9vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vYI9vb2 9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b//wekpKQI////9v////////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f39/ek9/b29vb29vb29vb29vb29v/2//b2//b/9v/2 //b///b/9v/29vb29vb/9v/29vb29vYH9/f396T3pKSkpKSkpKSknKSbm1ub W/cHBwcHCAj29u9TS1QMDAwUDAxMVEwMDAwMVPYHVFRMDBQUFBQUVExMU1ym r+/29vb29vb2B65UVFRVVVVVDJ72Xe9T9/bvpVNTCKUKXO729ghbVFQLVAj2 CKVUVk0MpfYHXFVVVlVVVVVVVVVVVVVWVQ1VVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVFQMFBQUDAwMDAsLCwsMCwsLpfb29vb29vb/9gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29v//9vb29vb29vb29ghSUgf2 9vb29vajAFIH9vb29vb29v/29vb29vb29vb2//////////////////YICAgH 9/f3ra2tra2tra2tra2t96QH9v////////////////////////////////// //////////////YIB6SkpFIAAAAAUgj29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vYI9vb29vb2 9gj29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29gj29vb2 9vb29gj29vb29vb29vb29gj29vb29vb29gj29gj29vb29vb29vb29vb29vYI 9vb2CPb29vb2CPb29vb2CPb2CPYI9vb29vYI9vb29vYI9vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vYI9vb29gj29gj29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b/////9vb///////////////////////////////////////// ////////////////////////////9gf3pKRSUvf29vb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f39/ek9/b29vb29vb29vb/9vb/9vb/9vb29vb2//b/ 9v/29vb2//YICPb29vb29v/29vb2CPYH9/f396X3pKSkpKSkpKSkm6Sbm5ub W/cHBwcHBwj29u9US1QMDAwMDAxMVEwMDAxMS/b2VExVDBQUFBQUVFRMVFQM TFRUXKX2CGRTU1RUVFVVVVVVTF3v9u+l9///70tL7wel9vb29gdcUwpdrvb2 rlRVTUxLtvauVFVVVVVVVVVVVVVVVVVVVQ1VVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVFQMDBQUDAwMDAsLCwsMCwsLpfb29vb29vb/9gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb29vb/9vb2//b2/6RJW/b/ 9vb/9vdRSaMI///29vb29vb29vb29vb29vb2///////////////29ggIBwf3 paWtra2tra2tra2t962t96UH9v////////////////////////////////// //////////////YIB6SkpFIAAAAAUgj29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggI9vb2CPb29vb2 9vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb2CPb2 9vb29vb29vYICPb29gj29vb2CAj29vb29vb29vb29vb29vb29vb2CPb2CPb2 9gj29vYI9vb29gj29gj29vYI9vb29vYI9vb29vb29gj29vb29vb29vb29vb2 9vb29vb2CPb2CPb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////b2//b///////b///////////////////////////////// ////////////////////////////9gf3pKRSUq329vb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f39/ek9/b29vb29vb29vb/9vb/9vb29vUI9vb29v// 9v/29v8Ho1FSUlKkCP//9vb2//b29vYH9/f39/f3pKSkpKSkpKSkm6Sbm5ub W6UHBwcHBwj29u9US1QMDAwMDAxMVEwMDAwMTO/2XEwMVQwUFBQUVFRUVFRM TEwMC1Pv9qRTU1RMVVRVFFVVVFSd9v8H9v/2XFNUrvb2B/b29gdbClzv9vb2 rkxWTUxc9valVFVVVQwNVVVVVVVVVVVVVVVVVlVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVFQMDBQUDAwMDAsLCwsMCwsLpfb29vb29vb/9gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb29vb29vb/9vb/CFFJ9fb/ 9vb/CFtJUgf/9vb29vb29vb29vb29vb29vb2////////9v////b29ggIB/el pa33962tra2tra33raWt960H9v////////////////////////////////// //////////////8IB/ekpFIAAAAAUgj29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gj29gj2CPb29vb29gj29vb29vb2 9vb29vb29vb29vYI9vb29vb29vb29vb29vb29vYICPb29vb2CPb29vYI9vb2 9vb29vb29vb29vYI9vb29vb29vb29gj29vb29vb29gj29vb29gj2CPb29vb2 9vb29vb2CPb29vb29vb2CPb29vb29vb29vYICPb29vb29vb2CPb29vYI9vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b/9vYHm6QH////9vb///////////////////////////////// ////////////////////////////9gf3pKRSUqX29vb29vb29vb29vb29vYI CAgHBwcHBwcH9/f39/f39/ek9/b29vb29vb29vb/9vb29vb2tay1rPf29vb2 //b29qNREFEQABARUaz2///2//b29vYH9/f39/f3paSkpKSkpKSkpKSbm5ub W6QHBwgHBwj29u9USxQUDAwMDAxMVFQMDAwMTKX2XVRMVQwUFBQUVFRUVFRV VVVVTFRU7/alC1RMVVVVVVVVVEtTpfb29v+lVJ3v9vZbB/b2pQdTUwf29vb2 plVNTUyu9gddVVZWVQwVVVVVVVVVVVVWVlVVVVVVVlVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVFQMDBQMDAwMDAsLCwsMCwsLpfb29vb29vb/9gcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb/9vb29vb29v/2owCj//b2 9vb2B1Ja9//29vb29vb29vb29vb29vb29vb2////////////9vb2CAcH96Wl ra2tra2tra2tra2tpaWt96UH9vb///////////////////////////////// //////////////8IB/ekpFIAAAAAUgj29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb2 9vb29gj29vb29gj29vb29vb29vb29vYI9vb29vb29vb29vYI9vb29gj29vb2 9vb29vb29vb29vb29ggI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2CAf29q1SCPb29vb29gj29lut9vb2CPb29vb2 9vb29vb29gj29vb29vb29vb29vb29vYI9vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////dbpKT39v////////////////////////////////////// ////////////////////////////9gf3pKRSUqT29vb29vb29vb29vb29vYI CAgIBwcHBwcH7ff39/f39/ek9/b29vb29vb29vb29vb29vYIYmNaWmMH9vb2 //YIoxAREVEREVERAFL39v/2//b29vYH9/f39/f3paSkpKSkpKSkpKSbm5ub W6QHBwgHBwj29u9UCwxUDAwMDAxMVFQUDAxUC1T2pktMTEwUFBQUDVRUVFQM DU1NTU1MVK/276ZMVAwMDAwUVAtLCqQICAfv7++v76Vb//YHUwelB/b29v/2 plVMDF329q5UVVZWVRVVVlZVVVVVVVVWVVVVVVVVVlVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVFQMDBQMDAwMDAsLCwsLCwsLpfb29vb29vb2CAcH BwcHCAgICAgICAgICAgICAgICAgI9vb29vb29vb/9vb/9vb2//akSVII9vb2 //b29vb/9vb2///29vb29vb29vb29vb29vb2///////////29vYIBwf3raWt 9/etra2tra2tra2trfetpaQH//b///////////////////////////////// //////////////YIB/ekpFIAAAAAUgj29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CAj29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2W6329vb3W/b29vb29vb29qSl9vb29vb2CPb2 9vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b///b296wI//////////////////////////////////////// ////////////////////////////9gf3pKRSUqT29vb29vb29vb29vb29vYI CAgIBwcHBwcH7ff39/f39/ek9/b/9vb29vb29v/29vb29va1Y2JiY2MH9vb2 9vajABFREBBRURAQERFRB//29vb29vYH9/f39/f3paSkpKSkpKSkpKSbm5ub W6QHBwgHBwj29u9dCwxUDBQMDAxMVFQUFBQUDBOu9lQLTEwUFBQMDRQUFFRV VVVVTU1VDAxep+/vr6empl5dXV1cXK329q7vXVRUpa0H9v+cSvb29q4H9v/2 plRMU7f2B11VVlZWVlVVVVVWVVVVVVVVVVVWVlVVVQ1VVVVVVVVVVlVVVVVV VVVVVVVVVVVVVVVVVVRUVBQMDBQMDAwMDAsLCwsLCwsLrvb29vb29vb2CPcH BwcHCAgICAgICAgICAgICAgICAgI9vb29v//9vb29vb29v//CK1JSff/9vb/ 9vb2CAf3CPb/9vb29vb29vb29vb29vb29vb///////////b29ggH96SkpKSk pKSkpKSkpKSkpKSkpKSknJwH//////////////////////////////////// //////////////YIB/ekpFIAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vcH9vYHrQcIpaWt9/YHrfb29wf2 9vcH9velrfcHB6T3pKT2B6St9632B/f29q0H9vb29q1crQf29gekpAj2B632 9vf39vb2CK2krff2B/ek9getpPcHCPcH9vb2B/f2B/f29vcHCK0IB/f29gf3 9vYI9vf3ra0HCAetpPetBwekUlsH9vYHW/b29gelpPf3CKWcpfcH9get9vb3 9/YH96T296SlrQgHrQj29gj3BwikCPb3Bwj39/b29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis/////////wf29vf2///2//////////////////////////////////// ////////////////////////////9gf3pKRSUqQI9vb29vb29vb29vb29vYI CAgIBwcHBwcH7ff39/f39/ek9/b/9vb29v//9vb29vb2CLWkYmu1a2MI9vb2 9qwQEVEAUVEQEBBRURBJo/b29vb29vYH9/f39/f3paWkpKSkpKSkpKSbm5ub W6QHBwgHBwj29vZdCwxUDBQMDAxUVFQUFBQMVAtTB65MVExUFBQVDRQUVVUN DFRUVFRUVUxVVFWmpq+vr6+v7+/v9vb2XFxUDFVUrvYI9vdKB/b2rVMH9gcI rktUpfb2rlRVVlZWVhVVVVVVVVVVVVVVVlVWVlVVVQxVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVRUVBQMDBQMDAwMDAsLCwsLCwtLrvb29vb29vb2B/cH BwcHCAgICAgICAgICAgICAgICAgI9v/2CPb///b29vb29v8IpElJpPb2//b2 95tSUlpbo6T3CPb29vb29v/29vb29vb29vb////////////2CAf3pJukpKSk pKSkpKSkpKSkpKSkpKSkpKQH9vb///////////////////////////////// //////////////YIB/ek91sAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29lKt9gikUgdbpPekUgetWwj2W6T2 B1L3B1Ok91KkB1JbBwcHW6X3W1L2pFv2CFL3CPb2rZz391MIB1KtpFv2B1IH 9luk9vYIW6T3pFII91v3B1OkB1tT9luk9vb2pJsIrVv29lOtB1IHB1IH9qRb 9vb29lJb96Rb9qRb91tSBwekB6VbCPakUqX2B1ut91tb9ltbB6Rb9vdSCAhb pQilWwetUvf3UvcIUgf29gdS9wgKrfZSpPZSW/b29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////////9qQHB/f39v/2////9v////////////////////////////// ////////////////////////////9gf3pKRSUqQI9vb29vb29vb29vb29vYI CAgIBwcHBwcH7ff39/f39/ek9/b/9vb29v//9vb/9vb292NaY2usa2NjCPb2 91EAWvf1URAREBAQURERUQj29vb29vYI9/f39/f3paWkpKSkpKSknKSbnJuc W6QHBwgHBwj29valSwtUDBQMDAxUVFQUFBQUDBQLXPamC0xUFBQVFRQUDRUV FFVUFFQUVFVUDFUMVVVVVV1VVVRTVPbvXVVVVQwLB/b/9gcH9vbvSqX2/6UH rgpTB/YIXVVVVlZWVlVdVRVVVVVWVVVVVlVVVVVWVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVQUVBQMDAwMDAwMDAsLCwsLCwtL7vb29vb2///2B/cH BwcHCAgICAgICAgICAgICAgICAj29vYIBwf2//b2//b//webSQCj9v/29gha AFGkBwj29vYIBwj29vb29vb29vb29vb29vb///////////b29ggHBwgICAgI CAgICAgICAgICAgICAgI9gf2//////////////////////////////////// ///////////////2B/ek91sAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29pyk9gdS9/ZbpPYHUgelW/b2W6X2 CFsHrVsI9lul9qSbCPYIUvf291sIpaT29lut9vb29vb2B1IHpKT2CJv3B1IH 9puk9vb2W6T2B1IHrVv2CFIH9qVbCJyk9vb2pFv2pKT2CFv3B1MHCFsI9qSb 9vb29lKt9vdTB1uk9vdSCAgI9gdS9/ZbUlv2B1sH9qVbCKSk9gdSB/dbCPdb CPacpPakW/YIW/cHUgf29ghSB/YH9vYICPYICPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////////9vecm6QH9v////////////////////////////////////// ////////////////////////////9gf3pKRbUqQI9vb29vb29vb29vb29vYI CAgIBwcHBwcHB/f39/f39/ek9/b/9vb29vb29vb29vYIpGNjtbW0rGNarAj2 YwBbCP/29xBaW1EREFERUaz/9vb29vYI9/f39/f396WkpKSkpKSkpKSknJub m5v3CAcIBwgI9vamC1QMVAwUDAwMTEwMDAxUC1RUCqb2pgtTExRUFAxVDQ1V VVVVVVVVVVVVVVVVVVVVVVVVVExLrvauVE1WFBMTB//2///29vZcU/b/B1P2 rgqu9vavVFVVVlZWVlZVVQwNVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVQUVAwMDAwMDAwLCwsLCwsLCwtTB/b29vb29vb/B/cH BwcHCAgICAgICAgICAj2CAgICAj29vb/B1usCAj/9vYIrFEAUZv29vb290kR pAj2//b29vb29vb29vb29vb29vb29vb29vb2//////////b29gcHCPb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2B/f391sAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29pubB5xbCPYHW1tbUgj3W/b2W/f2 CFv39qRbpFKt9ghbpPb291tbW1sIraT2CJut9vb2CFtbW6T2W6T29lv3B1sH 9qSk9vb291ubW1IIpVsI9vdbW1tbCFut9vb2pFsIraT29lv3B1sHB1sI9q1b 9vb2CFv39gdSBwekUpxSBwdbUluk9gdSB1IH9q2bW1tbCKSt9vZS9/dbCPdb CPakpPYHpFukUvcHUwf29gdS9/b29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////YHCPb2//////////////////////////////////////// ////////////////////////////9gf3pKRbUqQI9vb29vb29vb29vb29vb2 CAgIBwcHBwcHB/f39/f39/ek9/b29vb29vb29vb29gj3pKytCAgICLVaowj2 WhH3////CKwI/wdSURAREff29vb29vYI9/f39/f39/elpKSkpKSkpKSknJub m5v3CAcIBwgI9vauS1QMFAwUDAxUVEwMDAxVVAwMVBNd9qZTC1RUFFRUVVVV VVUVVVVVVVVVVVVVVVVVVVVNDExd9vZdVVZVVAtbCP/29vb3XPZTrvb2XFz2 rVsI9u9VXVVVVVVVVlZVVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVFQUFAwMDAwMDAsLCwsLDAsLCwtUCPb29vb29vb2B/cH BwcICAgICAgICAgICAgICAgICAj29v/29gdSSaRbpFoREBBRpPb/9vb3UVH3 9vb/9vb2///29vb29vb29vb29vb29vb29vb2//////////b29gcHCPb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2B/f395sAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CJtbpFukB/b2CPb3Wwf3W/b2W1v2 B1IH9vb29luk9vYIUqT29vb291v2pVv2CFP39vb2pVv29vb2pFv29lMHB1L2 9luk9vb29vb291sIrVv29gj29qRbCKSk9vb2rVv2rVv29lL3CFIHB1II9qSc 9gj29lut9vdSB/YI9gdS9qRSB/b29qSkCJtb9vb29qSb9puk9gdSCPdb9gdS 9ghbpAj2CPYIU/cHUgf29ghT9/b29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbUqQI9vb29vb29vb29vb29vb2 CAgIBwcHBwcHB/f39/f39/ek9wj29vb29vb29v/29ggICAgICAgICLWso6wI EVII///////2//+sAABRSPX2//b29vYIB/f39/f39/f3pKSkpKSkpKSkpJyb m1v3BwgIBwgI9vbuVFQLFAwUDAxUVEwMDAwMVVQMVFRUXfavVAsLVFQMFFRU VFVVVVVVVVVVVVVVVVUVVVVVTF3v9u9UVEwMVAq29vb276VTUweuCPbuU1P2 rq729qZUXVVVVVZWVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVFQUFAwMDAwMDAsLCwsLDAsLCwpc9vb29vb29v/29wcH BwcICAgICAgICAgICAgICAgICAj29vb2//YHWkkRAFFJAFoH9vb2/wcRAPf/ 9vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////b29gcH9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2B/f395sAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29lul9vb3UggHpKRbpPatClukW1uk nFsICK1bpKQHB6StUlsH96ScW60IpFKkpFsI9vb2B1ukXPcIB5xcnJwIpFKk 9ltSpJz396SkW6T2pVsI9vekpKT39ltSpKQHpFsIpFKkpFsHB1IHB1JbpFv3 9vb2CFJTpZyk9gekpFtb9gdbpKT3B1v39vdbB/ekpFv39qRbpFtb9vdSB6RS rfZbpPYIpKSkWwgHUlukpQdT9wj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis////////////////////////9v////////////////////////////// ////////////////////////////9gf3pKRbUqQI9vb29vb29vb29vb29vb2 CAgICAcHBwcHB/f39/f39/ekpAj29vb29vb29vb29vb29vYI9vb2CAj2CAcI EVv29vb/9vb/9vb3SFIAEQj2///29vb2B/f39/f39/f3paSkpKSkpKSkpKSb m1ulBwgIBwgI9vbvVFMLFAwMDAxMTFRUFBRUDExUDAxUC1Sv76ZUDAxUFBRU VFRUVBRUVFRUVVVVVVVVVVRVTF329lxTVFRMU64I9vamVVRTUwf29vZcVAvv 9vb2r1RVVVVVVVZWVVVVVlZVVVVVVlZWVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVBQUFAwMDAwMDAsLCwsLDAsLCwql9vb29vb29v/29wcH BwcICAgICAgICAgICAgICAgICAj29vb2//b2CPdbWlJb9/b29v/2CFJJ9/b2 9vb29v//9vb29vb29vb29vb29vb29vb29vb2//////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2B/f395sAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CFukCPYIUvcH9wcHCPYIBwf3Bwj3 9wj2CAf3Bwf29vf3BwcICAetB/b2CAf39wj29vb29gcHBwf29gj39wj2pVOt BwgI9/cICPf3Bwj2pFsI9ggH9wf29gcH9/cIBwf2CAf39wj2CAf29gf39wf2 9vb2CFuk9/f29gcH9wf29vYHB/f3CAf29vYH9gf39wf29gcH9/cI9ggHCKVS rQikpAgIB/f3CPYIBwf39/b39vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbUqQI9vb29vb29vb29vb29vb2 CAgICAcHBwcHB+339/f39/f3pAf29vb29vb29vb2///29vb29v/29vb29vYI EVr29v////b/9ghaABERWgj2//b29vb2B/f39/f39/f3paSkpKSkpKSkpKSc m1ukBwgIBwgI9vYHXAsLFAwMDAwMTFRUVBRUDAxUVAwMVFRMXu+vXlUMVBQM DFRUVFRUVFRUVVVVVVRVVFRUVF3vXVNUVF2mB/b29q5UVQwMVPb29qZUVFSv 9vb2XFVVVVVVVVZVVVVVVlVVVVVWVlVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVBQUFAwMDAwMCwsLCwsLCwsLCwqu9gj29vb2//8I9wcH BwcICAgICAgICAgICAgICAgICAj29v8H9wf/9v/29vb29vb/9vb2pACk9vb2 9v/29vb29vb29vb29vb29vb29vb29vb29vb2//////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2B/f395sAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CJyk9gilUwj29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2B1IH 9vb29vb29vb29vb2pFv29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 CPb29lv39vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb2CPb29vek 9vakpPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbUqQI9vb29vb29vb29vb29vb2 CAgICAcHBwcHBwf39/f39/f3pAf29vb29vb29v/29v/29vb/9v/29vb29vYI UVII/////wj3B5sRUhFR9/b/9vb29vb2B/f39/f39/f3paSkpKSkpKSkpKSk m5ukBwcIBwgI9vYInQsLVAwMDAxMTEwUFAwMVFVMVFRMDAsMVFRdr7emXV1U FBQMDAxUVFQUFBRUVBRUVAwMDFRlpa6v9vauB/b29qUUFVUMXfb2B1xUDBO3 9vamVFVVVlVWVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVVUVBQUFAwMDAwMDAsLCwsLCwsLCwoH9vb29vb2//YH9wcH BwgICAgICAgICAgICAgICAgICAj29vb/95sI/wgHBwcI9vb29v8HUlEH9vb/ 9vb29vb///b29vb29vb29vb29vb29vb29vb///////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2Bwf395sAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29qVTW1ulB/b29vb29gj29gj29vb2 9vb29vb29vb29vb2CPb2CPb29vb29vb29vb29gj29vb2CPb29vb29vb29q1b B/b29gj29vb29vb296QI9vb29vb2CPb29vb29vb29gj29vb29vb29gj29gj2 9vb29lwH9vb29vYI9vb29gj29gj29vb29vb29gj29gj29vb29vYI9vb29gj2 9vakpfb2CPb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbUqQI9vb29vb29vb29vb29vb2 9ggICAcHBwcHBwf39/f39/f3pAf29vb29vb29v/29v/////29v/29vb/9vb2 W1H3//b2/wdJSQBRAABb9v//9v/29vb2B/f39/f39/f396WkpKSkpKSkpKSk nJucBwcIBwgICPb2pVMLFBQMDExMTEwMDAxVDAxUDAwMDFVVDAtUVFRmr6+n pmZdXV1VVVVUVFRUVFRVXV1mp6ev7++uXVNTB/b2711VVQwM7/b2XVRUDFz2 9u9UXVVVVlZWVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVVUVBQUFAwMDAwMDAsLCwsLCwsLC1MH9vb29vb2//YH9wcH BwgICAgICAgICAgICAgICAgICAj29vb2/5ub96SsBwj29v/29vatAFv2//YI 9vb2//b29v//9vb29vb29vb29vb29vb29vb///////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2Bwf3B6QAAAAAUgf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb2CPb29vb29gj29gj29vb2 9vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29gj29vb2 9vb29gj29vb29gj29gj29vYI9vb2CPb29vYI9vb29gj2CPb29vb29gj2CPb2 9gj29gj29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////b///////////////////////////////////////////////// ////////////////////////////9gf3pKRbUqQI9vb29vb29vb29vb29vb2 9ggICAcHBwcHBwf39/f39/f3pAf29vb29vb29vb2///2////////9v//9vb2 pFGk9vb///akSREASaT2//b29v/29vb2B/f39/f39/f39/elpKSkpKSkpKSc nJxbBwcIBwgICPb2rlMLFBQMDAxMDAwUFBQMVFRMVFQMTAwMVFQMDFQUDFRd pqamp6enp6enp6evr6+vr6+vp6amXQtUU0ud9val76YMFAxd9vYHE1QUC672 9p1UVVVVVlVWVlVVVVVVVVVVVVVVVVZWVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVVUVBQUFAwMDAwMDAsLCwsLCwsLC1P29vb29v/29vYH9wcH BwgICAgICAgICAgICAgICAgICPb29v//9ltJowf29vb29vb29vZbAPf29v/2 9vb/9gf39Qj29vb29vb29vb29vb29vb29vb///////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2Bwf3B6QAAAAASQf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9gj29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vYI CPb29vb29vb29vb29vb29vYI9vb29gj29vb2CPb29vYI9vb29vb29vb29vYI 9vb29vb29vb29vb2CPb29vb29vb29vYI9vb29vb29vb29gj29vb29vb29vb2 9vb29vYI9vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKRbUqQI9vb29vb29vb29vb29vb2 9ggICAcHBwcHBwf39/f39/ek9/f29vb29vb2//b/////////9v//9vb/9vb2 CElSCP/2///2B/f3B/b/9vb29v/29vb2CPf39/f39/f396WkpKSkpKSkpKSk nJyb9wgHCAgICPb2B1wLVAwMDAxMTEwUFBQMDAwMDAwMDExUVFRUVFRUVAwM DFRUVVVdXV1eXl5dXV1dVVVVVVVUVVRUC1z29u5crl4MC1QH9gdcVAwLZfb2 plVVVVVVVlZWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVVUVBQMDAwMDAwMDAsLCwsLCwsLCqX2CPb2//b///b3BwcH BwgICAgICAgICAgICAgICAgHCPb29vYHWptR9/YIB/b29vb2/whSEQj29vb2 9v8IpPf39/f39vb2//b29vb29vb29vb29vb///////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAf3B6QAAAAASQf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb2 9vb29vb29gj29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29gj29vYI9gj29vb29vb2CPb29vYICPb29vb29vb29vb29vb2 9vb2CPb29gj29vYI9vYI9vb29vb29vYI9vb29vb29gj29vYI9vb2CPb29vYI 9vb29vb29vb29vb29vYI9vb29vb29gj29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKRbUqQI9vb29vb29vb29vb29vb2 9ggICAcHBwcHBwft9/f39/ek9/f2//b29v/2//b/9v////////b2///2//// 9qQA9/b/9vb///b29v/29vb29v/29vb29u739/f39/f39/elpKSkpKSkpKSk pJybpAcHCAgICAj2B1wLFFQMDAxMTEwUFBQMDAwMDAwMDExMVFRUVFRUVFQM DExUVFRMVFRUVFRUVFRUVVVVVVVVVVVUVK7271xTr1VMTK72/+9UVAxUB/b2 XVRVVVVWVlZWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVRUVBQUDAwMDAwMDAsLCwsLCwsLC672CPb29vb2/wj3BwcH BwgICAgICAgICAgICAgICAgI9vb2CKSj9/ZRpPasWqOt9/b/9gdRWgj2//b2 /6RbB/b29vb3pPb/9vb2//b29vb29vb29vb///////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAASQf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb2CPb29vb29vYI9vYI 9vb2CPb2CPb2CPb2CPb29vb29vb29vb29gj29vb29gj29vb29vYI9vb29vb2 CPb29vb29vb29vb29vb2CPb2CPb29vb29vYI9gj29vb29vb29vb29vb29vb2 9vYI9vYI9vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vYI9vb29vb29vb29vb29vb29vb2CPb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKRbUqQI9vb29vb29vb29vb29vb2 9ggICAgHBwcHBwft9/f39/f3pPf2//b29v/29vb29v////////b29v/2B6T3 9vZSUvb/9vb29v//////9vb////29vb29gf39/f39/f39/f3paSkpKSkpKSk pJybpAcIBwcICAj29qVTC1QMDAxMTEwUFBQMDAwMDAwMDBQUFBRUVFRUVVQM DFRUVAxVVVVVVVVVVVVVVVVVVVVVVVVUVPb2pktUr1VLpvb/9u9UVAum9v8H XVVVVlVVVlVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVQUDAwUFAwMDAwMDAsLCwsLCwsLUwf29vb29vb29gf3BwcH BwgICAgICAgICAgICAgICAgI9vYHB6T//whRtQijEVpRWgf/9ghJWwj/9vb2 91IH//b//wj/pAf29v/29vb29vb29vb29v////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAASQf29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vYI 9vb29vb29vb2CPYI9vYI9vb2CPYI9vb29vb29ggI9vb29vb29vYI9vb29vb2 9vYI9vYI9gj29gj29gj29gj29gj2CPYI9vb29vb29vYICPb2CPb29vb2CPb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPYI9vYI9vb29vb29gj29vb29vb2 9vb29vb29vb29vb29vYI9vYI9vb2CPb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKRbUqQI9vb29vb29vb29vb29vb2 9ggICAgHBwcHBwcH9/f39/f3pPf2//b29v/29vb2///////////2//ajSVL3 CPb3APf2///29vb29vb29vb/////9vb29gf39/f39/f39/f396SkpKSkpKSk pKSbpAcIBwcICAj29q5TC1QMDAxMTAwUFBQMDAwMDBQUFBQUFBRUVFRUVFQM VFVVVVRVVVVVVVVVVVVVVVVVVVVVVVVMXfbvVVRcr1RU9v8HB+9UDF329v8H XVVVVVVVVlVVVVUVDBVVVVVVVVVWVlVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVQMDAwUFAwMDAwMDAsLCwsLCwsKXAj29vb29vb29gf3BwcH CAgICAgICAgICAgICAgICAgICAgHB//2/wcRrKxRY7VaWwj2/whSWvb/9vb2 Wlr/CPb29wf/9qT2//b29vb29vb29vb29v////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAASff29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29gj2 9vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKRbUpsI9vb29vb29vb29vb29vb2 9vYICAgHBwcHBwcH7ff39/f3pPcI9vb29v/29vb29vb2///29vcI/wdJWvb/ //b2pFEH//b29v/////29vb///////b29gj39/f39/f39/f396WkpKSkpKSk pKSbnPcIBwcICAj29gdUDAwMDAxMTAwUFBQMDAwUFBQUFBQUFBRUVFRUVFRU VVVVVVVVVVVVVVVVVVVVVVVVVVVVVlVUXfauTFRUr13v9vZcru9UC+/29ggI VVVVVVVWVlVVVVVVDVVWVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVVQMDAwUFAwMDAwMDAsLCwsLCwsKpfb29vb29v/29gf3BwcH CAgICAgICAgICAgICAgICAgI9vb29vb29qxarFlRrAhaWwj2//abUgj29vYI Upv////2mwf2/6QI9vb/9vb29vb29vb29v////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAASff29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb2CPb29vb29gj29vetCPb29vb2 9vYI9vb2CPb2CPb2CPb2CPb29vb29vb2CPb29vb29vb29vb29vb2CPb29gj2 9vb29gj29vYICPb2CPb2CPb29vYI9vb29vb2CPb29gj29gj29ggI9vb29vYI 9vb29vYI9vYICPb29vb29vYI9vYI9vYI9vb2CAj29vb29vb29vb29vb29vb2 CPb29vb29vb29vb29gj2CAj2CPb29gj29gj29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKRbUpsI9vb29vb29vb29vb29vb2 9vYICAgIBwcHBwcH7ff39/f39/cI9vb29vb29vb29vb2//8IWxFRW1JRBwj2 9v//CFuj9vb////29v//9vb///////b29gj39/f39/f39/f396WkpKSkpKSk pKScnKQHBwcICAj2CAddVAxMDAxMTAwUFBQMDAwUFBQUFBQUFBRUVFRUDFRV VVQUVFVVVVVVVVVVVVVVVVVVVVVVVlVUVLemDAxU7+/29qULru9Lnfb/B/f2 VFVVVVZWVlVVVV1VVVVWVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVFRUFAwUFAwMDAwMDAsLCwsLCwsLrwj29v/29v/2CAf3BwcH CAgICAgICAgICAgICAgICAgI9vb///b//1tSCLVaWlpaUvf29vasUQj2//b2 UlL39ghaW/b/9vcH9v/29vb29vb29vb29v////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAASff29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vdb9/b29vb2 9vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb2 9gj29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb2 9vb29vb29vb29vb29vb2CPb29vb29gj2CPb29vb2CPb29vb29vb29vb29vb2 9vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKRbSpsH9vb29vb29vb29vb29vb2 9vYICAgIBwcHBwcH9+339/f39/cH9vb/9vb29vb29vb2/wikUvcI91JR9v// 9giso1oAWwf2///29vb/9v////////b29vYH9/f39/f39/f39/elpKSkpKSk pKSknKQHCAcHCAgICAiuVAwMDAxMTAwUFBQMDBQUFBQUFBQUFBRUVE1VFBRU FBQUFBRVVVVVVVVVVVVVVVVVVVVVVlVVVKamVQxU9vb271QLr65T9vb2na0I VFVVVVZWVVVVVVVVVVVVVVVVVlVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVFRUVBQMDAwMDAwMDAsLCwsLCwtcB/YI9v/29vb2BwcHBwcH CAgICPYICAgICAgICAgICAgI9vb29v/2B1Kk9vasEVqsrAj29vYHUvf29vb2 WwBaUklR9fb///cH9v/29v/29vb29vb29v////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAASff29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gcICAgH9vb2Bwj29vYHWwj29vYI CPb2CPYI9gj29ggI9vb29vb2CPb29vYIB/b29vb29vb2CAf29vYH9vb29ggI 9vYICPb2CPb29ggICPYI9vYICPb2CPb29vYICPb29ggI9vYICAj2CAf2CPYI 9vYIB/YICAcICPYICAgICPb2Bwj29vb29vYICPb29vYICPb29vb2CAj2CAj2 CAj29ggICAj29gcIB/b29gj29gj29vb29gj29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKRbSZsH9vb29vb29vb29vb29vb2 9vYICAgIBwcHBwcH9+339/f39/cH9v//9vb29vb29vb2/wdR9fb29ghS9f/3 WwBJUVFRAACjCP////b29vb2//////b29vYH9/f39/f39/f39/f3pKSkpKSk pKSkpJsHCAgHCAgI9gjvVAwMDAwMTAwUFBQMDBQUFBQUFBQUFBRUVE1VVBQU FFRUVBRVVVVVVVVVVVVVVVVVVVVVVVZVVF2vXgxU9vb2XVQLr6al//bvU663 VFVVVVZVVVZWVVVVVVVWVlVWVlVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVVVVFQUFAwMDAwMDAwMDAsLCwsLCwul9vYI9v/29vb2B/cHBwcH CAgI9vYICAgICAgICAgICAgI9vb29v//pBEH9vYIpLX29vb29vb2o5v29vb2 B1pJUVoH9v/2/6QH//b/9vb29vb29vb29v////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAASff29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb291JbW1tbBwhbW1uk9vb3Ugf29gdb pAdbBwdbCPakW/akUvasCgj3Ugf29vb3Wwj29qSkCAhbUqRT9wdSB/b2B1v3 9vdbB/akXAikUltbW/akUvakUgitUgf29vb3Wwj2CFKkB1tbpFKtB1v39gdT 9vakpAdbW6RbpPdSW6RbBwdbW6RSBwdSCPakpAf29gikpAj29vYIpFv2rVtb W6QH9pxbW6QH95xbW6QIrVv2W1v2pFMIrVIH9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbUpsH9vb29vb29vb29vb29vb2 9vYICAgIBwcHBwcHB/f39/f39/f39v/2//b29vb29vb2/wdS/wisCPb3pPdJ UqT3Bwj3W0kAUqz29v/29v/29v/2//b29vYI9/cH9/f39/f39/f3paSkpKSk pKSkpJulCAcICAgICAgIpQtUDAwMDAwMDBRUVFRUVFRUFAwMDAxUVVVUVFQU DAxUVVRVVVVVVVVVVVVVVVVVVVVVVVVVVRRer11d9vbvVQxTrggI9vZUTK/v VVVVVVZWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlZVVVVVVVVVVVVV VVVVVVVVVVVUVBQUFAwMDAwMDAsLCwsMDAsLCwvu9gj29v/2//8IB/cHBwcI CAgI9vYICAgICAgICAgICAgI9vb/9v8HSZv/9vb29vb2//b2//b2B1IH//b/ 9gj3B/b2//b29qT29v/2//b29vb29vb29v////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB5sAAAAAAPf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B1uk9vb29lut9gcH9gikCq0I9q1b CPZS9whSCPakpAgHpPb3pAgHrQj29vb3Wwj29qRbCKRb9ghb9wdSB/b2CFIH 9gdSCPaknAdSCPakpPb3rfb3rQgHpQj29vb3W/b2rVL2pFP29luk9lv39vdS 9vabpPdS9vacpAhbnPb29lub9ghSBwhSCPakW/b29vakpPb29vb2W6QIW/f2 pFv2pFv29vf2Bwf2CFv3rZsI9632rfcIB60H9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbSpsH9vb29vb29vb29vb29vb2 9vYICAgIBwcHBwcHB+339/f39/f39v/2//b29vb29vb2/wik9awAo/b2rACk B/b///b2//VaSQCk9vb29v/3B//29vb29vYI9/cH9/f39/f39/f3paSkpKSk pKSkpJukBwgICAgICAgIrlNUDAwMDAxUVFRUVFRUVAwMDAxUVFQMTFRUVFRU DAxUVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXVSd7++uFFQL7/b29qZVTK/v VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlZVVVVVVVVVVVVV VVVVVVVVVVVUVBQUFAwMDAwMDAsLCwsMDAsLClwH9gj29vb2//YIBwcHBwcI CAgI9vYICAgICAgICAgI9gj29vb29v9SUgf29vb29v/29v/29ggI9gdS9vb2 9v//9v//9vb296X29v/2//b29vb29vb2//////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB5sAAAAAAPf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29q1SB/b2B1tbpK2kCAdSpFsI9qRb 9ghbB/dS9vakW/b29vb29vb29vb2CPb3U/b29qVbCKSk9ghT9wdSCPb2B1IH 9gdSB/akpAdbpKRTW/b29vb29vb29vb29vb3WwgIUq3291ukpFL3B1sH//dS 9vatmwebnKRbW/YIU6T29gdbpKVSrQdbB/alUvb29vakpPb29vb295sHWwf2 91sHnFukpff39gekpFsH91sI9vb29vb2CPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbSZsH9vb29vb29vb29vb29vb2 9vb2CAgICAcHBwcHB+339/f39/f3CPb29vb29vb29vb2//YHW0kA9/b2m6T2 //b2///2//YI91EAo/b29vZaW/b29vb29vb2B/f39/f39/f39/f39/ekpKSk pKSkpKSk9wgICAgICAj2B1wLVBQMDAxUVAxUFAxUVAwMCwwMVFQMDFRVDFRU FFRUVBRUVVVVVVVVVVVVVVVVVVVVVVVVVVUUFFSv72WmXRQL7/b2B1RUVKbv VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlZVVVVVVVVVVVVV VVVVVVVVVVVUVBQUFAwMDAwMDAsLCwsLCwsLCqX2CAj2//b2//YHBwcHBwcI CAgI9vYICAgICAgICAj2B/b29v8I/6RJ9/b2//b29vb29vb29gf2//akpP// 9vb/9vb/9vb2mwf/9v/29vb29vb29vb2//////////////YICAcI9vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB5sAAAAACvf29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vZcUgf2CFKlB6RbB6SkCFsHCKVb CPZS9whbB/atWwj29vb29vb29vb2CPb3Ugj29qRbCKSk9ghbBwdbB/b2B1sH 9gdbB/alW/YH9wekpAj29gj29gj29vb29vb3ClxTUwf29gcH91P3B1v39gdT CAikpAgIB/dbpPb291ut9ggH9/db9wdbCPatWwj2CPakU1tbpAf2W6QHUwf2 rVsIpFsHrVP391ut9wj2rVsI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbSVsH9vb29vb29vb29vb29vb2 9vb2CAgICAcHBwcHBwf39/f39/f3B/b29vb29vb29vb2///2CKwHCP/2Wwj2 //b2///29v//9gibAKP29vURUQf29vb/9vb2B/f3B/f39/f39/f39/ekpKSk pKSkpKSkpAgHCAgICAgIB6YLTFRUDAxUVAxUFAwMVAwMCwwMVFQMTFRUFFRU VFRUVBRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFXvrlOmpl1L7/b2rlRUVa7v VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlZVVVVVVVVVVVVV VVVVVVVVVVVUFBQUDAwMDAwMDAwLCwsLCwsLUwf2CPb2//b2/wj3BwcHBwgI CAgI9vYICAgICAgICAgICAf29v//pEn39vb29vb29vb///b2Bwf29v/2W/f2 9v/2///2//ZS9/b29v//9vb29vb29vb2//////////////YICAf29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB5sAAAAASff29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPYHUvf29qSk9qVbCFuk9qRb9q1b CPZS9wdS9whbpPb2CPYI9vYI9vYI9vb3UpxbW1OkCFuk9ghb9/dS9wcICFKk CKVK9/ZbrfYHCAhbpPb29vb29vYI9vb29vb3WwcIB1P39vcICFL39lKk9qRS BwhS9/b3CAhbpAgI9qRSCAgH9gdTBwhSrQhbpPb29vaknAgIpFsIpKT2W6QH W1v295wI91IH91sI9gj2pVsI9vb29vYICPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbSVsH9vb29vb29vb29vb29vb2 9vb2CAgICAcHBwcHBwf39/f39/f3B/b29vb29vb29vb29v//9v////YH9//2 ///29vb29vYICAj2owD39qMQUaP2//b/9vb2CPf3B/f39/f39/f39/elpKSk pKSkpKSkpAcHCAgICAgI9q5TC1RUDAwMFAxUDAwMVFQMDAxUVFRMDAwMVFRU VFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXvplxdXqdU7672pVRVVK+v VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVlVVVVVVVVVVVVVV VVVVVVVVVVRUFAwMDAwMDAwMCwsLCwsLCwsLXAj2CPb29v///wj3BwcHBwgI CAgI9vYICAgICAgICAgH9gj2//YHSaX29vb29vb29v8HBwgI9/b29vb/9puk CPb/9vb291v39v/29vb29vb29vb29vb/////////////9vYICAf29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAASff29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2rVMH9vakW6QIB6QH9velB1JS WwicCAhcpFukCPb29vb29vb29vb29vatWwf29qRbCPetCPacBwhbXFukB6Sk nKStXFulCPatW1ukCPb29vb29vb29vb29vb3Wwf29pylCKVbW632CJykW1ut W1uk9vb3W1uk9ghbW1uk9/akW1ut9ghcXFukCPb29vakpPb2CFKt96T291uc W1sI9q1bpAcI9q1TW6X296T29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbSVsH9vb29vb29vb29vb29vb2 9vb29ggICAcHBwcHBwf39/f39/f3B/b29vb29vb29vb29vb/9v/2///3B/b/ 9vb29v/2B1tRUVGsCKQRB1pREVII//b/9vb2CAf3B+739/f39/f39/f3pKSk pKSkpKSkpPcHCAgICAgI9gddCwxMTAwMVFRUFAwMVFRUVFRUVExUVAwMVFRU VFRUVFVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTvpVRUVV1c752ur1RMDK+v VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVlVVVVVVVVVVVVVV VVVVVVVVVFQUDAwMDAwMDAwMDAsLCwsMCwsLrvYICPb29vb/9gf3BwcHBwgI CAgICPYICAgICAgICAgIB/b29ghbpfb29vb29vb/9vdSEaSkB//2//YI///3 9wcHCPejpAf29vb2//b2//b29vb29vb/////////////9vYICAj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAAUgf29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29lukCPb29vb2CPb29vb2CK1b 9vb29vb29vb29vb29gj29gj2CPb29vb3Wwj29qRb9vb29vb29vYI9vb29vb2 9vb29vb29gj29vb29vb29gj29gj29vb29gj3Wwj29luk9vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29gj29vb29vb2CPZcpPb2B1IH9vb29vb2 91sH9vb29vb29gj29vb29vb2CPb29vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbSVsH9vb29vb29vb29vb29vb2 9vb29ggICAcHBwcHBwf39/f39/ek9/b29vb29vb29vb29vb/9v////b29v/2 ////9vdSABAQUVEAUgijo1JRSVII9vb29v//9gfu7u739/f39/f39/f3paSk pKSkpKSkpKUHCAgICAgICAiuVFQMTFRMDFQMFFRUVAxUVAwMDAxUVFQMVFRU VFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVX2XVRVVQxd76ZUt6ZUVe+u VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVUVFQUDAwMDAwMDAwMCwsMCwsMCwtUB/YI9vb29vb/CAf3BwcHBwgI 9ggICPYICAgICAgICAgICAj/9vf39v/29vb2//b2pElIAFuj9vb/CP/2//b2 9ggHBwcHCPb29vb29vb2//b29vb29vb/////////////9vYICAj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAAUgf29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CKSkpFMKB/b29gj29vb29vb29gcH B/akB/b2CPb29vb29vb29vb29vb29vb3Wwj29qRTCPb29vb29vb29vb29vb2 9vb29vb29gj29vb29vb29gj29gj29vb29vb3UqRcXKQH9vb29vb29vYICPb2 9vb2CPb29vb29vb29vb29vb29gj29vb29gj29vb29vZkUpykW6T29/f29vb2 rVsI9vYI9vb2CPb29vb2B6QH9vb29vYICPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gf3pKRbSlsH9vb29vb29vb29vb29vb2 9vb29ggICAgHBwcHBwf39/f39/ek9/b29vb29vb/9vb29vb2///2//b29vb2 //b2//dSSVEREUlJUgj2UVpJEZv29vb29v//9gfu7gfu9/f39/f39/f396Wk pKSkpKSkpKQHCAgICAgICPYHXFQMTFRMDAwMVFRUDAwMTFRUVExMVFQMVBRU VFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVWVVVVVF32VF1VVVVd751UXa9eDPam VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVUVBQUDAwMDAwMDAwLCwsMCwsLC1Ol9ggI9vb///b/B/cHBwcIBwgI 9ggICPYICAgICAgICAgICPb/CAj/9vb29v/29v8HUQBRUluj9v/2//b29v/2 9vb/9vb/9vb29vb29vb29vb29vb29vb/////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB6QAAAAAWwj29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPcHBwcICPb29vb29vb29vb29vb2 9vYHCPb29vYI9vb29vb29vYI9vYI9vYIB/b29ggH9gj29vb29vb29vb29vb2 9vb29vb29vb29vb29vb2CPb2CPb29vb29vYI9wcHBwf29vb29vb2CPb29gj2 9vb29vb29gj2CPb2CPYI9vb29vb29vb29vb29vb29vYIBwcHBwj2Bwf29gj2 CAf29vb29vb29vb29vb2CAf2CPb2CPb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKSbSVsH9vb29vb29vb29vb29vb2 9vb29ggICAgHBwcHBwft9/f39/f39wf///b29vb29vb29vb2//b/9vb2//b2 9v//9v8I91JRUVr3CPb/B1FRUff/9vb29vb/9ggH9wfu9/f39/f39/f39/el pKSkpKSkpKStCAgICAgICAj2pktUVAwMVAwMFAxUVFRUVExMTExMVFRUVFRU VFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVMVKb2VFVVVQyl711UVF1epvad VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVUFFRUDAwMDAwMDAsLCwsLCwsLC1MH9gf29vb29v/29/cHBwcICAgI CPb29ggICAgICAgICAgH9vb29vb29vb29vb29vasEFEAo1us///2/wj/9vb/ 9vb2//b2//YIrGMI9gj29v/29vb29vb2////////////9vYICAf29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////29gcHB/cAAAAApAj29vb29vb29v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKSbSVsH9vb29vb29vb29vb29vb2 9vb29ggICAgHBwcHBwcH9/f39/f39wf2//b29vb29vb29vb29vb2//////// 9vb/////9vb2CPb2///29qSj9wj/9vb29vb2//b3Bwfu9/f39/f39/f39/f3 pKSkpKSkpKSkBwgICAgICAgIB1wLVFQMVBQMFAxUVFRUVExMTExMVFRUVFRU VFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVKfvVFVVVVSm711VVFRVXfad VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVUVFRUDAwMDAwMCwsLCwwLDAsKCqX2CAj29vb29v8I9/cHBwcICAgI 9vb29ggICAgICAgICAgI9vb29vb29vb29vb/9ghaEABaCFqkCAcI9vb29vb2 9vb/9vb29vYIWlpaWlr39vb29vb29vb2////////////9vYICAf29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHCPcAAAAApfb29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKSbSVsH9vb29vb29vb29vb29vb2 9vb29vYICAgIBwcHBwcH9/f39/f3pAf29vb29vb29vb29vb2////9vb29vb/ 9vb/9vb///b2//////b2/wf39v//9vb2CAj29v8IBwcHB+739/f39/f39/f3 96SkpKSkpKSk9wcICAcICAgI9q4LVFQMDBQMFAxUVFRUVExMTExMVFRUVFRU VFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVDK+vVFVVVVSm711VVRQUVfae VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVFRUVFRUDAwMDAwMCwsLCwsLCwsKUwf2CPb29vb2//YH9wcHBwcICAgI 9vb29ggICAgICAgICAgI9vb29vb29vb29vb29gdSWqwI9lKsW1Faowj///b2 9v//9vb/9gj3WlpaUlr39v/29vb29vb2////////////9vYICAj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHCKQAAABJB/b29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKSbSVsH9vb29vb29vb29vb29vb2 9vb29vYICAgIBwcHBwcH7ff39/f3pPcI//b29vb29vb29vb29v//9vb////2 ////9vb29v////b29vb2/wj1///29v8HY2P3pPf2BwcHBwf39/f39/f39/f3 96WkpKSkpKSkpAcICAcICAgI9gdcU1QUDBQUFAxUVFRUVExMTExMVFRUVBRU VFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVDO+vVFVVVVSu71VVVVUUXfad VVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVRUVBQMDAwMDAwMCwsLCwsMCwsKpQgICPb29v///wj39wcHBwcICAgI 9vb2CAgICAgICAgICAj29vb29vb29vb29vb29vb3CP//B1KkUklJEFr19vb/ 9vb2//b29qxSWqwIY1oI//b29vb29v//////////////9vYICAj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB1sAAABbB/b29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKSbSVMH9vb29vb29vb29vb29vb2 9vb29vb2CAgIBwcHBwcHB+339/f3pPcI//b29vb29vb29vb29vb29v//9vb2 9v//////9vb29vb2//////YH9v/2//asWhFaUaT2BwcHBwfu9/f39/f39/f3 9/f3pKSkpKSkpO4HCAgICAgICAeuU1RUDBQUFAxUVFRUVExMTExMVFRUVBQU VFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVRUTO+mVFVVTVSv71VVVVUUXfZd VVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVUVAwMDAwMDAwMDAsLCwsMCwpcBwgI9vb29v//9gf3BwcHBwgICAgI 9vb2CAgICAgICAgICAj29vb29vb29vb29vb29v/2//b/B1Gk90lRUQBa9vb2 //b2//b29qRRWqwIWlL39vb29vb29v//////////////9vYICAj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// ///////////////2CAcHB1IAAACkCAgICPb29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKSbSVIH9vb29vb29vb29vb29vb2 9vb29vb2CAgICAcHBwcHBwf39/f39/cH9vb29vb29vb29vb2//b////29v// //b2//b2////9v//9vb29vYI9v/2/wdjGaysUaz2CAcHBwcH7vf39/f39/f3 9/f3pKSkpKSkpKUHCAgICAgICAjvXBMUFBQUFAxUVFRUVExMTExMVFRUVBQU FFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVRUVO+mVVVVTVXv71VVVVUUXfZd VVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVUVFRUVAwMDAwMDAwMCwsLCwwLCwuuCAgI9vb2///2CPcHBwcHBwgICAj2 9vb2CAgICAgICAgICAj29vb29vb29vb29vb29vb29vb/CFGj9lIAEElJ9/b2 //b/9vb/9gisWlpaWlqk9v/29vb/////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// //////////////b2BwcHB0kAAFL3BwgHBwj29vb2//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKSbSVIH9vb29vb29vb29v/29vb2 9vb29vb2CAgICAcHBwcHBwft9/f39/cH9vb29vb29vb29vb2//b/9ggI//b2 //b29vb29vb2////////9vb29v/29vVZGQi1UVv29gcHBwcHBwf39/f39/f3 9/f3pa2kpKSkpKT3BwgICAgICAj2rlQLFAwUFAxUVFRUVExMTExMVFRUVBQU FBRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVRUXfZdVVVVTFXvrlVWVVUUpvZd VVZWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVQMDExUVAwMDAwMDAsLCwsLCwsLC1wHCAj29vb2///2B/cHBwcHCAgICPb2 9vb2CAgICAgICAgICPb29vb29vb29v/2//b/9vb2//b2CFpRCAijUUkAWvb/ 9vb29vb29v8IYlpao6z39vb29vb/////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// //////////////YIBwcH9wAAAJsHBwcHBwf29ggI//////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3pKSbSVIH9vb29vb29vb29v/29vb2 9vb29vb2CAgICAcHBwcHBwft9/f39/f39vb29vb29vb29vb29vb291uk9awH 9v/2////9v//9ggH9wcH9v/29vb//wdjWmJaUlII/wcHBwcHBwf39/f39/f3 9/f39/etpKSkpJz3BwgICAgICAgI9l0TVBQUDAxMTBRUVExMTExMVFRUVBQU FBRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVRUpvZdVVVVVF32plRVVVUUpvZU VVZWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVQMDAxMVFQMDAwMDAsLCwsLCwsLU64ICAj2//b///YI7vcHBwcHCAgI9vb2 9vb2CAgICAgICAgICPb29vb29vb29vb2//b29vb29v//CFoRCPb2B6NaWgf/ 9v/2//b29vb2tWOs9vb29vb29vb/////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb2//////////////////////////////////// //////////////YIBwcHpAAASfcIBwcHBwcI9gcH9v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3paRbUlP39vb29gj29gj2//b29v// 9vb29vb29ggICAcHBwcHBwcH9/f39/ekCP/29vb29vb29vb29vb2oxFZWVla B/b/9vb2//YH9wcH96Skm/f2//b////2pFJa9wf2/wgHBwcHB/cH9/f39/f3 9/f39/f3paSkpKSk9wgICAgICPYHCO9cC1RUTFRUDBRUDBQUTFRMVExUVBQU VFRUVFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVUXu9VVVVVVF32pVVWVVUUpu9V VVVVVVVVVVVVVVVVVVVVVVVVVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VQwMDAwMFBQMDAwMDAsLCwsLCwsLpQcHCPb29vb2//YH9wcHBwcICAgICPb2 CAgICAgICAgICAgI9vb29v//9vb/9vb2//b29vb/9v/2/1sRpPb2///2Bwj/ 9vb29v/29vb29vb29vb29vb29vb/////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// ///////////2//YHBwcHWwAAmwcHBwcHBwgH9gj39vb///b///b///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////29gj3paRbUlv3BwcICAcICAcI9v//9vb2 9vb29vb29ggICAgHBwcHBwcH9/f39/f3B/b29vb29vb29vb29vYIY1lrYhFj 9vb2///2CKQH9v////YI9ZtS9/b///b2B6z39vb/9vYH9wcHBwcH7u739/f3 9/f39/f396WkpKSkrQcICAj2CAj2CAeuU1NUDFRUDBRUDAwMTExMVExUVBQU VFRUVFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVadVVVVUVGX2XVVWVVUUr7dV VVVVVVVVVVVVVVVVVVVVVVZWVlZVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VRQMDAwUFAwMCwsMCwsLCwsLCwpcBwgICPb29vb/9gf39wcHBwcICAgICPb2 CAgICAgICAgICAgI9vb/9vb29vb/9vb29vb///b29vb29qwRWvb29vb///b2 9vb29vb/9vb/9vb29vb29vb29vb/////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// ///////////29vYIBwcHSQBS9wcHBwcHBwgHCAgH9vb///////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////9gj3paSbUlul9/f39/f39/f3CP//9v// 9vb29vb29ggICAgHBwcHBwcH9/f39/f39/b29vb29vb29vb29gijEWIItVmj CPb/9v8IpAf2//b2//////YHUloI/////wj2///29v/29wcHBwcHBwfu9/f3 9/f39/f39/ekpKSkpPcICAgICAj2B/YHpUtUDExUDAxUFAwMDExMVFRUVBQU VFRUVFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVKb2XVVVVVVUt69U VVVVVVVVVVVVVVVVVVVVVVZWVlZVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VFQUVFQUDAwMDAwMCwsLCwsLC0vu9gj29vb2//b/9vf3BwcHBwgICAgICPYI CAgICAgICAgICAgI9vb/9vb/9vb///b///b29vb/9vb29gdREQf/9vb29v// 9v/29vb29vb29vb29vb29vb29vb/////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// //////////b/9ggHBwekAAqkBwcHBwcHBwgHCAgHB/////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////29gf3pJybW1ukpKSkpKSkpKSk9///9vb/ //b29vb29vYICAgHBwcHBwcHB/f39/f39wj/9vb29vb29vb29gikWlm0rFpS rPb/9v/3rP//9vb2//b2///29ltJ9f//9v//9vb2//b2BwcHBwcHBwcH9/f3 9/f39/f39/elpKSkpKQHCAgICPYHCAgH7lRUDExUDAwUDAwMDAxMVFRUVBQU VFRUVFRUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVK8IVFVVVVVU76ZV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVRUVFQMDAwMDAwLDAwLCwsLC6UH9gf29vb29vb2CPf3BwcHBwgICAgI9ggI CAgICAgICAgICAj29vb29v////b29vb29vb///b29v/29ghaAKP///b2//b2 9vb2//b29v/29vb29vb29vb29v//////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// ///////////2CAcHBwdSAFv3BwcHBwcHBwgHBwgH9/////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////29gf3pJubW5ukpKSknKSkpKSbpfb///b2 //b29vb29vYICAgIBwcHBwcHB/f39/f39wf/9vb29vb29vb2//YH91paWVpa B//2/whbCPb29v////b/CP/29vZSSQf/9v/29vb/CKQH9gcHBwcHBwcHB/f3 9/f39/f39/elpKWkpKT3CPYHCPYI9gcHCK5UDAxUVAwMDAwMDAwMVFRUVBQU VFRUVFRUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVa/vVVVVVUxV76ZV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VFQUDAwMDAwMDAwLDAsLCwsLXAcHCAj29vb29vYIB/cHBwcHCAgICAj29ggI CAgICAgICAgICPb29vb29v//9vb29v/2///2///29vb29vb3EVH19v/29vb2 //b/9vb///b/9vb29vb29vb29v//////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// //////////8IBwcHCKQAUvcHBwcHBwcHBwgHBwgH9wf///b///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////29gf3pFtbW5ubm5ubm5ybm5tbpAf2///2 9vb29vb29vb2CAgICAcHBwcHBwf39/f39wf29vb29vb29vb2CP//9qMRYwgI ///2//ek///2//b3m6T3/wj/9v8HSVII//b29vb/m0n39gcHBwcHBwcHB/f3 9/f39/f39/f3pa2kpKSkB/YICAf29gcIBwddVAtUVFRMDAwMDAwMVFRUFBQU VFRUVFRUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVKa3XVVVVUxd711V VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRU VAwMFBQMDAwMDAwLCwsLCwpTBwgHCPb29vb2//YH9/cHBwcICAgICAgI9ggI CAgICAgICAgICPb29vb29vb29v////b1rKSsB/b29vb29v8IUQBbB///9vb/ 9vYIB/b29vb29vb29vb29vb29v//////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// ////////9ggIBwcH90lJ9wcH9wcHBwcHBwcHBwgHB6T2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////////2CPekm1tbW1tbW1tbW1tbW1tbW6QI///2 ///29vb29vb2CAgICAcHBwcHBwf39/f39/f29vb29vb29vb2///29gj3CPb2 //b/9qQH///29gdSAABJ9/b/9vb2rACk9vb/9vb1AEkH/wgHBwcHBwcHBwf3 9/f39/f39/f396WkpKSk9wcICAf29ggIBwgHXVRUVExUDAwMDAwUFBQUFBQU VFRUVFRUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVYVVV2vVVVVVUym711V VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFRU FAwMFAwMDAwMDAwMCwsLC1Ol9gcH9vb29vb29gf39wcHBwgICAgICAgI9ggI CAgICAgICAgICPb29vb29vb2///291pRSRAAUaz///b29v8HUltJUaQI9vb2 9vf3B/b29v//9vb29vb29vb29v//////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// //////b2CAgHBwf3UlL3Bwf3BwcHBwcHBwcHBwgICKT39v////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9vYIB/ebUlJSUltbW1tSW1tSU1tbUlL39v/2 ///29vb29vb2CAgICAcHBwcHBwft9/f39/cI9vb29vb29vb2///2//b29vb2 //b//6QH9vb/9lsAW6RSUgj/9vb/B1JRB///9v+bSVoI/wgHBwcHBwcHBwcH 9/f39/f39/f396WtpKSkpPcICAgH9vYI9gj2rlRUVFRUTAwMDAwUFBQUFBQU VFRUVFRUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVFVZVVVWmVVVVVVSm711U VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVBQU DAwMFAwMDAwMDAwMC0sLCqUHCAj29vb29vb2CPf3BwcHBwcICAgICAgICAgI CAgICAgICAgICPb29vb29vb29vasURBREElRAEn3///2//b1Ugj3UklSW6Oj WqQH9v//9vb29vb29vb29vb29v//////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// ////9vYIBwcHB6RJUgcH9/cHBwcHBwcHBwcICAcICAek9///9v////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////29ggHpFtSUlJSUlJSUlJSUlJSUlJSUlJS9//2 //b29vb29vb29ggICAcHBwcHBwf37vf39/cH9vb29vb29v/2//////b29vb2 9v/2//cH9v//B0mk9v8HSff/9vb//5sA9/b2/whSSaT///YIBwcHBwcHBwcH B/f39/f39/f39/etpaSkpPcHCAgICPb2CAgH9q5US1RUDAwMDBQMFFQUFFRU VFQUFAwUFBRUVVVVFFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTv71RV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVBQM DAwUDAwMCwwMCwsLCwsKXAcHBwj29vb2//b29/f3BwcHBwgICAgICAgICAgI 9ggICAgICAgI9vb29vb29vb29qxREREREBBJSQCb9vb2//asUQj/9vejW1Kb B///9vb29vb29vb29vb29vb2////////////////////9vYIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// //b/9gcHBwf3UgCbBwf39/f3BwcHBwcHCAgICAgICPb3pAf2//////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb2 9vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29gj29vb29vb29gj29vb2 9vb29vb29vb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 CPb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29gj29vb2CPb29vb29vb2 9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////9vb2CPebUlJSUlJSUlJSUlJSUlJSUlJSUlJSUvf/ 9v/29vb29vb29ggICAgHBwcHBwftB/f39/f39vb29vb29vb2//////b29vb/ //b///f39vb/rFL29v8IUvf2//b2//cApPb2/wdRSff///b2BwcHBwcHBwcH Bwf39/f39/f39/f3raWlpKSkBwj2CAj2CAgICAeuVAtUVFQMVFQMFBQMFBRU VFQUFAxUFBRUVFRVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZVVVWv9l1V VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUFBQM DAwMCwwMDAwMCwsLSwpcBwcHCPb29vb2//YH9/f3BwcHCAgICAgICAgICAgI CAgICAgICAj29vb29vb29vb/CFIAEREQUaysrFJSCP/29vakSfb29v/2//f3 9vYICP/29vb29vb29vb29vb2////////////////////9vYIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// //8HBwf3B/dSSaT2CPek9/f3BwcHBwcHBwgICAgICAf2pFIH//b/9v////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29ggI9vb29vb29vb29vb29vb2CPb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29gj29vYI9vb29vb2 9vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////9ggHpFtSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlL3 ///29vb29vb29ggICAgHBwcHBwcHB/f39/f3B/b29vb29vb2////9vb29vb/ /////wik9vb/B1L/////Wwf2///2/wdJW/b2//dJUQj2///2CAcHBwcHBwcH BwcHB/f39/f39/etpa33pKSk9wf2CAj29vYIB/YHpVRUVAwMFAwMFBQMFBRU VFQUFBRUVFQUFFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZWVVVe711V VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQUFAwM DAwMDBQMCwsLCwtLClMHCAf29vb29vb2/wj39/cHBwcICAgICAgICAgICPYI CAgICAgICAj29vb29vb29vb/rAAQURBRrPb/9ves9vb/9ghaUvb/9vb/CFv3 9qxSUff29v/29vb29vb29vb2////////////////////9vYIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// 9gcHB/f3pElS9/YIpKSk9/f3BwcHBwcHCAgICAgICPYIB5tS9/b///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb2 9vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb2CPb29vb29vb2 9vYI9vb29vYI9vb29vb2CPb29vb2CPb29vb29vb29vb2CPb2CPb29vb29vb2 9vb2CPb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////2CAekUlJSW1JSUlJSUlJSUlJSUlJSUlJSUlJSW1JS CP8I//b29vb29vYICAgIBwcHBwcHB/f39/f3B/b29vb29vb2////9vb29vb/ ///29v+kB//29qz29vYIpAj/9vb/9gdSUvb///dJUvb29vb/9gcHBwcHBwcH BwcHBwf39/f39/f3paX3raSkpO4ICAgICPYICAgHB6VTC0xUVBQMDFQUFBQU FBQUFBQUVFRUFBRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVp1VV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVBQUFAwM DAwMDBQMCwsLCwsKU64IBwj29vb29vb/9vf39wcHBwcICAgICAgICAgICAgI CAgICAgICPb29vb29vb29vb2WhBRERBaCP/29v/2//b2/wdSpAj3CPYIpEkI /6MASVv29vb/9vb29vb29vb/////////////////////9vYIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////b2 Bwf39/ebUpsH/wekm6Sk9/f3BwcHBwcICAj29vb29gj29vdbUqQH///////2 //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIpFtTnPb2CKRbW1ulB6RbW6QH9vb2 9vYIpFtbnPekW1uk9vb291tbrfb29q1bW1sHpFtbWwf29vb29vb3W1tbrQdb W1tbnFtbW1tbW6SkB6RbW6QH9vb29vb2pFtbWwcHW1tbrfb29vb2CKRbW1sH 9vb29vb29gj3W1tTnJxbpFtbW/f29vb2CK1bnFv39vb29vb29vb3W1tb9wf2 9gj29gilW1uc9/b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////29vYI96RSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJS W//2//b29vb29vYICAgIBwcHBwcHB+339/f39/b29vb29vb2////9vb29vb2 //b///YIpAj29gj29v/39///9vb/9gdSWvb//6xJW/b2//b//wgHBwcHBwcH BwcHBwfu9/f39/f39633paSlpPcHCPYICPb29ggH9gddU1RUVFQMDBQMFBQU FBQUFFQUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVWVlVVXVVW VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFRUFAwM DAwMDAwMCwsLCwtTrggHCPYI//b////2B/f3BwcHBwcICAgICAgICAgICAgI CAgICAgI9vb29vb29vb29vYIURFREBFRCPb29v/29vb29vdJ9/ajUlFJUVH3 9gj1CJsI//b29vb29vb29v//////////////////////9ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////////////////9vYH B/f391tSpPb2B6SbpKSk9/f3BwcHCAj29vb29vb29gj29ggHm1Jb9/b///b/ //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIU1NSUvb291JSUlIH9ltTUlL39vb2 9vYIUlJSWwdbUlJb9vb2pFJSWwj2CJxKSVv291JSUqT29vb29vakSVJSB/ak UlJSUlJKUlJSUlJbCKRJUlL39vb29vYIUlJSUvb3UlJSpPb29vb2rVJSUkoH 9ggI9vb29vYIWwpSUlJSUlJSUvf29vb3m1JSUlJSWwf2CPb29qRJW0pKUlut 9vb29vYHUkpSWwj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////29gj3m1JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJb Uvf/9vb29vb29vb2CAgICAcHBwcHBwf39/f39wj2//b29vb2///29vb29vb/ //b///b/B6T1CPb/9vek9v/29v/2/wdJW/b29qxJm/////b///YHBwcHBwcH BwcHBwcH9/f39/f39/f3paSlpKT3BwgICPb29ggIBwgHpVMLDFRUFBQMFBQU FBQUVFQUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVZWVVVVVVVW VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFRUVFQUFBQM DAwMDAwMCwsLC1Ot9gcH9vb29v/2//8H9/cHBwcHBwgI9vYI9vb2CAgICAgI CAgICAgI9vb29vb29vb29vYIURAQERARowgI//b29v//9lJJB//2pFtapKNa 9vb/B6MI9v/29vb29vb2////////////////////////9ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////////////////////29gf3 96SkW1L39vb3W1Kbm5uk9/f3BwcHCPb29vb29vb29vYI9vb2B/dSUvcI//// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSU/8HnFJKUq32//dSUlKkBwcH B/f3UlJSpPakUlJSCPYIU0pSWwf29pxSUpsIB1JSUlsHBwcHB/dbUlJbCPYI W0pSUlJSSVJKUklb9vdSUlKkBwcHBwf3UlJSpPb3UlJKpPb29vYHU1JSSlIH 9vb29vYI9vb2CFtSUkpSUlJJSqT29gecSlJSUlJSUqT29vb2nElSU0lSUlJb B/YI9vb291JSU6T29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////b2CAekW1JSUlJbU1JSW1JSUlJSUlJSUlJSUlJSUlJSW1JS W1L29vb29vb29vb2CAgICAcHBwcHBwft9/f39wf2//b29vb29vb29vb29vb/ 9v//9vb//wes9/X3rKT2//b29v/2/wcApPb29vdJo//////29vb2BwcHBwcH BwcHBwcHB/f39/f39/f396WlpaSk9wcICPb2CPb2CPb2B11UCxRUVBUMFBQU FBQUVFRUFAwMFFRVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZWVVVVVVVW VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVFVVVFRUVAwMDAwM DAwMDAwMCwsLVKUICAf29vb/9v/29gj39wcHBwcHCAgI9vb29vb2CAgICAgI CAgICAj29vb29vb29vb29vYIWhAQUREQEVqj9vb///b29wCb9vb/9vYI/whS UqysWvf29v/29vb29vb2////////////////////////9ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////YIB/f3 pPebWwj/9vdbUlubpKSk9/f3BwcI9vb29vb29vb29vb29vb29ggHm5ukCP// 9v////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSW/akUlJSnPb29ghSUlJSUlJS UklSUlJbB/atUlJbB/YHW1JSCvf2CFJSUqT29qRSUlJSUklJUlJSUlL39vb/ 91NTUlObrfet96T39gibUlJSUlJJSUlJUlJSB/b3UlJSpfb2/whbSlJSUlIH 9vb29vb29vb29gdSUlJSpaStpQf29vdSUlJb95tJUkkH9ggHUlJSUvekUlJS 9/b29vb29pxSUgoH9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////9vYIB/dbUlJSW1tSUlJbUlJSUlJSUlJSUlJSUlJSUlJSUlJS UlsH//b29vb29vb29ggICAgHBwcHBwcH9/f39/f2//b29vb29vb29vb29vb2 //b2CAf29vb/CAcHCP//9vb/9vb2/6QA9//2//dJo///9v/29v/2BwcHBwcH BwcHBwcHBwf39/f39/f396X3paSkpPcICAgI9vb29gcH9gelU1RUFAwMFBQU FBRUVFRUFAwMDBRUVFVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVW VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUMDBRVVVQMDAwMDAwM DAwMDAwLCwtTpfYIB/b29vb29vb/CPf39wcHBwcICAj29gj29vb2CAgICAgI CAgICAj29vb29vb29vb2//b2oxFREBERERGj9v/29v8HUUkH9vb2//b/9vb3 WlFRpPb2/wj29vb29vb2////////////////////////9ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////////////9vYH96T3 pFuk9v/29qRSUltbW6Sk9/f3Bwf29vb29vb29vb29vb29vb29vb29q1bpAj/ //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSWwdSUlJTB/b29vakUlJSUlJS UlJSUlJb9vb3UlJS9/alUkpSUqT2CFJSUq329vdSUlJSUlJSUlJSUlIH9vb2 9qRSUlKk9v/29vb29vakUlJSUlJSUlJSUlJbCPb3UlJSrfb2CKRSUlJSUkkH 9vb29vb29vb29vYHU0lSpP//9vb2CJxJUlsI9vdTUlKk9vakSlJSB/8IW1IK Uwj29vb29gdbUlJTCPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////9ggHB5xSU1JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJS WlKk///29vb29vb29ggICAgHBwcHBwcH7ff39/cH9v/29vb29vb29vb29vb2 9vYHWloI9vb/////////9v/29v/29ltJCPb//wdJW/b/9v8ICP/29gcHBwcH BwcHBwcHBwf39/f39/f39/f396WkpKX3B/YI9vYI9vYIB/YHpVRUDAxVVRQM FFRUTFRUTAwMFFUVFFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUMDFRVVVQMCwwMDAwU DAwMCwsLC1OuCAgICPb29vb/9v8I9/f3BwcHBwgICAgI9vYICAgICAgICAgI CAgICPb29vb29vb29vb/CP//rFERURFREVGs9v/29ghSAKT29vb29vb29vb2 9gj29vb29vb29vb29vb2///////////////////////29ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////b29gf396Sk 9wcI9v/2CFtSUlNbm5ykpff3Bwj29vb29vb29vb29vb29vb29vb29gcHW6T2 9v/2///2//////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSUqRSUlL39vb29vYHUlJSUlJb UlJSUlKt9vYHUlJS9/abUlJbUlsHB1JSUq329ghbUlJSU1JSUlJSUlv29vb2 9ghbUlJS9/b29vb29vYHUlJSSltSUltSUlKk9vb3UlJJ9/b290pSUqRSUlIH 9vb29gj29vb29vb291JSUqT29vb2B1tSUqT29vZbUlKbCPakSlJbCPb2rVJS Wwf29gf3W1tSUlJSpPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////9ggH95tSW1NbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1taW1pS W1Kk9v/29vb29vb29vYICAgHBwcHBwcHB/f39/cH9v/29vb29vb29vb29vb2 9qRRY2Jao/b///////b29v/2//b2CACb9v//9ghRUvb2//YH9v/29ggHBwcH BwcHBwcHBwcH7vf39/f39/f396WkpKT3BwcI9vYI9vYICAcICKULVFUMDAwU VFRUVFRUTAwMFBUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFRUVFQMDAxUVAwM DAwMCxMLXK4HBwcI9vb2//b2/wgH9/cHBwcHBwgICAgI9vYICAgICPYICAgI CAgICPb29vb29vb29vb2//b/9qMASVFREBBa9wj2rFoAWgf/9vb29vb29vb2 9vb2//b29vb29vb29vb2///////////////////////29ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////////9vb2B/ekpKT3 B/b29v/29ptSUltbm5ykpPf3Bwj29vb29vb29vb29vb29vb29vb29v8H96Sk //b2//////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIm1FSUlJJUlKtB/b29vYIW1JSpPb2 CPdSUlsH9vYHU1JSpAhTUlukUlIH91JSUgf29vZbUlJbB//2B1JbUq329gj2 9vYHSltSWwf2CPb29vYIW1JSnAf29qRSUlIH9vb3UlJSpPYHUlJSpKRSUlIH 9vb29vb29vb29vb29q1KW0ql9vb2B1JSUqT/CPakUlJSCAhbUlJb9vb291JS Uq3291tJSVJJUlJSWwf29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////29gcHpFtSW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tb W1KbCP//9vb29vb29vYICAgIBwcHBwcHB+339/f3B/b29vb29vb29vb29vb/ 9qxatbRarPb29v////b29v//9vb2o0kH////9v9SSQf2/wj39vb///YIBwcH BwcHBwcHBwcHBwf39/f39/f39/elpaSk9/cI9vb29vYI9ggHB++uVAtUFFVU DAxUVExUVAwMFBQUFFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFQUFBRUFAxUDAsM DAwMCwtcrgcICAj29vb29vb29vf39/cHBwcICAgICAgI9vYICAgI9vb2CAgI CAgI9vb/9vb29vb29vb29vb29gdaEBBRUVFRUVFRSQBaB//29vb29vb29vb2 9vb29vb29vb/9vb29vb2///////////////////////29ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////////9vYH9/ekpPcI 9vb29vb29qRSUlNbW5ykpPf3Bwj29vb29vb29vb29vb29vb29vb29vb29gek 9/b///////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1FSUltbUlJSW/f29vb2pFJSUgj/ 9qRSUqQI9vYIW1JSmwdSUqT3UlL3pFJSUgj29vb3W1JS9///90pSUgj29gj2 9vb2m0pSUqT29vb29vb2pFJSWwj/9qRSUlv29vb3UlJSpAebUlJSB6VSUlL3 9vb29vb29vb2CPYI9vatUlJS9/b2B1JSUvf29vakUlJTB/ZSUlKk9vb291JS Uvf2W1JSUlubpFJSUq329vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////29gcHpFtbm1ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5tbm5tb m1ubB/////b29vb29vYICAgIBwcHBwcHBwf39/f3B/b/9vb29vb29vb29vb2 9gdSY1paCPb/////////9vb29vb3SaT2//b/9v+jSff2//X3//b///b2BwcH BwcHBwcHBwcHBwcH9/f39/f39/f39/ekpPcHCPb29vb29ggIBwfvrlxUVFRU DExUVAxUVFRUFBQUFFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUFBRUVBQMDBQMCwxU VAsLU1wHCAcH9vb29vb29v/29/f3BwcHBwcICAgI9vYICPb29gj29vb2CAgI CAgI9v//9vb29vb29vb/9vb/9vYIo0kQABAQAAARUqQI//b29vb29vb29vb2 9vb29vb29vb29vb29vb2///////////////////////29ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////////9gf396Sk9wgI 9vb29vb//wdbUlJbW6SkpPf3Bwj29vb29vb29vb29vb29vb29vb29gj29vYH nAf///////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSUgcHpFJSSqQI9vb291JSUvf/ B1JSUvf29vb2pFJSW6RSUgcHUlKbpFJSWwj29vYIW1JSpPb2nFJSpPb29vYI 9vb2CFJSUlL39vb29vb2B1JSSvf2B1JSUqT29vatUlJK96RSUlKt9qVSUlIH 9vb29vb29vb29vb29vb2nFJSWwj2B1JSUvf29vakUklbB/ZSUlJb9vb291JS Ugf3UlJbpAj/B1JSUpz29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2CAcHm1ubpJucpKSkpKSkpKSkpKSkpKSkpKScpJyknKScm5yc pJuc9/////b29vb29vb2CAgICAcHBwcHBwf39/f39wj/9vb29vb29vb29vb2 /whSY1tb9v/////29vb/9v/2/wgAWv8HCPb///b3SZv2/6T39v/29v/2CAcH BwcHBwcHBwcHBwcHB/f39/f39/f39/ekpKSlBwgICPb2CPYICAcH9u9cTAxU VFRUDFQUVVVUFBQUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQUFBQUVBQMDAwMDFRU CwtTpQcIBwj29vb2//b2//b39/f39wcHCAgICAj29vYI9vb2CAj29vb29ggI CAj2///29vb29vb29vb/9vb2///29geso1paW6T3B/b/9vb2//b29vb29vb2 9vb29vb29vb29vb29v/////////////////////////29ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////////////2CPekpKSkB/b2 9vb29vb///akUlJbW5ycpK33Bwj29vb29vb29vb29vb29vb29vb29vb29vb2 B6QH///2///2//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIm1JSW/b29ltSUlMI9vb2CFtSUqT/ 91JSWwf29vb2pFJSUltSWwj2W1JSm1JSpAj29vb2pFJSWwgIW1NS9/b29vb2 9vb29vdSUlJbB/b29vb29ptSUqT291JSUgf29vb3UlJSpFJSSaQI9qRSUlIH 9vb29vb29vYH9wcH9vb2B1JSSff2B1tJUqT/CPabUlJbCAhbU1JT9vb291JS Uwf3UlJbB//29vdSUlv29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////b2CAf3W5ukpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk pKSk9/b///b29vb29vb29ggICAgHBwcHBwf39/f39wf29vb29vb29vb29vb2 9v8I9ggI9vb////29v////b290mk//dSB//2//b2UlII/1oH9v/29v//9ggH BwcHBwcHBwcHBwcHBwf39/f39/f39/f3paWk9wcI9vYI9vb29vYHBwcHnVRL DFRUFAwVFRUUFFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQUFBQUFAwMDAwMTAsL C1yuBwcHCPb29vb29vb29vet9wcHBwcHCAgICPb29vYI9vYICPb29vb2CAgI CPb2///29vb29vb29vb2//b29vb2//b2CAgICPb////29vb29vb29vb29vb2 9vb29vb29vb29vb29v/////////////////////////29ggIB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////b2B/ekpKQH9vb2 9vb2///29v/3UlJSW5ubpKX3Bwj29vb29vb29vb29vb29vb29vb29v/29vb2 9gf39v/////2//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSW/b/9ltSUkoH9vb29qRSUlII pFJSpAj29vb290lSUlJSpPb2rVJSUlJSpPb29vb2B1JSSgf3UlJTB/b29vb2 9vb29vabUlJSpPb29vb29q1SUlIIpFJSW/b29vb3UlJSW1JKWwf29qRSUlIH 9vb29vb29vb3U1JbB/b/CFJSUq32CFtSUlv2/whTUlKc9vakUlJSCPb2pFJS Ugj3UlJbB/YI9q1JUlsI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////b2CAf3W6SkpaSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSlpKWk paSk9/b2//b29vb29vb29ggICAgHBwcHBwcHB/f39wcI9vb29vb29vb29vb/ 9v//9vb/9vb29v/////29gekWvf/CFsA9/b29vb2pEn39lL39v/2//////YH BwcHBwcHBwcHBwcHBwcH7vf39/f39/f3962lpKQH9ggI9gj29ggIBwf276Zc VFRUFAwVFRUVVFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRRUFBQUDAwMTAxMCwtT Xa72CAcI9vb2//b/9vb29/f39wcHBwcHBwj2CPb29vYI9vYICAj29vYICAgI CPb29vb29vb29vb29vb2///29vb/9vb2////9vb29vb29v/29vb29vb29vb2 9vb29vb29vb29vb29v/////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////YH96SkpPcI9vb2 9vb2///29v8Hm1JSW5ubpKStBwj29vb29vb29vb29vb29vb29vb29vb29vb2 CPb3B/b///b///////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSWwcHpVJSUlIH9vb29vdbUlIH m0lS9/b29vb2B1JSUlJS9/b2B1JSUlJS9/b29vb2CFtSUvekUlKkCPb2CPb2 CAcHCAj3UlJSUgf29vb29gdSUlL3W1JSpfb29vb3UlJKU1JSB/b29qRSUlIH 9vb29vb29vb3UlJSpAcHnFJSUvf29qRSUlKlCKRSUkn39vb3UlJSpAf3UlJS m/b3U0lSmwf291JSUqT29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////b2CAf3m6T39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/b2//b29vb29vb29vYICAgHBwcHBwcHB/cH9/cH9vb29vb29vb29vb2 //b2//b/9v//9v////YI96T3//b/CFIA9/b29vb/CACk9lKs///2//b2//YI BwcHBwcHBwcHBwcHBwcHB/f39/f39/f396StrKSkB/b2CPYICPb29ggHCAfv nVQUVFQUFAwMVVVVVVRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQUFBQUDAwMDExLC1Ol BwgHB/b29vb29vb2/wj39/f3BwcHBwcICAgICPb29ggI9vYICAgICAgICAgI CPb29vb/9vb29vb29vb29vb29v/////29vb29vb29vb/9vb///b29vb29v/2 9vb29vb29vb29vb29v/////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////9ggH96SbpAj29vb2 9vb2//b29v/2pFJSUlubpKSk9wj29vb29vb29vb29vb29vb29vb29gj2//b2 9vYH9wf/9v//9v////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSUlJSUlJSUlsI9vb29vZbUlNb UlJbB/b29gj2B1tSUlJSCPb2CFtSUlJKB/b29vb29qRSUltTUlL39gj29vYI W1JSUkpSUlJSUlsI9vb29vZbUlJbUlJSCPb29vatUlJSUlKt9vb29qRSUlIH 9vb29vb2CPYHUlJSUlJSUlJSUgf29gdSUlJSUlJSUlsH9vb2W0pSUlJSUlJS B/YHW1JSUlJSUlJSUvf29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2Bwf3m6QH9/f39/f39/f39/f39/f39/f39/f39/f39/f37u7u 9/fuB/b///b29vb29vb29vYICAgIBwcHBwcHBwf39/cH9v/29vb29vb29vb/ ///////////29v//9vYI9v/29vb/CFIApPYIowf2/6RRCFtb9vb2///////2 BwgHBwcHBwcHBwcHBwcHBwcH9/f39/f39/f3raSkpfcH9vb29vb29vYIBwcH B65cVAwMFFVVTU1VTVVUFBRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVVEwMTFRUDAxUTAwMTAsLXAcI BwcI9vb29vb29vb/B/el9/fuBwcHCAgICAj29vYICAgICAgICPb2CPYH9gj2 9vb29gj29wj29vb29vb29vb29gcHCAgI9v/29vb29vb29vb2//b29vb29vb2 9vb29vb29vb29vb////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////9gf3pKSbB/b29vb2 9vb29vb29v/2pFJSUlubm6Sk9wj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2B/f2//////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIW1JSUlJSUlIAWwf29vb29vatUlJS UlKc9vb29vb2CFNSUlKbCPb29qRSUlJSB/YI9vb29gdSUlJSClsH9vb29vYI W1JSUlJSUlJSUlKkCPYI9vb3UkpSU1Kc9vb29vb3UlJSUqQI9vb29qRSUlIH 9vb29vb29vb2rVtSUlJSUlJS9/b29vb3UlJSUlJKUvf29vb2B1tKUlJSSlKk CPb2B1tSUlJSUlJS9wj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2Bwf3m60HBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHB/b///b29vb29vb29vYICAgICAcHBwcHBwf39/f3CPb29vb29vb29vb/ ///////////29vb////29v/2//b/CFtJUQgHAKT2/wgR96RSCP/2//b/9vb/ /wcHBwcHBwcHBwcHBwcHBwcHB/f39/f39/f3raSkpPfuB/b2CPb2CPb2CAgH CAeuZVRUFAwMTFVVVVVUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFRVVVRUVFQMDAxUTAwLC1ymBwcH CAj29vb29vb2//YH9/f39wcHBwcHCAgICPb29vYICAgICAgI9gf29gcICAgI rAj1o6yjrAf2//b29vb2B6RaUlJRSVFaW/f2//b29vb29vb29vb29vb29vb2 9vb29vb29vb29vb////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////////2CPekpJv3CPb29vb2 9vb29vb29v/2rVJSUltbm6Sk9wf29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2CPcH//////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIU1JSUlJSUlKtB/b29vb29vYHUkpS UlKt9vb29gj2CKRSUlKkCPb29qVSSlJTB/b29vb29ghbUkpSUqT29vb29vYI W1JSUlJSUlJSUgpT9/b29vYHU1JSClKl9vb29vatUlJSW/f29vb29qRSUlL3 9vb29vb29vb29gekU1JKUpwH9vb29vYI91tSUlukBwj29vb29gekUkpSW/cI 9vb29gekW1JSUqT3CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2Bwf3m/cHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICPb///b29vb29vb29vb2CAgICAcHBwcHBwf39/f3B/b/9vb29vb29vb2 ////////////9vb////////2//b29vdJEfcHAFL29v+kUfdJrP/2//b2//// 9vYIBwcHBwcHBwcHBwcHBwcHBwfu9/f39/f3962lpKSl9wf29vb29vb29ggI CAgIB65cVFRUVExVVQwUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFRUVFRUDAwMTFRMC0tUXa4H9ggI 9vb29vb29vb/9gelrff3BwcHBwgICAj29vb29vYICAgICAgICPYIBwj2CLVj Y6xjY2NjB///CPb2B6RJUlqk9wcHBwf3pFJS9//29vb2////9vb29vb29vb2 9vb29vb29vb29vb////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////YIB6Skm6QI//b29vb2 9vb29vb29v//91JSUlJTW5ykpAf29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29gf39v////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CAgHCAgICAj29vb29vb29vb2BwgI CAf29vb29vb29gcHBwcI9vYI9vYIBwgH9vYI9vb29vYHCAgIBwj29vb29vb2 BwgHCAgHCAcICAcH9vYI9vb2BwgICAcI9vb29vb2CAgICPb29vb29ggHCAf2 9vb29vb29vb29vb2CAcHCPb29vb29vb29vYIBwj29vb29gj29vb2CAgI9vb2 9ggI9vb2CAcHCPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2CAf3m60HCPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb///b/9vb29vb29vb2CAgICAgHBwcHBwcH9/f39wj/9vb29vb29vb2 9v//////////////9vb2//b2//b2/whaAFEHmwCs///2WlJSUQj/9v//9v// 9v8ICAcHBwgHBwcHBwcHBwcHBwcHB/f39/f39/f3paSkpPcH9vb29vYICPYI CAcICAjvplRUVFRUTFRUVFRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFQUFBRUVFRUVAsLU12uBwcHBwj2 9vb29vb2//8IB6339/cHBwcHBwgICPb29vb29vYICAgICAgICAgH9ggHCLVi YmtjY2O1CPb2//akUVr3B/b29vb29vb/9vb3UqT2//b29vb29v/29vb29vb2 9vb29vb29vb29v/////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////YH96Skm/f2//b29vb2 9vb29vb29v//91JSUlJSW5ucpAf29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29gj3B/b///////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29gj29vb29vb29vb29gj29vb29vb29vb29vYI9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2Bwf3m6QH9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb///b/9vb29vb29vb29ggICAgHBwcHBwcHBwf39wf29vb29vb29vb2 9vb///////b2//////////b2//b2//b1UQBapFFJpAj/B1JREVr2//b///b/ //b2CAcHBwcHBwcHBwcHBwcHBwcHBwf39/f39/f396WlpKSl9wj29vb29vb2 CAgICAcHB++uVAtMVFRUVFRUVFRUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFRUVFRUVFQLS1RdrgcHBwcICPb2 9vb/9vb/9gj3rff39wcHBwcI9ggI9vb29vb29vYICAgICAgI9gcI9gj2taxa YrWrrAgICPb291JS9/b2///29vb/9vb2/wj/9lv39v//9vb29vb29vb29vb2 9vb29vb29vb2///////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb//////////////////wgH96SkpAf29vb29vb2 9vb29vb29vb2pVJJUlJSW1ubpPf29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vYH9/b///////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj2 9gj29vb29vb29vb29vb2CAj29vb29vb29gj2CPb29vb29vb29vb29vb2CPb2 9vYI9vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vYI9vb2 9vb29vb29vb29vYICPb29vb29vb29vb29vb29vb29vb2CAj29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2Bwf3m6QH9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb///b///b29vb29vb29vYICAgIBwcHBwcHBwf39/cI9vb29vb29vb2 9vb////////2//////////b2//b29vb29VIAUVIRAFKk9fdJEBCk9vb////2 ////9ggHBwcHBwcHBwcHBwcHBwcHBwcH7vf39/f39/elpaWkpPcH9vb29vb2 9vb2CAcIBwcH765dUxQMFBRUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFRUFAwMDAtUXa4HCAgHBwj29vb2 9vb2///2B62l9/f3BwcHBwgICAj29vb29vb29vYICAgICAgICPYIB/b2CGNj q6yrCAgI9vakUvf////29vb29vb29vb29v/29vabCPb/9v/29v/29vb29vb2 9vb29vb29vb2///////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////9gj3pJub9/b29vb29vb2 9vb29vb29v/2pElJUlJSU1tbnPcI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29wj///////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CK6u9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb2 9vb29vb29vb29vb29vb29gj29vb29vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2BwcHnKQH9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v////b///b29vb29vb29vYICAgIBwcHBwcHB/cH9/cH9vb29vb29vb2 9vb2////////9vb29vb2//b29vb29vb2/wf3o1KkpKz39vb3UlEAmwj29vb/ //////YIBwcHBwcHBwcHBwcHBwcHBwcHBwfu9/f39/f3raWlpKT3B/b29vb2 9vb29vYICAgHBwcHpl1VVBQUVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVFRUFFRUXV2uBwcHBwcI9vb29vb2 9vb29ggHpaX39/cHBwcHCAgICAj29vb29vb29vYICAgICAgICAcH/wij9qxj Y2OsCAf2CFub9v/29vb29vb29vb2////9vb29v/39/b/9v//9v/29vb29vb2 9vb29vb29vb2///////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////29gf3pJukB/b29vb29v/2 9vb29vb29v/2pElJUlJSUltbW6QI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb2Bwf2//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vYI 9vYI9vb29vb29vb29vb29vb29vb29vb2v21lB/b29vb29vb29vb29vb29vb2 9vYI9vb29vYICPb29vb29vb29vb29gj29vb29vYI9vb29vb2CPb29vb29vb2 9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29gj29vb29vb29vb2 9vb2CPb29vb29vb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2CAcHm6QH9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v////b///b/9vb29vb29vb2CAgICAcHBwcHB/cH9/f3CPb///b29vb2 9vb2///////2//////b2//b29vb/9vb/9v////YI///29vb/B1pJAFL39v// //b2///2CAcHBwgIBwcHBwcHBwcHBwcHBwcH9/f39/f39/elpaWkpe729vb2 9vb29vb29vYIBwgIB++vXVRUVFRUVFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVUVFRUVFRUVFylr+8HBwcHCPb29vb29vb2 9vb/B/ekpff3BwcHBwcICAj29vb29vb29vb29vYICAgICAgICAj2//asW/YI Y2KrCAgIW/f29vb29vb29vb29vb29vb2//b2//b29/b/9vb29vb29vb29vb2 9vb29vb29vb2///////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////2CPekm6Sk9vb/9vb/9v/2 9vb29vb29v/2m0lJSUlSUlJbW6QH9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb2CPf2//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29gj2 9vb2CAj29gj29vYI9vb29vb29vb29vYIv7a2CPb29vYI9vb29vb29vb29gj2 CPb29gj29vb29vb29vb29vb29vb29vb29vb2CPb29vYI9vb29vb29vb29gj2 9vb29vb29vb29vb29vb29vb29vb29vb29ggI9vb29vb29vb29vb29vYICPb2 9vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////b2CAf3pJsH9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v//////////9vb29vb29vb2CAgICAcHBwcHBwcH9/f3B/b/9vb29vb2 9vb/////////////////////9v/29vb/9v//9v//9vb/9vb/9vb3UgBJUqQI CPb29vYI9gcHBwcHBwgICAcHBwcHBwcHBwcHBwf39/f39/f396WkpKSlBwj2 9vb29vb29vb2CAgHBwcHBweuXVRUVFRUVVVVVRVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVBQUFFRUU1ylrgcHBwcHBwj29vb29vb29vb/ 9gj3pK339/cHBwcHCAgICAgI9vb29vb29vb2CPb2CAgICAgICPb29vYIWvf2 rGOkrQdbB/b29vb29vb29vb29vb29vb29vb29vb2B/b/9vb29vb29vb29vb2 9vb29vb29vb///////////////////////////////b29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////2B/ekpJsH9vb29vb29vb/ ///////29v8IUklJSUlSUlJSW6QH//b29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vcH//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm4I9vb2CLZttvYI9vb29vb29ghl rb+2ZW1lZW1ut7/29gj29rZut/b29r+2bW1ttrf29q5tt/b29vb29vb29r9l rr+uZQj29vb29vb2tmUH9vb29vb29vb29r+uZWVtdr/2CPb29vb2v7duZWVt bbe/9vYI9vYIrm0I9vb29vb2bW2/9vb2CG1tBwhtbgj29vb29vb29va2ZLf2 CLdlZGWut7/29giupfb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////b2CAf3pJv3CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v//////////9vb29vb29vb29ggICAgHBwcHBwcHB/f39wj29v/29vb2 9vb2///////////////////////////29vb/CP//////9vb/9v//9qxSUUlJ WlJaW1Kk/wgHBwcHBwcHBwgIBwcHBwcHBwcHBwcHB/f39/f39/elpKSkpPcI 9vb29gj29vb29ggICAcHBwgHB66mXVxUDAxUVVVVVVVVVVVVVVVVVVVVVVUV FRVVVVVVVVVVVVVVVVVVVRQUDAxUVF1dru4HBwcHBwgH9vb/9vb2//b2//YI B/ekrff39wcHBwcICAgICAj29vb29vb2CAgICAgICAgICAgICPb29vb291L2 CKOjrKMH9v//9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb///////////////////////////////b29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////2B6Skm6QI9vb29vb29vb/ ////////9v8HUklJSUlSUlJSUpv39vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29gcH9v////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm6/9vb29r9lbr/29vb29vb29rdt tr+2bXa3rnZuZWW39vb2CLZlt/b2v25ldrZubW239r9lrvb29vb2CPb29rZt t793ZQf29vYI9vb2tmUH9vb29vb29vb2t21ldndubW239vb29vaubmZutrZ2 bW5ltvb29vb2bm0I9vb29vb2tmW/9vb2tm22CAh2bbf29vb2CPb29r9tbb+/ bW1ut7Ztbbf29r+ubQj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////b2CAcHpFv3CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v////////////b29vb29vb29vYICAgIBwcHBwcHB/f39wf2///29vb2 9vb2///////////////////////////2//b2///2//b////29v/29vYIrFoA SZtapPcH9v/2BwcHBwcHBwgICAgIBwcHBwcHBwcHBwf39/f39/f396SkpKT3 Bwj29vb29vb29vb29vYIBwcHBwcH76+mpV1cVFRUVFRUVVVVVVVVVVVVVVVV VVVVVVVVVVRUVFRUVFRUVFRUXV2mru/vBwcHBwgICPb29vb29vb29v//9gf3 96Wl9/cHBwcHBwgICAj29vb29vb29ggICAgI9ggICAgICAj29vb29vb/CFGs 9vWsWvf29v/29vb/9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb///////////////////////////////b29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////YI96SbW/f29vb29vb29vb/ //////////8HSQBJSUlJSVJSUlP39vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29ggHCP////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm6/9vb29ghubbf29vb29vb2CG1t t79ubr/29r+/rq1uv/b2CLZlt/YIrmWuv/b2t65lv79uZb/29vb29vb2CG1u v793ZQj29vb29vYItmW/9vb29vb29va/rWW39va/t2VtCPb2v7dlrrfv9vb2 v7dtbba/9vb2bm0I9vb29vb2tmW/9va/bW2/9gi/bm329vb29vb29rdltr+u Zba/9va3rmW39r9tbb/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////b2CAcHpFv3B/b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v////////////b29vb29vb29vb2CAgICAcHBwcHBwf39/cH9vb29vb2 9vb2///////////////////////////2CPb///b2CAf29vb///b/9gj2//as Uvf/9v//9v/2CAcHBwgICAgHCAgICAgHBwcHBwcHBwcHB/f39/f39/ek96Sk pPcHCPb29vb29vb29vb2CAgIBwcHBwfvB++upqVdXVRUVFRUVFRUVFRUVVVV VFRUVFRUVFRUVFRUVFRcXaaur+/v7wcHBwcICAj29vb29vb29vb29vYI9/ek 9/f39wcHBwcHCAgICPb29vb29vb2CAgICAgICAgICAgICAj29v/29vb29qNS CPaj9/b29vb29vb/9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29v////////////////////////////////b2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////YH96Sbmwf29vb29vb29vb/ ///////////3SQAASUlJSVJSUlKk9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vYHB/////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm729vb29va/bW729vb2CPb2t2S2 v/a3bb/29vb29ghlbr/29rdlt/YHra729vb29r9lbr+3ba729vb29vb2t2W2 9r9uZb/29vb29vb2tmW/9vb29vb29va2ba729vb29rdltr/2tmWut/b29vb2 9va/dm22v/b2bm4I9vb29vb2bm6/9r9ubbf29gj2rmW/9vb29vb29q5lt79t rr/29vb2v2Wu9r9tbb/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2CAcHpFv3B/b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v////////////b29vb29vb29vb2CAgICAcHBwcHBwcHB/cH9vb29vb2 9vb29v//////////////////////////////CAf39wf39/b/9vb29gcI9vb/ B5sH//b2//b/9ggIBwcICAgHCAgICAgIBwcHBwcHBwcHBwf39/f39/f396Wk pKSk9wf29vb29gj29vb29vb29ggIBwcHBwcHBwcH76+upqVdXVxcVFRUVFRU VFRUVFRcXFxdXaWmrq/vCAcHBwcHBwcI9vb29vb29vb29vb29vb2CPf3pKT3 9/f3BwcHBwgICAj29vb29vb29vb29ggICAgICAgICAgICPb29v/2//b2/6wR CPWj9vb29v/29v/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29v////////////////////////////////b2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb//////////////wgHpKSbpAj29vb29vb29vb/ //////////+kAAAAAElJSUlSUlKkCP/29vb29vb29vb29vb29vb29vb29vb2 9vb29gj29vYH9/b///////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm4I9vb29va/bm2/CPb29r+/t2W3 v7+ubb/29vb29va2Zba/9rdlt/b2B7f29vb29vZuZb+/bm2/v7+/9ggIt22/ 9r9uZb/29vYI9vb2tmW/9vb29vb29vYIt7f29vb29gelrr+/bW2/9vb29vb2 9vb2v21tv/b2bm6/9vb29vb2bm6/v3Zltvb2CAj2t21uv7+/v78Iv22uCPa3 B/b2CPb29q2uv79ubb/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////29gcH95v3B/b29vb2CAcICPb29vb29ggI9vb29vb29vYICPb2 9vb29v/////////////29vb29vb29vb29ggICAgHBwcHBwcH9/f3B/b/9vb2 9vb29v/////////////////////////29vb2pAf29vb2Bwf2//b//wes///2 /wijCPb/9v//9vb2CAcHCAgICAgICAgICAgIBwcHBwcHBwcHB/f39/f39/f3 paSkpKT3Bwj29vb29vb29vb29vb29ggICAgIBwcHBwcHBwcH7wcHr66urq6u rq6urq6uBwcHBwcHBwcHBwcHBwcI9vb29vb29vb29vb/9vb29vYH96Sk9/f3 BwcHBwcHCAgICAj29vb29vb29vb2CAgICAgICAgICAgI9v//9v/2//b2//cA rFsI9vb29v/29vb29v/29vb29vb29vb29vb29vb29vb29vb29v/29vb29vb2 9vb29vb2//////////////////////////////////b2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb//////////////wj3pJubrfb29vb29vb29vb/ //////////+kAAAAAABJSUlJUkmbCP/29vb29vb29vb29vb29vb29vb29vb2 9vYI9gj29vYH9/b///////b///////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm4I9vb29gj2t21tZWVlZG1lZa6/ 9va2bb/29vb29va/bW2/v7dlt/b29vb29vb29r9tbr/2t2VlbWVlpaVlZbYI 9gh2ZQj29vYI9vYItmW/9vb29vb29vb29vb29vb29rdlrr+3Zbf29vb29vb2 9vb29rZttvb2bma/9vb29vb2rmW/fy22v/b29vb2v3ZtbW1tZW1tbWS39vb2 9vb29vb2v2Wuv79ubb/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2CAcH95ukB/b29vYI9633Bwj29vb2B/f3Bwj29vb29gcHBwf2 9vb29v/////////////29vb29vb29vb29ggICAgIBwcHBwcHBwf3B/b/9vb2 9vb29vb////////////////////////2//b39wj///cI9gcH///2//aj9v/2 ///29wf/9v/2///29ggHBwgICAgICAgICAgICAgHBwcHBwcHBwcHB/f39/f3 rfelpKSbpPcHCPb29vb29v/29vYI9vb29vYICAgHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwgHBwcHBwcHBwgI9vb29vb29vb29vb29vb29vYIB/ekpPf39wcH BwcHBwgICAgICAj29vb29vb29vb2CAgICAgICAgICAj29vb/9v/29vb29vcA Sff29vb29vb29vb29v/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb////2//////////////////////////////b2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gj3pJtb9/b29vb29vb/9vb/ ///2//////abAAAAAAAASUlJUklTB//29vb29vb29vb29vb29vb29vb29vb2 9vYI9gj29vb29wf///////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIrm4I9vb29vb2v25lrq62tq5lZbe/ 9r+uZb/29vb29vb2rmW39rdlt/b29vb29vb29rZttvb2v21ltraut65mbQj2 9va2ZQj29vb29vb2r2W39vb29vb29vb29vb29vb2v3Zlt79uZb8I9vb29vb2 9vb29ghtbgj2rma/9vb29vb2rmW3bm2/9vb29vb29r9tLXaurrZubW4I9vb2 9vb2CPa/t2Wu9vZtbQj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2CAcH91ukB/b29vYHpFubpQf29vYI96SbpAf29vb2B/ekpPcH 9vb29v/////////////29vb29vb29vb29vYICAgIBwcHBwcHBwf39wj29vb2 9vb29vb////////////////////////29vak9v//rFsH9gcI9vb//web9vb/ 9v/2B6QI////////9vYIBwcICAgICAgICAgICAgICAgIBwcHBwcHBwf39/f3 9/elpKSkpKSkpQcI9v/29vb29vb29vb29vb29vb29ggICAgICAcHBwcHBwcH BwcHBwcHBwcICAgICPb29vb29vb29vb29vb29vb29vb2B/f3pKT39/f3BwcH BwcICAgI9vb29vb29vb29vb29vb2CAgICAgICAgICPb29vb29v/29v////dJ Ugj/9vb29v/29v/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb////2//////////////////////////////b2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gekpJubB/b29vb29vb/9vb/ ///2/////whbAAAAAAAASQBJSUlSB/b29vb29vb29vb29vb29vb29vb29vb2 9vb29ggI9vb2Bwf2//b///////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbmW2tra2CPb29rZlv/b29r+urr+/ 9r+ubb/29vb29vb2t2W29rZlt/b29vb29gi2tmVtv/b29rZtv/b29r9ubvb2 9vauZfb29vb29vb2t2W39vb29vb29vb29vb29r+/bW1uv/Zubb/29vb29vb2 9vYI9ghubgj2rma/9vb29vb2rmVuJW63CPb29vb29r9tdr/29va3bbb29vb2 9vb29rduZW2/9r+tbQj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2CAgH95ukB/b29vb3pKSbpAf29vYHpaSkm/cI9vb2B6SkpKT3 CPb29v/////////////////29vb29vb29vYICAgICAcHBwcHBwcH9/cI9vb2 ///29vb2///////////////////////2/wet///2Uff/9vcI//b/9gebCP// CP/2/wij9vb/9vb2//b2CAgICAgICAgICAgICAgICAgIBwgHBwcHBwcHB/f3 9/f39/ekpKSkpKSk9wcI9vb29vb29vb29vb29vb29vb29vb29ggICAgICAgI CAgICAj29vb29vb29vb29vb29vb29vb29vb29vb2CAf3paSl9/f39wcHBwcH CAgICAgI9vb29vb29vb29vb29vYICAgICAgICAj29vb29vb/9v//9v/29qRJ pPb/9vb///b///b///b29vb29v/29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29v/////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gf3pFukCPb29vb29vb29v// /////////whSAAAAAAAAAAAKSUlJpP/29vb29vb29vb29vb29vb29vb29vb2 9vb2CAgI9vb2CAf2//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm12bW1tbb/29giubb/29rdlt/b2 9va2bb/29vb29vb2t2W39rZmt/YI9va/t65kZba/9vb/9r9tbvb29rZlv/b2 9gh3Lm6trq6urm1uJma39vb29vb29vb29va/tm1tbba/v79mrr/29vb29vb2 9vb/9ghubb/2bmZubm5ubb72rmVurm1lrQf29gj29va2Zbf29r9ubb/29vb2 9va3bWVltr/29r+tbfb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////2CAgH95uk9wj29vb3pKSbpAf29vYH96SknPcI9vb2B6SkpKT3 CPb29v/////////////////29vb29vb29vb2CAgICAgHBwcHBwcH9/cH9v/2 9vb29vb2////////////////////////9ggI//YISaT/96T29vb//6Rb///2 //b/9v/3pPb2///2///29ggICAgICAgICAgICAgICAgICAgIBwcHBwcHBwcH 9/f39/f3962kpKSkpKSs9wcI9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb/9vb29vb29vb29vb29vb29vb2CAf3raStrff39/cHBwcHBwcI CAgICAj29vb29vb29vb29vb29ggICAgICAgICPb29vb29vb29vb29vb29lpJ 9//29vebm5tbB/YI//b29vb29vb2//b29vb29vb29vb29vb29vb29vb29vb2 9vb2///////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gekpJuk9vb29vb29vb29v// /////////wdSAAAAAAAAAAAASUlJpPb29vb29vb29vb29vb29vb29vb29vb2 9vb2CAgI9vb2CAf2//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbW6/v7+3bW329va2bb/29q5tt/b2 9va2bb/29vb2CPb2t2W39rZmt/YI9re2ZW22v7/29vb29vZ2bbf2v25uv/b2 9r9uJW5tbW1tbW1uJSW39vb29vb29vb29raubW2uv/b29vaubb8I9vb29vb2 9vb29ghubb/2ZiVubW1tbba/bma/9r+3rq4I9vb29vYIba729rdttvb2CPb2 v65tbba3v/b29r9tbQj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////29ggH95uk9wj29vYHpaSbnPcI9vYI96SkpPcI9vb2B6SkpKT3 CPb29v/////////////////29vb29vb29vb29ggICAgIBwcHBwcH9/cHCPb2 9vb2//b29v/////////////////////2//YH9v/2m1FRo/X29v/2CFL3//b2 //b/9v/2m/f2///29v////YICAgICAgICAgICAgICAgICAgICAgIBwcHBwcH Bwf39/f39/f396SkpKSkpKSk9wcI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CAf3raWkpa339/cHBwcHBwcHCAgI CAj2CPb29vb29vb29vb29vb29ggICAgICAgI9vb29vb29vb29vb/9vb/B0lR CPb3pKQH96RbSZv2//b29vb/9vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2///////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////CPekm5v39vb29vb29vb29vb/ /////////wdJAAAAAAAAAAAAAAAKm/b29vb29vb29vb29vb29vb29vb29vb2 9vYICAgI9vb29gf2//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm6/9va/dm0I9va/bW6/v22uv/b2 9vaubbf29vb29vb2rmW/9rdltwj2v25trrf29vb29vb29va/ba72t2W39vb2 9vZ3bre/9va/v7+/d2W39vb29vb29vb2v21trrf29v/29vauZb/29vb29vb2 CPYICL9tbvb2bm6/CAgI9vb2rmW/9vb2t2W29vb29vb2rmW39rZtCPb29vYI rWWut/b29vb29r9tbb/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////29ggH95uk9wj29vYHpaSbm/cI9vYI96SkpPcI9vb2B62kpKT3 CPb29v//////////////////9vb29vb29vb29ggICAgIBwcHBwcHB/f3B/b2 9vb2//b29vb2//////////////////////YH9vb29vf39vb2///2W1v29vb/ 9v/29vb/B1II///29vb///b2CAgICAgICAgICAgICAgICAgICAgICAgHBwcH BwcHB/f39/f39/f3raykpKSkpKSk9/cH9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb2//b29vb29vYIBwf3paSlrff39wf3BwcHBwcHCAgICAgI CAj29vb29vb29vb29vb29ggICAgICAgICAj29vb29vb29vb29v//9v//o0mj 9ggH///29vb291JSB//29vb/9v/29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2///////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2CPekm5v39vb29vb29vb29vb/ //////////dJAAAAAAAAAAAAAAAAWwj29vb29vb29vb29vb29vb29vb29vb2 9vYICAcI9vb29gcI//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm4I9vb2dmW39va/di2/tmW39vb2 9vaubb/29vb29va/bW6/CLdlt/b2v2Wuv/b29vb29vb29gi/bm2/bm0I9vb2 9vZubr/29vb29vb2d2W39vb29vb29gi/tm229vb29v/29va3ba329vb29vb2 CPb2v7Zlt/b2bmb29vb29vb2rmW/9vb2t2W29vb29vb2CGWuv21u9vb29va3 bba/9vb29vb29r9tbb/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////29ggH95ub9wj29vYHpaScnPcI9vYI96SkpPcI9vb2B62kpKT3 CPb29v////////////////////b29vb29vb29vYICAgICAcHBwcHBwf39wf2 9vb2//b2//b29v////////////////////8H9wj///b/9vb/9gijUgf29v/2 ////9vb2/6Sj9v//9vb2////9vYICAgICAgICAgICAgICAgICAgICAgICAcH BwcHBwcHB/f39/f3962kra2lpKSkm6SkpfcHBwj29v//9vb29vb29vb29vb2 9vb29vb29vb29vb///b29ggHB/f3paSkra339/f39wcHBwcHBwcHCAgICAgI 9vb29vb29vb29vb29vb2CAgICAgICAgICPb29vb29vb29vb/9vb29v/3UUn3 9v//9vb/9v/29vZbSQf2//b/9v/29vb29vb29vb29vb29vb29vb29vb29vb2 9vb////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2CPekm5v39vb29vb29vb29vb/ //////////dJAAAAAAAAAAAAAAAAUgf29vb29vb29vb29vb29vb29vb29vb2 9vYICAcHCPb29gcH//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm729vb2tm229vYIvy1ubW2/9vb2 9vaubb/29vb29vZubbf2CLdlt/YItmW39vYI9vb29gj29vb2v21uba729vb2 9vZuZbf2CPb29vb2d2W39vb29vb29va/tm2/9vYI9vb29vYItmW39vb29vb2 9vb2t22uCPb2bm729vb29ggIbmW/9vb2t2W29gj29vb29rdtdm2/9vb29va2 Zbf29gj29vb29r9tbb/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////9ggHB6Sb9wf29vYHpaSknPcI9vYI96SkpK0H9vb2B62kpKT3 CPb29v/////////////////////29vb29vb29vb2CAgICAcHBwcHBwf39/cI 9vb29vb2//b29vb////////////////29v//96T39vb////295tR9//29v/2 //b2//b2/whSB/b////////2//b2CAgICAgICAgICAgICAgICAgICAgICAgI CAcHBwcHBwcH9/f39/f3962lpKX3pKSkpKSkpKSk9/cHBwj29vb29vb29vb2 9vb29vb29vb2CAgHB/f3raWkpKSl9/f3B/f39/cHBwcHBwcICAgICAgI9vb2 9vb29vb29vb29vb29ggICAgICAgICAj29vb29vb29vb29vb29vb2/whSSVII 9gj29v/2/wj/9vYIWlL2//b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9v/////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm5sH9vb29vb29vb29vb/ //////////dJAAAAAAAAAAAAAAAAUgf29vb29vb29vb29vb29vb29vb29vb2 9vYICAcHCPb29gcH//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm729va/bm2/9vYIv25lZbf29vb2 9vaubb/29vb2t7dlrgj2CLdlt/b2t2Wuv/b2v7e2CPb29vb29m4lbb/29vb2 9vZ2br/29vb29gj2dmW39vb29vb29va/tmW2v/b29ra29vb2v61tt/b29vb2 CL+3ra239vb2bm6/9vb29vb2rm2/9va/tmW29vb29vb29r9tLW2/9vb29va3 ZW6/9vYIt7b29r9ubb/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////9ggHB6Sb9wf29vYHraSkm/cI9vYI96WkpKQHCPb2B62kpKT3 CPb29v/////////////////////29vb29vb29vb29ggICAgHBwcHBwcHB/cH 9vb29vb29vb29vb2//////////////////b//wispKz395tbUVEI//b/9vb/ 9vb2//b/9v+km/b/////9vb2///29ggICAgICAgICAgICAgICAgICAgICAgI CAgIBwcHBwcHBwcH7vf39/f39/f39/f3pKSkpKSkpKSkpKSkpK339/f39/f3 9/f39/f39/ekpKSkpKWt96X39/f39/f39+4HBwcHBwcHBwgICAgI9vb29vb2 9vb29vb29vb29ggICAgICAgICAgICPb29vb29vb29vb29vb29vb2CKQAEaT2 ////9vb/9v/29v/2B0n3//b29vb2//b29vb29vb29vb29vb29vb29vb29vb2 ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm5sH9vb29vb29vb29vb/ /////////6QAAAAAAAAAAAAAAAAASff29vb29vb29vb29vb29vb29vb29vb2 9vYIBwcHCPb29ggH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbm6/v7+3ZW0I9vb29rdlbr/29vb2 9vaubr+/v7+3bmWuCPb2CLdlt/b2v25tt7+/t26tB/b29vb29rclbr/29vb2 9vZuZbf29vb29vb2tm239vb29vb29vb2t61ut7+/dm22CPb29r9tbm63v7+/ t7Zurrf29gj2bm6/CL+/v/b2rm63v792bW6/9vb29vb29ghuLbb29vb29va/ bm23v7+2bW0I9r+ubQj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFms//////////////////////////////////////////////////////// ////////////9ggHB6Sb9wcICPYHraSkm/cH9vYI96WkpKQHCPb2B/ekpKT3 CPb29v/////////////////////29vb29vb29vb29ggICAgICAcHBwcHB/f3 CPb29vb29vb29vb2///////////////29vb/9vb/CPdbWlqb9/b////////2 //b/9v/2//8HUvb2//b29v//9v////YICAgICAgICAgICPb29ggICAgICAgI CAgICAgICAcHBwcHBwcHB/f39/f39/f39/f3rKSlpKSkpKSkpKSkpKSkpKSk pKSkpKSkpKStra339/f39/f39/f3BwcHBwcHBwcICAgICAj2CAj29vb29vb2 9vb29vb29vb29gj2CAgICAgICAgI9vb2//b29vb29vb29vb29vYIpABJUgj2 //b29vYIB/b29vb/9luk9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb/ ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm5sH9vb29vb29vb29v// /////////6QAAAAAAAAAAAAAAAAAAPf29vb29vb29vb29vb29vb29vb29vb2 9vYIBwcHB/b29ggH9v/2//////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIbiVlZWVtbr/2CPb29vatt/b29vb2 9vauZW1lZW1tbra/9vb2v7Zlt/b29reuZWVlbW639vb29vb29r9ttvb29vb2 9vZuZQj29vb29vYIbmQH9vb29vb29vb29retZWVlbW6/CPb29gi/tm1lZWVl bW1uv/b29gj2bWVtZWVlZa72rmVlbW1tbrf29gj29vb29va3bb/29vb29vb2 t65lZWVtbbf29r+tbQj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFms//////////////////////////////////////////////////////// ////////////9ggHB6SbpAcI9vYH96Skm/cH9vYIB6WkpKUHCPb2B62kpKT3 Bwj29v//////////////////////9vb29vb29vb29vYICAgICAcHBwcHBwcH 9wj///b29vb29vb29vb29vb29vb29vb///////////////////////////// //////b2///2Uvf/9vb2//////b////29ggICAgICAgICAgI9vYICAgICAgI CAgICAgICAgHBwcHBwcHBwcHB/f39/f39/f39/f39/f39/etrfet962tra2t 9/f39/f39/f39/f39/f39wcHBwcHBwcHBwcHCAgICAgICAj29vb29vb29vb2 9vb29vb29vb29ggICPYICAj2Bwj29vb2//b29vb/9vb2///29gdaEVFR9/b/ 9v/29gj39/ebB/b2/6Sb9vb29vb29vb29vb29vb29vb29vb29vb/9vb29v// ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm6QH9vb29vb29vb///// //b2////9qQAAAAAAAAAAAAAAAAAAJv2//b29vb29vb29vb29vb29vb29vb2 9vYIBwcHB/b29ggH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2t7a2rrYICPb29vb29ggHCPb29vb2 9gi3trautra3CPb29vb29ra2t/YI9vYIB662twj29vb29vb29vYHCPb29vb2 9ggItgj29vb2CPb2trYI9vb2CPb29vb29vYItra2twj29vb29ggI9re3rra2 tggI9vb29gj2tq6utrautgf2B7a2tra3CPb2CPYI9vb29ggIt/YI9vb29vb2 9gi3tq63CPb29ggHtgj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9ggHB6SbpAcI9vYH96Skm60H9vYIB62kpKUHCPYIB/ekpKSl Bwj29v////////////////////////b29vb29vb29vb2CAgICAgHBwcHBwcH BwcI9v/2//b29vb29vb29vb29vb29vb///////////////////////////// ///2//b2///2pFv2////////9vb/////9vYICAgICPb2CAgI9ggICPb2CPb2 9vYICAgICAgICAgHBwcHBwcHBwcHBwcHB/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f3BwcHBwcHBwcHBwcHBwcICAgICAgI9vYI9vb29vb29vb29vb2 9vb29vb2CAj2CAj2CAj29gcI9vb29vb29vb29ggICPb/9gj3o0lRWgCj9vb2 9gj/9qT2//8HUgf29gdb9vb29vb29vb29vb29vb29vb29vb29vb29vb29v// ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm6QH9vb29vb29v////// //b2/////6QAAAAAAAAAAAAAAAAAAFv29vb29vb29vb29vb29vb29vb29vb2 9vYIBwcHB/b29vYH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vYI9vb29vb29vb2 9vb29vb29vb29vYI9vYI9vb29vb29vb29vb29vb29vb29gj29vb29vb29ggI 9vb2CPb2CPYI9vb29vYI9vb29vb29gj29ggI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb2CPb29vb29vb2 9vb29vb29vYI9vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9ggHB6RbpPcI9vYH96Skm6UH9vYIB62kpKUHCAgIB/ekpJyk Bwj29v////////////////////////b29vb29vb29vb29ggICAgHBwcHBwcH B/cH9v/29vb29vb29vb29vb29vb29vb///////////////////////////// ///29v/29vb/91II9vb/9vb////29vb///b29ggICPb2CPb29ggICPb29vb2 9vb29vb29ggICAgICAgICAgHBwcHBwcHBwcHBwcHBwcHBwcHB/f39/f39/f3 BwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAj29vb29vb29vb29vb29vb29vb2 9vb29vYICAgICAgH9vYHCPb29vb///b29vb29ggH96SbUlJJWqz3UaMH9vb/ 9vb2BwgH9gj2m6P2//ek9vb29vb29vb29vb29vb29vb29vb29vb29vb2//// ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm6QH9vb29vb29v////// //b2/////6QAAAAAAAAAAAAAAAAAAFII9vb29vb29vb29vb29vb29vb29vb2 9vYIB/f39/b29vYH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb2 9vb29gj29vb29gj29gj29ggHCPb2CPb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb2CAj29vYI 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vb29vYI9vb29vb29vYI CPb29vb29vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9ggHB/dbm/cI9vYI96Skm6UHCPYIB62kpKX3BwgIB/ekpJuk Bwj29v/////////////////////////29vb29vb29vb29ggICAgIBwcHBwcH B/cHCP/29vb29vb29vb29vb29vb29vb///////////////////////////// ////9v//9vb/B1II//b29vb/9vb2//b29v//9vYICAgICPb29vYICAgI9vb2 9vb29vb29vYICAgICAgICAgICAgIBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHCAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb2 9vb29vYICAj29vb2CAj29vb29vb29vb29vb29vb2CAgHBwgI9vcRW/b3rP// 9vb29wgIWvesSaT//wf39vb29vb29vb29vb29vb29vb29vb29vb29vb///// ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm6QH9vb29vb29v////// /////////6QAAAAAAAAAAAAAAAAAAFIH9vb29vb29vb29vb29vb29vb29vb2 9vYIB/f39/b29vYH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPb29vYI9gj29gj29vb29vb29vb2 9vb2CPYICPb29vb29vb2CLZkrQj29vb29vb29vb29gj29vb29vb29vb29vb2 CAj29vb29vb29gj29vb29vb29vb29vYI9vb2CAj29vb29vb2CAj2CPb29vb2 CPb29vb29vb29vb29vb29vb29vb2CAj29vb29vb29vb2CPb29gj29vb29vb2 9vb29gj29vb29vYICAj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9ggHB/dbm/cHCAgI96SknKUHCAgIB62kpKX3BwgIB/ekpJyk Bwj29v//////////////////////////9vb29vb29vb29vYICAgICAcHBwcH BwcHBwj/9vb29vb29vb29vb29vb29vb///////////////////////////// ////9v//9vb/CFEH9vb/9gj19/UHCPb29vb///b29vYICAgICPb29ggICPb2 9vb29vb29vb29ggICAgICAgICAgICAgICAgHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcICAgICAgICAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb2 9vb2CAgI9ggICAj2Bwj2CPb/9vb29vb29vb////29v//9ggHUQD39v+sWvb/ 9v/29wj2B1JRWwj29qQH9vb29v/2//b29vb29vb29vb29vb29vb29v////// ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm6QH9vb29vb29v////// /////////6QAAAAAAAAAAAAAAAAAAEkH9vb29vb29vb29vb29vb29vb29vb2 9vYHB/f39/b29vYH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CPb29vb29vYI9vb29vb29vb2 9vb29vb29vb29vb29vb29gi2Bwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29gj29vYI9vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb2 9vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9ggHB/ebm/cHCAgI96WkpKUHCAgIB/ekpKT3BwgIB/ekpKSk BwgI9v////////////////////////////b29vb29vb29vb2CAgICAgHBwcH BwcH9wf2//b29vb29vb29vb29vb29vb///////////////////////////// ////9v/2//b/9lL39vb291pRABAQUaMH9v/2////9vb29ggICPb29vb29vb2 9vb29vb29vb29vb29vb29vb2CAgICAgICAgICAgICAgICAgICAgICAgICAgI CAgICAgICAgICAgICAgICPb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2CAgICAgICAgH9v8HpKT2//////b29vb29vb///8I96MAW/f29vZaUQj/ 9v/2Bwj2/wj/9vb/CKz2//b29v/29vb29vb29vb29vb29vb29vb2//////// ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm5sH9vb29vb29v/////2 //////////cAAAAAAAAAAAAAAAAAAEn39vb29vb29vb29vb29vb29vb29vb2 9vYH9/f39wj29vYH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vYICPb2 9vb29vb29vb29vb29vb29vYICPb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29ggI9vb29vb29vb29vb29vb29vb29vb2 9vYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9vYHB/ebW/cHCAgH96WkpKUHCAgIB/ekpKT3BwgIB/ekpKSk 9wcI9v////////////////////////////b29vb29vb29vb29ggICAgIBwcH BwcH9wcI9vb29vb29vb29vb29vb29vb///////////////////////////// ////9v/2//b/9lKt//akEAAQEFFRAABRrPb29v/////29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29ggICAgICAgICAgICAgICAgICAgI CAgICAgI9vYICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 CAgICAgICAgI9vb29v/2pEla9wj29vb////2///2B6RSAACkB//2//dJUvf2 //b/9qP29v/29vb29/f2//b29v/29vb29vb29vb29vb29vb29vb///////// ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm5sH9vb29vb29v/////2 ////9v////dJAAAAAAAAAAAAAAAAAACk9vb29vb29vb29vb29vb29vb29vb2 9vYH96Sk9wj29vYH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIpKQI9vYHpKT29vYIB62krQj29vYH paSkpKQIraT39vekpK2krQj2CK2kB/b29get9/YIpa0I9vb29vb2CK2tCPat pff29vYHpKUH9qWlB/b29vet9/b29vb29vYI96Sk9wcI9vb3pKWtpK32B6Sk paSkCK2kpKWl9/YHpAf29vYHpKUHCPekpKWk9wj3ra0I9gf3pAcIB6Wt9wf2 CPekpaSk9/atpaSlpQcI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9vYHB/ebW/cHCAgH96WkpKUHBwgIB/ekpKT3BwcIB/ekpKSk 9wcI9v/////////////////////////////29vb29vb29vb29vYICAgIBwcH BwcHB/cHCPb29vb29vb29vb29vb29vb///////////////////b2//////// ////9v/29vb29lL39qxREFFQURAQUVEAUaT///b2//////b29ggI9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggICAgICAgICAgICAgI 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CAgI CAgICAgICAj29vb29vb2CFsASVJbpPf3Bwf396RaUQBJowf2//b/91FRAKT2 9v/2/wekB/b29vYH9/b29vb29v/2//b29vb29vb29vb29vb29vb///////// ///////////////////////////////////////////2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekm5sH9vb29vb29v/////2 ////9v////dJAAAAAAAAAAAAAAAAAACk9vb29vb29vb29vb29vb29vb29vb2 9vYH96Sk9wj29vYH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYHUkoH9vb3SlII9gikUgpSUlv39vat UgpSClIHUgqk9qRSSVJSUmQHCFIK9/b29qQKW/YIUlL39vb29vb2B1JSB/Zb UqT29gdbSlIH9lIK9/b2B1JJWwj29vb29gekUkpKClL39vakUgpKClL291IK UgpS91tSCkkKpAikAKT29vabClIHCFsKUkkKm/atClII9lsKUvecUkoKUqT2 CFsKUlIKpPZbUlJKCqQI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// //////////////YHB/ekW60HCAgH96SkpKQHBwcIB/ekpKT3BwcIB/ekpKSk 9wcI9v//////////////////////////////9vb29vb29vb29vb2CAgICAcH BwcHBwcHB/b2//b29vb29vb29vb29vb///////////////////////////// ///2///29vb29lEHCBERUQBRURBREBERAFIH//b2////9v//9vb29vb29gj2 9gj2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYICPb29vb29vYI CAgICAgI9vb2//b29vb29gijSUkAABFJEUlRSUlJUqQH9vb29vdSSUlbUaT2 9vb29vYIrKT39wcI9v/29vb29vb29vb29vb29vb29vb29vb29vb///////// //////////////////////////////////////////b2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekpJv3CPb29vb29v////// //////b//wdJAAAAAAAAAAAAAAAAAACb9vb29vb29vb29vb29vb29vb29v/2 9vYHpKSb9wj29ggH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYHUlIH9vb3UlII9qQAWwcIrVJSB/b3 UlIICPb2W0mk9qRSUq2kUlJbCKRSW1tSUlJSB/YHU1L39vb29vb2B1JSB/ak SqX29qRSSVsH9ltS9/b2W1JSWwf29vb2CFtSWwf291tS9/akUlsH9vb291JS B/YI9ltJpPYI9vakUqT29qRSUlL3CJtSpPb29vakUlsIpFJSB/alWwcHW1L3 CFtSrfb29vZbUqT2CAj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// //////////////YIBwekW6QHBwgH96WkpKQHBwcIB/ekpKT3BwcIB/ekpKSk 9wcI9v////////////////////////////////b29vb29vb29vb29ggICAgH BwcHBwcHBwf29vb29vb/9vb29vb29vb///////////////////////////// ///2//b/9v//B1IHrBAQUVEQEBAQEFERURGk9v/2//b///b29vb29vb2CPYI CPYICPYI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CAgICAgICAgI CAgICPb29vb29vb29vb29vb2B6NaUlFRUlJao6wH9v/29vb29ltSUqykSaT2 9vb29vb2CAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb///////// //////////////////////////////////////////b2CAgHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2B/ekpJv3CPb29vb29v////// //////b//wdSAAAAAAAAAAAAAAAAAABb9vb29vb29vb29vb29vb29vb29v/2 9vb3pKSb9wj29ggH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYHUlIH9vb3UlL291JbB/b29qRSW/b3 UlII9vb2W0mk/6RJnPb291JSBwdSUlucW1JbCPYHUlIH9vb29vb2B1JSB/ac UqT290pbUlsH9lNS9/akUltSWwj29vb291JSB/YIB6RJmwikUlsHCAj291JS B/b2CFtSpAgICPalUqT291JTUlIH9ptSpAcH9vakUlutUlKt9vYI9vYHWwql 9qRJpAcICPZbUqT29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9vYIBwekW6QHBwcH962kpKT3BwcIB/ekpKT39wcHB/ekpKSk 9wcI9v////////////////////////////////b29vb29vb29vb29vYICAgI BwcHBwcHBwcH9vb29vb/9vb29vb29vb///////////////////////////// ////9vb/9v/291IIWhFREBFREFGjUREQEBFSB///9vb///b2////9vb29vYI 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggICAgICAgI CAgI9vb29vb29vb2CPb/9vb/9vb2CAgHCAgI9vb29vb2///29gj39qwRSQf/ 9vb29vb///b29vb/9vb29vb29vb29vb29vb29vb29vb29vb29v////////// //////////////////////////////////////////b29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb////////////2CPekm5v3CPb29vb29v////// //////b//wdSAAAAAAAAAAAAAAAAAABSB/b29vb29vb29vb29vb29vb29v/2 9vb3pKSb9/b29ggH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYHUkn39wekUlIIrVJbCPYI9vdSUgj3 UlsI9vb2W1Kk9qRSWwgI9ltSpPZbUvf2pFKk9vYHU1L39vb29vb2B1NSB/+b UqQHW1L3UlsH9lJS9wdSW6RSWwj29vb2pFJb9ghbCkpSWwitUlMKAFv2B1JS CPb29ltSSVIA9/akSaQIU1OkW1P3CKRKUgAApPatUlJbUqT29vb2B6RbUkoH CFtSSgoKpPZbUqT29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// //////////////YIBwekW6QHBwcHB/ekpKT3BwcIB/ekpKSt9wcHB/ekpKSk 9wcH9v////////////////////////////////////b29vb29vb29vb2CAgI CAcHBwcHBwcHCPb29vb29vb29vb29vb///////////////////////////// ////9v/29vb2o6MIURERABARUQf2CKQRURFRB/b2//b/9vb2///////29vb2 CPb2CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYICPb29vb2CPYICAgI 9vb29vb29vYIBwijowf29vb///b29vb29v//9vb2//b29gj2///2pBERWwj/ 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////// ///////////////////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////CPekm6SkCPb29vb29v////// //////b//wdSAAAAAAAAAAAAAAAAAABSB/b29vb29vb29vb29vb29vb29vb2 9vakpKSb9/b29ggH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYHU1JJSUkKUlsIrVJbCPb29vdSUgj3 UlsI9vb2W1Kk9qRSm/b29lJSpPakUqT2nFL39vacUlJbCPb29vb2B1JSB/ab UqSkSaUHUlIH9lJTpFtS9/dSWwj29vb2rVJSCPYH9/f39wj3UlL39wf291JS B/b2CFtSpAf3CAikUpucUpsIm1IH9qRSmwf3B/akUlJTUqT/9vb3UklSW6X2 B1tSmwetB/9TSaT29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// //////////////YIBwekW6T3BwcHB/ekpKT3BwcHB/elpKSl9wcHB/ekpKSk 9wcH9v/////////////////////////////////////29vb29vb29vb2CAgI CAgHBwcHBwcHBwj29vb29vb29vb29vb///////////////////////////// ///2////9v/2UQcHEVFRrPdapPb/9ghRERBJB/b2//b/9v//9vb29v////b2 //YI9gj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYICAgICAgICAgICPb2 9vb/9vb29vb3WlpSUqz29vb29vb29vb29vYI///29vb2//8I96RSEFFSCPb/ 9vb29vb29vb29vb2//b29vb29vb29vb29vb29vb29vb29vb///////////// ///////////////////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////CPf3m6SkB/b29vb29v////// //////b//whSAAAAAAAAAAAAAAAAAABJ9/b29vb29vb29vb29vb29vb29vb2 /wikm5tb9/b29gcH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYHSlL3BwikU1L291JSB/b29qRJnPb3 UlL29vb2W1Kl/6RSW/b2B1JbrfYHUlv3U1sI//dKUltS9/b29vb2B1JSB/ak UptSW/YHUlMH9ltbW0qk9vdKWwj29vb291JSB//29gj29vakUqT29vb2B1JS CPb29ltSpfb29vakUpxSW/YIW0oH9ltSrfb29vakUpz3UlIH//akUlv3B/b2 9qQK9/b/9ghbU6T29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// //////////////YIBwekm6T3BwcHB/elpKT3BwcHB/elpKSk9wcHB/ekpKSk 9/cH9v/////////////////////////////////////29vb29vb29vb29ggI CAgIBwcHBwcHBwcI9vb29vb29vb29vb///////////////////////////// ///2//b///+bW/b1EVGs//8I9vb29vajAFFJB/////b/9vb29v//9vb2//b3 CP/2/wj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYICAgICAgICPb29vb2 9vb29vb29va1UVqsWlqs9v//9vb29vYIBwcH9/UHCPb/B1tSAFFREVII//b/ 9vb2//b2//b///b29vb29vb29vb29vb29vb29vb29vb29vb///////////// ///////////////////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gf3pKSb9/b29vb29v////// //////b//whSAAAAAAAAAAAAAAAAAABJ9/b29vb29vb29vb29vb29vb29vb2 /wekm5tbB/b29gcH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYHUlIH9vb3UlIH9qQKWwcI91JTB/at UlII9vb2Ukmk/6RSmwgHWwqkCP8Im1ObUqT2CFtSrfdSUgf29vb2B1JSB/ac SkpbCPYHUlIH9lIKUlsI9vcKW/b29gj2CKRSWwf2pFJbB/akUlsH9gj291JS CPb2CFtSpPYICPalUkpSB/YHW1IH9pxSnAgICPakSVv2pUlS9/akUlv2B/cI CFtSpfb29vZbSZv29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// //////////////YIBwf3m6T3BwcHB/etpKT39wcHB/elpaSk9wcHB/ekpKSk 9/cH9v/////////////////////////////////////29vb29vb29vb29ggI CAgICAcHBwcHBwcH9vb29vb29vb29vb///////////////////////////// ////9v/2/wdRCP/1EVEH9vb/9v/2/whRUQBbCP/2//b/9vb2//////b29v/3 pAj/9v/29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CAgICAgICPb29vb29vb2 9vb29vb29vb1WqMIq1FaB/b29v8I9aRSSQAASRERUaMHCAdSUlFapP/29vb2 9vb2//b29vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////////// ///////////////////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gf3pKSbpPb29vb29v////// //////b//whSAAAAAAAAAAAAAAAAAABJpPb29vb29vb29vb29vb29vb29vb2 9gebW1ubB/b29gcH9v////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYHUgoH9vb3ClL29gekUlJSUlP39val UlsH9gj2W1Kk9qRKSVJSUlwH9vb2pFJKUgf2pElbBwhbCpwI9vb2B1NS9/ab UlL3//YHUlMH9lNJWwf29vdSWwcI9vb29gekUkpJUlOt9vakSkpKClMIB1JJ B/b2CFsKClIKpAikSVL39vYHU0r3CFtJUkpSnAj3UlsICKQKWwgHW1JKUlP2 CFNSSUkKpPZbUqT29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// ////////////9vYIBwf3m6T3BwcHB/f3pJz39wcHB/etraSk9/cHB/ekpKSk 9/cH9v/////////////////////////////////////29vb29vb29vb29vb2 CAgICAgHBwcHBwcHCPb29vb29vb29vb///////////////////////////// ////////B1L39v/1UVEI//b29vb/B1sAERH3///2////9v////b///////b/ m1II//////b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vYICAgICAj29vb29vb29vb2 9vb29vb29vasEVpjY1r39v/2/wikSQBJW6OkpKSbW0kAowj2CAcI9vb/9vb2 9v/2//b///b29vb/9vb29vb29vb29vb29vb29vb29vb2//////////////// ///////////////////////////////////////////29ggHB/b29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gf3pKSbpAj29vb29v////// //////b//whSAAAAAAAAAAAAAAAAAAAApPb29vb29vb29vb29vb29vb29vb2 9gebW1ubB//2CAcH9v//9v////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYIpKQI9vYHpKUI9vb2B6Sk9wf29vYH pKX29gj2paT3//elpKSkB/b29vb2B62kpPYIpKT39vb3pKQI9vb2CKSkCPb3 pPf29vYIpKQI9qWkrfb29vek9wj29vYI9vb296WlpAj29vb3paSlpK32B6Sl CPb29qWtpKSk9/b3pKX29vYI96QH9vekpKSk9/YHpPf29gekpAf29qSkpAj2 CPekpaWk9/alpPf29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFms//////////////////////////////////////////////////////// ////////////9v/2CAf3m5v3BwcHB/f3pKSl9wcHCAetraSk9/cHB/etpaSc 9/cH9v/////////////////////////////////////////29vb29vb29vb2 9ggICAgIBwcHBwcHBwj29v//9vb29vb///////////////////////////// 9vb29gekm/f2//8IWkms///29vb290kAW/f2///29v////b////2//b//wj/ 9lJSB//2////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vYI9vb2CAj2 9vb29vb29gj29vb2CAgICPYI9vb29vb29ggICAgICAj29vb2///29vb29vb2 9vb29vb29v/3W6NSUff29vb/B1IAUaQHCPb///b29gekUkkI9v/29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////////////// ///////////////////////////////////////////29ggHBwj29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gf3pKSkWwf29vb29vb2//// //////b//whSAAAAAAAAAAAAAAAAAAAAm/b29vb29vb29vb29vb29vb29vb2 9vdbm1Kb9vb2CAcH//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb/ //b29vb29vb29vb29vb29vb29vb2CPb29vb29v/29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////2CAcHm5v3BwcHB/f3pKSk9wcHCAf396Sk9/cHB/etpaSc 9/cH9v//////////////////////////////////////////9vb29vb29vb2 9vYICAgICAcHBwcHBwcH9v/29vb///b///////////////////////////// 9vYH9/cHCPb///b/pACj9v/2//b29gcH9v/2///////////29v/2////9v/2 9vabSaP2//b29gf29vb2CPb29vYI9vb29vb29vb29vb29vb29vb2CPb29vYI 9ggICAj29vYICAj29vb29vb29vYI9vb2CAgI9vb29vb29vb29vb29vb///b2 9v//9v/2CPb2CAj3pAj2//YIWgCbB/b////29v/29v/2B6RRCPb/9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////////////// ///////////////////////////////////////////29ggHBwj29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gf3pKSkWwf29vb2//////// //////b//whSAAAAAAAAAAAAAAAAAAAAm/b29vb29vb29vb29vb29vb29vb2 9qRbW1uk9vb2CAcI//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////2CAcHpJul9wcHB/f3paSk9/cHCAf396SkpfcHBwetpaSb rfcH9v//////////////////////////////////////////9vb29vb29vb2 9vb2CAgICAgHBwcHBwcHCPb29vb///b///////////////////////////// 9vb29vb////29vb/B1IApPb/9vb2////9vb2////////9vb/9gj///b2//// //8IpElR9/b29qQI//YHCPb29gj29vb29vb29vb29vb29vb29gj29vYICPb2 9vb29vb29vb29vYICAgICPb29vb29vb29vb29vb29vb///b29vb29vb29vb2 //b29vb29v/29v/29vb/9vabSfcI//b///b29vb2////9vakUv/29v/29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29v////////////////////// ///////////////////////////////////////////29ggHBwj29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////9gj3pKSkUqT29vb2////9v// //////b//whSAAAAAAAAAAAAAAAAAAAAWwj29vb29vb29vb29vb29vb29vb2 CJtSW1uk9vb2CAcI//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29gj29ggI9vYI9vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////2CAcHpFul9/cHB/f3raSk9/cHCAf396SkpPcHBwetpaSb pfcH//////////////////////////////////////////////b29vb29vb2 9vb29ggICAgIBwcHBwcHBwj2//b29v/29v////////////////////////// //b/////9vb////29vdJSff29v/29vb29v/////2//b/9v//91sH9v//9vb2 9vb/9gejUVGjB1uk91v39v//9vYI9vb29vb29vb29vb29vb29gj29vb29vb2 9vb29vb2CAgICAgICAgICPb29vb29vb29vb29vb29vb29vb29vb///b29v// 9vb29vb/9vb29vb2//b29vdSrPb/9vb29vb///b29v/29v/2pKT2//b2//b2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29v////////////////////// ///////////////////////////////////////////29ggHBwj29vb29vb2 9vb29vb29vb29vb29vb29vb//////////////wgH96SkUpv29vb2///29v// //////b//whSAAAAAAAAAAAAAAAAAAAAUgj29vb29vb29vb29vb29vb29vb/ B1tSUlv39vYIBwcI//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYI9vYI9vb29vb29vb29gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////b2CAcHpFuk9/f3Bwf395yk9/cHCAf396SkpPcHBwf3raSb pPcH///////////////////////////////////////////////29vb29vb2 9vb29vYICAgICAcHBwcHBwcI///29v/29vb///////////////////////// //b/9vb/9vb29vb///b3UQCj9v//9vb/9vb29vb2//b29v/2pElSpAj////2 9vb29vYHpKRSSRFJUvf/9v/2pPf2//////b29vb29vb29vb29vb2CAj29vYI CPYICAj29ggICAj29vb29vb29vb29vb29vb2///////29vb29vb29vb29vb2 9v//9vb29vb/9vb29v/2/1Kj9vb29vb29vb29vb29vb/9vb29psI//b29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2//////////////////////// ///////////////////////////////////////////29vYHBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////YH96SkW1II//b2///29v// //////b//whSAAAAAAAAAAAAAAAAAAAAUgf29vb29vb29vb29vb29vb29vb2 B1tbUlv39vYIBwf2//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vYItgj29vb29gj29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////b29gcHpJuk9/f3Bwf395uk9/cHCAf396WkpPcHBwf396Sb pPcH///////////////////////////////////////////////29vb29vb2 9vb29vb2CAgICAgIBwcHBwcHCPb29v/29vb///////////////////////// ///29vb/////9vb29vb291IAUvf2//b29v/29vb///b29vb29VEASZsI9vb/ 9vb29ghjWgj2CPejB//2//dJrP/2///////////29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29v/////29vb/9vb29vb/9vb2 //YHrJuj9wj29vb29v//B1IH//b2///29v////b29vb29vb29gj39v/29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb///////////////////////// ///////////////////////////////////////////29vYHBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////YH96Skm1L39vb29vb2//// //////b//wdSAAAAAAAAAAAAAAAAAAAAUgf2//b29vb29vb29vb29vb29vb2 91JbUlsH9vYIBwf2//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2v7auZbcI9r+/9r+u9vb2CPb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////29ggI95uk9/f3BwcH95uk9/cHCAf396WkpK0HBwf396Wb pPcH////////////////////////////////////////////////9vb29vb2 9vb29vb29ggICAgICAcHBwcHBwj2//b29vb2//////////////////////// ///2///29v//9v/29v///wikSUla9wj///b/9vb29vb2////B1IQEUms///2 9va1W1oRUaz19v+s9f/291Gb9gj/9vb2///////////////////29ggHBwf2 9vb/9vb29vb////29vb29vb29vb29vb2////9vb29vb29vb29vb29vb29v/2 CKxaEQAAEZsI9vYICPb/m/f29v//9vWkm6QH9vb29v/29vb/9vYH9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29v////////////////////////// ////////////////////////////////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////YI9/f3pEmk9vb/9vb///// //////b//wdSAAAAAAAAAAAAAAAAAAAASQf2//b29vb29vb29vb29vb29vb2 pFJSUpsI9vYIBwf///////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb2v7+ura2urreutr+3t7auCPb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////29ggI95uk9/f3CAcH95ukrfcHCAf3962kpKX3CAf3962b pPcH///////////////////////////////////////////////////29vb2 9vb29vb29vYICAgICAgHBwcHBwf2//b29vb2//////////////////////// ////9vb///b2//b///b29v//CKRRUVKkBwj3pKNbW1ujpPcI9qwRURBb9vb2 //asWlqsY1FaCPb39fYISUkH///2//b/////9vb29vb29vb///YHpKSkm5ub Bwj2//////b29vb29vb29vb29vb29v//9vb29vb2///29vb29vb29vb29v8I m0kASREREVqk9/f29vb2Wwf/9vb2pElSo6SspAf/9vb2//b2/wj29vb2//b2 9vb29vb29vb29vb29vb29vb29vb29vb29v////////////////////////// ////////////////////////////////////////////9vYIBwj29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////YIB/f390lbCPb/9vb///b/ //////b//wdSAAAAAAAAAAAAAAAAAAAASff2//b29vb29vb29vb29vb29vYI m1JSUqT29ggHBwf///////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29giurmVut7+3rm62rm1tbW63rgf29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////9ggHB5uk9/f3CAf396ScrfcH9gf39/ekpK33CAf39/ec pK0H///////////////////////////////////////////////////29vb2 9vb29vb29vb2CAgICAgICAcHBwcHCP/29v/29v//9v////////////////// ////////////9vb29vb///YIB/b2B6RaSUkAABEAEVERUVERWvejURFS9v// //YIY1oItRFjCP/1B/9bAJv2//b/9vb/////////9v//9v//B6T3CP//9vYI pKMH9vb///b29vb29vb29v////b2///2//b///b29vb2//b///b2//b/9vb2 95tRUVJSUVr39vb29v8HW/b/9v+sUVsI///2B6QH9v//9v/29vb29vb2//b2 9vb29vb29vb29vb29vb29vb29vb29v////////////////////////////// ////////////////////////////////////////////9vYIBwf29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////2B/ek91tJB/b/9vb/9vb/ 9v/29vb//wdJAAAAAAAAAAAAAAAAAAAASaT///b29vb29vb29vb29vb29vYH UlJSUqT29ggIB/b2//////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vYI9vb2t21ut7/2t7e/tre/v7+2v7Ztra4I9vYI9vb29vb29vb2 9vb2v7+3t7cICPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////9vYIB5ukrff3CAcHB6Scpff3CAf39/ekpKX3CAf39/ec pK0H///////////////////////////////////////////////////29vb2 9vb29vb29vb29ggICAgICAcHBwcHBwj///b29v//9v////////////////// ////////////9v/29v/29gda9//2//abSUlao6P39/cI9ayko1pao1us//// 9vb2Y1FaWloH9vYHCPZaAKP///b29vb/////////9vb29v/3pAj///b29v/2 /web9vb/9v/29vb29vb29v//9vb29v/29v/29v/29v/2//b29v//9v8I9v/2 9vYI9fVRWgj29v/2//b3pPb2//ZaAPf///b29gik9vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29v////////////////////////////// ////////////////////////////////////////////9vYIBwf29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////2B/f391sApPb/9v//9vb/ 9v/2//////cAAAAAAAAAAAAAAAAAAAAASaT/9vb29vb29vb29vb29vb29vb3 UlJSUvf29ggHB/b///////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 CPb29vb29vb29r+3bm6/t7e3rm6/v2Vuv79ut7a2v64I9vb29vb29vb29vb2 CLe3tq5tra62CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////b/9vYIB5ukpff3CAcHB6SbpKX3CAgH9/ekpKT3CAf39/eb pKUH////////////////////////////////////////////////////9vb2 9vb29vb29vb29vb2CAgICAgHBwcHBwf29vb29v//9v////////////////// ////////////9vb///b/CFFb9v/29qQAmwcI9vb29vb1o6Na9QgHo5v29v// 9vb2pFpjUVoI9v/2CAhRAKT/9vb29vb///////////b///akB/b/9vb///b2 //8HpPb2//b29vb29vb29v/29v/29v/29vb///b///b///b///b2///2//b2 ///2CFFbCPb/9vb29v/39/b2/wibAJv2//b/9v+kB//29vb29vb29vb2//b2 9vb29vb29vb29vb29vb29vb29vb29v////////////////////////////// ////////////////////////////////////////////9vYIBwf29vb29vb2 9vb29vb29vb29vb29vb29vb////////////////2CAf396QAUgj29v/2//// 9v////b//6QAAAAAAAAAAAAAAAAAAAAAAKT29vb29vb29vb29vb29vb2//ak UlJSWwf29ggHB/b///////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29r+ubrdubW1ut7+3rq63t25ubra/rq2/9vb2v7+/v7+3t7Zu bm1trq62t78I9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////b/9vb2B6SkpK33CAgHB6SbpKT3CAgHB/ekpKT3CAf39/eb pKUH///////////////////////////////////////////////////////2 9vb29vb29vb29vb29ggICAgIBwcHBwcHCPb/9vb29v////////////////// ////////////9v/2//b2CACk//b/rABaCP//9v/29qRREQBRB/b29gekCPb/ //b2CAj2tff29vb/9ghREKP29vb/9vb////////2////9gf3///29vb/9vb2 9v//9wj/9v/29vb29vb29vb2////9v/2//b2CPejo6T3CPb2//b2//b/9vb2 //b1EVoICAj29vb/9v8H9/b29v+sUUlbBwj3CPYHB//29vb////29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29v////////////////////////////// ////////////////////////////////////////////9vYIBwf29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////CAf39/dJAPf2///2//// 9v////b/9psAAAAAAAAAAAAAAAAAAAAAAKT29vb29vb29vb29vb29vb2/whb UlJSmwj29ggHB/////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj2 9vb29gi/v7e/v7+2bm5utre2breubr+3t2W/v263brf2t7e3tq6urm1tbm5u bra3vwj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////9vb2CKSkpK33CAgHB6SbpKT39ggHB/ekpKT3CAf39/eb pKUH///////////////////////////////////////////////////////2 9vb29vb29vb29vb29vYICAgIBwcHBwcHB/b29v////////////////////// ////////////9vb2///2CEmj9v/2UVv2//b2//b29xAQEQCb9v/29v8IBwj2 //b/9vb29vb/9vb/9vZSAFv29v//9v/////////29vb/9vcH/wekUlKjCP/2 9v/29vf/CP/29vb29vb29vb2///29vb29vasURARERBRUvf29vb29v/2///2 /whaWgdaW/b29v/29v8H9//29vb/B1tSUVr39vYHB/b29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb2//////////////////////////////// ////////////////////////////////////////////9vYIBwf29vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////9gf39/dSAJv2//b///// 9v////b/9lIAAAAAAAAAAAAAAAAAAAAAAJv2//b29vb29vb29vb29vb29gdS UlJSpPb29gf3CP////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9r+3tm5tZWVlba5ubm63bm62br+3t7+2t66/v7dubrd2bW5ubm5trq62t78I CPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////9vb2CKSkpKX3CAgHB6SbpKT39ggHB/ekpKT3CAcHB/eb pKUH//////////////////////////////////////////////////////// ///29vb29vb29vb29vb2CAgICAgIBwcHBwcI9v////////////////////// ////////////9vb/9vb291IAB/asSff29vYI//8IUVFREVEH9vb29v/2CAj2 ///////2///29v/29vajAFII///2//////////////b/9vcI/wf395tJUff/ ///29vf2//b29vb29vb29v/29vb29v/2CFsAEFEQEFFJAEms9vb2///2//b/ 9lsA9whREVL2//b/9vb29/b///b2//YHBwj2/wikCPb///b/9vb29vb///b2 9vb29vb29vb29vb29vb29vb29v////////////////////////////////// ////////////////////////////////////////////9vYIBwcI9vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////9ggH9/ebAEkH////9v/2 //////b/B1IAAAAAAAAAAAAAAAAAAAAAAJv2//b2//b29vb29vb29vb29vdS UlJS9/b29gcH9v////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29va/ t25lZWVtt7a2rm5lbrdubr+3bm1ubr+3rm6/rq5ud3dubndlba6/v/b29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////9vb2CK2cpKSlCAgHB6WbpKT39ggHBweknKT3CAcHB/ec pKUH//////////////////////////////////////////////////////// ////9vb29vb29vb29vb29ggICAgIBwcIBwcHCPb/9v////////////////// ////////////9v/29gdSUqSjWvejWwj2//b/9vasAEkAUfX/9vb/9vb///b2 9vb29gj29v/29v/////3URGs9v/2//b/9vb////2//b29vcH//b2//asAFII 9vb2/6T2//b29vb29vb29vb29vb2//YIoxAAUVFRERBRUUhJrP/29vb2//b/ 9wBb9qQRUVEH9vb/9v//B/X/9vb/9vb/9vb/9ves9vb2Bwf2///29vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// ////////////////////////////////////////////9vYIBwcI9vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////9vYHB/f3AACbCP//9v/2 ////////90kAAAAAAAAAAAAAAAAAAAAAAFv2//b29vb29vb29vb29vb/CKRS UlJSB/b2CAcH9v////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CLZu ZWVutre/v7+/v7+3d7d2t79ubre3bre3bq72bm5ubm5udm5tv/YI9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////9vb29vebpKSlCAgHB/ecpKT39ggHBweknKT3CAcHB/ec pKUH//////////////////////////////////////////////////////// //////b29vb29vb29vb29vYICAgICAgHBwcHBwj29v////////////////// ////////////9vb/B0lb9v//B/dSm//29v/2/whSUlqsCPb29vb2//b////2 9aRbWlJaWqQH9vb29v/2WgBbCPb///b29vb2//////b//wf39v//9vYIUkn3 //b/CJv29vb29vb29vb29vb29vb29gj3AFFREBAQEFFREUlJmwj/9v/29v8H Ukn19psREUmk9vb2//b29qwH9vb29vb///b2B6QI//8HWqOk9wj2//b29vb2 9vb29vb29vb29vb29vb29vb///////////////////////////////////// ////////////////////////////////////////////9vYIBwcI9vb29vb2 9vb29vb29vb29vb29vb29vb/////////////////9vYHB/cHUgBSB//29v// //b////2pAAAAAAAAAAAAAAAAAAAAAAAAFv2//b29vb29vb29vb29v/2B1JS UlJbCPb2BwcH//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYItm1l bre/9vb2t7eurre/d253v25tbre3v7+3bbe/bbe3bmW3t2W29gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////b/9vb29vebpK2kCAgHCPebpKT39ggHBwekm6T3CAgHB/ek pKQH9v////////////////////////////////////////////////////// ///////29vb29vb29vb29vb29ggICAgICAcHBwcI9vb///b29v////////// ////////////9vb/pFL29ggI9v/3m//29v/29vYICPb2//b2///29v//CPdS Upukm1tSSUlJWgf2//b291EApP/2//b/9gf2//b29v/29gj3rPb/9vYHUVEI 9v//B6T/9vb29vb29vb29v//9vb29ghSEFEQUVFRrPYIowBRWgj/9v/29vak AFr//6wAERGj9vb2//b2/wj3pPb2//b2//b3pAf/9vasWltaWgj29vb29vb2 ///29vb29vb29vb29vb///////////////////////////////////////// //////////////////////////////////////////////YICAcI9vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////YIBwcHmwAAW/b////2 9v//9v8HUgAAAAAAAAAAAAAAAAAAAAAAAFII//b29vb29vb29vb29vb/91JS Ukmk9vYIB/f2//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29r9uZW23 9vb29vb29r+/v7dubiVudm5ubnZ2v792bm6ut7dubrd3Zbf2CPb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////b29gebpKWkCAgICPebpKT39vYHBwekm6T3CAgHB/ek pKQH//////////////////////////////////////////////////////// ///////29vb29vb29vb29vb29vYICAgICAgIBwcHB/b2///29vb2//////// ////////////9v/2pFL29ltJB/YHpPb29vb2//b29v////b/9v////akW6MI //b2//b2B6RRAFL3//b/9qQAUgf/9v/29gj29vb29vb2//YH96T3B/dRSaz/ 9v/2rKT2///29vb29vb29vb29vb29gdRUQBRUQCk//b/9lsAm/b/9vb///ZS APf29gdRERGk//b2///2//YH91uk9wcHpJv39vYI9vdSWghaY/b29vb29vb/ ///////29vb29vb29vb///////////////////////////////////////// //////////////////////////////////////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb///////////////////YIBwcHpAAASff2//b/ ///2//akAAAAAAAAAAAAAAAAAAAAAAAAAFII//b29vb29vb29vb29vb2pFJS UlL39vYIB/f2//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2t21lbgj2 9gj29vb2v7+/tq63d25ubmVlbW5ut25ubm1uv7dlbm5trr/29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////b29gebpKSkCPYICAebpKT39vYHBweknKT3CAgHBwek pKQH//////////////////////////////////////////////////////// //////////b29vb29vb29vb29vb29ggICAgICAcHBwj29v////////////// ////////////9vb2B1sH9loA9/b29wj///b2///////////2//b/B6OkCP/2 9vb29v////8IpABJrPb/9ghbAFv2//b29vcH///29vb29v/29gekUlFbB/b2 9vb2Wwf/9v/29vb29vb29vb2//b/9vcRERFREFH3////9qRJ9/b29vb29qwA Ugj/9vakEVH3//b29vb29v//9gj3pKSk9/b/9v/29ghjWmNRWgj29vb29vb2 9vb29vb29vb29vb2//////////////////////////////////////////// //////////////////////////////////////////////b2CAcI9vb29vb2 9vb29vb29vb29vb29vb29vb////////////////////2CAcHB1IAAFIH///2 //b//wdSAAAAAAAAAAAAAAAAAAAAAAAAAFII//b29vb29vb29vb29v8HUlJS UlsI9vYH9wf2//////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gj29va3bm23v/b2 9vb29re3bW1lZW5lbrdut25ud25lbWVlbne/v21ud25tv/YI9gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////b29gicpKSkCPYICAecpKT39vYHBwiknKT3CAgHBwek pKQH//////////////////////////////////////////////////////// ///////////29vb29vb29vb29vb29vb2CAgICAgICAcHCPb///////////// ////////////9vb/9qSkpFJSCP//Bwf29v/2///2//////b/9v8IpKz2///2 9v////b29v//9qxRSff29vYHUgCk9vb/9gek9vb/9v//9vb/9vb29vb2//b2 9vb3W///9vb29vb29vb29v/29vb2//cRERARURBaCP/2CAf39vb29vYI9qQA o/b29vYIUlr29v//9vb29vb///b29vb///b29vb29vYIY1KsrAj29vb29vb2 9vb29vb29vb29vb///////////////////////////////////////////// //////////////////////////////////////////////b2CAcH9vb29vb2 9vb29vb29vb29vb29vb29vb////////////////////29gcHCJsAAABS9/b2 ///2B1sAAAAAAAAAAAAAAAAAAAAAAAAAAFII//b29vb29vb29vb29v/3UlJS SaT29ggH9/b///////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gi2CLduZba/9r8I 9vb2t21tLXa3t7e3t6+3v7e3v79ubm5ud3e/t2V3d2W39vb2CPb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////b29giknKSkCPb2CAekpKT39vYHBwilm6T39ggHBwek pKQH//////////////////////////////////////////////////////// ////////////////9vb29vb29vb29vb29ggICAgICAcHCAj29vb///////// ////////////9v/29vYIB/f29v//CAj29v/////////////2///3B/b/9v// 9v//9v////b2///3UVEH//b/9VIApP/29v9b9//29vb/9vb29v/29v/29v/2 //ZSB/b2//b29vb29vb29v/29v/29ghREVEQEBBR9/b29v/29vb/9v/2rElJ 9/8I//b29/f/9vb/9vb/9vb29vb29vb29vb///b29vb2B/X29vb29vb/9vb2 9vb29vb29vb2//////////////////////////////////////////////// //////////////////////////////////////////////b2CAcH9vb29vb2 9vb29vb29vb29vb29vb29vb////////////////////29ggHB/dJAAAAUqQH BwekUgAAAAAAAAAAAAAAAAAAAAAAAAAAAFII//b29vb29vb29vb29vabUlJS Ugf2CAcHB/b///////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggHrm1tbr/2CPb2 9r+2bW1uvwj29r+/v253v7+3bm1lbr93t7dubW63bmW3v/b29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////b29vaknKSkCPb2CAekpKT39vYIBwilm6T39vYHBwek pKQH//////////////////////////////////////////////////////// //////////////////b29vb29vb29vb29vb2CAgICAgHBwcI9vb///////// ////////////////9v//9vb2//b/9vb/9v/////////2///2/wj3//b2//YI B6z3CP/2////9v/29wBaCP//9vVSSVoI9vYHUQj///b/9vb/9vb///b29vb2 CJtb9v/2//b29vb29vb29vb29v/29vZaEFEQEVqs9vb2//b29v///wikUklR 9f/29vb/9gj///b29vb29vb29vYI9vb29v8I9v/2///29vb29vb29vb29vb2 9vb29vb29vb///////////////////////////////////////////////// //////////////////////////////////////////////b2CAcHCPb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////9ggHBwdSAAAAAABS SUlJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFII//b29vb29vb29vb2/wdSUlJS mwj2CAf3B/////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2tmVttr/29vb2 9rZlbbe/9vb2v25td7dlbrdubWVuv79tdr9ubrdubm6uv/b29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////29vaknKSkCPb2CAikpKT39vYIBwj3nKT39vYHBwek pKQH//////////////////////////////////////////////////////// //////////////////b29vb29vb29vb29vb29ggICAgIBwcHCPb///////// //////////////b///b2///29vb/////9vb29vb///b29vb/9gf2////9vaj AElJUvf29vb///b/9qMRrP/2//8IUklSB/b2rFEH///29vb29vb/9vb29vb2 m1EH9v/29vb29vb29vb29vb29v/29vb3EFEQAKz29v/2//b2//8ICFtJ9wcA pPb29v/2///2//b2//b29vb29ggI9vb29vb/9v/29vb2//b29vb29vb29vb2 9vb29vb29vb///////////////////////////////////////////////// //////////////////////////////////////////////b2CAcHCPb29vb2 9vb29vb29vb29vb29vb29vb/////////////////////9vYICAikAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFII//b29vb29vb29vb29q1SUlJS 9/YIB/f39v////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2rm1utr/2CPb2 t21tt/b29vYIbiVut263t263bndubmVlbm5tt7dlt26uv/b29gj29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////29valnKSkB/b29gikpKT39vb2B/b3nKT39vYHBwek pKQH//////////////////////////////////////////////////////// ///////////////////29vb29vb29vb29vb2CPYICAgICAgHBwcI//////// ///////////////29v//9v/2////9v/2//b/9vb29vb2///2//cH///2/6RJ Uaz3o1EH///29vb//wdRW/b29v/2CFtJSaT2CFtJ9/b29vb/9v8I9v/29gdS APf///b/9v/29vb29vb29v/2//b29vb2owBRUaP2//b29v//9vb3Ukn39ghJ pAj29v/29vb/9v/29vb29ggHCKNSpPb29vb2//b/9vb29vb2//b29vb///b2 9vb29vb29v////////////////////////////////////////////////// //////////////////////////////////////////////b29gcHCPb29vb2 9vb29vb29vb29vb29vb29vb///////////////////////b2CAcHSQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFII//b29vb29vb29vb2CFtSUlJb B/YHB/f3//////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29va/bW2/v662CPb2 t2Wu9vb29va2bW1ud7duZWV3ZW5lbW5ubmW3tmW3v2W39vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////29vb3W6SkB/b2CPaknKSl9vYICAj3m6T39vYICAek pKQI//////////////////////////////////////////////////////// ///////////////////////29vb29vb29vb29vYICAgICAgICAcHCPb////2 9v/////29vb///b29vb29vb2///29vb29vb2//b2//b29vb29vcI//b//6NJ o/b/9veb//b2//b2//+kUQf2//b2//b3UgBbBwhbSVv3CPb/9v/2/wj3o0kR 9/b////29v//9vb29v//9vb///b29vb/CFtIEFH3//b///YI91pJSff/9vak AAf///b2////9vb29vb29qxSWlFRY/b29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29v////////////////////////////////////////////////// ///////////////////////////////////////////////2CAgHB/b29vb2 9vb29vb29vb29vb29vb29v////////////////////////b2CAcIpAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFII9vb29vb29vb29vb291JSUlL3 9ggI9/f2//b///////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29va/Za6/9vYHrra/ bmW/9vb2v25lbre3t25utre/v25lt79uZbe3Za6/bq6/9vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////29vb3W6SkB/b29vaknKSl9vYICAj3nKT39vYICAek pKQI//////////////////////////////////////////////////////// ///////////////////////29vb29vb29vb29vb29vYICAgICAgHBwj29v// ///2////////9vb29vb29vb29vb29vb2//b/9vb29/X/9v/2/60H9v/29vdJ rPb///akCPb/9v/2//YHAPf///b/9vb29vdJSaT3rABRWlujpKybo1IAAEla 9wcHCPb29vb2//////b2//b29vb///b2/wijUQBJW6z3rKRaSQCbCP/2//8H Upv29v//9vb////2//b29qNSUaxaWqMH//b/9v/29vb29vb2//b29vb29vb2 9vb29vb///////////////////////////////////////////////////// ///////////////////////////////////////////////29ggHB/b29vb2 9vb29vb29vb29vb29vb29v////////////////////////b29ggIB1IAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFII9vb29vb29vb29vb2rVJJUqQI 9gcH9wf///////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29va/Za6/9vb2CLeu bW63v7e3bW1uv7+3rmW/v2V3d2Vuv25lbrdlbva3Zbb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////9vYHm6SkB/b29vatnKSl9vb2CPb3pKT39vYICAik pKQI//////////////////////////////////////////////////////// //////////////////////////b29vb29vb29vb29vb2CAgICAgIBwcICPb2 //////b/////9v/////////////////////29vb3WlsI9vb29qT39v/2/whR W/b29v/39///9v/29vb2Sff29vb2////9vb291JRUlIAAElJSRBRAElSWqys rPespKSs9wf/9v/29vb/9v////b2//b2//b2B1oRSQpJSUlJW/f29vcH//b/ 9VFb9vb/9vb/////9v/29vdSY/a1WlGs9vb29v//9vb29vb///b29vb29vb2 9vb29v////////////////////////////////////////////////////// ///////////////////////////////////////////////29ggHB/b29vb2 9vb29vb29vb29vb29vb29v/////////////////////////29ggICKQAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFII9vb29vb29vb29vb2B6RbpAj2 CAf3B/b///////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29va/ba729vb29va/ bSV2bm1tZa639vYIrm63t25lbm5ubmVubm1uv7+urr/29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////8Hm6SkB/b29vb3nKSl9vb2CPYHpKT39vYICAik nKQI//////////////////////////////////////////////////////// ///////////////////////////29vb29vb29vb29vb29vb2CAgICAgHBwj2 9v////b29v//////////////9vb2//////YIY1pRWlGsCPb2/wdb//b2///3 Uff2//8H9///9vb/9v/2Uvf29v/29vb2///29v8Io6NSUlFRUlqjpAf29vb/ 9vb29vYI96RbpPf2///2//b///b///b////29vYHpFubo6QH9v//9qSs9v// 9vVSWqwI9vb29vb/9vb29qNaWqyjUWP39v/29v//9vb29vb///b29vb29vb2 9vb///////////////////////////////////////////////////////// ////////////////////////////////////////////////9ggHB/b29vb2 9vb29vb29vb29vb29vb29v//////////////////////////9ggI9gdSAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFsI9vb29vb29vb29vb29vYH9vb2 B/f3B/////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29va/rm2/9vb29vb2 ti12f3a2twj29vb2rre/biVuv7clbnduZW6/v7Zlt/b29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////8InKSkB/b29vb3nKSl9vb29vYHpKT39vYICAil nKT2//////////////////////////////////////////////////////// ////////////////////////////9vb29vb29vb29vb29vb29ggICAgIBwgI 9vb////29vb/////////////9vb2//////a1Wlpao1paUgj29vakpP////b/ B1sH9vb3B/b2//b///b2Uvf/9/b/9v8HpAj/9v/29vcIBwgICPb2/wj2//b2 9v////b2///291tSrAj2//b29vb/////9v//9v/29v/29vb///b2/6xJrAf2 B1v396yk9wj///b///b2CKNSUVpaYwj29v/29v/29vb29vb2//b29vb29vb2 9v////////////////////////////////////////////////////////// ////////////////////////////////////////////////9ggHBwj29vb2 9vb29vb29vb29vb29vb29v////////////////////////////YI9gj3SQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFsI9vb29vb29vb29vb29vb29ggH B/f39v////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIt2W29vb29vb2 v3Z2v/b29vb29vYHrr+/v26/t2Vuv3dubr+/t22u9vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2pKSkB/b29vb3nJyt9vb29vYHpKT39vYICAil m6T2//////////////////////////////////////////////////////// ///////////////////////////////29vb29vb29vb29vb29vb2CAgICAgI CAj29v////////////////////////////YIY1ms9qxRUQf29vb2Wwf29v/2 //b29v+sCPb2//b/9vb2Wgf/UqMH9vakAFr39Qj3W6T2//b2//b29gf3B//2 //b29v////b29v/1UlL39v//9vb///////b2//b///b2///29v//9ghaAFJS Uvf/9vb29vb29v//9v/29gistVoRrPb29vb/9vb29vb29vb///b29vb29vb2 //////////////////////////////////////////////////////////// ////////////////////////////////////////////////9ggHBwj29vb2 9vb29vb29vb29vb29vb29v////////////////////////////b29ggIWwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFv29vb29vb29vb29vb29vb29gcH B60I//////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2v21tCPb29vb2 9rZtbr/29vb29va3br+/v25ubm5ubiVut/a/ba329vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2pKScB/b29vYHnJyt9v/29vYHpKT39vb2CPat m6T2//////////////////////////////////////////////////////// ///////////////////////////////29vb29vb29vb29vb29vb2CAj2CAgI BwcICPb2//////////////////////////b2tVpatGNatfb29v/2CFr3//b/ //b29qQH//b2//b29vYImwj2UgBaCPYIWgAQUVFJWvb/9vb/9vb/9v8Im/f/ 9vb///b29v////b/9qRSWwj2//b29v//9v/29v/29vb29vb/9vb2///2pFJS 9/b2B/b////////2//b2//b29gi1CPb29vb29vb29vb29vb///b29vb29vb2 //////////////////////////////////////////////////////////// ////////////////////////////////////////////////9vYIBwf29vb2 9vb29vb29vb29vb29vb29v////////////////////////////b29gj291IA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJv29vb29vb29vb29vb29vb2CAcH 9wf///////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29rdttgj29gj2 9vYHrm22v78I9r9ubr+3bWVtZW4lbiUlv79lbb/29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2pKSbB/b/9vYHnJyt9v/29vYHpKT39vb2CPb3 m6T2//////////////////////////////////////////////////////// ///////////////////////////////////29vb29vb29vb29vb29vb2CAgI CAgHCAj29v////////////////////////b2YxFaWhFaCPb29vb/9vb3m/cH Bwf1mwf2//b29v/2//b3rP/29wBJUawICPejUUlSCP//9vb29vb2/wj/CFsH //b29vb2//b2///2//8HWlL3///2//////b///b29vb29gj3B/b/9vb2//da 9vZbUaz2//b29vb////29vb29vb29vb29v/29vb29vb29vb/9vb29vb///// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////9vYIBwf29vb2 9vb29vb29vb29vb29vb29v//////////////////////////////9gj29qQA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJv29vb29vb29vb29vb29vb2Bwf3 pf////b///////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29r+ubbf29vYI 9v/2CL+2ba6tra5lbna3t2VuZW5uJW53t25tv/b29vb29gj29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////291ukB/b/9vYHnKSk9v/29vYIpJv39vb29vb3 m6T2//////////////////////////////////////////////////////// //////////////////////////////////b29vb29vb29vb29vb29vb29ggI CAgICAgICPb2//b/////////////////9vb296StrFqb9vb29vb29vb29gf3 pPcH9v//////////9vb3CPb29qQAERBRWlpSUVIH//b/9v/29vb2///2//dS 9v/2///29vb29vb29vb29ptJB/b/////9vb/9vb29vb2tayjCP/2//b2/6Ra 9vZaSVIH9v/2//b29vb29vb29vb29vb29vb29vb29vb29vb29vb2//b///// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////9vYIBwcI9vb2 CPb29vb29vb29vb29vb29v//////////////////////////////9vb2CAhS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKT29vb29vb29vb29vb29vYIB/f3 CP////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYItq2uCPb2 9vb29vb29ggItmW2v7+/bmVut7dlbrdubm239vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////291ukB///9vYHnKSk9v/29vYIpJv39vb29vb3 m6T2//////////////////////////////////////////////////////// ///////////////////////////////////29vb29vb29vb29vb29vb29vb2 CAgICAgICAj29v////////////b2//////b/9vb29ggH//b29vb29vb29vb2 ////9vb/////////9vYH9vb2/wj3WlFJABBRo/f2//8I//b29v/29vb2//ZS 9//29vb///b29vb29vb29vabSQf/9v/////29vb29va0YmOkCP/2//b/9qRS B/b2pFL2//b/9v/29vb29vb29vb29vb29vb29vb29vb29vb///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////b2BwcI9vb2 9vb29vb29vb29vb29vb29v////////////////////////////////b29ggH SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKT29vb29vb29vb29vb2CAgHrfcI //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2CLeurgcI 9vb29vb29vb2v7a3v7dlZW6/v25tt79ubW4I9vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////B5ukB///9v8InKSk9v/29vYIpJv39vb29vb3 nKT2//////////////////////////////////////////////////////// ///////////////////////////////////////29vb29vb29vb29vb29vb2 9vYICAgICAgICPb29v//////////////9vb2///////29vb29vb29vb2//// ////////////////9ggI///2////CAespKz3CP/29v/2CAf3BwcH///29v+b m/b/9vb29vb29vb29vb29v/2W1IH///29vb29vb1raxiYqytB///9v/29gdS W/cIpPf/9vb29v/29vb29vb29vb29vb29vb29vb29vb29vb///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////b2CAcI9vb2 9vb29vb29vb29vb29vb29v/////////////////////////////////29vb2 9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvf29vb29vb29vb29vYICAf39wf2 //b///////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29va3tq2t tra3v7+/v7+/t7a2tmVubna/bmVuv79tbrf29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////B5ucB///9v8IpKSk9v/29vb2pJv39v/29vb3 pKT2//////////////////////////////////////////////////////// ////////////////////////////////////////////9vb29vb29vb29vb2 9vb29vYICAgICAj29vb////////////29vb2//b29vb29vb29vb29vb29vb2 9vb2////////////9vb2///29vb2////9v//9vb29v8I9wcI9gj39vb29vas Wvb////29v/29vb29vb29vb/CFKj9vb///b2CAdjYmNrYrUICPb2//b2///1 W1JS9/b29v8I//b29vb29vb29vb29vb29vb29vb29vb29v////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////b2CAcH9vb2 9vb29vb29vb29vb29vb29v//////////////////////////////////9vYI 9vcAAAAAAAAAAAAAAAAAAAAAAAAAAAAASff29vb29vb29vb29ggIB/f3CPb2 9vb///////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29gi/ v7a2tra2tra2tre/v7a3v25uZW53v2Vlv7/29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////B5yb9///9v/2pJyk9v//9vb2pJv39v/29vb3 pKT2//////////////////////////////////////////////////////// ////////////////////////////////////////////9vb29vb29vb29vb2 9vb29vb29ggICAgI9vb29vb/9vb/////////9vb///b2//b29vb29vb2//// //////b/////////9v//9vb29v/29v//9vb29vb/9vb3B//2CPYH9/b/9vb3 Uvb/9v/29v/29vb29vb29vb2/wdR9/////b2CPdjYqysrAgICP//9v//9v// CAf2//b2//b2//b29vb29vb29vb29vb29vb29vb29vb///////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////2CAcHCPb2 9vb29vb29vb29vb29vb29v////////////////////////////////////b2 9vakAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgf29vb29vb29vb2CAgH9/cH9v// //b///////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29rdttm1uv7+3bmVtv/b29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////CKSb9//////2pKSk9vb/9vb2pJv39v/29v/3 pKT2//////////////////////////////////////////////////////// //////////////////////////////////////////////b29vb29vb29vb2 9vb29vb29vb2CPYICAgI9vb2///////////29vb29vb29vb29vb29vb2///2 9vb2////////////////9vb29v/29v/29vb2/////wcH//ak9//2rP//9v+k W/b/9vb/9vb29vb29vb29vb2//abUvb29vb29vViWqu0qwgI9vb29vb29v/2 ///2//b/9vb/9vb29vb29vb29vb29vb29vb29vb2//////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////29ggHCPb2 9vb29vb29vb29vb29vb29v/////////////////////////////////////2 9vb2pAAAAAAAAAAAAAAAAAAAAAAAAAAAUgf29vb29vb29vb2Bwf39wj2//// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vaubm1uv7dubreutwj29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9qSb9/////b2pKSk9vb/9v/2pJv39v/29v/3 pKT2//////////////////////////////////////////////////////// ///////////////////////////////////////////////29vb29vb29vb2 9vb29vb29vb2CPb2CAgICPb29vb////29vb29vb29vb/9vb29vb29vb29vb/ //////b///////////b2///29vb2///29v//9vb2/6wI/whb9/YHm/b2//9S o///9vb/9vb29vb29vb29vb/9vb2Sff///b2CLVjYmNjrAgICPb/9vb/9vb2 //b/CP//9vb29vb29vb29vb29vb29vb29vb2//////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////9ggHCPb2 9vb29vb29vb29vb29vb29v////////////////////////////////////// 9vb29qQAAAAAAAAAAAAAAAAAAAAAAAAAWwj29vb29vb2CAgH9/f39vb////2 9v////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29va/tm63tq5urr+ut/b29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////9qSb9/////b/pKSk9vb/9v/2pJv39v/29v/3 pKT2//////////////////////////////////////////////////////// ///////////////////////////////////////////////////29vb29vb2 9vb29vb29vb29vb29vYICAgICPb29vb/////9v//9vb/9vb29vb29vb2//// 9vb2///////////////2///29vb/9v//9v/29v/29vcH//akUfdbpP/2/whJ 9/b2///29v/29vb29vb29vb2//b/o1v29vb29giso6NiY7UICPb2///2///2 //b2//b2//b2//b29vb29vb29vb29vb29vb2//////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////9vYHCPb2 9vb29vb29vb29vb29vb29v/////////////////////////////////////2 //b29vb3SQAAAAAAAAAAAAAAAAAAAAAApPb29vb29vYICAf39wf2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb2tra/rreurreuv/b2CPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////eb9/b/9vb/95uk9vb/9v/2pZv39v/2//YH pPf2//////////////////////////////////////////////////////// ////////////////////////////////////////////////////9vb29vb2 9vb29vb29vb29vb29vb29vYICAgI9vb2///////29vb///b29vb29vb///// //////////////////////b29vb29vb29vb29vb/9vcH//YIUklb9vb/9ltS CPb/////9vb29vb29vb29vb2//b/B1L29vb29vb2CPVjY2Os9vb2//b29vb2 ////9vb29vb29vb29vb29vb29vb29vb2//////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////9vYIBwj2 9vb29vb29vb29vb29vb29v////////////////////////////////////// ///29vb2CFJJAAAAAAAAAAAAAAAAAAAK9/b29gj2CAgH9/f3CPb///////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb2trb2v663v65lv/b29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// /////////////////////////web9/b/9v/296Sk9vb/9v//95z39vb2//YH nK32//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////29vb2 9vb29vb29vb29vb29vb29vb29vYICAj29vb29v//////9vb2////9vb2//// ////////////////////9vb29vb29vb29vb29vb2//f3///29gf2///2rFKs 9vb/9vb29vb29vb29vb29v/29v/2CFII9vb29vb29vaso6P3///29vb29vb2 ////9vb29vb29vb29vb29vb29vb29vb///////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////YIBwf2 9vb29vb29vb29vb29vb29v////////////////////////////////////// ///29v/29vakSQAAAAAAAAAAAAAAAABJ9/b29ggIB/f39wcI///2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb2rrf29q63v7+uv/b29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// /////////////////////////web9/b////295uk9vb/9v//95v3///29v8H m6X2//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////b2 9vb29vb29vb29vb29vb29vb29vb2CAgICPb29vb///////b2//////////// ////////////////////////////9vb29vb29vb2/wj3B/b2////9vasUqT/ ////9vb29vb29vb29vb29vb/9v//CFsH9vb29vb29vb2CKz39v////b29vb2 ////9vb29vb29vb29vb29vb29v////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////YIBwcI 9vb29vb29vb29vb29vb29v////////////////////////////////////// ////////9vb2B6RJAAAAAAAAAAAAAABSB/b2CAgHB/cH9vb///////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vYIrbf29q639r+uv/b29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// /////////////////////////wik9/b///b/B5uk9v/29v/295v3///29v8H pKX2//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///29vb29vb29vb29vb29vb29vb29vb2CAj29vb29vb////29vb2//////// //////////////////////////b29vb29vb29vb/CPb2Bwj2CAgI96Nb9//2 9vb29v////b29vb29vb29vb/9v//CFsI9vb29vb29vb29ggH9vb/9vb29vb2 ////9vb29vb29vb29vb29vb29v////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////2CAcI 9vb29vb29vb29vb29vb29v////////////////////////////////////// ////////9v/29v8IpFIAAAAAAAAAAACbCPYIBwgHBwj2//////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vYIrQgIv6639r+uCPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////b3B/////b/9vf39v/29v/2B6QH9v//9v8I pff2//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////b29vb29vb29vb29vb29vb29vb29vYICPb29vb29v//////9vb2//// ////////////////////////9vb29vb29vb29vb///b2CAf396ykrAf///b2 9vb29v//9vb29vb29vb29vb2///2CFL29vb2///29vb29v/2////9vb29vb2 9v//9vb29vb29vb29vb29vb29v////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////2CAcH CPb29vb29vb29vb29vb29v////////////////////////////////////// //////////b2//b2//YHpFtSSQAAAACkCPYICPb29v////b////2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vYIrQj2v6639r+uCPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ///////////////////////2//8I9v//9v///wgI////9v//9vcI9v/29v/2 Bwf///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////9vb29vb29vb29vb29vb29vb29vb29vYICPb29vb29v/////2//// ///////////////////////29vb29vb29vb29vb2//b2///2CAj2//b29vb2 //b29vb29vb29vb29vb29vb/9vb/rKT2//b29v/2///29vb2//////b29vb2 9v//9vb29vb29vb29vb29v////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////29ggH CAj29vb29vb29vb29vb29v////////////////////////////////////// ///////////29v//9vb///YIB/f3pKQH9vb29vb////////////2//////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29va2rQj2CK639r+29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// ////////////////////////////////////////////9v////b2///2//// 9vb///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2//////// //////////////////////b29vb29vb29vb29vb/9vb///b29v/2///2//// //b29vb29vb29vb29vb29vb/9gj2m/b2///29vb29vb29v/2////9vb29vb2 9v//9vb29vb29vb29vb///////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////9vYI Bwj29vb29vb29vb29vb29v////////////////////////////////////// //////////b////2//////////////b2//////b/9v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29va2tgj2v60H9r+uCPb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////b///b////29v/////2//b/9v/2//b///b/ ////9v////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////9v//9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2//// //////////////////////b29vb29vb29vb29vb29v//9vb/9vb/9vb29vb2 9vb2///29vb29vb29vb29v/2//b39/b/9vb////////29v/2//b/9vb29vb2 9vb29vb29vb2//////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////YI BwcI9vb29vb29vb29vb29v////////////////////////////////////// ///////////29v//9v//////////////9v////b/9v////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vYICPb2v60I9r+u9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 ////9vb29vb2//////b29vb29vb2//////////b////////29vb29vb29vb2 ////////////////////9vb/9gcH9v/29vb29vb29vb29vb29vb29vb29vb2 9v////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 CAcH9gj29vb29vb29vb29vb///////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2tq729ra39vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb2//////////b29vb29vb2////9vb29v////////////////////////// 9vb29vb29vb29vb29vb29vb/9vb29v/29vb29vb29vb29vb29vb29vb29vb/ //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// 9gcHB/b29gj29vb29ggI9vb///////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2B7b29q629vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////b29vb29vb29vb29vb29vb29vb29vb2 CPb29vb29vb29v/////////29vb29vb29vb29vb29vb29v////////////// 9vb29vb29vb29vb29vb29vb29vb///b29vb29vb29vb29vb29vb29vb2//// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //YHBwj29vb29vb29ggI9vb///////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb2CAj29rYH9vb2CPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29v/////29vb2//////b29vb29vb29vb29vb29vb29vb2 ///////////////////////29vb29vb29vb29vb29vb29vb29vb29v////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //YIBwcH9vb29vb2CAgI9v////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29gj29ggI9vb2CPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29v//9vb29vb////29vb///////b29vb29vb2 ////////////////////////9vb29vb29vb29vb29vb29vb29vb///////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///29gcHBwf29ggHBwcI9v////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29gj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////b29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb////29v////////////////// //////////////////////b///b2//b29vb29vb29vb29vb///////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////YIBwcHBwcHCPb2//////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////b29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb///////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////29ggHBwcI//////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vYI9vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////b29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb///////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////9v//////////9v////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////9vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29v////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb///b29v////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb///////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////b29vb29vb29vb29vb29vb29vb29vb29v////////// 9vb///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggICAgI CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI CAj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CAgICAj29vYICAgICAgICAgI CAgICAgICAgICAgICAgICAcIBwcHBwgICAgICAgIBwgICAgICAgICAgICAgI CAgICAgICAgICAgICAgI9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vYI9ggICAgICAgICAgICAgICAgICAgHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcICAgICAgICAgICAgICAgICAgICAgICPb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vYI9ggICAgICAgICAgICAgICAgICAgHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHB/f39/f39/f39/f39/f39/f39/f3BwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcICAgICAgICAgICAgICAj29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 CAgICAgICAgICAgICAgICAgHBwcHBwcHBwcHBwcHBwcHBwcH9/f39/f39/f3 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f39/f39/f39/f3BwcHBwcHBwcHBwcHBwcHBwcICAgICAgICAgICAgICAgI 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggICAgI CAgICAgICAgICAgHBwcHBwcHBwcHBwcH9/f39/f39/f39/f39/f39/f39/f3 9/f39/f3pKSkpKSkpKSspKSkpKSkpKSkpKSkpKSkra2tra2tra339/f3962t 9/f39/f39/f39/f39/f39/f39/f39/f39wcHBwcHBwcHBwcHBwgICAgICAgI CAgICAj29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ggICAgICAgICAgI CAgIBwcHBwcHBwcHBwf39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 9/f3BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH9/f39/f39/f39/f3 96SsrKytrPf39/f39/f39/f39/f39/f39/f39/f39/f39/cHBwcHBwcHBwcH BwgICAgICAgICAgICPb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vYICAgICAgICAgICAcHBwcH BwcHBwcH9/f39/f39/f39/f39/f39/f39/f39/f39/cHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH Bwf19/f39/f3rKysrKysrPetra339/f39/f39/f39/f39/f39/f39/cHBwcH BwcHBwcHBwgICAgICAgICAj29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29ggICAcHBwcHBwcHBwcHBwcH 9/f39/f39/f3raz39/f39/f39/f3BwcHBwcIBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH7fftB/Xt 7fX39/f19e339fXt9/f39/f396ykpKykpKSspKysrPf39/f39/f39/f39/f3 9/f39wcHBwcHBwcHBwgICAgICPb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYICAgHBwcHBwcHB/f39/f39/f3 9/f39/f39/f39/f39QcHBwcHCAcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH7e0H7e0HB+33 7e3t9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3pKSkpKys9/f39/f3 9/f39/f39/f39/f39wcHBwcICPb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CAcHB/f39/f39/f39/f39/f3 9/f39/f1BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwf19QcH9e3t 9ff19ff39+339/f39/f39/f39/f39/f39/f39/f39/f39/f3rKykrKykpKSs 9/f39/f39/f39/f39/f3BwcHCAj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb2CAcHB/f39/f396yspPf39/X1 BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB/Xt7e3t B/f19ff37e339/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3rKz39/es pKSkpKysrKz39/f39/f39wcHCAj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vYIBwf39/ek9/f39/X1B/UHBwcH Bwf1BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB/X17e317e3t7e3t 7e317ff39/f39/f39/f39/f39/f39/f39/f39/f39/f396ys9/f39/ekpKSs 9/f396ysrKyspKSkrKyt9/cHCAj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CAf39/f39/f39+3t7e339/X19fX1 9fX1BwcH9QcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwft9fX1Bwft 9+339/ft7e339/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3 96ykpPesrKysrKysrKSs9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFis//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B/el9/f39/f39/f37e3t7e3t7e0H BwcHBwcHBwcHBwcHBwcHBwcHCAcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH BwcHBwgIBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwf1Bwf19fX1 9ff39+3t9+0H9/f39/f39/f39+339/f39/f39/f39/f39/f39/f39/f39/f3 9/f396ysrKysrPf396ys9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPek9/f39/f39/f37e3t7fX1BwcH 9Qf19/UHB/X19QcHBwf19/f39QgHBwcHB/X1BwcHBwf19fX19QcHBwf19fX1 BwcH9fes9QgIBwcHBwcHBwcHBwcHBwf19fUH9e31Bwf19ff39fX19fX39/f1 9fX37fX3rKz39fX39/f39/f39+3t9/f39/Ts9/f39/f3rPft7ff39/f39/f3 9/f396ysrKysrKysrKSk9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CKysrPf39/f39/f39+3t7fXtB/X1 9QftWaMIB/WaowcHB/WjoqFZouwIB+4H9aKh9QgHB/WiWaJZowcHB6yZopqa Bwf1o6JZoasIBwcH9QgHBwcHBwcHBwesWfMJo5r3Bwf0oaGhmqMH9ayiWaGi CO0H9KuhoaKiq/T19+2jmfP0oqL39/f3rKGq9/f396OioqKi9fes9/f39/f3 9/f396ysrPf39/esrKyk9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WVGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CKz39/f39/f39/f39+3t7fXtB/X1 9Qftoqr19fSio/X19aKioqqqWaLsBwcHCKGh9QcHB/Wioaqrq/UHCKyhqqvs Bwf3mqvzoaL1BwcHB/UHBwcHBwcHBwirofPzoaP1Bwf0oamqq/cH9Zqis6qh qwftq6Ghqqqhoav09fejofOqoaP39+33pKGq7Pf396OiqqKZq/f39/f39/f3 9/f396ys9/f396ysrKyk9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPf39/f39/f39/f37e3t7e3tB/X1 9Qf1oaoICPSiovUJ7Jmr9QgJq6GiCAcHCKGp9QcHB/WiovQJ9QgHB6yh8wgH Bwfu9wkJqqL3BwcHBwcH9fUIBwcHBwiroaqqovT1Bwf0oasJCAf1B6P0CfOh ovWsoaHz9PX0maLs9fejoaqhquz1rPfupKGq7Pf396ur9POZo+3tpPf39/f3 9/f396ysrKysrKysrKykrfcHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPf39/f39/f39/f39+3t7e3tB/X1 9Qf1War19fOhovUIoqL09QgI9aGh9AcHB6Kh9QcHBwiiovP09QgHB6ui9AkH BwcHCPX0oqL1BwcHBwikmqQHBwcHBwiroaGhqgkHBwf0oar09PX1B/X19KtZ qwisoar09Pf3q6Gr9e2joaGhqvX1rPf3pKGq9/f39+z086uio/f3pPf39/f3 9/f3rKysra2tpaysrKykrfcHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPf39/f39/f39/f39/f39/fuBwf1 9Qf3YaGiWqGhqvUIWqL0Bwf19aqp8/UHB6Fh9AgH9fWjoaJZovUHCKthswj1 BwcH9aJgYar1BwgHBwiso6wIBwcHBwirYaGhYasIB/X0oqFhWasH9fSrYaGi tPWjYar09/f19GGi9fejoaGhoqz1rPf3o6Gq9/es96yrYaKirKys9/f396ys rKysrPf39/f39/f3pPek9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPf39/f39/f39/f39/f39/fuB/X1 9Qf3YaKro6qhqvX1q6H0CAcI9alh9PUHCGFh9QcH9fWioaurrAcHCKthswgH Bwj1WqKq8/QI9QcHBwcI9QcIBwcHBwirYfP0oaL19fX0oaqrq+z19aKioar0 9Aesoar19ff1q2Gr9fejorKzoqKs9/f3rGGq9Pf396Nioqqr9ays9/f3rKys rKysrPf39/f39/f3pPek9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WFms//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPf3rPf39/f37e3t7ff39+3tB/X1 9Qf1WaoI9fShovX191qj9QgIq6Gi9QcHB6GiCAcHCAiiovQICAgHCKyi9AgH Bwf1Wqv0CfUIBwcHBwcHBwcHBwcHBwirofMJqqL1Bwf0YasICPX19Zqi9PX0 9ff3oqHz9PX0oqKr9fejorP0oqL39Pf3rKGq9Pf396Oa6/Ts9fesrPf39/f3 9/f396z39/f39/f3pPek9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WVGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPf3rPf39/ft7e3t7e3t7e3t9fX1 Bwf1maL19fSZovUI9aOaq+yioqL0Bwf3q6Gho+0HB/Wimqur9wcHCKyZ7Aft CAf1mqL0q6v1BwcHBwcHBwcHBwcHBwfsmaqrmaL1Bwf0mqKrrPf19aOarPSj 9e4Ho1miq6uioqvs9fejmqqrmaP19ayko6Gi7Pf3rKOaq/SrrPf3pPf39/f3 9/f39/f39/f39/f3pPek9/f3Bwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WVGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPf3pPesrPf37e3t7e3t9+319fX1 9fX1mqP1CPSio/UHB/WjmlmZovcHBwejmpmiWqMHB/Wjolqao+0IB6yiqwgH BwcH96JZmav1BwcHBwcHBwcHBwcHBwf3olmZo/cH9Qf3o5qaoqMHB/ejWlmj rO7u7auiWVmiq+zt7fejmpqaoqzs96SbWpmZmqT396yjWlqipPf39/f39/es rKz3rOzsrKyspKSk9/ek9/cHBwgI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIq1hYWGFY UFGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPf3rPet9/f37e3t7e3t7e319fUH Bwf19/UHB/X37QcHBwf19PT09QcHBwf19PT09fUHBwj19fX19QcHB/X1CAcH BwcH9fXs7PUHBwcHBwcHBwcHBwcHBwf19fX19fUH9Qf19+z09PX1B/X3rKz3 9e3t7e3sq6us9/X17fX37Oys9/ft9/esrOysrPf39/esrKus9/f39/f39/f3 9/f39/f3rPesrKyspKyk9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2olhYWGFY UVGs///2//////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2B/ekpK2t9/f39+3t7e3u7u3t7Qfu 7gcHBwcH7gcHBwfuBwcHBwf1BwcHBwcHCAgHCAcHBwcHBwgHBwcHBwcHCAcH BwcHCAgICAgHBwcHBwcHBwcHBwcHBwcHBwgIBwcHBwf19fX19fX19fX19fX1 9ff37e719fXt7ff39/f39/ft9/f39/f39+339/f39/f39/f39/elpff3pPek pKWlpKSsrKykpKSk9/ek9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIolhYWFlY WVGs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CPetra2tra2tra6urq6urra2tra2 tra2tra2rra2t7cHBwcHBwcHtge2BwcHBwe2B7a2BwcHtra2Bwe2Bwe2tgcH BwcHBwcHCAe2tgcHBwcHtwcHBwe3twe2trYHtra3tra1tba1rbW1tba2tra1 tbW1rq6urq6urq6tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2t ra2tra2tra1tbW2traSk9/cHBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYWGFY WVGs9vb2//////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb2CLa1tnZ2dnZ3d3d3d3d3d3d2dnd3 d3d3dnd3d3d3d793f393d3d3f3d/v79/f39/d3d/f39/f393f3d3v39/f3d3 v3d3v793d3d3f793d3d3d39/f393d3d3d39/f3d3d3d3d3d3dnd3d3d3d3d3 d35+dnd3d3d3d3d3dn52dnd2d3Z3dnZ2dnZ2dnZ2d3Z2dnZ2dnd3dnZ2dnZ2 dnZ2dna2dnZ2dnZ2tq2srfcHBwgI9vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIo1hYUGFY WFCs//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29r+2v39/f39/f39/f39/f39/f393 d39/f39/f39/d393f39/f3d3f39/f39/f39/d39/f39/f39/f3d/f3d/f39/ f3d/f39/f39/f39/f39/f39/f393d39/f39/f393f39/f39/f39/f39/f39/ f39/f39/f39/d39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/ f39/f39/f39/f39/v7Zkra0HBwj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2o1hYUGBY WFms9vb///////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////b29vb29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29gi3v39/f393d3d3f39/f39/f393 d3d/f393d39/d3d3f39/f3d3d39/f39/f39/f39/f393f3d3f3d/f3d3f39/ f3d3d3d3d3d/f39/f39/f39/f39/f39/f39/f39/d39/d39/d39/f39/d3d3 d3d3f39/f39/f39/d393d39/d3d3d39/f3d3d3d3f39/f39/f3d/f39/f39/ f39/d3d3f38/P39/v7ZkrfcHCAj29vb29vb29vb29vb29vb29vb29vb29vb2 9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vYIolhYWGBY WFBZo6KjoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKjo6KioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioqKioqKioqKjo6JiYmNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj Y2NjY2NjY2NiYmJiYmJiYmNiYmJjY2JjW2Rktr5/f3d3d3d3d3d/f3d3dnd3 d3d3dn9/d39/d3d3d3d3d3d3d3d3d393d3d3d3Z/dn92f3d3f3Z2d3Z/d3Z+ f39/d3d3d3d3dnZ+fnZ3dn5+dnZ3d3Z3f352d3d3d393dnZ/f392dnd3d3d3 d3d3d3Z+fn92dnd3d3d3d3d3d3d3f392dnd3f3d3d3d3d3d/d3d3d3d3d3d3 d3d3d3d3d3d3d3d2vmxaWlpaWlpaYmNiYmNjY2NjY2NjY2NjY2NjY2NjY2Nj Y2NjY2NjY2NjY2NjY2NjYmJiYmJiYmJjY2NjY2NjY2NiY2NiY2NiWVBYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBQUFBYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUVliq6ura2tsbGxsbGxsbGtrbGxs bGxsbHNzc3N0bKxsbGxsbGxsdGxsdHRsbGxsbGxsbGxsbGxsbGxsbGxsbGu0 bKxstHRsbGxstGu0a3O0a7S0a2xsbHRzc2tsbGxsbGu0c3NsbGtsbGxsbGxr a2xsbGxsa2tsbGxsbGxsbGxsbGxsbGxrbGxsbGxsbGxsbGxsbGxsbGxsbGxs bGxsbGxsbGxsbGxra2JZEFBQUFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlZYWFhYWFhYWFhYWFhYWGhYWFh YWFhYWlpaWmhoaFhYWFhYWFhaWlpaWlpaaqqqampqampqampqampqampqamp oaqpqWFqoqKrq2FgqmGqYqphYqpiYmlhqqpiYmJiomJhYWFhqmKiYWFiYmFh YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFZWVlZWVlZWVlZWVlZWVlZWVlZ WVlZWVlZWVlZWVlZYVlYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYYGBgYGChoaGhoaGhqQYGBgap qamoqampqampqampqampqampqaioqKioqampqKioqKioqKioqKioqKioqKip qampqamqqqKqYamyqqqqoqqqqqqqqqqqqaGhoquiYWGqqWFhoqqpqWFhoaFh YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYGBgYGBgYGBgYGBg YGBgYWFZWVlZWVlZWVlYWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBgYGBqioqKio qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKmoqan0CQkJ9KGhogkJCfRZovSrWKH086H0CQkJq2H0s1miqwmpqaiooaGh qAYGBmBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYFhYWFhYWFhZWVlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGqKioqKioqKio qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKioqKkJ66Ki/6qhCQmi9AmioQnzovQJ6qoJ66L1CVn1Caz3CAmhBqioBgYG qKioqKioqAaoBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYFhYWVhYUFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBgYGBqioqKio qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqOio6KjoqOio6KjoqKio qKioqKkJ7KKrCaqhCauhqgnrogn09P/rWKrso+v1CZqr/wgH/+yhoaioqAao qAYGBgYGBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBgYGBgYGBY WFhYWFhYWFhYWFhYWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJgGBgYGBgYGBgYGBgaoqAYGBqio qKioqampqamoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKioqKEJ/wgJ9aKrCOxYqv+jWQkJCAgIo6KrCQn0q5mi9febCaOhoagGBgao qAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgahoQYGYGFhYGBh YGBgYGBgYGBgYGBgYGFYWFhYUFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJihBgYGBgYGBgYGBgYGBgYGqKio qKioqampqaioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKmo qKioqakJo6OrCaGiCKyhqQmsogmrUpv/q6IJ9Fmzq6Gh9PX1CZqhoaEGBqio qAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGWFhYWFhYWFhY WFhYWGBgYGBgWFhYWFhYUFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFihBgYGBgYGBgYGBgYGBqioqKio qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKmp qKioqLIJ9ewJCamqCOsGsQmroQkJ9PX2q6EJ9bMJ82CpqQkJ66GpBgYGBgYG qAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBYWFhYUFBYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBgYGBqioqKio qKioqKioqKioqKioqKioqLCoqKioqKioqKioqKioqKioqKioqKioqKioqKip qKiwqKnz9fTz86ip9KqoqfOqqfP09PXrqqGq9PSzoaqhBvP0qgaoqKioBgYG BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYFhYWFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBgaoqAaoqamp qKioqKioqKioqKipqamoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKiwqKipqqqpqKioqamoqKmpqKipqaEGqamioqKiWllhoWGhoamoqKioBgYG qKgGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBYWFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBqioqKgGoQah qaioqKioqKioqaGhoampqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKiwqKioBqmoqPCwqKioqKmoqKioqPGpqAaqopmio1pRUFlZoaGoqKioBgao qKgGBgYGBgYGBgYGBgYGBgYGBgZgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBYWFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYUFBQUFBQUFBQWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBqioBqGhoZhY mKGpqKioqKihoaKZUJipqaioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKiosLCoqenpqLCoqKio6aio8LCoqKioqKmq9An///YIB5sAmqGhqKioqKio qAYGBgYGBgYGBgYGBgYGBgYGBgZgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgWFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFBQWVqj9QgI9auiWVBQWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBgaoBqHr9PSi maGpqKioqAah6/T0opmhqaioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKioqKioqKioqKioqOioqKioqKioqPCoqPMJ///2///2//b3SJqhqKioqKgG BgYGqKgGBgYGBgYGBgYGBgYGBgZgBmAGYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYUFBhqwj2//////b2rKJYUFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBgYGBqEI///0 mqGhqKioqAbzCf//9KKpqaioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKioqKioqKixqKiwqKipqaioqKioqKioqQn///b29PQJ////nFGhBqioBgYG BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgZgBmBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFmz9v////b2//////RaUFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJgGBgYGBgYGBgYGBgYGBqII///3 WaGpqKioqKr1//8J66KpqKiwqKioqKioqKioqKioqKioqKioqKioqKioqKio qKmoqKioqKioqKiwqKioqLCoqKmpqKip8gn///Wiqalg9f//9lFZBqioBgYG BqGhoVlYWFhZoaGhoQYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBYWFhYUFBYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWVBYWFhYUFlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhYWFhY WVlZWFhYWFhYUFhYWFhYWFhYWFhQWFhYWFhYWFhZUFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhZWFBYWFhYWFhYWFhYWFhY WFhYWFhYWVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBYWFBYWFhYWFhYWFhY WFlZWFhYWFhQWVhQWVmz//b2CPX1CPb///b1UVFYWVhYWFBQWFhYWFhYWFBY WFhYWFhYWFhYUFhYWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFhYUFhYWFlQWFhY WFhYWFhYUFhYWVlZWFhYWFhYWFhYWFhYWFhYWFBYUFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBYWFhYWFhYWFlZ WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBgaoBqv2//+j mamoqKioofT////0mampqLGoqKiosaioqKioqLCoqbGoqLCoqKmpqKioqKio qKioqKioqKioqKioqKioqaio8aioqKio8fIJ86GhqaipoQj//6NZoagGqKkG oVmamlqaWlJRUVBZoaEGYAYGYGAGBmAGYGChYGBgYGBhYGBgYGChWAZYoVhg YGBgWFhgBlhgWGBYWVlYUFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYUFhYWFhYWFhYWFhYWFhYWFBYWFhYWFhQWFhY WFhYWFhYWFhQUFlYWFhYWFlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBYWFhY UFBQWFhYWFhYWFhYWFhYWFhZWFlYWFhYWFhYWFhZWVhYWGBYWFhYWFhYWFhY WFhYWFhYWFhYWVlYWFhYWFhYWFhYWFhYWFhYWFhZWVhYWFhYWFhYWFhYWVBY WFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFBYWFhY WFhQWFhYWFBZUFlZWVBYswirUVFRUav2//8IWllYWVhYWFlZWFhYWFhYWVhY WFhYWFhYWFhZUFhYWFhYWVlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBYWFhY WFhYWFhYWVlYUFBQWFhYWFhYWFhYWFhYWVBYUFhZWVBYWFhYWFBYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQ UFhYWFhYWFhYWFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGqKgGBvT2//ai oaioqKipqgj///WhqfGpqKmpqbGoqKiosfGosKipqKjxqKioqampqaioqKip qamoqKioqaioqKioqampqaioBqipqLGoqKgGqKioqQapofT//6xQqakGBqGh oqP1CPb///YH91JQWWGhYKlgBqGhBqlgYKFgYKFgYGFhYGChoVhYYGBYWGBg BmBYWGFYYFhgWFhZWVlYUFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhZWFlQWFhYWFBQWFhYUFhYWFhZWVlZWFhYWFhYWFhZWVlYWFhY WFlZWFhYWFhYWVlYWFhYWFhYUFlYWFhQUFhYWFhZWVlYWFhYWFhYWVlYWFhY WFBZWFhYWFhQWFBQWFhYWFhZUFhYWFhYWFhYWFhZWVlYWFhYWFhYWFhYWFhY WFhYWVlZUVlZWFhZUFlYWFhYWFBQWFhQWVlYWFhQWFhZWVhYWFhYWFhYWFhY WFhYWFhYWFhQWVhZWVhZWFhYUVFRUFmi9v//rFlYWFhYWFFRWFhYWFhYUFhY WFhYWFhYWFlZWVhYWFhYUVBYWFhYWFhYWFhYWFlYWFBYWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQWVBYWVBYWVhYWFhYWFhY WFlYWFhYWFlQWVlZWFhYWFhYWFhQWFhYWFhYWFBYWFBZWFlYWFhYUFhYWFhY WFhYWFhYWFhYWFhZWVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFlYWFBQWFhYWFBYWVBYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGBqgGoQj//wia oamoqKip9P//9qOpqAapqqGhoaGpqaioqKioqKipqQapqKioqakGqamoqKip oampqampBqmpqKmpBqGhqqmpqakGqamhqampqampqaGhovf//6RZoQaooWGr CP//////9vb/9vasUVGiWWEGBqFZWKFgBmBgYGBgWWFZYWFZWaFhYGAGYGBY WFlZYVlZYVhYYGFYWFlYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlRUFFRUVFYWFhYWFhYWFhQWFhY WFBQUFlZUFlQUFlYWFhYWFBQWVhYWFhYWFhQUFBYUFhYWFhYWFlRUFhYWGBY WFBQUFhYWFhZUFlQUFhYWFBZUFlYWFhYWFhYUFhQUFBYWFhYWFhQUFBQWFhY WFlQUFhYWFhYWVlYWFhYWFBQUFlYWFhYUFBYWFlQUFBYWFhYWFhYWFBQUFhY WFhYWVlRUVBQUFBZWVFQWVhYWFhYWVlQUFBQWFhYWFBQUFlYWFhYWVlQUFhQ UFBYWFhYWFhYWFhZWFhQWFhQUVFRUFlaCP//9VhYWFhYWVFRUFhYWFhZUFFQ WFhYWFhYWFFQWVBYWFhQUVFZWFhYWFhYWFhYUFhZWVFQUVFZWVBYUFhYWFhY WFhYWFhYWFhYWFBQWFhYWFhYWFhYWVlYUFBQWFhYWFBYWFhYWVhYWFhYUFhY WFBYWFhYWFlRUFBQUFhYWFhYUFlQWVhYWFBYWFhZWVBZUFBYWFhYUFlYWFhY UFBYWFhYWFhYUFBQUFBYWFhYWFhYWFhYWVlYWFhYWFBQWFhYWFhYWFhQWVBQ WVBYWFhZUVBQWFhZWFhZUVBQWVBZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgYGqKgGoQj///VZ oaioqKmq9v//9KGpsamhoZlZUVCZqamwqKiwqalYWVhhoampoVhQWKGoqKlY UFChqqmhqlBQYKGhqqGZUFBZoamqoaFQWaKhoaFZUFCZmvf///dZoQYGofMI ///2CAgI9v//////9VJQoqEGYKFZmVBYoWChoVhZoVpRUFlaWVlYYWBYYFhZ WVlZSFFRWVlYYGBYWFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFBRWlqiWlpaYlBQWFhYWFhYWFhZ WVlaolpaolpRUVBZWFhYWaKiolBYWFhYWFhaoqOiWFhYWFhYUGKjmqJYWFhY WVlaoqJiWVlQWaKiYlhYWFiiWmJZWFhYWFhYWKKiollYWFhYUFlZoqKiollQ UKKioqJQWFhQUFhYWFhYWFmioqJZWFhYWFlYWaKiollQWFhYWFBZoqKiWVhY WFhYUFBaolpiYlFRWqKiollQWFhYUFlaoqKiWVBQUFmjoqJZWFhYWVhQUFlh o6JaWllQWaKiYlBYWFhYWVlZWqKiWVBRCPb/CFhYWFhZolqiWVhYWFCiWqJZ UFhYWFhQWaOiolhYWFhZoqKiWVhYWFhYWFhYWVBQWVlaWqNaWqJaUFBYWVhY WFhYUFlZWmKiolpaWVBQWFhYWFhYWFhZoqKiUFhYWFhYWFhYUFBZYqKioqJa UVFYWFhYUFFioqJhUFhYWFhYWaJaYllQWVhYUFBZWlpiolhYWVBQWVlaYqJi WllZUFhYWVhQWaOiollYWFhYWFhYWFhZUVBQWWKioqKiWllQWVlZWFhZolpa ollYWFBaWqKiYVhYWFCio6KiYlBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJgGBgYGBgYGBqgGqAYGqvb///dZ qaioqaH1//8JoqGpBqrr9f8I9ZtRUaqoqLCoqvX19aRRUKL0CPWjUVmrq/QI CKNRUKLs7Aj0UVCi7PUI9aNRWaKr9PWsUlGio6sICaNRUQf/9qNZoakGqgn/ 9v/1oqKioqv09vb///RQWaEGYKL09VpZWWBgYGH19vYIo0la9axQWWBgYFij rPcIB6RSUFlhWFhgYGBYUFBQUFFYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQUFGj9wj29v//9ayiWVBQWFhYUFmi 9Aj2///2/wj3o1FQWFhQrPb/CKJQUFhYWFms9vYIYVhYWFhYWfX29ghhWFhY o/X2///29vSjCPb2CFhYUFkI///0WFBYWFhYogj29qxZUFhYUKP39vb2CKtR Wgj/9vVZWVhYWFBYWFhYWKII//asWVhYUFhQogj29qxZWFhYWFmrCPb/olhQ WFhQWqMI9vb/9vWkrPb2CKNZWVlZUawI9v/29FlQWaz29giiUFhYUFBZo/QI ////CPek9f/29llZWFBYUKsI//b2CPRaCPb/CFhYWFj19v/2olhYUKv///ar WFhYWFhYq/b29qtQWFiiCP/29VhYWFhYWFhYUFBZo/QI9v//9v8IrKNQUFhY WFBQWqz19v////YIrFpZUFhYWFhYWFir//YIYVhYWFhYWFhQWav1CPb29vYI 91pZEFhZWKII9gj0WVhYWFhQogj//6xZUFhQUKL19v//CKFYWFCirPX2//// 9girWVlQWFhZrPb2CKNZWFhYWFhYWFhQUVmr9Aj2///2CKyiUFBYWFmi9v// 9qJYUFkI///2tFhYWFn19vb29VlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJgGBgYGBgYGBqgGqAah6/b/9quh qaioqaL////1oakGqfX///////alUaIGqaiy9v////8HUqP/9v//pVGs9v/2 9v/1WqT///b2CKz1//////akSaz2//b/B1JSCP/2///1Uff//6OhBqEGqgn/ //+sUVBZWVmirP//9v+iUGEGYKL///dRWaFgYKv2/////6Ok//+jUGFgWKII //b///b3UVBZYWBgYGBYUFBQUVFYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBQovUI///////2//8Io1FRWVBYqvX2 ////9v/////2CKxZWFhQ9///CFlYWFhYUFn3//8IWVBYWFhYWfX//whRUFn0 CP////b///YI//b/CFBYWFkI//b0WFhYWFhQWQj///VZUFhYYgj/////9qJQ Wgj//whQUFhYWFhYWFhYUKL2//asWFBYWFlQovb//6tQWFhYWFCr9v//q1hY WFBZ9fb2//////YI9v//9qJQUFBR9Pb/////9FBRUaz///aiUFhYUFmsCPb/ 9vb////29v//9VlYWFhZ9f////b29vYI9vb/CFlYWFCs9v/2olBYWGL29v+r UFhYWFhQq///9qJYWFCi9v/29FhYWFhYWFhYWaP19v////b/////9girUVhY UFBi9fb/////////9gijUFBYWFhYWFkI//b2olBYWFhYWFBZtPb////29v// 9vb1WVBYEFkI///0WVhYWFhZogj2/6tZWFhYowj////2/6FQWaMI9v////b/ ///2CKNQUFhQrP//9qJQWFhYWFhYWFBQWvcI//////b2//YIrFlZUFBi//// 9qJYUFkI9vb2s1hYWFn1////9VFQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJgGBgYGBgYGBqgGqAah9P//CKKh qKioofT///+ioamh9f////b////2m1GiqaoJ///29v//B/b2////9vb///// ///29vb///////b2//////8I9/b2/////wcI///////2B//2B5qhqakGofX/ //b/B5tRUVqioqz2///3UaEGYKr//whSWWFYogj///b/9v/29v/3UFlgWPT2 ///2////91BZYWBYYGBYUFBQUFFYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWVBa9fb///b2///29v//9qxRUFlYs/b/ 9v////b/9vb//wirWFhQ9/b/9qJYWFhYWFms9v8IWVhYWFhYWfX//whZWKL2 ///29v//9v//9vb/9VlYWFkI///1UFhYWFhQWfb29qxQWFhZq///9v/29qJQ WQj29ghZWFhYWFhYWFhYUFoI//+sWFBYWFhRo/b//6tQWFhYWFCj9v/2olhY WFCr9v//////9v////b29qNQWVlZCP/29v/29FlZUaz/9vaiWFhYUFoI//b2 ////9vb////29llYWFir9v//9v////b/9v//CFlZWFn39v/2olBYWKP/9var UFhYWFhQq//29qNYWFBi9v/29FBYWFhYWFhYWLP2//b2///2//b2//8Io1lR UVr39v/29v////b///8IYlBYWFhYUKL29v//9VBYWFhYWFi09v//9vb///b2 //8IolhYUGII9v/0UFBYWFhQYgj//6tQWFhZrP//9v///2FQogj/9vb////2 9v////RZWFlQq/b2CFpQWVhYWFhYWFhZrPb/9vb/////////CKJYWFli//b/ 9qJYUFkI//b/s1BYWFD1////9FFYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJgGBgYGBgYGBqioqAah9f//9Vmp qKgGoQn//wmZqKmr///29aKr9fb/B0miovT///8ICAj/////9vUI//b///8H 9Aj///////X19v////b1rAj//////wgI9v/2//8IrPX/////B1mhoQapoaoJ //////8Hm0lRUqT2///2UaKhYfT///ZSWmFZq////wj39v/2//8HUVlYYQj/ 9vb3rAj/CFlZWGBgYGBYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWVkI9vb/9vWjWlmrB/b2//+kUFlYWLT2 9qyjWlpZWvX///YIWFBRrP/2CKJYWFhYWFH3//8IWVhYWFhYWQj//whZULT/ ///1WlpZYqsI///2CFlYWFkI///1UFhYWFhYWgj///dRWFhZCPb//6NaWVlZ WQj//whZWFhYWFhYWFhYWVr2//+sUFhYWFhQo/b//6xQWFhYWFmj////o1hZ UFoI9v//CKNZWav29v//9qNQUFCj////91paWFhZUKz///aiUFBYUKz/9v/1 ollZWasI9v//CFlQUFkI9v/2B6NZovT/9v//CFFQWFn3///2WlBYUKP2//ar UFhYWFhQo/b/9qNQWFCi9v//91BYWFhYWFhYWFn0CAiso1paWVr1///2CFFR Uav2//8Iq1lZWav09giiWFhYWFhYUPX2///29mJQWVhYUKII///29GJZWaKs 9girWVhYUFkI//+sUFhYWFhRWvb//6xQWFhZCPb/9qNaWVlQtPb/9gejWllZ q/X/9VlZWFhQtP//9lpZWFhYWFhYWFCi9vb/CKxiWVGitPb2olhYUFCrCPb2 CKJYWFn19vb2q1hYWFn19vYIrFlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAaYBgYGBgaoBqioBqGhCP//7FkG qKgGqv///6uhqaj0///1oakGqgj/CFGaq/b///ShqqoI////q6KiCP/2//Wi oaoJ////9KGiCP//9vehoar/////96Kq8/b///WjoqL1///291mhoaioBqGq swj///b//wekUkn3///2WlqhYQj///+bUVlhCP/2CFpao/b29v8IUVpZq/b/ 9qxRWaII9VmhWFihWFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWaMI//8Io1lQUFlZWvf/9v8IWlBYUFCi WlpRUVhZUFms9vb2WVhRrP//CGFYWFhYWFH3//8IWVhYWFhYWfX2/whRUfX/ /whRUVlYUFCb9v//CFlQWFkI///1UFhYWFhZWgj///dQWFhZCPb/B1lRWFhY WQj//whZWFhYWFhYWFhYWVr2//+sUFhYWFhQo/b//6xQWFhYWFmj////o1BZ UKII///2WlBZWVGi9v//9qNQWFCr//b2o1FZWFhYUKz///aiUFlZUKz2//ZR UVhYUFBaCP//CFlZWWL2//YIW1FRWVn3///2CFFYWFD3///2WlBYUKP2//ar UFhYWFhQo/b/9qNQWFCi9v//91BYWFhYWFhYWFBQollZUVFQWVBZrPb2CFlR UfX///daWVBZUFFRYllQUFhYWFhYWQj////29qtQUFBYWLT//whaUFhYWVFR WqJQUFhYWFkI//+sUVhYWFhRWvb//6xQWVhZCPb2B1pRUFhZCP/2rFJRUVBY WFmiWVBYWFhQrP/29lpZWFhYWFhYWFj0//8HWlFQWVlZUGJZWVhZWVBQWVFR WVBYWFBZUVFZWFhYWFBZUVlZUFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAYGBgYGBgYGBgaooaGq////q6Gp qKmh9P//9pqhqKkJ//arWKixqQj/9lqi9f//CKupqaHz//8JoqGh9f//9qOi qan0///2oaGp9fb/CKKhsakJ///2WamoqQn//6xZoaH0////q1mhBqioqAYG oaL1CP//9v/2B1L3////UpphYQj///+kUVmi9vb/pFlZWfT///b2UllZ9P/2 CFpZWFhZolhYWKFYWFlYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFBZWfX2///0UVBQWFlQUFoI9v//olhQWGFQ UVBZWVhZUFCs///2WVlRrP//CGFYWFhYWFH3//8IWVhYWFhYWfX//whRWfX/ 9vajUVBQWVFRCPb/B1lYWFkI///1UFhYWFhZWgj///dQWFhZCP//9VFQWFhY WQj//whZWFhYWFhYWFhYWVr2//+sUFhYWFhQo/b//6xQWFhYWFmj////o1BZ UKP2///3UVlQUFhR9f//9qNQWVmr//b2o1BQWFhYUKz///aiUFhYWaz///ak UVBYUFFRB/b/CFlZUaP///+rUVFYWFhi9v/2CFlYWFD3///2WlBYUKP2//ar UFhYWFhQo/b/9qNQWFCi9v//91BYWFhYWFhYUFhZUFBQWVlZWVFQ9///9lpZ Wvb29qNRUFBZUVFRUFBQWVhYWFhQqvb/9gf/9ghZWVhZWQj/9vdRUFFQUFBR UVFQWVhYWFoI//+sUVhYWFhRWvb//6xQWVhZCPb291FQWFij9vb2m0lRUVBQ UFBRUFFQWFhQrP//9lpZWFhYWFhYWFkI//asUVBQUFFRUFFRUFBQWFhZWFhR WVhYWFhZUVFQWFhYWFhQUFBQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAYGBgYGoQahBgYGoaHs///2mqGh BqGhCf//9VqiqaoI//ZZoakGBgj//1JRCP//9ZmpqKmr///1Wamh9P//B1qh qaiz//8IWAapCf//B1mhqKnz///tWamoqQn/9qKhqQbz///2oqGhBqioqKgG BgZgovT2/////1qs////WqKiovb/9v/1SFn1///2WllhWfT///b/o1GiCP// 91lhYGFYYGBgWFhYWFlYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWQj//whaUFlZWVhYWVD39v//q1hYWFBZ WVFQWFBQUFr1//b2WVlRrP//CGJQWFhYWFH3//8IWVhYWFhYWfX//whRUaz/ 9v/29fX09fX39v//9VlYWFkI///1UFhYWFhZWgj///dQWFhZCP//9VlYWFhY WQj//whRWFhYWFhYWFhYWVr2//+sUFhYWFhQovb//6xQWFhYWFir////o1BZ UaP2//ajUFhYWFhQrP//9qNQWVmr////o1FYWFhYUKz///aiUFhYUKv/9vb2 9fX09PX39v//CFlZUKz///ZaUFlYWFhZCP/2CFhYWFj3///2WlBYUKP2//ar UFhYWFhQo/b/9qNQWFCi9v//91BYWFhYWFhYWFhQWVlRUFFQUFGiCP/29lJR o//29gf39fX19/f19/W0q1hYWFhY9Pb/96T/9vaiUFhYWfb/9gf19/X39/X1 9/f09FlYUFoI//+sUFhYWFhRWvb//6xQWVBZCP//9VFZWFis//b2B/f19ff0 9PX39/eiWFhYtP/29lpYWFhYWFhYWGL29v8I9/X19/f19fX39axZWFhYWFlZ WFhYWFhQWVlYWFhYWFlYWVlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGoQahoaGhoqL1//8HWaKq qaGr////pKKioaH29vZZYaqh8wj//6ObCP//rFmpqanz///soamp9P//B1FZ qanz///tWKmpCf//B1Giqanz//+joqioqgn/B5qqqQbz//8IWaGhBqioqKio qKioqVmi9QgI9KKr///2WlpZrP//9v8IUVEI///3WVlgWQj2///29wCj9v// ollYWFhYWGBgYFhYWFlYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWfb//whRUFlYWFBYWFCj9vb/9FhYWFhZ WaKjrAgICPb2//8IWVFRrP//CFpQWFhYWFn3//8IWVhYWFhYWQj/9ghRUVoI ///////2///29v//CFlYWFkI///1UFhYWFhZWgj///dQWFhZCP//9VFYWFhY WQj//whRWFhYWFhYWFhYWFr2//+sUFhYWFhQovb//6xQWFhYWFir////o1BZ UaP2//ajUFBYWFBQrP//9qNQWFmr//b/mllYWFhYUKz///aiUFhZUFkI///2 //b2//b2////CFlYWPT/9giiUFBYWFhZCP//CFhYWFj3///2YlhYWKP2//ar UFhYWFhYo/b/9qNQWFCi9v//91BYWFhYWFhYUFhYWVmio6wICAj2////CFFR o/////b2////////9v//9VlQWFhhCP//pFr29vasUFhYYvb/9v//9vb2//// 9v//CFlQUGII//+sUFhYWFhRWvb//6xQWVBaCP//9VBYWFD0///2//b29vb/ 9v/2//+sWFhYtP/29lpYWFhYWFhYUKL2////9v//9v//9v///whZWFhYWFhY UFhYWFhYWVBQWFhYWFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGoZmioZlZWVoI///3UVqZ olns///2WlqaoaL29v+jAJr1////9vYI///2o6KpqKkJ//+ioamp9P//9lJR oqH0//8HUKqh9P//9lJZqqL1//+jmamoqv//9VmhqKj0//8IWaGhqKioqKgG qGAGYaJaSFmqoWH0//8IWlpa9f//CP/2o6T2//+ioWBgYfb29vb2CFL39v8I WVlZYWFYWGBYWGBYWFlYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWf////VZUFhYWFlYWFha9v//CFhYUFla B/b/9vb///////ajWFhR9///CFpQWFhYWFn0//8IWVhYWFhYWfX/9ghZUFCj 9fb2//b/9v//9vb/CFlYWFkI///3UFhYWFhZWgj//6xQWFhZCP//9VlYWFhY WQj//whRUFhYWFhYWFhYWFr2//+sUFhYWFhQovb//6xRWFhYWFir////o1BY UKP2//+jWVhQWFlZrP//9qNQWFGr////WllQWFhYUKz///aiUFhYWFii9f/2 //b/////9vb2CFlYWPT//whZWFhYWFhZCP//CFlYWFj3///2YlhYWKP2//ar UFhYWFhYo/b/9qNQWFCi9v//91BYWFhYWFhYWFBZWvX2//b2//////8Io1lR rP/29vb////////2//b/9VlZUFCr///2olEH//8IWVhYovb2///////2///2 //b2CFlYUGII//+sUFhYWFhRWvb//6xQWFhZCP//9VBYWFj39v/2////9v// ////9v+sWFhYtP//9lpYWFhYWFhYUKP2//b/////9v//9v///whZWVhYWFhY WFhYWFhYWFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGmaKimlqamqMI//b3Wpqa mlr3///2o5qaUUj3///1UqT///////////YIUaKpqKn//wihqaip8////6RR WaII///2UaKh9P///6RImqv2//aaoqmp9P//91mhqKn0///3WaEGqKioqKgG BgahqwgIolChYVkI//8HWqz19vb29wf/9vb//whZoWBhq///B/f2/wj2///3 WaGiqqqqYVhgYGBYWFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWv////dZUFhYWFlQWFhZ9v/29VlYUFr2 ///2///////2CKxQWFhZrP//9mJQWFhYWFn0//8IWVhYWFhYWfX/9ghZWFhQ Waz1CAgICAgI9v//CFhYWFkI///3UFhYWFhZWgj//6xQWFhZCP//9VlYWFhY WQj//whRUVhYWFhYWFhYWFr2//+sUFhYWFhYovb//6xRWFhYWFir////q1BY UKP2//ajUFhYWFhQ9///9qNQUFGr////W1lYWFhYUKz///aiUFhQWVhQWav0 CAgICAgI9v//CFlYWPT//whRWVlYWFhQCP//CFFYWFj3///2YlhYWKP2//ar UFhYWFhYo/b/9qNQWFCi9v//91BYWFhYWFhYWFBi9v/29v//////9girUFBQ q////wgICAgICAgH////91FZUFkI///1WVCk///2YVhYovb//wj1CAgICAf1 9v//CFlZUFoI//+sUFhYWFhRWvb//6xQWFBZCP//9VlYWFD39v//CAgICAgI CAj/9v+sWFhYrPb/9lpYWFhYWFhQUKP2//8ICAj1CAgIB/b2/whZWVhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGYAZgofT/////9vb2///29v// //b/9vb/////B1Gj///2B/b/////CAj2///2UlGhqfL///Whqampqgn///ak o/X///b/mlmh8wn//wikowj///VZqqmpCf//o1mpBqkJ//+joaEGBqioqKih oaH0////9VlhoaL2///3Wgj///b2nPf////2/6xZYFhZ9Pb/7pv2//////ai WaKrq6uroVihYFhgYFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWvb///VRWVhYWFhYWFha9v//9VlQWff2 ////CPX39ferWVBYWFhYrP//9mJQWFhYWFn0//8IWVhYWFhYWQf//whQWFhY WVBQUFBQWVFRB/b/CFlYWFkI///3UFhYWFhZWgj//6xQWFhZCP//9VhYWFhY WQj//whRUVhYWFhYWFhYWVr2//+sUFhYWFhYovb//6xRWFhYWFir////q1BY UKP///ajWVhYWFhQrP//9qNQWVGs///2m1lYWFhYUKz///aiUFhYWFhYWFBZ UVFYUFBRB///CFlYWPT///ZiWVBYWFBZCP//B1FZWFn3///2YlhYWKP2//aj UFhYWFhQo/b/9qNQWFCi9v//91BYWFhYWFhYWFn09v//9gj19/X3q1lQWFhY qvb/9qNJUFhQUVFRCP//91FZUVr2//+sWFBa9vb/q1hYWvb2/6xQUVBQUVBS 9//2CFlZUGL2//+0UFhYWFhZWvb//6xQWFhZCP/29VhYWFD1//YIWlBQUFBQ UFr2//arUFhZrP//9lpYWFhYWFhZWKII//akUVhQWVBQUQf/9vVZWVBYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGYAYGov////////////b///// //////b//////5qa9P/////////0oqsI////91GhqfT//+yiobGpofP///// //b/////o1CqqfT///////////ShoampCf//oqGpqar///+ioaGoqKioqAah ofX/////9KGhYav///+jWgj////2Uvf/////9qJYoWFZCP//91II/////wia WaKrq6uiqmFYWAZYYFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYov////VZWFhYWFhYWFha9v//CFlYUQj2 /wijWVBQWFhYWFhYWFhYrPb/9qJQWFhZWVAI9v8IWVBZWFhYWQj2/whQWFhY WFhYWFlYWFlRCP/2CFhYUKII9v8HUVhYUFlZWvb/9vRZUFhZCPb/9VlYWFhY WQj2/whZUFhYWFhYUFlZUVr2//b1EFlYWFhQq/b2/6xRWFhYWFir9v/2olhZ UaP///ajUVhYWFBQrP/29qJQWVCs////m1FZWFhYUKz/9vaiUFhYWFhYWFlZ UFlYWVBRB///CFlYULT29v+iUFhYUFlZCP//B1FQWFD39v8IYlBYUKP29v+s UFlZWFlQrPb//6NRUFCiCP//91BYWFhYWFhYWFkI9v/2WlpRUFBQWFhYWFhY ogj//6RRWGFQWVFa//b/o1FZEKz/9vaiUFhQ9f//CFEQogj///dQWVhYWFFa CP/29VBYUFoI//8IUFhYWFhQo/b/9rRQWFhZ9v//9VhYWFir//b2WllYWFBR WaP///9aUFBRrP///6JQWVBYWFhYUKII9vb1UVhYUFlZUfb/9vRRWVlYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhgBgYGqgn///////////////// ///////2//////OhqfMJ////CfKpqakJ////9qRQoqsJ/6uiqaioqKnzCf// ////9gj/91CpqKnz////////CfOhqamqCQkJqqmpBvIJ//SqBqgGqKioqKlY 9P////aqoWCpYQj//whaYar0CP/1WqII////9FlYoaFhCP/2o1qs9v//CKtZ WaqrqquroVhYYGBgYGBYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYYv/2//dZWFhYWFhYWFha9v//CFlZWQj2 9vdQWVhYUFhYWGFQUFhQ9P//9qxZWFlZUVoI9vb2o1BQWVlQWvb/9vVZWFhY WFhYWVBYWVCaCPb2CFhYWFkI9v/2WVBYWVBQrPb2/6xZWFlZCP//9VlYWFhY WQj//whZWVhYWFhYWFlQUVoI//YIWVlQWFlQq/////VQWVBYWFj19vb2olBQ UaP///ajUFhYWFhYrPb29qNZWVCr//b2o1FZWFhYUKv/9vajUFhYWGFYWFFR UFlYWFBiCPb/CFhYUKv///+rUFhZWFGj9v/2CFlZWVn39v/2ollZUaL2//b1 WVFRWVlR9f//CKNQUVmiCP//91BYWFhYWFhYWKII//+sUVFRUFlZUFhZWFhQ Uf/29gdRUFhYUVH39v8IolFZWgj2/whZUFhQq/b/9qNZUAj29ghaUFhYWVGj 9v//q1BYUFkI9vYIWVlYWVlQrPb2/6tQWFhZ9v//9VhYWFCi9v//rFBYUFlR UfX2/whZUFlRrPb//6xQUFlZUFhYWFAI9v8HWlBYUFlRo/b//6tRWVhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgZYmaqpqqmqrPb///Wrq6uq q+z////to6vq86moqKny6/PrqqioqKkJ/////wdJmqqioaGhqamoqKip8vT0 CP//B/f2CFFgqKip8/Tz6+vz86qhqampsfKpBgapBqGqqqkGBqioqAaoqKGq CP/2CKthBqlYq//2//dZYGBhqquqWaHz9An0qllhYFhY8/SsWVCi9AgI82FZ WVmis6qqoVhYWFhYYFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWvb2//VZWFhYWFhYWFhZ9v//CFlQWfX/ //VZUFBRUVliWVBZWVlR9//2/whaWVBRWqz2////B6NRUVlR9//2/7RZUFlQ q/RiWVBRUFr1////9VBYWFD2////rFlYUFBaCP/2/6JYWVlZCP//9VlYWFhY WQj/9vVZWFhYWFhYWFhQUaL2////o1FQWVCj9v/29vasWVlRUaMI//b2YlBQ UaP/9vajWVhYWFhZrP//9lpRWVqs///2rFFZWVhRoqz2/wikWlpQWVlQowha UVlQUFms9v/2CFhYWKL29vb2olBRUVn1///2CFFQWFD3///2WlBQUKP2///2 o1FRUFGjCPb/CKJZWFiiCP/291FYWFhYWFhYUFn19v/1UVFRUVFZollQWVBZ UfX///+kWVBZUVr2//8IWVBRWvb//6xRWFhYYvb/9vdRUKv/9v+sWVlQUFoI //YIWllZWFkI////o1FQWVCiCP///6JQWVhZ9v//9VhYWFBZCP//CKNZUFlZ o///9vRZUFlRrPb/9vaaUFBQWaJQWVmr////rFlQWVFaCP/2CFpQWVBYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhgBgYGmKGhoQaZovb//6NZoaGh oaL///+sWaGhqaipqKiooaGpqaioqKkJ/wcH9v+bUaOrq1ChqaioqKioqami 9f//pKT2/1pYqaioqampoaGpqaioqamoqKioqKioqAYGoaGpqKioqAYGBgbz ///2q2FgqaGhCf//CKNZoWBhWGGhWFihoaKhWGChYGChWFlZYVlZYaGhWVhh YVhYYaGhWFhgYFhYYFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWvb///VZWFhYWFhYWFhZ9v//9VlYWaz/ //8Iq6Ojo/f/9qJRUVFR9//2//8IrJqj9fb/9v/2/wesWqP19v//9qJRWVmj CP8IrKNarAj2//b2rFBYWFkI9vb///WjoqwI9vb/CFlQWFhZCP//9VBYWFhY WQj//whZWFhYWFhYWFhYWaII//b///WioqwI///2//b2rKOj9/b////1WFBZ WaP///+rWVhYWFhYrP//9qJZq/b///b29v//9Fn09vb////29v/1UFliCPb/ rKOiq/X2//b291BYWFn1///2CKxaqwj/////CFlYWFj3///2WllZWaP/9vb/ CPRao6z2//b29VBYUFBiCP//91FYWFhYWFhYUFn1//b/9ayjo6P1/wiiUVlR UVr///b29aKarAj2//ajUFBZrP//9qJQWFhYWfX///ZZWVkI//b/9aOjowj/ 9v/3UFlQWKII//b///Wjo6wI//b/CFpQWVhZ9v//9VhYWFlQrP//9gisoqL3 9v//CFpQWVlRrP/////291qjCPasUVFaCPb/9vVio6MI9v//rFBZWVhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhgBgahoaEGBqGhq///CJqZoamp qaII///3WaqpqKioqKioqKmpqaioqKr///eb///3UQj//6IGqKioqKmoqKip CP/2m6P//6NZqqixqKixqKipqKioqKioqKioqKgGqKipqamoqAaoqKgGoQb1 ///1WaGhoWH0////9KKhBgapYGChoaFhWFhhYGBgYGAGYGBgYGBhYFhYYGBg YGBgWFhYWFhgYFhgYGBYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWvb///VZWFhYWFhYWFha9v//9VlYUKP2 9v//9vb29v/29ghZUVlR9/b2//b/9v/29v/29gf19v//////////9VFRWVH1 ////9v/29vb///8HWlBYUFkI///2////9v//9v//q1BQWFhZCP//9VBYWFhY WQj29ghZWFhYWFhYWFhYUFkI9v/29v//9vb29v/2rP/2///////2//aiWFhZ UKP29vaiUFhYWFBQq/b29lpQq//2//b/////9Fms//////b////1UFD1//// //b///b///8IWlBYWFCr//b///b/9vb/9v//CFFYWFD3//b2WllQUKP29v/2 9v////b29v8IollYWFiiCP/291FYWFhYWFhYWVFiCP///wj29v//9vb1WllR UVGs////9vb2///29vVZWVlZCP/2CFlQWFhYWKP/9varUFmi9v/29vb/9vb/ //VaUFlYWGEI9v/29v//9vb2///2rFlQWFhZ9v//9VhYUFlRWfX////2//b/ //b2rFBQWVhQrPb29v/29v//9v//rFFRo/b////2//b/9vb1WVBZWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJkGBgYGoQYGBqFY9P//9ZqiBqio qKIJ///3UKmpqKioqKioqKioqKioqar//6RaCPYHUfb/CfMGqKioqKioqKip Cf8IWqL//6RRqqjwsKioqKiwqKioqKioqKioqKioqKioqAaoqKgGqKgGoaEJ //9aWaFhWfT///YIoqGhYAYGYGBgYAahoQahYGBgBmBYYAZgYGBgYGAGYGBg YGBgYGBgWGBgWFhYYGBYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWfb//wdZUFhYWFhYWFCi9v//9VlZUBCj CP//////////9vVZWVFRrP//CPf2///2///2CFGjCPb///b///b1WlFRWVla 9f/29vb/////9gejUFBYWVkI//8H9Pb2//b2//b1WVhYWFhZCP//9VBYWFhY WQj//whZWFhYWFhYWFhQUKL///b39fb/9v//9vajUbT29vb/////CKtQWFhY UKv///+jWFhYWFhYtP///6NRq//2//b/9v//9Fn09vb////29vb1WVlR9fb2 ////9v//9gijUFhYWFBZ9//2//b/9vYHB/b/CFlZWFms9v//ollZWaP2//as CPb2//////asWFhYUFCi9v/291FYWFhYWFhYWFBQowj2////9v/////1WVFZ WVBZtPb29v/2//b/91FRUFCi////rFFYWFhYWFn///8IUFlZrAj////2///2 CFpRWVhYWFn2//b39fb/9v////b1WVBYWFhZ9v//9VhYWFBZUFr0CP/2//b2 9v+sUFBZWFBYtP//9qwI///2//b29VlRUawICPb/9vb///VZUFlZWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgaoBqmhCf//95qhBqio qKkJ///1UKGpqKioqKioqKioqKioqaoJ/6Ra9P//UqQJCaqosKioqKioqKix Cf/tWaoJ//dRqqioqKioqKioqKioqKioqKioqKipqKioqKioqKgGqKgGoaEJ //+bEFmi9Pb///aroaEGBgZgBgZgYGBgYGBgYGBgBgYGYGBgYGBgYGBgYGBg YGBYWGBgWGBgYFhgYGBYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWQj//whaWFhYWFhYWFCs9v//9FhYWVlR WqwI9v/29vWsolBZUFBZtPb/CKJa9/b2/wisWVFQUasI////CLRZUFlYUFlQ WasI//////b1o1FQWVhYWFkI//b3WaII///2CKNRUFhYWFhZCP//9VhYWFBY WfX29vVZWFhYWFhYWFhYWaII//arWasI//8I9aJZUFCr9P/2/wj1WlBYWFhY WasICAiiWFhYWFhYq//2CKJRWaP3////pJqiWVhZo/X///ako6JZUFBZWaP1 9v//9gj1q1pQWFhYWFhRUaMI9vb/CKNZ9fb29VlYUFj19vYIYlhYUKII//+j WqsI9gj29VpQWFhYWFiiCPb29VBYWFhYWFhYWFlZUFq09fb2//YItGJQWVhQ WFBZEKL09vb2//WjUVlZUFn09v/2o1BYWFhYWFn1//8IYVhQUKKsCPb2/wir UVBZWFBYUGEI//asWqsI///29aNZEFlYWFhZ9v//9VhYWVBYWVBZq/X29v/2 96JQUFhYWFhZq/b2CFpa9Aj2/wirWVBZWBCi9Pb29v/1ollZWFlYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBgaiCf//rJmhqKio qAb0//8IUaGpqKioqKioqKioqKioqaoJ9qRSrAj/m1qjqgaosKioqKiosKip Cf/3UaoJ/+1RqqmoqKioqKioqKioqKioqKioqAaoqKioqKioqAYGBgYGoaH1 //8HW6P3//b/9vShoQYGqAZgBgYGBgZgBgZgBgZgYGBgoWBYYGBgYGBgYGBY WGBgYFhgWFhgYGBgYGBYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUQj2//ajWVhYWFhZUVH19v/2q1BYUFlR UVFZWVlaWVlZUFhYWFhYWVlZWVBQWVlQWVhZUFhZWFlQWVlZWFhYWFhYWFhY WFBZUVlZWVlZWVFZWVhYWFhZWVlZUFhRWllZUVlQWVhYWFhZCP//9VhYWFhY UFpZWVlQWFhYWFhYWFhYWFBZWVlZUFlRWllZWVBYWFhQWFlRWlFQWFhYWFhY UFBiWVlZUFhYWFhQWVlZWVlZUVGs9vb/W1FRUFBQUKz/9vZaUVBYWFhYWFhQ WlpZWVlRUVFZWFhYWFhRWVlZWVlZWVFRUVlZWVBZWFhYWVlhUFhZUFlZUVlZ UVBZWVlZWVlZWFhYWFhQYVlaUVhYWFhYWFhYWFhYWFlQWVlZWVlZWFhYWFhY WFhYWFhYWVpZUVlQWVBYWVBZWVlaUVBZWFhYWFlZWVlZWVhYWVFRWllZWVlZ UFhYUFlYWFhZWVlZUFlZWVlZWVBZWFhYWFhZ9v//9VlYUFlYWFhYUFlZWlpR UVBZWFhYWFhQUFpZWVBQWVlQYVlQUFhYWFlQWFlRWlFZUFlQWFhQWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBqGr///2o5kGqaio qAbr///2UlmhqaioqKioqKioqKioqaoJ/6xRrP//m6OiqamoqKioqKiosKip Cf+kUaIJ//VQqamoqKioqKioqKioqKipqKioqAaoqKioqKgGqKioBgahoQbz ////9v//////9ZmhBgZgqAYGBmBgBgZgYGBgYGBgBgZYYGBgYGBgYGBgYGBg YGBgYFhgYFhgYFhYYGBYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKz/9v/1WlBQWVFRUaP29v/2WVBYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWVhYWFhYWFhZUVFYWFhYWVlZWFhYWFhQWFlZCP//9VlYWFhY UFlRWVhYWFhYWFhYWFhYWFhYWFhYWFhZUVlYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhQWVhZUVGs//b/o1FZWFhYUKv///ZaUVlYWFhYWFhY UVFZWFhYWFhYWFhYWFhZUFBQUFBQUFBQUFBQWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFlZWFhYWFhYWFhYWFlRUVhYWFhYWFhYWVhYWFhYWFlRUVFZWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBa9v/29VhYWFhYWFhYWFhZWVlY WFhYWFhYWFhYWVFZWFhYWFhYWFhYWFhYWFhYWFhRWVhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBqH0///2mqGoqKio qKmq////91ChqaioqKioqKioqKioqKn0/wdJpP//oqKpqaioqKioqKioqKmh Cf/3AKv//+uhqaioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAaoqQaq Cf///////wj0oaEGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBgYGBg YFhYWGBgYGBgYGBgYFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKII////9aJRUVFRpAj/9vb1WVhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZCP//9VhYWFhY UFlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYUFCs9vb/olFYWFhZUKz/9varUFBQWFhYWFhY WFlYWFhYWFhYWFhYWFBQoqurq6urq6urq6yiUFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFla9v/29VBYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBqH1///1WaGoqKio qKip9P//B1FZqaioqKioqKioqKioqKnz/wmb9//2oaGoqLCoqKioqKioqKmp Cf8Hm/X//6sGqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgGqAYGqAYG qgj2//8I9aqhBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBgYGBg YGBYWGBgYGBgYFhYWFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFCjCPb//wgI9fUI9vb//whaUFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhRCPb29VBYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFmr////olBYWFhYUKP29v/29fSrWVhQWFhY WFhYWFhYWFhYWFhQWFBYrP//////////9varUFhYUFlYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBZ9v//9VBYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGoaEJ///3WamoqKio qKgG8///9ppQqamoqKipqaioqKioqKjyCf8I9v/1oamwsKioqKioqKioqKip 8gn/////CKqoqLCoqKioqKioqKioqKioqKioqKioqKioqKioqKgGqAYGqKgG oaGq8+uqoQZgqAYGBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYFhYWFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBZrPb2////9vb/////CGJQWVhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlZ9v/29VlYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFmr//YIolhYWFhYWVn1///////1UFlQWFhQ WFhYWFhYWFhQWFhYWFhYq/////////////+sWVlYUFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlZCPb29VhZWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgGBgYGBgYGBqr///+roaioBgao qKgGofT///VZoQaoqKipqaioqKioqKip8//////0qaioqLCoqKioqKioqLGo qQn///b/9KGoqLCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqQYGqKio BmAGBmBgBgaoqKgGBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYFhYYFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQUaL19v/29v//9gisWVlZWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFBZCP//9VlYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFBZWVlhWFhYWFhZWVCjCPb////1UVlQWFhY WFhYWFhYWFhYWFhYWFhQWVlZWVlZWVlZWVlYUFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhi9v//9VhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhgBgYGBgYGBuoJCQmqoaioBgao qKioBqoJCQmqqaioqKipqKioqKioqKioqfMJCfSqBrCwqKioqKioqKioqKix qKn0///1qqGoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAaoqKgG qKioBgYGqKgGBgYGBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBg YGBgYGBYWFhYWFhYYFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFFZYqsICAj1tFpQUFlYUFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlZ9PX1q1lYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFBYWFBYWFhYWFhYWFBZWawI9fWsWVlQWFhY WFhYWFhYWFhYUFhYUFhYWFhYWVlZWVlYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBZ9fX1q1hYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhgBqEGBgYGBqGqqqIGBqioqKio qKioqAahqqqpBqioqKipqKioqKioqKioqKmqqqmpqKioqLCoqKioqKioqKio qKipoaqqoamwsKioqKioqKioqKioqKioqKioqKioqKioqKioqKgGBgaoqAYG qAaoqKioqAYGBgYGBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlQUFBQEFBZUFBZWFBYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQWVFQWVBYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlZEFBZUFFZUFlYWFhY WFhYWFhYWFhYUFhYWFhYWFhYWFhYWFhYWVhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVBZUFhZWFhYWFhYWVFYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWJgGBgaoBgahoQaoqKioqKio qKioqKioqaioqKioqKioqKioqKioqKiwqKioqaioqKioqKioqKioqKioqOio qKipqamoqKiwsKipqKioqKioqKioqKioqKioqKioqKioqKioqKgGBgaoqKio qAYGqKgGBgahoQYGBgYGBgYGBgYGBgYGBgYGBmBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBZWFhYWVlQWFlQWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFhZUFhZWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhQWVhYWFhYWFhY WFhYWFhYWFhYUFlYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBYUFhYWFhYWFhYWVlYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhgBgahoaGoqKioBgao qKioqKioqKgGsaioqKioqKioqKioqKioqKixqKiosaioqKioqKioqKioqKio qLCoqLCoqKioqKipqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgGBqio BgYGBgaoBgahoaEGBgYGBgYGBgYGBgYGBgZgBmBgYGBgYGBgYGBgYGBgYGBg YGBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWGAGoaGp qampqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgG BgYGBgaoBgYGBgYGBgYGBgYGYAZgBmAGYGBgYGBgYAZgYGBgYGBgYGBYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WGAGBgYGqampqamoqKioqKmpqKioqKioqKioqKioqKioqKioqKioqKioqKio qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio qKgGBgYGBgYGBgYGBgYGBgYGBgYGBmAGYAZgBmBgYGBgYGBgWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhgBgYGBgYGqKipqampqampqampqampqKioqKioqKioqKioqKio qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgGqKioqAYG BgYGBgYGBgYGBgYGBgYGBgYGBgZgYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWGBgYAYGBgapqampqampqampqampqampqampqaio qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAYG BgYGBgahoaGhoaGhBgYGYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYYGAGBgYGBgYGBqGpqampqamo qKipqampqaipqKmoqamoqKioqKioqKmoqKioqKioqampqampqaGhoaGhoaEG BgYGYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhgYGAG BgYGBgYGBgYGBgYGBgaoqKioqKioqKgGBgYGBgYGBgYGBgYGYGBgYGBgYFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYUFBQUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWVlZ9KyrWlhQWVhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFBYWFhY WFhYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZ WFhYWFlYWFBQWFhYWFhYWFhYWFhYWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYUFCj////CKtZWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYUFhYWFhYWFhZWFBYWFhYWFhY WFhYWFhYWFhYWFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlYWFhY WFhYWVhYWFhYWFhYWFhYWFhYWFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFhY WVhYWFhYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWFhYWFhY WFhYWFhYWFhYWFhQWFhYWFhYWFhYUFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhZWFGj9vb///arUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQ WFlYWFhYWFhYWFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWVhQUFhYWFhYWFhYWFhYWFlYWFhYWFhYUFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBQUFhYWFhYWFhYWFhYWFBQUFhYWFhY WFhQUFBYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQ WFhYWFhYWFhYWFhYUFBQWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFBQWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYUFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYUFBYWFhYWFhYWFhYWFhYWFhQUFhYWFhQUFhYWFhYWFhYUFBQ WFhYWFhYWFhYUFCiCPb29v8IWVlQWFhYWFhYWFhYWFBQWFlYWFhYWFhYWFhY WFBQWFhYWFhYWFhYWFhYWFhYWFBYWFhYUFhYWFBQWFhYWFhYWFhYWFBYUFhY WFhYWFhQWFBYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYUFBYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVhYWFhYWFhYWFhYWFhYWFlYWFhY WFhYWVhZWFhZWFhYWVlYWFBQWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFhYWFlZ WFhYWFhZWFlYWFhYWFhZUFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhYWFhYWFhY WFhZWFhYWFBYWFlYWFhYWFlYWFhYWFhYUFBQWFhYWFhYWFBYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlYWFhYWFhYWFhYUFhYWFhYWFhZ WFhYWFhYWFhYWVlQUVGs//b2o1lQWFhYWFhYWFhZWVlYWFhQWFBYWFhYWFhY WFhZWVhYWFBYWFhYWFlYWFhYWVhYWFhYWFhYWFlZWFhQWFhYWFhYWVhZWFhY UFhYWFhZWFhYWVhYWFhYWFhYWFhYWFhZWVhQUFhYWVhYWFhYWFlYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFBYWVlYWFhYUFhYWFhYWFhYUFhZ WFBYWFBYUFhZUFhYWFBQWFlZWFhYWFhYWFhYWVhYWFBQWFlZWFhYWFlYUFBY UFhYUFhYUFhYWFhYWFBQWVhYWFBYWVhYWFhYWFhYWFBYWFhYUFhYWFBYWFhY WFBYUFhZWFhZWFBQWFhYWFhYWFhQUFhYWFlYWFlYUFhZWFlZWVhYWFhYWFhY WFhQWFhYWFhYUFhYWFhYWFhYWFhYWFhQUFhYWFhYWFhYWFhYWFhYWVhYWFBQ WFhYWFhYWFhYWFhYWVBaCPb/9VFZWFhYWFhYWFhYUFBYWFhYWVhYWFhYUFhY WFBYUFBYWVhYWFhYWFBQWFlYWFhYUFhYWVlYWFhYWFhYWFhYWFhYUFBYWFhY WFhYWFhYWFBYWVhZWVBQWFhQUFhYWFlZUFBYWVhYWFhYWFhYUFBYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUFhZWFlQUFhYWFhYWVlYUFBZWFBZUFhZ WFhYUFhZUFlZUFhYWFBYWFhQUFhYWVhYWVhQWFBYWFhQWFhQWFhYWFlYWFlQ WVlYWVhQWVBYWFBQWFlYWVBQWFBYWVBYWFhYWFhYWFhYWFBYWFhQWVhYWVhY WFBQUFlZUFBZUFlYWFlYWFBYUFhYWFhQUFhZUFhYUFhZUFhQUFBYWVhQWFhQ WFhQWVhZWFBQWFhYWFhYWFhYWFhYWFhYWFhQUFlYWFhZWFBQWVhYUFBYWVhQ WVhQWFhYWFhYWFhYWFBZrPb/CFpZWFhYWFhYWFhYWVhQWFhYWFlYUFlQWFlY WFhQWFBQWFhYWFhQWFlYWFhYUFBZWVhQUFhYUFhZWFhYWFhZWFhYWFhZUFhY WFhYUFBZUFBZWVBQWVBZWFBYWFhYWFBRUFBZUFBZUFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKsICAirWVBYWFhYWFhYWasICAj0YVBQ WasICAj1YVBQWav0CAgI9aNaqwgI9aJQUFhZWqv1CAgICPSrWVhQWFhQovQI CKtQWFhZ9AgI9GFQWFlYUFn09ggI9FhYWFhYWFhYWFhQUaL0CAgIq1lQUFmj 9Qj2CPWjWasICPSiUFhYUFhZtAgICLNZUFhQWasICAj1olFQWaL0CAgICKtZ owj2CKJYUFmrCAj0olhYWFhYWFhYUKsI9giiWFBYovQICKtZUFhYUFii9QgI ollQWFhYWFhYWFhYWFhQYvb/9qxQWVhYWFhYWFqrCAgICLRaWvX2CLRZUFhQ oggICKtZWFhYWFCq9fb1olhYWfUICLNZUFBY9AgI9GFQWFlYUFmzCAj0WVhY WFBRWasI9gj1q1qrCAgIolhYWFBZq/UI9gj1olqsCAj0YVBYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///b0WVhYWFhZWFhZWfb/9v+rWFBi CP/2//YIWVBZCPb////2//YICP//9mFYUGIH9v//////9vb/CKNQWVBQYQj/ 9vVQWFhZ9f//CFhYWFhZUKv/9vb/WVhYWFhYWFhYWFlQo/b///b/tFhZWgf/ 9v//9v/2CAj29ghhWVBZUFoI9v///whZWFhZCPb29vb/WlFR9f////b///8I B//2/6JYWFi0//8IWVhYWFhYWFhYWKv///+jUFhYYfb//6xQWFhYWFCiCP// q1BYWFhYWFhYWFhYWFhYWQj2/whRWVBYWFBZo/b/9v/////2B/b///VZWFhY ovb/9qNQWFhYWFir////olhYWQj///VYWFhZ9f//CFlYWFhYWVn1//8IWVhY WVGaCP////b//wj1////olhYWGII//b/////9gcI//8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///+sUVhYWFlYWFhQ9fb//whhUFj0 9v/////2UVH3//b/9vb2////9vb/CGFYogj29v//9vb///b2//asWVlYYfb/ 9vVQWFhZ9f/29lhYWFhQWgj/9v+rWVhYWFhYWFhYWFBiCP/////29FBR9fb2 ////9v/2//////ZZWVBZWff//////whZWFis9v/////2olH39v/2///29v/2 9v///6JYWFCs///2WlhYWFhYWFhYWKv///+jUFhYYvb//6xQWFhYWFCi9v// q1BYWFhYWFhYWFhYWFhQovb///aiUVhYWFhaCPb///b/9vb///////VZWFhY ovb/9qRQWFhYWFir///2o1BYWQj///VYWFhZ9f//CFlYWFhYWVn1//8IWVhY WVoI//////b2///2///2o1BYWfX2//////b2//////8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///+sWFhYWFhQWFCi9v/2/6NQWFkI ///296urUaP2///29fe0rPUI///29mJQWLT2/wj1rKysrPX/9v8IWlBQogj/ 9vVQWFhZ9fb/CFlYWFlR9////whQUFhYWFhYWFhYWFCr9v//B/esolmi//// CPes96z1CP/29ghZUFhQogj//wj396NYWFkI///29KyrWVn29v//CKz39/UI ///29qJYWFCs//b2WlBYWFhYWFhYUKv///+jUFhYYvb//6xQWFhYWFCi9v// q1BYWFhYWFhYUFhQWFlQ9Pb/9v+sUFlYWFj19v/2CPesrPf19v/29vVZWFhY ovb/9qNQWFhYWFir///2o1BYWQj///VYWFhZ9f//CFlYWFhYWFn1//8IWVBZ Wav////29fX39fb/9vb2o1BQov////b1rLT0CAj2//8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKP///+sWVhYWFhYWFn19v/29VFQWKL2 9v/3UVBQUaP///ajUVBQUFmjCP/2/1pYUFirtFlZUFBQUFms9vb/q1BQogj/ 9vVQWFhZ9f//CFFZWFCi9vb/9qJYUFhYWFhYWFhYWFms//b2o1FRWVCr///2 WllQUVBZowj//whaUFhYov////dRUVBQWFkI//8IWVhYWWL///ajUVFQUFGi 9fb2/6NYWFH3//b2WlBYWFhYWFhYUKv///+jUFhQYvb//6xQWFhYWFCi9v// q1BYWFhYWFhYWFhQWFhZCP////8IWVlYWFAI//b2UlFQUFlZrPb///VZWFhY ovb/9qNQWFhYWFij///2olBYWQj///VZWFhZ9f//CFlYWFhYWFn1//8IWVhY WQj29vb3UVBQWvf/////o1FQtP/2/6NQUFhQUaP2//8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKP///+sWFhYWFhYUKz29v/2WlBZUKL/ //+sUFlQUaP///ZaWlBZUFBR9/b/CKJYWFhQWFhYWFhZUVFZ9v//91lQWvb/ 9vVQWFhZ9f/29lpRWFEI//b/9FBZWFBYWFhYWFhYWFn0///2WlBQWVCr9v// WVBRWVBQUff29giiWVhYov/2/6RQUFBYWFn2//b1UFhYWVr2//+jUVlRUVBR q///9qJQWFH3//YIWlBYWFhYWFhYUKv///+jUFhQWvb//6xYWFhYWFCi9v// q1BYWFhYWFhYWFhYWVCj9v/29v/2o1BZWFgI//YIUVFRWFBQWQj/9vVYWFhY o/b/9qtQWFhYWFij///2olBYWQj///VZWFhZ9f//CFlYWFhYWFn1//8IWVlQ Wf///whZWVhQUFoI9vb/o1FQ9Pb2/1FZWVhQUFr3//8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKP///+sUFhYWFhYWQj/9v+sUFlYUKP2 9v+sUVBYWaP///8Io1paYlpa9f//9mJYWFhQWFhYUFBRUFGj////rFBRWgj/ 9vVQWFhZ9fb///VaUKz///8IWVhYWFhYWFhYWFhYWFD0//b2WlhZUFir9vb/ CKxaWqKiWvX/9ghiUFBYov///6NZWVhYWFr2//b0UFhYUKL/9vb2rFmiWlpa rP/29qNYWFGs//b2WlBYWFhYWFhYUKv///+jUFhQWvb//6xYWFhYWFCi9v// q1BYWFhYWFhYWFhYUFD09v8HCPb/9VFZWFgI///2B6NaWlqiogj/9vVZWFhY ovb/9qtQWFhYWFij///2olBYWQj///VYWFhY9f//CFlYWFhYWFn1//8IUVhY ovb/9vVQWFhYWFH1////o1BRq////wijWWGiWVoI//8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKP///b1WVBYWFhZrPb/9ghZWFhQWKP2 9v+sUFhZUFoI//b////////29v/2/1lYWFhZUFlZWauso6wI//b2q1BZogj/ 9vVQWFhZ9fb/9v/1mvb/9varUFhYWFhYWFhYWFhYWFH09vb2olhYWFBZCP/2 ///2///29v//9vZaUFhYov///6NZWFhYWGL2///1WFhYUFn1///2////9v// ///2/6NYWFCs//8IWVhYWFhYWFhYUKv///+jUFhQWvb//6xYWFhYWFCi9v// rFBYWFhYWFhYWFhZUVoI9vajo/b/CFpQWFCi////9vb29v//9v////VZWFhY ovb/9qtQWFhYWFir///2olBYWQj///VYWFhY9f//CFlYWFhYWFn0//8IUVhZ qwj29qxRWFhYWFCs9vb/o1BZWgj///b///b2//b///8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKP////2q1lYWFhZ9v/2/6NZUFhYWJr/ //asWFhYUFmjCP//9v/29vb/9v//9qJYUFhQovQICPb/////9v8IWVlYWfb/ 9vVQWFhZ9f/2////9vb///VQWFhYWFhYWFhYWFhYWFH3//8IWVBYWFlZo/b/ //b////2//b2//ZaWVhYov///6NZWFhYWFr2//b0WVhZUFFaCP/2//b/9v/2 //b2/6JYWFC0//8IYVhYWFhYWFhYWKv///+jUFhQWvb//6xYWFhYWFCi9v// rFBYWFhYWFhYWFhZUaP///ZaWfb/9qtRWFBZrPb/9v/2///2//b2//VZWFhY ovb/9qtQWFhYWFir///2olBYWQj///VYWFhY9f//CFlYWFhYWFn0//8IUVhQ q//2/6NQWFhYWFmr////o1lQWav2///29v////////8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKP///b//6NQWVH39v/29VlYWFhYUKP/ //+rWFhQWVlQYvQI9v/////////2/1lYWFCr9vb///////b/9vaiUFhYYgj/ //VRWFhZCPb/9v/////29lpQWVhYWFhYWFhYWFhYWFD1///2WlhYWFhYWVr3 CPb2//////b///ZaWVBYq/b//6NQWFhYWFr2///0UVhYWFlQWqwI//b///b/ 9v/2/6NQWFD0//YIYVhYWFhYWFBYWKv///+jUFhYWfb//6xYWFhYWFii//b/ q1BYWFhYWFhYWFhZUAj/9vVaUbT/9ghRWFhZWaL19v////b/9v/2//VZWFhY o/b//6NYWFhYUFCr9v//o1BZWQj///VZWFhY9fb/CFlYUFhYWFn0//8IWVhY q/b2/6NQWFhYWFmj//b2o1hYWFBi9fb2///2//b///YIWVBYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKP////29v9aUVv2///2olBYWFhYUKP/ //+rWFhYWFhQUFFZWllZWlpa9fb/9qJYWFkI////9vb2//YIq1lZWVhYWfb/ //VRWFhZCP/29qz/////o1lQWFhYWFhYWFhYUFBYUFn19vb2WlhYWFhYUFBZ WlpaWlpZovX/9ghaUFBYov///6NYWFhYWFr2///1UVBYWFhYWVlZWlpaWlpa rPb//6JYWVCs//8IWVhYWFBYWFhYWKv///+jUFhYWvb2/6xQWFhYWFCi9vb/ q1BYWFhYWFhYWFlQYvb//6xRUav/9vaiWVlQUFlZWWJZWlpaW/b/9vVZWFhQ o/b/9qNYWFhZWFmj9vb2o1BYWQj///VZWFhY9fb/CFlZWFhYWVn1//8IUVhQ q/b2/6NQUFhYUFGs///2olBQWFlZUVpaWlpaWpsH//8IWVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYUKP////2//8IWgf///b1UFBYWFhYUKP/ //+rWFhYWFhZWVlQWVBYWFBQ9///CGJQUKP///8IrKJZWVlYWFlQWFhYYQj/ //VRWFhZCP//CFr1////o1BZWFBYWFhYWFhYWFhYWFH3///2WllYWFhYWVBZ UFhYUFhQUfX/9vZaWVlZo////6NRWFhYWFn2///3UVBYWFhYWFhYUFhZUVlR rPb2/6NYWVCs///2WlhYUFhgUFhYUKv///+jUFhQovb2//RQWVhYWVCj9v// rFBYWFhYWFhYWFlQ9P/29lpQWVkI//asUFhYWFBYWVBYUFlZWfb29vRYWFhQ o/b//6xQWVBRWVGj///2olhQWQj///VYWFhY9fb/9llRWVBZUFAI//8IUVhQ o//2/6xQWVhYWVmsCP//olBYWFBQWVBZUFBZUFH1//8IWVlYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKP///b2//b/CPb//whZWVhYWFhYUKP/ //+rWFBhWFBZUVBZWFBYWFhZ9fb2/1lYWaz/9giaUFFZWFhYUGFYWFhYogj/ //VRWFhZCP/2CFlaCP/2CKJYWFBYWFhYWFhYWFlQWFH3///2WlFZWVBQWVhZ UFhYWFlQUfX//whZUFhQmv///6NQUFhYWFr2///3UVhYWFhYWFhYWFlQWVEQ rP/2/6JYWVH3///2o1BZWFhYUFhYUKv///+jUFhYYvb//whZUFlYUFCr9v/2 q1hYWFhYWFhYWFBZCP/29VlQWVj1//8IWVBYWFBZWVlYWVlQWfb///RYWFhQ o/b/9qxQWVFZUVD3///2olhYWQj///VYWFhY9f/29lpQWVlZUVoI9v8IWVhY ovb2//VQUFhZUFH1///2olhYWFhQUVlZUFhZUFoI9v8IUVlYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKP////39fb/9v/29qxQWVhYWFhYUKP/ //+rWFhYWFlQWaNZWFhYUFBaCP/29lBYWKz/9ghaUFlZUFBYolBQWVBYYgj/ //VRWFhZCP/29lFZo/b/9ghZUFlQWVBYWFhYWFhQWVGs///2W1FQUFhZWFCi WVBQWFhQovb/9ghZUFBRo/b/9qRRWVlQUFn2///1UVhYWFhYWKFhUFhZUFla CP//9llYWFH3///2B1FQWVBQWVhZUav///+jUFhYWfb/9vajUFlQWVr19v8I olhYWFhYWFhYWFCj9vb/rFFYWFir///2ollYWGKiUFFYUFBZrPb2/7RYWFhQ o//2/whZUFFZUVoI9vYIWlhYWQj///VYWFhZ9f//9vdZUFBRUaP2///3UFhY WQj/9giiWVFZUVr2//b2olhYUFBao1BQWFhQUKP29v8IUFhQWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///b3Wgj2////9VFQUFhYWFhYUKP/ //+rWGBQWFlZ9P8IolgQUKsI//b/9VBYUKL////3WlFQUaL09aNQWFhYWgj/ //VRWFhZCP//CFlZUaz///b1WVBYWFhYWFhQWFhYogj2//b2B/UIollQWfT/ CGJRUFmrCP////RYWWL1CP///wj19bRZWWL2///0WFhYWFhYq/8IolFRUaP1 9vb2CFlYWFD3////9vVaUWL1CKJQUaz///+jUFhYWfb///8Iq1FQWvf2///2 WVBYWFhYWFhYUFH0//b2WlBYWFii9v//91FQYgj/91pZUFms9v/2/6tZWFhY o/b29v/1o1FRmvX///8IWVBYWQj///VYWFhZ9/////asWllRrPb/9vasWVhY UPX/9v/1olBRo/X2////olBYUFn0/wiiUFBZqwj////1UVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///b3UVoI9v//91BZWFhYWFhYUKP/ //+rWFBZWFCs9vb/9vb29vb2///2o1lYWFn1///29vb29vb2//aiUFlQYgj/ //dRWFhY9f//CFpQWFn3//b/9FhYWFlYWFhYWFhZtPb///b/////tFhZrPb2 9vb/CAj2//b29qJYWav////2/////whZUFn2///0WFhYWFmjCP/2//YI9vb/ ///2rFBYWFCs////9vb29gj2/wiiUaz///+jWFhYWvb///b/9v/2CP//9vb3 WVhYWFhYWFhYUFoI//YIUVlYWFhZ9f//CFlZCPb29vYI9vb2////CFpZWFhY ovb////29vb29v////asUFBYYQj///VYWFhZ9f//9vb/CAj29v/2//ZaUFhY WaP2///29ggI9v////b2o1BYWfT2///29vYI9v///wijUVhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///+sUVCr////9qNQWVhYWFhYUKL/ //+rUFlQWFCiCP/29v/29v////b3WVhYWFla9vb////29v///wisWVBZYvb/ //VQWFhY9f/29llQWVBZCP/29rRQWVBYUFlYWFBYtPb///b///b/9FhQogj/ ///2////9v//rFlYUKP/9v////////VZWFr2///0WFhYWFFaB//2//b///b/ 9vYHWVlYWFi0///2CP//9v/////1Uaz///+iUFhQWvb//wf2//b////2/whR WFhYWFhYWFhYWaP2///3UVhYWFhQrP/2/6NQrP/2//////b/9vb2o1FRWFhY ovb/9gj2//b29v////VRUFlYWQj///VZWFhZ9fb/9gj///////b29qNQWVhY WVD1//b///////YH9v//o1lQUKMI///2//////b29vdZUFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKP///+sWVhQq/b///ZaUVFYWFhYWKP2 //+sUFhYUFBZWvT2///////29axZWFhYWFhZWfUI9v////b2CKJYWFhQovb/ 9vRZWFhZ9f//CFlYWFhYWgj///+0UFlYWFhYWFhZovUI///29fX1ollQUKL0 CP//9vb/9gijWVBYWKKsCP///wj19atZUFn2///0WFhYWFhZWqwI//////// CKtZWFhYWVD0///2o6wI////9vWjUaz2//+rWVBYovb/9qyj9f/2///29FpR WFhYWFhYWFhYWQj2//ZiWVhYWFhYovb///VZUaP19v//9v//CPWiUFlQWVhQ q/b//6ujCP////8IrFpRUFhYWfb/9vVZUFhY9fb/CFqsCP////b1q1lYWFhY WFBZrAj////2CKus9vb/o1BYUFij9fb2/////wgIo1lZWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKP///+sWFhYWff/9vYIWlFYWFhYWKP2 //+sUFhYWFhQUFlaq6urq6uiWVBYWFhYWFhYWVhiq6ysq6OiWFBYWFhQWays rKJYWFhZCP//CFlYWFhYWaKrrKyiWVlYWFhYWFhYWVH39vYIWlFQUFhYUFBZ YqOrrKyrollQUFhYUFBZowj29qNQUFlYWFn2///0UFhYWFlYUFlao6usrKui WVBQWFlYWFiiq6urWVFiq6uro1lQUKKrq6tZUFlQWaurrGJQWaOrq6uiWVBZ WFhYWFhYWFhYWKKrq6tZUFhYWFhQWaurq6NZUVlZoqusrKyrWllQWFhQWFhQ Wqurq1lRoqurq6taWVBQWVhYWKurq6JQUFlYoqurq1BZoqusq6JZUFBYYVhY WFBQWaKjrKyjYVCj////o1BYWFhRWaKjrKysq6JZWVBQWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKP///+sUFhYUFoH////CFFRWFhYWKP2 //+sUFhYWFhYWFBQUFBRUFBQUFBYWFhYWFhYWFBQUFBQUFFQWVhYWFhZUVFR UVBYWFhZCP//CFlYWFhYUFBQUFBZWVhYWFhYWFhYUVH3///2WlBQWFhYWFhQ UFBQUFBQUFBQWVhYWFBQo/b//6NRUFhYWGH2///0UVhYWFhYUFhZUFBRUVFQ UFhYWFhYWFlYUFlRUVFQUFBQUFBQWVlYUFhQUFlZWFgQWVBQUFBYUFBQUFBZ WFhYWFhYWFhYWFhYUFBZWFhYWFhYUFlQUFlQUFBQUFlQUVFQUFBYWVhYWFhQ WFlQWVBQUFBRWVBQUFBZWVhYWFhQWVhQUFlQWFhQWVBQUFBQUFBQWFhYWFhY WFhYWFBQUVFYWFCr9vb/o1BYWFhQUFFRUVBQUFBQWFBYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKP////3UFhYUFGaCPb29vVRWFhYWKP/ //+rUFhYWFhYWFhZUFlZWFhYWVhYWFhYWFhYWFhZWFBQUFhYUFBYWFhYUVFR UVlZWFhQ9f//CFlYWFhYWFhZUFBQWFhYWFhYWFhYWVGs//b2WllZWFhYWFhZ WVhZUFBQWFlZWFhYWFlRq/b29qNZWVlQWGH2///1UVhYWFhYWFhYWFhZWVBQ WFhYWFhYWFhYUFhQWVlYWFlYWFhYWFhQWFhYWFhYWFhQWVhYWFhYUFBYWVhY WFhYWFhYWFhYWVBYWFBZWFhYWFhYWFhQWFhYWFlZWFBRUFBYWVlYWFhYWFhY WFBQWFhZWFBQWVBZWVlYWFhYWFhQUFBYWFhYWFhQWFlZWFhZWVhYWFhYWFhY WFhYWFhZUVlYWFir////o1BYWFhZWVBZUFBQWFlZWVhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKP///+0WFhYWFFRovb/9v+rWFhYUKP/ //+rWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhYWFhZWVpi ollQUFhZCP//CFlYWFhYUFlZWFhYWFhYWFhYWFhYUFGs///2WlBYWFhYWFhY WFhYWFlYWFhYWFhYWFhQq/b/9qNRUFhYWFn2///1UVhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVhYWFhYWFhYWFBYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFBYWFhYWFlYWFhYWFhZWVlYWFhYWFhYWFhY WFhYWFhYWFhYWFhQWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhZWFhYWFhYWFhY WFhYWFhYWVhYWFCr///2o1FYWFhYWFhYWVhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///+sWFhYWFlRUKz2//b2qlBYUJv2 //+rWFhYWFhYWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBYWFhQo/// //VZWFhZ9f//CFlYWFhYUFhQUFhYWFhYWFhYWFhYWFn0///2olhYWFhYWFhY WFhQWFhYWFhYWFhYWFhQq/b//6tZWFhYWFn2///1UVhYWFhYWFhYWFhYUFhY WFhYWFhYWFhYWFhYWFhYWFBQWFhYWFhYWFhYWFhYWFhYWFBYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhY WFhYWFhYUFhYWFir9vb2o1FYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///+rWFhYWFlZWFD19v/2CKpYUKP2 //+rWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQovb/ //RQWFhZCP//CFlYWFhYWFlYWFhYWFhYWFhYWFhYWFCiq6urWVhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWaurq1lYWFhYWFn2///0UFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFir////o1BYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWKL///+0WFhYWFhYWVhZCP///whZWaP/ //+rWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYov/2 //VQWVhY9f//CFlYWFhYUFhYWFhYWFhYWFhYWFhYWFhZUFBZWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYUFlQWFBYWFhYWGEI///0WFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUFlYWFhYWFhYUFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFir//b/olBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlZWVlZWFhYWFhYWFhZWVlZWVlZWVlZ WVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVlZ WVlYWFhYWVlZWVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVlZWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWVlZWVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWVlYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlQ WFhYWFhYWVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFBQ WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFlYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZ WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWA== --%AMS_NEXTPART%-- From michael.monnerie@is.it-management.at Sun Aug 30 03:18: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=AWL,BAYES_00,J_CHICKENPOX_33 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 n7U8I9jn013213 for ; Sun, 30 Aug 2009 03:18:21 -0500 X-ASG-Debug-ID: 1251620307-464102b10000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv5.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id AB19F1B83C14 for ; Sun, 30 Aug 2009 01:18:27 -0700 (PDT) Received: from mailsrv5.zmi.at (mailsrv5.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id hxDZPv7njesTaEc1 for ; Sun, 30 Aug 2009 01:18:27 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv5.zmi.at (Postfix) with ESMTP id D9C143D1 for ; Sun, 30 Aug 2009 10:17:51 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 6F87340015E for ; Sun, 30 Aug 2009 10:17:51 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs data loss Subject: Re: xfs data loss Date: Sun, 30 Aug 2009 10:17:31 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.5-ZMI; KDE/4.1.3; x86_64; ; ) References: <4A99D4DF.50003@sandeen.net> In-Reply-To: <4A99D4DF.50003@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200908301017.31887@zmi.at> X-Barracuda-Connect: mailsrv5.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1251620335 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.7617 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 Sonntag 30 August 2009 Eric Sandeen wrote: > This all seems most likely to be a raid failure problem, but it's > hard to know. =A0I can't imagine why you're getting > suddenly-disappearing directories without a reboot or even a single > error message; I just don't know what to make of that. Exactly, what does "we had a power shock" mean? The OP said it was no=20 power failure with reboot, so what happened? mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From michael.monnerie@is.it-management.at Sun Aug 30 03:39: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.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_33 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 n7U8d4vp014144 for ; Sun, 30 Aug 2009 03:39:14 -0500 X-ASG-Debug-ID: 1251621568-4c5b01160000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv5.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C926E40DCAB for ; Sun, 30 Aug 2009 01:39:29 -0700 (PDT) Received: from mailsrv5.zmi.at (mailsrv5.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id uylPiguyhYZo50Ra for ; Sun, 30 Aug 2009 01:39:29 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv5.zmi.at (Postfix) with ESMTP id 386153D1; Sun, 30 Aug 2009 10:39:25 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id ECCE840015E; Sun, 30 Aug 2009 10:39:24 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: Justin Piszcz , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: zero size file after power failure with kernel 2.6.30.5 Subject: Re: zero size file after power failure with kernel 2.6.30.5 Date: Sun, 30 Aug 2009 10:39:04 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.5-ZMI; KDE/4.1.3; x86_64; ; ) References: <200908292102.21710@zmi.at> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200908301039.05303@zmi.at> X-Barracuda-Connect: mailsrv5.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1251621589 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.7619 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 Samstag 29 August 2009 Justin Piszcz wrote: > I was curious if you could show your smartctl -a output? > > smartctl -a /dev/sda Here the important parts of it: Device Model: WDC WD1500HLFS-01G6U0 Firmware Version: 04.04V01 ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 0 3 Spin_Up_Time 0x0003 190 185 021 Pre-fail Always - 1466 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 48 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0 7 Seek_Error_Rate 0x000e 200 200 000 Old_age Always - 0 9 Power_On_Hours 0x0032 092 092 000 Old_age Always - 6282 10 Spin_Retry_Count 0x0012 100 253 000 Old_age Always - 0 11 Calibration_Retry_Count 0x0012 100 253 000 Old_age Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 48 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 13 193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 48 194 Temperature_Celsius 0x0022 112 102 000 Old_age Always - 31 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0 197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0 PNum Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed without error 00% 6274 - # 2 Extended offline Completed without error 00% 6251 - # 3 Short offline Completed without error 00% 6250 - # 4 Short offline Completed without error 00% 6226 - # 5 Short offline Completed without error 00% 6202 - # 6 Short offline Completed without error 00% 6187 - # 7 Extended offline Completed without error 00% 6167 - # 8 Short offline Completed without error 00% 6145 - # 9 Short offline Completed without error 00% 6121 - #10 Short offline Completed without error 00% 6097 - #11 Extended offline Completed without error 00% 6090 - #12 Extended offline Completed without error 00% 6024 - #13 Short offline Completed without error 00% 3613 - #14 Short offline Completed without error 00% 3589 - #15 Extended offline Completed without error 00% 3567 - #16 Short offline Completed without error 00% 3565 - #17 Short offline Completed without error 00% 3541 - #18 Short offline Completed without error 00% 3517 - #19 Short offline Completed without error 00% 3493 - #20 Short offline Completed without error 00% 3469 - #21 Short offline Completed without error 00% 3445 - > The SU issue most likely resulted in the xfs file going to 0 issue > (i see the same thing on occasion during a PSU issue or crash/reboot) Yes, and that's annoying. I've never had that for reiserfs, so I guess it's really XFS to blame here. I like that filesystem, but such things really shouldn't happen. > however I am curious to see if you see any of the issues here: > http://forums.storagereview.net/index.php?showtopic=27303&hl=velociraptor > > Since you only use one drive and not a raid of the WD Velociraptors, > you may not be affected, but I was curious, thanks. In fact I use 3 VelociRaptor 150GB and 6 Raptors. 8 are in a single RAID-6 in a server running since about 3 years, and during this time 2 Raptors died and were replaced by VelociRaptors. The one I use in my desktop is a spare spart to use in case the server needs one. I just use it because the speed is nice, and I see if it has failures. Smartctl is running as a daemon here, so you can see the SMART self tests. It's almost definitely not the drive. mfg zmi -- // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From michael.monnerie@is.it-management.at Sun Aug 30 03:44:28 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_33 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 n7U8i8S2014373 for ; Sun, 30 Aug 2009 03:44:18 -0500 X-ASG-Debug-ID: 1251621894-424b00150000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv5.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E59EF1B83D22 for ; Sun, 30 Aug 2009 01:44:54 -0700 (PDT) Received: from mailsrv5.zmi.at (mailsrv5.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id P0eLkEcJZ1SGhWRW for ; Sun, 30 Aug 2009 01:44:54 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv5.zmi.at (Postfix) with ESMTP id 9295C3D1 for ; Sun, 30 Aug 2009 10:44:23 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 5386940015E for ; Sun, 30 Aug 2009 10:44:23 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs Subject: Re: pushing out a new xfsprogs release, was Re: [PATCH] xfsprogs: fix unaligned access in libxfs Date: Sun, 30 Aug 2009 10:44:03 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.5-ZMI; KDE/4.1.3; x86_64; ; ) References: <20090828153718.GA26409@infradead.org> <200908300017.07268@zmi.at> <4A99D43D.5050208@sandeen.net> In-Reply-To: <4A99D43D.5050208@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200908301044.03807@zmi.at> X-Barracuda-Connect: mailsrv5.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1251621902 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.7619 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 Sonntag 30 August 2009 Eric Sandeen wrote: > Afraid I haven't fixed that one yet, sorry. =A0If you could open a bug > on xfs.org's bugzilla it'd be much better for tracking ... OK, looked there, but there are only 2 links: to kernel.org or=20 oss.sgi.com bugzillas. Which one should I use? BTW, wouldn't it be better to declare on the Wiki which bugzilla to use? > I did find that building xfsprogs w/o debug ASSERTs turned on, I > could get a clean fs after 2 runs, just to get you going again... What would I need to take out exactly? Sorry, I don't know what "debug=20 ASSERTs" are. I've seen from patches sent here those are commands, but=20 which ones are for debug? mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From michael.monnerie@is.it-management.at Sun Aug 30 04:45:59 2009 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 n7U9jc7b017305 for ; Sun, 30 Aug 2009 04:45:48 -0500 X-ASG-Debug-ID: 1251625564-4f0f03570000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv5.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id A70921D62EEB for ; Sun, 30 Aug 2009 02:46:04 -0700 (PDT) Received: from mailsrv5.zmi.at (mailsrv5.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id SewhHNg0Z20GpP0Q for ; Sun, 30 Aug 2009 02:46:04 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv5.zmi.at (Postfix) with ESMTP id C24F13D1; Sun, 30 Aug 2009 11:45:24 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 23C3740015E; Sun, 30 Aug 2009 11:45:24 +0200 (CEST) From: Michael Monnerie Organization: it-management http://it-management.at To: xfs@oss.sgi.com, Eric Sandeen X-ASG-Orig-Subj: Re: bad fs - xfs_repair 3.01 crashes on it Subject: Re: bad fs - xfs_repair 3.01 crashes on it Date: Sun, 30 Aug 2009 11:45:03 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.30.5-ZMI; KDE/4.1.3; x86_64; ; ) References: <200907031320.48358@zmi.at> <200907121902.32599@zmi.at> <4A5A26EC.8090503@sandeen.net> In-Reply-To: <4A5A26EC.8090503@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200908301145.03931@zmi.at> X-Barracuda-Connect: mailsrv5.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1251625568 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.7623 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 Sonntag 12 Juli 2009 Eric Sandeen wrote: > If you do want to try deleting that one file or other such tricks, > you can do it on a sparse metadata image of the fs as a dry run: > > # xfs_metadump -o /dev/whatever metadump.img > # xfs_mdrestore metadump.img filesystem.img > # mount -o loop filesystem.img mnt/ > # > # umount mnt/ > # xfs_repair filesystem.img > # mount -o loop filesystem.img mnt/ > > and see what happens... To warm up the old thread, I did this now: * make metadump * mount it * remove unneeded files/dirs This already produced lots of errors, where files/dirs couldn't be deleted.= I made a metadump of this again, it's on http://zmi.at/xfs.metadump-broken= only.bz2 Then I tried with v3.0.1: # xfs_repair xfs.img=20 Phase 1 - find and verify superblock... =20 Phase 2 - using internal log =20 - zero log... =20 - scan filesystem freespace and inode maps... - found root inode chunk =20 Phase 3 - for each AG... =20 - scan and clear agi unlinked lists... =20 - process known inodes and perform inode discovery... - agno =3D 0 =20 - agno =3D 1 =20 - agno =3D 2 =20 - agno =3D 3 =20 - agno =3D 4 =20 - agno =3D 5 =20 - agno =3D 6 =20 - agno =3D 7 =20 - agno =3D 8 =20 - agno =3D 9 =20 - agno =3D 10 =20 - agno =3D 11 =20 - agno =3D 12 =20 - agno =3D 13 =20 - agno =3D 14 =20 local inode 3857051697 attr too small (size =3D 3, min size =3D 4) bad attribute fork in inode 3857051697, clearing attr fork =20 clearing inode 3857051697 attributes =20 cleared inode 3857051697 =20 - agno =3D 15 =20 - agno =3D 16 =20 - agno =3D 17 =20 - agno =3D 18 =20 - agno =3D 19 =20 - agno =3D 20 =20 - agno =3D 21 =20 - agno =3D 22 =20 - agno =3D 23 =20 - agno =3D 24 =20 - agno =3D 25 =20 - agno =3D 26 =20 - agno =3D 27 =20 - agno =3D 28 =20 - agno =3D 29 =20 - agno =3D 30 =20 - agno =3D 31 =20 - agno =3D 32 =20 - agno =3D 33 =20 - agno =3D 34 =20 - agno =3D 35 =20 - agno =3D 36 =20 - agno =3D 37 =20 - agno =3D 38 =20 - agno =3D 39 =20 - process newly discovered inodes... =20 Phase 4 - check for duplicate blocks... =20 - setting up duplicate extent list... =20 - check for inodes claiming duplicate blocks... =20 - agno =3D 0 =20 - agno =3D 1 =20 - agno =3D 2 =20 - agno =3D 3 =20 - agno =3D 4 =20 - agno =3D 5 =20 - agno =3D 6 =20 - agno =3D 7 =20 - agno =3D 8 =20 - agno =3D 9 =20 - agno =3D 10 =20 - agno =3D 11 =20 - agno =3D 12 =20 - agno =3D 13 =20 - agno =3D 14 =20 - agno =3D 15 =20 - agno =3D 16 =20 - agno =3D 17 =20 - agno =3D 18 =20 data fork in regular inode 3857051697 claims used block 537546384 - agno =3D 19 =20 xfs_repair: dinode.c:2108: process_inode_data_fork: Zusicherung =BBerr =3D= =3D 0=AB nicht erf=FCllt. Abgebrochen = =20 So I patched out the ASSERT in #dinode.c:2108 and this made: # xfs_repair xfs.img =20 Phase 1 - find and verify superblock... = =20 Phase 2 - using internal log = =20 - zero log... = =20 - scan filesystem freespace and inode maps... = =20 - found root inode chunk = =20 Phase 3 - for each AG... = =20 - scan and clear agi unlinked lists... = =20 - process known inodes and perform inode discovery... = =20 - agno =3D 0 = =20 - agno =3D 1 = =20 - agno =3D 2 = =20 - agno =3D 3 = =20 - agno =3D 4 = =20 - agno =3D 5 = =20 - agno =3D 6 = =20 - agno =3D 7 = =20 - agno =3D 8 = =20 - agno =3D 9 = =20 - agno =3D 10 = =20 - agno =3D 11 = =20 - agno =3D 12 = =20 - agno =3D 13 = =20 - agno =3D 14 = =20 local inode 3857051697 attr too small (size =3D 3, min size =3D 4) = =20 bad attribute fork in inode 3857051697, clearing attr fork = =20 clearing inode 3857051697 attributes = =20 cleared inode 3857051697 = =20 - agno =3D 15 = =20 - agno =3D 16 = =20 - agno =3D 17 = =20 - agno =3D 18 = =20 - agno =3D 19 = =20 - agno =3D 20 = =20 - agno =3D 21 = =20 - agno =3D 22 = =20 - agno =3D 23 = =20 - agno =3D 24 = =20 - agno =3D 25 = =20 - agno =3D 26 = =20 - agno =3D 27 = =20 - agno =3D 28 = =20 - agno =3D 29 = =20 - agno =3D 30 = =20 - agno =3D 31 = =20 - agno =3D 32 = =20 - agno =3D 33 = =20 - agno =3D 34 = =20 - agno =3D 35 = =20 - agno =3D 36 = =20 - agno =3D 37 = =20 - agno =3D 38 = =20 - agno =3D 39 = =20 - process newly discovered inodes... = =20 Phase 4 - check for duplicate blocks... = =20 - setting up duplicate extent list... = =20 - check for inodes claiming duplicate blocks... = =20 - agno =3D 0 = =20 - agno =3D 1 = =20 - agno =3D 2 = =20 - agno =3D 3 = =20 - agno =3D 4 = =20 - agno =3D 5 = =20 - agno =3D 6 = =20 - agno =3D 7 = =20 - agno =3D 8 = =20 - agno =3D 9 = =20 - agno =3D 10 = =20 - agno =3D 11 = =20 - agno =3D 12 = =20 - agno =3D 13 = =20 - agno =3D 14 - agno =3D 15 - agno =3D 16 - agno =3D 17 - agno =3D 18 - agno =3D 19 - agno =3D 20 data fork in regular inode 3857051697 claims used block 537546384 bad attribute format 1 in inode 3857051697, resetting value correcting nblocks for inode 3857051697, was 10135251 - counted 8388604 - agno =3D 21 - agno =3D 22 - agno =3D 23 - agno =3D 24 data fork in regular inode 6174936063 claims used block 537240415 correcting nblocks for inode 6174936063, was 1 - counted 0 data fork in regular inode 6180186880 claims used block 537242879 correcting nblocks for inode 6180186880, was 1 - counted 0 - agno =3D 25 - agno =3D 26 - agno =3D 27 data fork in regular inode 7257143306 claims used block 537251790 correcting nblocks for inode 7257143306, was 1 - counted 0 data fork in regular inode 7257143307 claims used block 537257951 correcting nblocks for inode 7257143307, was 1 - counted 0 data fork in regular inode 6720520457 claims used block 537246687 correcting nblocks for inode 6720520457, was 1 - counted 0 data fork in regular inode 6720520458 claims used block 537247327 correcting nblocks for inode 6720520458, was 1 - counted 0 - agno =3D 28 - agno =3D 29 - agno =3D 30 - agno =3D 31 data fork in regular inode 8326467385 claims used block 537198367 correcting nblocks for inode 8326467385, was 1 - counted 0 - agno =3D 32 inode block 537201328 multiply claimed, state was 3 inode block 537201329 multiply claimed, state was 3 inode block 537201330 multiply claimed, state was 3 data fork in regular inode 8595221283 claims used block 537201683 correcting nblocks for inode 8595221283, was 1 - counted 0 data fork in regular inode 8595221284 claims used block 537201684 - agno =3D 33 correcting nblocks for inode 8595221284, was 5 - counted 0 data fork in regular inode 8595221285 claims used block 537201689 correcting nblocks for inode 8595221285, was 1 - counted 0 data fork in regular inode 8595221286 claims used block 537201690 correcting nblocks for inode 8595221286, was 6 - counted 0 data fork in regular inode 8326763299 claims used block 537270223 correcting nblocks for inode 8326763299, was 1 - counted 0 data fork in regular inode 8326763300 claims used block 537271439 correcting nblocks for inode 8326763300, was 1 - counted 0 data fork in regular inode 8595221287 claims used block 537201696 correcting nblocks for inode 8595221287, was 1 - counted 0 data fork in regular inode 8595221288 claims used block 537201699 attr fork in regular inode 8595221288 claims used block 537201698 xfs_repair: dinode.c:2241: process_inode_attr_fork: Zusicherung =BBerr =3D= =3D 0=AB nicht erf=FCllt. data fork in regular inode 8058708772 claims used block 537258543 correcting nblocks for inode 8058708772, was 1 - counted 0 data fork in regular inode 8058708773 claims used block 537260719 correcting nblocks for inode 8058708773, was 1 - counted 0 Abgebrochen So again patch dinode.c:2241 ASSERT away: # xfs_repair xfs.img Phase 1 - find and verify superblock... =20 Phase 2 - using internal log =20 - zero log... =20 - scan filesystem freespace and inode maps... - found root inode chunk =20 Phase 3 - for each AG... =20 - scan and clear agi unlinked lists... =20 - process known inodes and perform inode discovery... - agno =3D 0 =20 - agno =3D 1 =20 - agno =3D 2 =20 - agno =3D 3 =20 - agno =3D 4 =20 - agno =3D 5 =20 - agno =3D 6 =20 - agno =3D 7 =20 - agno =3D 8 =20 - agno =3D 9 =20 - agno =3D 10 =20 - agno =3D 11 =20 - agno =3D 12 =20 - agno =3D 13 =20 - agno =3D 14 =20 local inode 3857051697 attr too small (size =3D 3, min size =3D 4) bad attribute fork in inode 3857051697, clearing attr fork =20 clearing inode 3857051697 attributes =20 cleared inode 3857051697 =20 - agno =3D 15 =20 - agno =3D 16 =20 - agno =3D 17 =20 - agno =3D 18 =20 - agno =3D 19 =20 - agno =3D 20 =20 - agno =3D 21 =20 - agno =3D 22 =20 - agno =3D 23 =20 - agno =3D 24 =20 - agno =3D 25 =20 - agno =3D 26 =20 - agno =3D 27 =20 - agno =3D 28 =20 - agno =3D 29 =20 - agno =3D 30 =20 - agno =3D 31 =20 - agno =3D 32 =20 - agno =3D 33 =20 - agno =3D 34 =20 - agno =3D 35 =20 - agno =3D 36 =20 - agno =3D 37 =20 - agno =3D 38 =20 - agno =3D 39 =20 - process newly discovered inodes... =20 Phase 4 - check for duplicate blocks... =20 - setting up duplicate extent list... =20 - check for inodes claiming duplicate blocks... =20 - agno =3D 1 =20 - agno =3D 0 =20 - agno =3D 3 =20 - agno =3D 2 =20 - agno =3D 4 =20 - agno =3D 5 =20 - agno =3D 6 =20 - agno =3D 7 =20 - agno =3D 8 =20 - agno =3D 9 =20 - agno =3D 10 =20 - agno =3D 11 =20 - agno =3D 12 =20 - agno =3D 13 =20 - agno =3D 14 =20 - agno =3D 15 =20 - agno =3D 16 =20 - agno =3D 17 =20 - agno =3D 18 =20 data fork in regular inode 3857051697 claims used block 537546384 bad attribute format 1 in inode 3857051697, resetting value =20 correcting nblocks for inode 3857051697, was 10135251 - counted 8388604 - agno =3D 19 =20 - agno =3D 20 =20 - agno =3D 21 =20 - agno =3D 22 =20 - agno =3D 23 =20 data fork in regular inode 6174936063 claims used block 537240415 =20 correcting nblocks for inode 6174936063, was 1 - counted 0 =20 data fork in regular inode 6180186880 claims used block 537242879 =20 correcting nblocks for inode 6180186880, was 1 - counted 0 =20 - agno =3D 24 =20 - agno =3D 25 =20 - agno =3D 26 =20 - agno =3D 27 =20 data fork in regular inode 6720520457 claims used block 537246687 =20 correcting nblocks for inode 6720520457, was 1 - counted 0 =20 data fork in regular inode 6720520458 claims used block 537247327 =20 correcting nblocks for inode 6720520458, was 1 - counted 0 =20 data fork in regular inode 7257143306 claims used block 537251790 =20 correcting nblocks for inode 7257143306, was 1 - counted 0 =20 data fork in regular inode 7257143307 claims used block 537257951 =20 correcting nblocks for inode 7257143307, was 1 - counted 0 =20 - agno =3D 28 =20 - agno =3D 29 =20 - agno =3D 30 =20 - agno =3D 31 =20 data fork in regular inode 8326467385 claims used block 537198367 =20 correcting nblocks for inode 8326467385, was 1 - counted 0 =20 data fork in regular inode 8058708772 claims used block 537258543 =20 correcting nblocks for inode 8058708772, was 1 - counted 0 =20 data fork in regular inode 8058708773 claims used block 537260719 =20 correcting nblocks for inode 8058708773, was 1 - counted 0 =20 data fork in regular inode 8326763299 claims used block 537270223 =20 correcting nblocks for inode 8326763299, was 1 - counted 0 =20 data fork in regular inode 8326763300 claims used block 537271439 =20 correcting nblocks for inode 8326763300, was 1 - counted 0 =20 - agno =3D 32 =20 inode block 537201328 multiply claimed, state was 3 =20 inode block 537201329 multiply claimed, state was 3 =20 inode block 537201330 multiply claimed, state was 3 =20 data fork in regular inode 8595221283 claims used block 537201683 =20 correcting nblocks for inode 8595221283, was 1 - counted 0 =20 data fork in regular inode 8595221284 claims used block 537201684 =20 correcting nblocks for inode 8595221284, was 5 - counted 0 =20 data fork in regular inode 8595221285 claims used block 537201689 =20 correcting nblocks for inode 8595221285, was 1 - counted 0 =20 data fork in regular inode 8595221286 claims used block 537201690 =20 correcting nblocks for inode 8595221286, was 6 - counted 0 =20 data fork in regular inode 8595221287 claims used block 537201696 =20 correcting nblocks for inode 8595221287, was 1 - counted 0 =20 data fork in regular inode 8595221288 claims used block 537201699 =20 attr fork in regular inode 8595221288 claims used block 537201698 =20 - agno =3D 33 =20 correcting nblocks for inode 8595221288, was 2 - counted 0 =20 data fork in regular inode 8595221292 claims used block 537201700 =20 correcting nblocks for inode 8595221292, was 1 - counted 0 =20 data fork in regular inode 8595221294 claims used block 537201702 =20 correcting nblocks for inode 8595221294, was 1 - counted 0 =20 data fork in regular inode 8595221295 claims used block 537201703 =20 correcting nblocks for inode 8595221295, was 1 - counted 0 =20 inode block 537201331 multiply claimed, state was 3 =20 data fork in regular inode 8595221296 claims used block 537201704 =20 correcting nblocks for inode 8595221296, was 1 - counted 0 =20 data fork in regular inode 8595221297 claims used block 537201705 =20 correcting nblocks for inode 8595221297, was 1 - counted 0 =20 data fork in regular inode 8595221299 claims used block 537201706 =20 correcting nblocks for inode 8595221299, was 1 - counted 0 =20 data fork in regular inode 8595221300 claims used block 537201707 =20 correcting nblocks for inode 8595221300, was 3 - counted 0 =20 data fork in regular inode 8595221310 claims used block 537201701 =20 correcting nblocks for inode 8595221310, was 1 - counted 0 =20 inode block 537201712 multiply claimed, state was 3 =20 inode block 537201713 multiply claimed, state was 3 =20 data fork in regular inode 8595227413 claims used block 537201711 =20 correcting nblocks for inode 8595227413, was 1 - counted 0 =20 inode block 537201714 multiply claimed, state was 3 =20 inode block 537201715 multiply claimed, state was 3 =20 data fork in regular inode 8595227442 claims used block 537201716 =20 correcting nblocks for inode 8595227442, was 2 - counted 0 =20 bad directory block magic # 0x58443244 in block 0 for directory inode 85952= 27442 inode block 537201728 multiply claimed, state was 3 = =20 inode block 537201729 multiply claimed, state was 3 = =20 inode block 537201730 multiply claimed, state was 3 = =20 inode block 537201731 multiply claimed, state was 3 = =20 inode block 537201732 multiply claimed, state was 3 = =20 data fork in regular inode 8595227713 claims used block 537201736 = =20 correcting nblocks for inode 8595227713, was 1 - counted 0 = =20 inode block 537201733 multiply claimed, state was 3 = =20 data fork in regular inode 8595227737 claims used block 537201737 = =20 correcting nblocks for inode 8595227737, was 9 - counted 0 = =20 bad size/format for directory 8595227737 = =20 problem with directory contents in inode 8595227737 = =20 cleared inode 8595227737 = =20 - agno =3D 34 = =20 inode block 537201734 multiply claimed, state was 3 = =20 inode block 537201735 multiply claimed, state was 3 = =20 data fork in regular inode 8595227769 claims used block 537201840 = =20 correcting nblocks for inode 8595227769, was 18 - counted 0 = =20 inode block 537201744 multiply claimed, state was 3 = =20 inode block 537201745 multiply claimed, state was 3 = =20 inode block 537201746 multiply claimed, state was 3 = =20 inode block 537201747 multiply claimed, state was 3 = =20 data fork in regular inode 8595227964 claims used block 537201743 = =20 correcting nblocks for inode 8595227964, was 1 - counted 0 = =20 entry ".." at block 0 offset 32 in directory inode 8595227964 references fr= ee inode 8595227737 clearing inode number in entry at offset 32... = =20 no .. entry for directory 8595227964 = =20 inode block 537201748 multiply claimed, state was 3 = =20 inode block 537201749 multiply claimed, state was 3 = =20 inode block 537201750 multiply claimed, state was 3 = =20 inode block 537201751 multiply claimed, state was 3 = =20 inode block 537201752 multiply claimed, state was 3 = =20 inode block 537201753 multiply claimed, state was 3 = =20 inode block 537201754 multiply claimed, state was 3 = =20 inode block 537201755 multiply claimed, state was 3 = =20 inode block 537201756 multiply claimed, state was 3 = =20 data fork in regular inode 8595228100 claims used block 537201760 = =20 correcting nblocks for inode 8595228100, was 1 - counted 0 = =20 entry ".." at block 0 offset 32 in directory inode 8595228100 references fr= ee inode 8595227737 clearing inode number in entry at offset 32... = =20 no .. entry for directory 8595228100 = =20 inode block 537201757 multiply claimed, state was 3 = =20 data fork in regular inode 8595228123 claims used block 537201761 = =20 correcting nblocks for inode 8595228123, was 1 - counted 0 = =20 inode block 537201758 multiply claimed, state was 3 = =20 inode block 537201759 multiply claimed, state was 3 = =20 inode block 537201776 multiply claimed, state was 3 = =20 inode block 537201777 multiply claimed, state was 3 = =20 inode block 537201778 multiply claimed, state was 3 = =20 entry ".." at block 0 offset 32 in directory inode 9132444792 references fr= ee inode 8595227737 clearing inode number in entry at offset 32... = =20 no .. entry for directory 9132444792 = =20 inode block 537201779 multiply claimed, state was 3 = =20 inode block 537201780 multiply claimed, state was 3 = =20 inode block 537201781 multiply claimed, state was 3 = =20 inode block 537201782 multiply claimed, state was 3 = =20 inode block 537201783 multiply claimed, state was 3 = =20 inode block 537201784 multiply claimed, state was 3 = =20 inode block 537201785 multiply claimed, state was 3 = =20 inode block 537201786 multiply claimed, state was 3 = =20 inode block 537201787 multiply claimed, state was 3 = =20 inode block 537201788 multiply claimed, state was 3 = =20 inode block 537201789 multiply claimed, state was 3 = =20 data fork in regular inode 8595228625 claims used block 537201792 = =20 correcting nblocks for inode 8595228625, was 1 - counted 0 = =20 inode block 537201790 multiply claimed, state was 3 = =20 data fork in regular inode 8595228641 claims used block 537201793 = =20 correcting nblocks for inode 8595228641, was 1 - counted 0 = =20 inode block 537201791 multiply claimed, state was 3 = =20 inode block 537201808 multiply claimed, state was 3 = =20 inode block 537201809 multiply claimed, state was 3 = =20 inode block 537201810 multiply claimed, state was 3 = =20 inode block 537201811 multiply claimed, state was 3 = =20 inode block 537201812 multiply claimed, state was 3 = =20 inode block 537201813 multiply claimed, state was 3 = =20 data fork in regular inode 8595229016 claims used block 537201816 = =20 correcting nblocks for inode 8595229016, was 1 - counted 0 = =20 inode block 537201814 multiply claimed, state was 3 = =20 inode block 537201815 multiply claimed, state was 3 = =20 inode block 537201824 multiply claimed, state was 3 = =20 data fork in regular inode 8595229189 claims used block 537201823 = =20 correcting nblocks for inode 8595229189, was 1 - counted 0 = =20 inode block 537201825 multiply claimed, state was 3 = =20 - agno =3D 35 = =20 data fork in regular inode 8595229205 claims used block 537201822 = =20 correcting nblocks for inode 8595229205, was 1 - counted 0 = =20 - agno =3D 36 = =20 data fork in regular inode 8595229206 claims used block 537201828 = =20 correcting nblocks for inode 8595229206, was 1 - counted 0 = =20 entry ".." at block 0 offset 32 in directory inode 9668507710 references fr= ee inode 8595227737 data fork in regular inode 8595229207 claims used block 537201821 = =20 clearing inode number in entry at offset 32... = =20 no .. entry for directory 9668507710 = =20 correcting nblocks for inode 8595229207, was 1 - counted 0 = =20 data fork in regular inode 8595229208 claims used block 537201829 = =20 correcting nblocks for inode 8595229208, was 1 - counted 0 = =20 data fork in regular inode 8595229209 claims used block 537201820 = =20 correcting nblocks for inode 8595229209, was 1 - counted 0 = =20 data fork in regular inode 8595229210 claims used block 537201830 = =20 correcting nblocks for inode 8595229210, was 1 - counted 0 = =20 data fork in regular inode 8595229211 claims used block 537201831 = =20 correcting nblocks for inode 8595229211, was 2 - counted 0 = =20 data fork in regular inode 8595229212 claims used block 537201819 = =20 correcting nblocks for inode 8595229212, was 1 - counted 0 = =20 data fork in regular inode 8595229213 claims used block 537201818 = =20 correcting nblocks for inode 8595229213, was 1 - counted 0 = =20 data fork in regular inode 8595229214 claims used block 537201817 = =20 correcting nblocks for inode 8595229214, was 1 - counted 0 = =20 data fork in regular inode 8595229215 claims used block 537201833 = =20 correcting nblocks for inode 8595229215, was 1 - counted 0 = =20 inode block 537201826 multiply claimed, state was 3 = =20 data fork in regular inode 8595229216 claims used block 537201834 = =20 correcting nblocks for inode 8595229216, was 1 - counted 0 = =20 data fork in regular inode 8595229218 claims used block 537201835 = =20 correcting nblocks for inode 8595229218, was 1 - counted 0 = =20 data fork in regular inode 8595229219 claims used block 537201836 = =20 correcting nblocks for inode 8595229219, was 4 - counted 0 = =20 data fork in regular inode 8595229220 claims used block 537201797 = =20 correcting nblocks for inode 8595229220, was 11 - counted 0 = =20 data fork in regular inode 8595229221 claims used block 537201858 = =20 correcting nblocks for inode 8595229221, was 5 - counted 0 = =20 data fork in regular inode 8595229222 claims used block 537201796 = =20 correcting nblocks for inode 8595229222, was 1 - counted 0 = =20 data fork in regular inode 8595229223 claims used block 537201795 = =20 correcting nblocks for inode 8595229223, was 1 - counted 0 = =20 data fork in regular inode 8595229224 claims used block 537201794 = =20 correcting nblocks for inode 8595229224, was 1 - counted 0 = =20 data fork in regular inode 8595229225 claims used block 537201863 = =20 correcting nblocks for inode 8595229225, was 1 - counted 0 = =20 data fork in regular inode 8595229226 claims used block 537201864 = =20 correcting nblocks for inode 8595229226, was 1 - counted 0 = =20 data fork in regular inode 8595229227 claims used block 537201865 = =20 correcting nblocks for inode 8595229227, was 2 - counted 0 = =20 data fork in regular inode 8595229228 claims used block 537201867 = =20 correcting nblocks for inode 8595229228, was 4 - counted 0 = =20 data fork in regular inode 8595229229 claims used block 537201871 = =20 correcting nblocks for inode 8595229229, was 1 - counted 0 = =20 data fork in regular inode 8595229230 claims used block 537201872 = =20 correcting nblocks for inode 8595229230, was 4 - counted 0 = =20 data fork in regular inode 8595229231 claims used block 537201876 = =20 correcting nblocks for inode 8595229231, was 1 - counted 0 = =20 inode block 537201827 multiply claimed, state was 3 = =20 data fork in regular inode 8595229232 claims used block 537201877 = =20 correcting nblocks for inode 8595229232, was 1 - counted 0 = =20 data fork in regular inode 8595229233 claims used block 537201878 = =20 correcting nblocks for inode 8595229233, was 1 - counted 0 = =20 data fork in regular inode 8595229234 claims used block 537201775 = =20 correcting nblocks for inode 8595229234, was 1 - counted 0 = =20 data fork in regular inode 8595229235 claims used block 537201879 = =20 correcting nblocks for inode 8595229235, was 1 - counted 0 = =20 data fork in regular inode 8595229236 claims used block 537201774 = =20 correcting nblocks for inode 8595229236, was 1 - counted 0 = =20 data fork in regular inode 8595229237 claims used block 537201880 = =20 correcting nblocks for inode 8595229237, was 1 - counted 0 = =20 data fork in regular inode 8595229238 claims used block 537201773 = =20 correcting nblocks for inode 8595229238, was 1 - counted 0 = =20 data fork in regular inode 8595229239 claims used block 537201881 = =20 correcting nblocks for inode 8595229239, was 1 - counted 0 = =20 data fork in regular inode 8595229240 claims used block 537201772 = =20 correcting nblocks for inode 8595229240, was 1 - counted 0 = =20 data fork in regular inode 8595229241 claims used block 537201882 = =20 correcting nblocks for inode 8595229241, was 1 - counted 0 = =20 data fork in regular inode 8595229242 claims used block 537201771 = =20 correcting nblocks for inode 8595229242, was 1 - counted 0 = =20 data fork in regular inode 8595229243 claims used block 537201883 = =20 correcting nblocks for inode 8595229243, was 1 - counted 0 = =20 data fork in regular inode 8595229244 claims used block 537201770 = =20 correcting nblocks for inode 8595229244, was 1 - counted 0 = =20 data fork in regular inode 8595229246 claims used block 537201884 = =20 correcting nblocks for inode 8595229246, was 1 - counted 0 = =20 data fork in regular inode 8595229247 claims used block 537201769 = =20 correcting nblocks for inode 8595229247, was 1 - counted 0 = =20 inode block 537201888 multiply claimed, state was 3 = =20 data fork in regular inode 8595230208 claims used block 537201886 = =20 correcting nblocks for inode 8595230208, was 1 - counted 0 = =20 data fork in regular inode 8595230209 claims used block 537201885 = =20 correcting nblocks for inode 8595230209, was 1 - counted 0 = =20 data fork in regular inode 8595230210 claims used block 537201893 = =20 correcting nblocks for inode 8595230210, was 1 - counted 0 = =20 data fork in regular inode 8595230211 claims used block 537201894 = =20 correcting nblocks for inode 8595230211, was 1 - counted 0 = =20 data fork in regular inode 8595230212 claims used block 537201895 = =20 correcting nblocks for inode 8595230212, was 1 - counted 0 = =20 data fork in regular inode 8595230213 claims used block 537201896 = =20 correcting nblocks for inode 8595230213, was 1 - counted 0 = =20 data fork in regular inode 8595230214 claims used block 537201897 = =20 correcting nblocks for inode 8595230214, was 2 - counted 0 = =20 data fork in regular inode 8595230215 claims used block 537201899 = =20 correcting nblocks for inode 8595230215, was 1 - counted 0 = =20 data fork in regular inode 8595230216 claims used block 537201900 = =20 correcting nblocks for inode 8595230216, was 1 - counted 0 = =20 data fork in regular inode 8595230217 claims used block 537201901 = =20 correcting nblocks for inode 8595230217, was 1 - counted 0 = =20 data fork in regular inode 8595230218 claims used block 537201902 = =20 correcting nblocks for inode 8595230218, was 1 - counted 0 = =20 data fork in regular inode 8595230219 claims used block 537201903 = =20 correcting nblocks for inode 8595230219, was 1 - counted 0 = =20 data fork in regular inode 8595230220 claims used block 537201768 = =20 correcting nblocks for inode 8595230220, was 1 - counted 0 = =20 data fork in regular inode 8595230221 claims used block 537201767 = =20 correcting nblocks for inode 8595230221, was 1 - counted 0 = =20 data fork in regular inode 8595230222 claims used block 537201766 = =20 correcting nblocks for inode 8595230222, was 1 - counted 0 = =20 data fork in regular inode 8595230223 claims used block 537201765 = =20 correcting nblocks for inode 8595230223, was 1 - counted 0 = =20 inode block 537201889 multiply claimed, state was 3 = =20 data fork in regular inode 8595230224 claims used block 537201764 = =20 correcting nblocks for inode 8595230224, was 1 - counted 0 = =20 data fork in regular inode 8595230225 claims used block 537201763 = =20 correcting nblocks for inode 8595230225, was 1 - counted 0 = =20 data fork in regular inode 8595230226 claims used block 537201726 = =20 correcting nblocks for inode 8595230226, was 2 - counted 0 = =20 data fork in regular inode 8595230227 claims used block 537201887 = =20 correcting nblocks for inode 8595230227, was 1 - counted 0 = =20 data fork in regular inode 8595230228 claims used block 537201724 = =20 correcting nblocks for inode 8595230228, was 2 - counted 0 = =20 data fork in regular inode 8595230229 claims used block 537201722 = =20 correcting nblocks for inode 8595230229, was 2 - counted 0 = =20 data fork in regular inode 8595230230 claims used block 537201762 = =20 correcting nblocks for inode 8595230230, was 1 - counted 0 = =20 data fork in regular inode 8595230231 claims used block 537201720 = =20 correcting nblocks for inode 8595230231, was 2 - counted 0 = =20 data fork in regular inode 8595230232 claims used block 537201718 = =20 correcting nblocks for inode 8595230232, was 2 - counted 0 = =20 data fork in regular inode 8595230233 claims used block 537204478 = =20 correcting nblocks for inode 8595230233, was 2 - counted 0 = =20 data fork in regular inode 8595230234 claims used block 537201742 = =20 correcting nblocks for inode 8595230234, was 1 - counted 0 = =20 data fork in regular inode 8595230235 claims used block 537201717 = =20 correcting nblocks for inode 8595230235, was 1 - counted 0 = =20 data fork in regular inode 8595230236 claims used block 537201697 = =20 correcting nblocks for inode 8595230236, was 1 - counted 0 = =20 data fork in regular inode 8595230237 claims used block 537204507 = =20 correcting nblocks for inode 8595230237, was 1 - counted 0 = =20 data fork in regular inode 8595230238 claims used block 537204508 = =20 correcting nblocks for inode 8595230238, was 3 - counted 0 = =20 data fork in regular inode 8595230239 claims used block 537204539 = =20 correcting nblocks for inode 8595230239, was 3 - counted 0 = =20 inode block 537201890 multiply claimed, state was 3 = =20 data fork in regular inode 8595230240 claims used block 537204542 = =20 correcting nblocks for inode 8595230240, was 2 - counted 0 = =20 data fork in regular inode 8595230241 claims used block 537204511 = =20 correcting nblocks for inode 8595230241, was 1 - counted 0 = =20 data fork in regular inode 8595230242 claims used block 537204572 = =20 correcting nblocks for inode 8595230242, was 1 - counted 0 = =20 data fork in regular inode 8595230243 claims used block 537204573 = =20 correcting nblocks for inode 8595230243, was 1 - counted 0 = =20 data fork in regular inode 8595230244 claims used block 537204604 = =20 correcting nblocks for inode 8595230244, was 4 - counted 0 = =20 data fork in regular inode 8595230245 claims used block 537204574 = =20 correcting nblocks for inode 8595230245, was 1 - counted 0 = =20 data fork in regular inode 8595230246 claims used block 537204575 = =20 correcting nblocks for inode 8595230246, was 1 - counted 0 = =20 data fork in regular inode 8595230247 claims used block 537204638 = =20 correcting nblocks for inode 8595230247, was 1 - counted 0 = =20 data fork in regular inode 8595230248 claims used block 537206881 = =20 correcting nblocks for inode 8595230248, was 6 - counted 0 = =20 data fork in regular inode 8595230249 claims used block 537206887 = =20 correcting nblocks for inode 8595230249, was 4 - counted 0 = =20 data fork in regular inode 8595230250 claims used block 537211280 = =20 correcting nblocks for inode 8595230250, was 30 - counted 0 = =20 data fork in regular inode 8595230251 claims used block 537206605 = =20 correcting nblocks for inode 8595230251, was 3 - counted 0 = =20 data fork in regular inode 8595230253 claims used block 537204639 = =20 correcting nblocks for inode 8595230253, was 1 - counted 0 = =20 data fork in regular inode 8595230254 claims used block 537204785 = =20 correcting nblocks for inode 8595230254, was 1 - counted 0 = =20 data fork in regular inode 8595230255 claims used block 537204786 = =20 correcting nblocks for inode 8595230255, was 1 - counted 0 = =20 inode block 537201891 multiply claimed, state was 3 = =20 data fork in regular inode 8595230256 claims used block 537204833 = =20 correcting nblocks for inode 8595230256, was 1 - counted 0 = =20 data fork in regular inode 8595230257 claims used block 537206891 = =20 correcting nblocks for inode 8595230257, was 3 - counted 0 = =20 data fork in regular inode 8595230258 claims used block 537201892 = =20 correcting nblocks for inode 8595230258, was 1 - counted 0 = =20 data fork in regular inode 8595230259 claims used block 537207126 = =20 correcting nblocks for inode 8595230259, was 7 - counted 0 = =20 data fork in regular inode 8595230260 claims used block 537204834 = =20 correcting nblocks for inode 8595230260, was 1 - counted 0 = =20 data fork in regular inode 8595230261 claims used block 537207409 = =20 correcting nblocks for inode 8595230261, was 5 - counted 0 = =20 data fork in regular inode 8595230262 claims used block 537235264 = =20 correcting nblocks for inode 8595230262, was 28 - counted 0 = =20 data fork in regular inode 8595230263 claims used block 537207414 = =20 correcting nblocks for inode 8595230263, was 4 - counted 0 = =20 data fork in regular inode 8595230264 claims used block 537204927 = =20 correcting nblocks for inode 8595230264, was 1 - counted 0 = =20 data fork in regular inode 8595230265 claims used block 537206894 = =20 correcting nblocks for inode 8595230265, was 2 - counted 0 = =20 data fork in regular inode 8595230266 claims used block 537207133 = =20 correcting nblocks for inode 8595230266, was 3 - counted 0 = =20 data fork in regular inode 8595230267 claims used block 537211310 = =20 correcting nblocks for inode 8595230267, was 12 - counted 0 = =20 data fork in regular inode 8595230269 claims used block 537205007 = =20 correcting nblocks for inode 8595230269, was 1 - counted 0 = =20 data fork in regular inode 8595230270 claims used block 537207418 = =20 correcting nblocks for inode 8595230270, was 1 - counted 0 = =20 data fork in regular inode 8595230271 claims used block 537207419 = =20 correcting nblocks for inode 8595230271, was 1 - counted 0 = =20 inode block 537201904 multiply claimed, state was 3 = =20 data fork in regular inode 8595230464 claims used block 537201910 = =20 correcting nblocks for inode 8595230464, was 1 - counted 0 = =20 data fork in regular inode 8595230465 claims used block 537201911 = =20 correcting nblocks for inode 8595230465, was 1 - counted 0 = =20 data fork in regular inode 8595230466 claims used block 537201912 = =20 correcting nblocks for inode 8595230466, was 1 - counted 0 = =20 data fork in regular inode 8595230467 claims used block 537201913 = =20 correcting nblocks for inode 8595230467, was 1 - counted 0 = =20 data fork in regular inode 8595230468 claims used block 537201914 = =20 correcting nblocks for inode 8595230468, was 1 - counted 0 = =20 data fork in regular inode 8595230469 claims used block 537201915 = =20 correcting nblocks for inode 8595230469, was 1 - counted 0 = =20 data fork in regular inode 8595230470 claims used block 537201916 = =20 correcting nblocks for inode 8595230470, was 1 - counted 0 = =20 data fork in regular inode 8595230471 claims used block 537201917 = =20 correcting nblocks for inode 8595230471, was 1 - counted 0 = =20 data fork in regular inode 8595230472 claims used block 537201918 = =20 correcting nblocks for inode 8595230472, was 1 - counted 0 = =20 data fork in regular inode 8595230473 claims used block 537201919 = =20 correcting nblocks for inode 8595230473, was 1 - counted 0 = =20 data fork in regular inode 8595230474 claims used block 537201932 = =20 correcting nblocks for inode 8595230474, was 1 - counted 0 = =20 data fork in regular inode 8595230475 claims used block 537201933 = =20 correcting nblocks for inode 8595230475, was 1 - counted 0 = =20 data fork in regular inode 8595230476 claims used block 537201934 = =20 correcting nblocks for inode 8595230476, was 1 - counted 0 = =20 data fork in regular inode 8595230477 claims used block 537201940 = =20 correcting nblocks for inode 8595230477, was 1 - counted 0 = =20 data fork in regular inode 8595230478 claims used block 537201941 = =20 correcting nblocks for inode 8595230478, was 1 - counted 0 = =20 data fork in regular inode 8595230479 claims used block 537201942 = =20 correcting nblocks for inode 8595230479, was 1 - counted 0 = =20 inode block 537201905 multiply claimed, state was 3 = =20 data fork in regular inode 8595230480 claims used block 537201943 = =20 correcting nblocks for inode 8595230480, was 1 - counted 0 = =20 data fork in regular inode 8595230481 claims used block 537201944 = =20 correcting nblocks for inode 8595230481, was 1 - counted 0 = =20 data fork in regular inode 8595230482 claims used block 537201945 = =20 correcting nblocks for inode 8595230482, was 1 - counted 0 = =20 data fork in regular inode 8595230483 claims used block 537201946 = =20 correcting nblocks for inode 8595230483, was 1 - counted 0 = =20 data fork in regular inode 8595230484 claims used block 537201947 = =20 correcting nblocks for inode 8595230484, was 1 - counted 0 = =20 data fork in regular inode 8595230485 claims used block 537201948 = =20 correcting nblocks for inode 8595230485, was 1 - counted 0 = =20 data fork in regular inode 8595230486 claims used block 537201949 = =20 correcting nblocks for inode 8595230486, was 1 - counted 0 = =20 data fork in regular inode 8595230487 claims used block 537201950 = =20 correcting nblocks for inode 8595230487, was 1 - counted 0 = =20 data fork in regular inode 8595230488 claims used block 537201951 = =20 correcting nblocks for inode 8595230488, was 1 - counted 0 = =20 data fork in regular inode 8595230490 claims used block 537201908 = =20 correcting nblocks for inode 8595230490, was 1 - counted 0 = =20 data fork in regular inode 8595230492 claims used block 537201952 = =20 correcting nblocks for inode 8595230492, was 1 - counted 0 = =20 data fork in regular inode 8595230493 claims used block 537201953 = =20 correcting nblocks for inode 8595230493, was 1 - counted 0 = =20 data fork in regular inode 8595230494 claims used block 537201954 = =20 correcting nblocks for inode 8595230494, was 1 - counted 0 = =20 data fork in regular inode 8595230495 claims used block 537201955 = =20 correcting nblocks for inode 8595230495, was 1 - counted 0 = =20 inode block 537201906 multiply claimed, state was 3 = =20 data fork in regular inode 8595230499 claims used block 537201956 = =20 correcting nblocks for inode 8595230499, was 1 - counted 0 = =20 data fork in regular inode 8595230500 claims used block 537201957 = =20 correcting nblocks for inode 8595230500, was 1 - counted 0 = =20 data fork in regular inode 8595230501 claims used block 537201958 = =20 correcting nblocks for inode 8595230501, was 1 - counted 0 = =20 data fork in regular inode 8595230502 claims used block 537201959 = =20 correcting nblocks for inode 8595230502, was 1 - counted 0 = =20 data fork in regular inode 8595230505 claims used block 537201909 = =20 correcting nblocks for inode 8595230505, was 1 - counted 0 = =20 data fork in regular inode 8595230506 claims used block 537201960 = =20 correcting nblocks for inode 8595230506, was 1 - counted 0 = =20 data fork in regular inode 8595230507 claims used block 537201961 = =20 correcting nblocks for inode 8595230507, was 1 - counted 0 = =20 data fork in regular inode 8595230508 claims used block 537201962 = =20 correcting nblocks for inode 8595230508, was 1 - counted 0 = =20 data fork in regular inode 8595230509 claims used block 537201963 = =20 correcting nblocks for inode 8595230509, was 1 - counted 0 = =20 data fork in regular inode 8595230510 claims used block 537201964 = =20 correcting nblocks for inode 8595230510, was 1 - counted 0 = =20 data fork in regular inode 8595230511 claims used block 537201965 = =20 correcting nblocks for inode 8595230511, was 1 - counted 0 = =20 inode block 537201907 multiply claimed, state was 3 = =20 data fork in regular inode 8595230512 claims used block 537201966 = =20 correcting nblocks for inode 8595230512, was 1 - counted 0 = =20 data fork in regular inode 8595230513 claims used block 537201967 = =20 correcting nblocks for inode 8595230513, was 1 - counted 0 = =20 data fork in regular inode 8595230514 claims used block 537201968 = =20 correcting nblocks for inode 8595230514, was 1 - counted 0 = =20 data fork in regular inode 8595230515 claims used block 537201969 = =20 correcting nblocks for inode 8595230515, was 1 - counted 0 = =20 data fork in regular inode 8595230516 claims used block 537201970 = =20 correcting nblocks for inode 8595230516, was 1 - counted 0 = =20 data fork in regular inode 8595230517 claims used block 537201971 = =20 correcting nblocks for inode 8595230517, was 1 - counted 0 = =20 data fork in regular inode 8595230518 claims used block 537201972 = =20 correcting nblocks for inode 8595230518, was 1 - counted 0 = =20 data fork in regular inode 8595230519 claims used block 537201973 = =20 correcting nblocks for inode 8595230519, was 1 - counted 0 = =20 data fork in regular inode 8595230520 claims used block 537201974 = =20 correcting nblocks for inode 8595230520, was 1 - counted 0 = =20 data fork in regular inode 8595230521 claims used block 537201975 = =20 correcting nblocks for inode 8595230521, was 1 - counted 0 = =20 data fork in regular inode 8595230522 claims used block 537201976 = =20 correcting nblocks for inode 8595230522, was 1 - counted 0 = =20 data fork in regular inode 8595230523 claims used block 537201977 = =20 correcting nblocks for inode 8595230523, was 1 - counted 0 = =20 data fork in regular inode 8595230524 claims used block 537201978 = =20 correcting nblocks for inode 8595230524, was 1 - counted 0 = =20 data fork in regular inode 8595230525 claims used block 537201979 = =20 correcting nblocks for inode 8595230525, was 1 - counted 0 = =20 data fork in regular inode 8595230526 claims used block 537201980 = =20 correcting nblocks for inode 8595230526, was 1 - counted 0 = =20 data fork in regular inode 8595230527 claims used block 537201981 = =20 correcting nblocks for inode 8595230527, was 1 - counted 0 = =20 inode block 537201920 multiply claimed, state was 3 = =20 data fork in regular inode 8595230720 claims used block 537201982 = =20 correcting nblocks for inode 8595230720, was 1 - counted 0 = =20 data fork in regular inode 8595230721 claims used block 537201983 = =20 correcting nblocks for inode 8595230721, was 1 - counted 0 = =20 data fork in regular inode 8595230722 claims used block 537201984 = =20 correcting nblocks for inode 8595230722, was 1 - counted 0 = =20 data fork in regular inode 8595230723 claims used block 537201985 = =20 correcting nblocks for inode 8595230723, was 1 - counted 0 = =20 data fork in regular inode 8595230724 claims used block 537201986 = =20 correcting nblocks for inode 8595230724, was 1 - counted 0 = =20 data fork in regular inode 8595230725 claims used block 537201987 = =20 correcting nblocks for inode 8595230725, was 1 - counted 0 = =20 data fork in regular inode 8595230726 claims used block 537201988 = =20 correcting nblocks for inode 8595230726, was 1 - counted 0 = =20 - agno =3D 37 = =20 data fork in regular inode 8595230727 claims used block 537201989 = =20 correcting nblocks for inode 8595230727, was 1 - counted 0 = =20 data fork in regular inode 8595230728 claims used block 537201990 = =20 correcting nblocks for inode 8595230728, was 1 - counted 0 = =20 data fork in regular inode 8595230729 claims used block 537201991 = =20 correcting nblocks for inode 8595230729, was 1 - counted 0 = =20 data fork in regular inode 8595230730 claims used block 537201992 = =20 correcting nblocks for inode 8595230730, was 1 - counted 0 = =20 data fork in regular inode 8595230731 claims used block 537201993 = =20 correcting nblocks for inode 8595230731, was 1 - counted 0 = =20 data fork in regular inode 8595230732 claims used block 537201994 = =20 correcting nblocks for inode 8595230732, was 1 - counted 0 = =20 data fork in regular inode 8595230733 claims used block 537201995 = =20 correcting nblocks for inode 8595230733, was 1 - counted 0 = =20 data fork in regular inode 8595230734 claims used block 537201996 = =20 correcting nblocks for inode 8595230734, was 1 - counted 0 = =20 data fork in regular inode 8595230735 claims used block 537201997 = =20 correcting nblocks for inode 8595230735, was 1 - counted 0 = =20 inode block 537201921 multiply claimed, state was 3 = =20 data fork in regular inode 8595230736 claims used block 537201998 = =20 correcting nblocks for inode 8595230736, was 1 - counted 0 = =20 data fork in regular inode 8595230737 claims used block 537201999 = =20 correcting nblocks for inode 8595230737, was 1 - counted 0 = =20 data fork in regular inode 8595230738 claims used block 537202000 = =20 correcting nblocks for inode 8595230738, was 1 - counted 0 = =20 data fork in regular inode 8595230739 claims used block 537202001 = =20 correcting nblocks for inode 8595230739, was 1 - counted 0 = =20 data fork in regular inode 8595230740 claims used block 537202002 = =20 correcting nblocks for inode 8595230740, was 1 - counted 0 = =20 data fork in regular inode 8595230741 claims used block 537202003 = =20 correcting nblocks for inode 8595230741, was 1 - counted 0 = =20 data fork in regular inode 8595230742 claims used block 537202004 = =20 correcting nblocks for inode 8595230742, was 1 - counted 0 = =20 - agno =3D 38 = =20 data fork in regular inode 8595230743 claims used block 537202005 = =20 correcting nblocks for inode 8595230743, was 1 - counted 0 = =20 data fork in regular inode 8595230744 claims used block 537202006 = =20 correcting nblocks for inode 8595230744, was 1 - counted 0 = =20 data fork in regular inode 8595230745 claims used block 537202007 = =20 correcting nblocks for inode 8595230745, was 1 - counted 0 = =20 data fork in regular inode 8595230746 claims used block 537202008 = =20 correcting nblocks for inode 8595230746, was 1 - counted 0 = =20 data fork in regular inode 8595230747 claims used block 537202009 = =20 correcting nblocks for inode 8595230747, was 1 - counted 0 = =20 data fork in regular inode 8595230748 claims used block 537202010 = =20 correcting nblocks for inode 8595230748, was 1 - counted 0 = =20 data fork in regular inode 8595230749 claims used block 537202011 = =20 correcting nblocks for inode 8595230749, was 1 - counted 0 = =20 data fork in regular inode 8595230750 claims used block 537202012 = =20 correcting nblocks for inode 8595230750, was 1 - counted 0 = =20 data fork in regular inode 8595230751 claims used block 537202013 = =20 correcting nblocks for inode 8595230751, was 1 - counted 0 = =20 inode block 537201922 multiply claimed, state was 3 = =20 data fork in regular inode 8595230752 claims used block 537202014 = =20 correcting nblocks for inode 8595230752, was 1 - counted 0 = =20 data fork in regular inode 8595230753 claims used block 537202015 = =20 correcting nblocks for inode 8595230753, was 1 - counted 0 = =20 data fork in regular inode 8595230754 claims used block 537202016 = =20 correcting nblocks for inode 8595230754, was 1 - counted 0 = =20 data fork in regular inode 8595230755 claims used block 537202017 = =20 correcting nblocks for inode 8595230755, was 1 - counted 0 = =20 data fork in regular inode 8595230756 claims used block 537202018 = =20 correcting nblocks for inode 8595230756, was 1 - counted 0 = =20 data fork in regular inode 8595230757 claims used block 537202019 = =20 correcting nblocks for inode 8595230757, was 1 - counted 0 = =20 data fork in regular inode 8595230758 claims used block 537202020 = =20 correcting nblocks for inode 8595230758, was 1 - counted 0 = =20 data fork in regular inode 8595230759 claims used block 537202021 = =20 correcting nblocks for inode 8595230759, was 1 - counted 0 = =20 data fork in regular inode 8595230760 claims used block 537202022 = =20 - agno =3D 39 = =20 correcting nblocks for inode 8595230760, was 1 - counted 0 = =20 data fork in regular inode 8595230761 claims used block 537202023 = =20 correcting nblocks for inode 8595230761, was 1 - counted 0 = =20 data fork in regular inode 8595230762 claims used block 537202024 = =20 correcting nblocks for inode 8595230762, was 1 - counted 0 = =20 data fork in regular inode 8595230763 claims used block 537202025 = =20 correcting nblocks for inode 8595230763, was 1 - counted 0 = =20 data fork in regular inode 8595230764 claims used block 537202026 = =20 correcting nblocks for inode 8595230764, was 1 - counted 0 = =20 data fork in regular inode 8595230765 claims used block 537202027 = =20 correcting nblocks for inode 8595230765, was 1 - counted 0 = =20 data fork in regular inode 8595230766 claims used block 537202028 = =20 correcting nblocks for inode 8595230766, was 1 - counted 0 = =20 data fork in regular inode 8595230767 claims used block 537202029 = =20 correcting nblocks for inode 8595230767, was 1 - counted 0 = =20 inode block 537201923 multiply claimed, state was 3 = =20 data fork in regular inode 8595230768 claims used block 537202030 = =20 correcting nblocks for inode 8595230768, was 1 - counted 0 = =20 data fork in regular inode 8595230769 claims used block 537202031 = =20 correcting nblocks for inode 8595230769, was 1 - counted 0 = =20 data fork in regular inode 8595230770 claims used block 537202032 = =20 correcting nblocks for inode 8595230770, was 1 - counted 0 = =20 data fork in regular inode 8595230771 claims used block 537202033 = =20 correcting nblocks for inode 8595230771, was 1 - counted 0 = =20 data fork in regular inode 8595230772 claims used block 537202034 = =20 correcting nblocks for inode 8595230772, was 1 - counted 0 = =20 data fork in regular inode 8595230773 claims used block 537202035 = =20 correcting nblocks for inode 8595230773, was 1 - counted 0 = =20 data fork in regular inode 8595230774 claims used block 537202036 = =20 correcting nblocks for inode 8595230774, was 1 - counted 0 = =20 data fork in regular inode 8595230775 claims used block 537202037 = =20 correcting nblocks for inode 8595230775, was 1 - counted 0 = =20 data fork in regular inode 8595230776 claims used block 537202038 = =20 correcting nblocks for inode 8595230776, was 1 - counted 0 = =20 data fork in regular inode 8595230777 claims used block 537202039 = =20 correcting nblocks for inode 8595230777, was 1 - counted 0 = =20 data fork in regular inode 8595230778 claims used block 537202040 = =20 correcting nblocks for inode 8595230778, was 1 - counted 0 = =20 data fork in regular inode 8595230779 claims used block 537202041 = =20 correcting nblocks for inode 8595230779, was 1 - counted 0 = =20 data fork in regular inode 8595230780 claims used block 537202042 = =20 correcting nblocks for inode 8595230780, was 1 - counted 0 = =20 data fork in regular inode 8595230781 claims used block 537202043 = =20 correcting nblocks for inode 8595230781, was 1 - counted 0 = =20 data fork in regular inode 8595230782 claims used block 537202044 = =20 correcting nblocks for inode 8595230782, was 1 - counted 0 = =20 data fork in regular inode 8595230783 claims used block 537202045 = =20 correcting nblocks for inode 8595230783, was 1 - counted 0 = =20 inode block 537201924 multiply claimed, state was 3 = =20 data fork in regular inode 8595230788 claims used block 537202046 = =20 correcting nblocks for inode 8595230788, was 1 - counted 0 = =20 data fork in regular inode 8595230792 claims used block 537202047 = =20 correcting nblocks for inode 8595230792, was 1 - counted 0 = =20 data fork in regular inode 8595230795 claims used block 537202048 = =20 correcting nblocks for inode 8595230795, was 1 - counted 0 = =20 data fork in regular inode 8595230799 claims used block 537202049 = =20 correcting nblocks for inode 8595230799, was 1 - counted 0 = =20 inode block 537201925 multiply claimed, state was 3 = =20 data fork in regular inode 8595230803 claims used block 537202050 = =20 correcting nblocks for inode 8595230803, was 1 - counted 0 = =20 data fork in regular inode 8595230804 claims used block 537202051 = =20 correcting nblocks for inode 8595230804, was 1 - counted 0 = =20 data fork in regular inode 8595230809 claims used block 537201928 = =20 correcting nblocks for inode 8595230809, was 1 - counted 0 = =20 data fork in regular inode 8595230811 claims used block 537202052 = =20 entry ".." at block 0 offset 32 in directory inode 10474668322 references f= ree inode 8595227737 correcting nblocks for inode 8595230811, was 1 - counted 0 = =20 clearing inode number in entry at offset 32... = =20 data fork in regular inode 8595230812 claims used block 537202053 = =20 no .. entry for directory 10474668322 = =20 correcting nblocks for inode 8595230812, was 1 - counted 0 = =20 data fork in regular inode 8595230813 claims used block 537202054 = =20 correcting nblocks for inode 8595230813, was 1 - counted 0 = =20 data fork in regular inode 8595230814 claims used block 537202055 = =20 correcting nblocks for inode 8595230814, was 1 - counted 0 = =20 inode block 537201926 multiply claimed, state was 3 = =20 data fork in regular inode 8595230817 claims used block 537202056 = =20 correcting nblocks for inode 8595230817, was 1 - counted 0 = =20 data fork in regular inode 8595230820 claims used block 537202057 = =20 correcting nblocks for inode 8595230820, was 1 - counted 0 = =20 data fork in regular inode 8595230822 claims used block 537202058 = =20 correcting nblocks for inode 8595230822, was 1 - counted 0 = =20 data fork in regular inode 8595230826 claims used block 537202059 = =20 correcting nblocks for inode 8595230826, was 1 - counted 0 = =20 data fork in regular inode 8595230831 claims used block 537201929 = =20 correcting nblocks for inode 8595230831, was 1 - counted 0 = =20 inode block 537201927 multiply claimed, state was 3 = =20 data fork in regular inode 8595230833 claims used block 537202060 = =20 correcting nblocks for inode 8595230833, was 1 - counted 0 = =20 data fork in regular inode 8595230834 claims used block 537202061 = =20 correcting nblocks for inode 8595230834, was 1 - counted 0 = =20 data fork in regular inode 8595230835 claims used block 537202062 = =20 correcting nblocks for inode 8595230835, was 1 - counted 0 = =20 data fork in regular inode 8595230836 claims used block 537202063 = =20 correcting nblocks for inode 8595230836, was 1 - counted 0 = =20 data fork in regular inode 8595230837 claims used block 537201930 = =20 correcting nblocks for inode 8595230837, was 1 - counted 0 = =20 data fork in regular inode 8595230839 claims used block 537202064 = =20 correcting nblocks for inode 8595230839, was 1 - counted 0 = =20 data fork in regular inode 8595230840 claims used block 537202065 = =20 correcting nblocks for inode 8595230840, was 1 - counted 0 = =20 data fork in regular inode 8595230841 claims used block 537202066 = =20 correcting nblocks for inode 8595230841, was 8 - counted 0 = =20 data fork in regular inode 8595230845 claims used block 537202074 = =20 correcting nblocks for inode 8595230845, was 8 - counted 0 = =20 data fork in regular inode 8595230847 claims used block 537201931 = =20 correcting nblocks for inode 8595230847, was 1 - counted 0 = =20 inode block 537201936 multiply claimed, state was 3 = =20 data fork in regular inode 8595230978 claims used block 537202082 = =20 correcting nblocks for inode 8595230978, was 1 - counted 0 = =20 data fork in regular inode 8595230980 claims used block 537202083 = =20 correcting nblocks for inode 8595230980, was 1 - counted 0 = =20 data fork in regular inode 8595230985 claims used block 537202084 = =20 correcting nblocks for inode 8595230985, was 1 - counted 0 = =20 data fork in regular inode 8595230986 claims used block 537202085 = =20 correcting nblocks for inode 8595230986, was 1 - counted 0 = =20 data fork in regular inode 8595230991 claims used block 537201935 = =20 correcting nblocks for inode 8595230991, was 1 - counted 0 = =20 inode block 537201937 multiply claimed, state was 3 = =20 data fork in regular inode 8595230993 claims used block 537202086 = =20 correcting nblocks for inode 8595230993, was 1 - counted 0 = =20 data fork in regular inode 8595230994 claims used block 537202087 = =20 correcting nblocks for inode 8595230994, was 1 - counted 0 = =20 data fork in regular inode 8595230995 claims used block 537202088 = =20 correcting nblocks for inode 8595230995, was 1 - counted 0 = =20 data fork in regular inode 8595230996 claims used block 537202089 = =20 correcting nblocks for inode 8595230996, was 1 - counted 0 = =20 data fork in regular inode 8595230998 claims used block 537202090 = =20 correcting nblocks for inode 8595230998, was 1 - counted 0 = =20 data fork in regular inode 8595230999 claims used block 537202091 = =20 entry ".." at block 0 offset 32 in directory inode 10474668823 references f= ree inode 8595227737 correcting nblocks for inode 8595230999, was 1 - counted 0 = =20 clearing inode number in entry at offset 32... = =20 data fork in regular inode 8595231002 claims used block 537202092 = =20 correcting nblocks for inode 8595231002, was 1 - counted 0 = =20 no .. entry for directory 10474668823 = =20 data fork in regular inode 8595231003 claims used block 537202093 = =20 correcting nblocks for inode 8595231003, was 1 - counted 0 = =20 data fork in regular inode 8595231004 claims used block 537202094 = =20 correcting nblocks for inode 8595231004, was 1 - counted 0 = =20 inode block 537201938 multiply claimed, state was 3 = =20 data fork in regular inode 8595231009 claims used block 537202101 = =20 correcting nblocks for inode 8595231009, was 1 - counted 0 = =20 data fork in regular inode 8595231011 claims used block 537202095 = =20 correcting nblocks for inode 8595231011, was 5 - counted 0 = =20 data fork in regular inode 8595231012 claims used block 537202100 = =20 correcting nblocks for inode 8595231012, was 1 - counted 0 = =20 data fork in regular inode 8595231013 claims used block 537202102 = =20 correcting nblocks for inode 8595231013, was 1 - counted 0 = =20 data fork in regular inode 8595231014 claims used block 537202103 = =20 correcting nblocks for inode 8595231014, was 1 - counted 0 = =20 data fork in regular inode 8595231019 claims used block 537202104 = =20 correcting nblocks for inode 8595231019, was 1 - counted 0 = =20 data fork in regular inode 8595231021 claims used block 537202106 = =20 correcting nblocks for inode 8595231021, was 1 - counted 0 = =20 data fork in regular inode 8595231022 claims used block 537202107 = =20 correcting nblocks for inode 8595231022, was 1 - counted 0 = =20 data fork in regular inode 8595231023 claims used block 537202108 = =20 correcting nblocks for inode 8595231023, was 1 - counted 0 = =20 inode block 537201939 multiply claimed, state was 3 = =20 data fork in regular inode 8595231024 claims used block 537202109 = =20 correcting nblocks for inode 8595231024, was 1 - counted 0 = =20 data fork in regular inode 8595231029 claims used block 537202110 = =20 correcting nblocks for inode 8595231029, was 1 - counted 0 = =20 data fork in regular inode 8595231030 claims used block 537202105 = =20 correcting nblocks for inode 8595231030, was 1 - counted 0 = =20 data fork in regular inode 8595231031 claims used block 537202116 = =20 correcting nblocks for inode 8595231031, was 6 - counted 0 = =20 data fork in regular inode 8595231032 claims used block 537202122 = =20 correcting nblocks for inode 8595231032, was 2 - counted 0 = =20 data fork in regular inode 8595231033 claims used block 537202124 = =20 correcting nblocks for inode 8595231033, was 5 - counted 0 = =20 data fork in regular inode 8595231034 claims used block 537202129 = =20 correcting nblocks for inode 8595231034, was 1 - counted 0 = =20 data fork in regular inode 8595231035 claims used block 537202130 = =20 correcting nblocks for inode 8595231035, was 1 - counted 0 = =20 data fork in regular inode 8595231036 claims used block 537202131 = =20 correcting nblocks for inode 8595231036, was 2 - counted 0 = =20 data fork in regular inode 8595231037 claims used block 537202133 = =20 correcting nblocks for inode 8595231037, was 2 - counted 0 = =20 data fork in regular inode 8595231038 claims used block 537202135 = =20 correcting nblocks for inode 8595231038, was 2 - counted 0 = =20 inode block 537202112 multiply claimed, state was 3 = =20 data fork in regular inode 8595233794 claims used block 537202137 = =20 correcting nblocks for inode 8595233794, was 1 - counted 0 = =20 data fork in regular inode 8595233795 claims used block 537202138 = =20 correcting nblocks for inode 8595233795, was 2 - counted 0 = =20 data fork in regular inode 8595233798 claims used block 537202140 = =20 correcting nblocks for inode 8595233798, was 1 - counted 0 = =20 data fork in regular inode 8595233799 claims used block 537202141 = =20 correcting nblocks for inode 8595233799, was 9 - counted 0 = =20 data fork in regular inode 8595233800 claims used block 537202150 = =20 correcting nblocks for inode 8595233800, was 7 - counted 0 = =20 data fork in regular inode 8595233802 claims used block 537202111 = =20 correcting nblocks for inode 8595233802, was 1 - counted 0 = =20 data fork in regular inode 8595233803 claims used block 537202157 = =20 correcting nblocks for inode 8595233803, was 11 - counted 0 = =20 data fork in regular inode 8595233804 claims used block 537202168 = =20 correcting nblocks for inode 8595233804, was 9 - counted 0 = =20 data fork in regular inode 8595233805 claims used block 537202177 = =20 correcting nblocks for inode 8595233805, was 9 - counted 0 = =20 data fork in regular inode 8595233806 claims used block 537202186 = =20 correcting nblocks for inode 8595233806, was 9 - counted 0 = =20 data fork in regular inode 8595233807 claims used block 537202195 = =20 correcting nblocks for inode 8595233807, was 9 - counted 0 = =20 inode block 537202113 multiply claimed, state was 3 = =20 data fork in regular inode 8595233808 claims used block 537202204 = =20 correcting nblocks for inode 8595233808, was 7 - counted 0 = =20 data fork in regular inode 8595233809 claims used block 537202211 = =20 correcting nblocks for inode 8595233809, was 7 - counted 0 = =20 data fork in regular inode 8595233810 claims used block 537202218 = =20 correcting nblocks for inode 8595233810, was 7 - counted 0 = =20 data fork in regular inode 8595233811 claims used block 537202225 = =20 correcting nblocks for inode 8595233811, was 7 - counted 0 = =20 data fork in regular inode 8595233812 claims used block 537202232 = =20 correcting nblocks for inode 8595233812, was 7 - counted 0 = =20 data fork in regular inode 8595233813 claims used block 537202239 = =20 correcting nblocks for inode 8595233813, was 7 - counted 0 = =20 data fork in regular inode 8595233814 claims used block 537202246 = =20 correcting nblocks for inode 8595233814, was 7 - counted 0 = =20 data fork in regular inode 8595233815 claims used block 537202253 = =20 correcting nblocks for inode 8595233815, was 7 - counted 0 = =20 data fork in regular inode 8595233816 claims used block 537202260 = =20 correcting nblocks for inode 8595233816, was 9 - counted 0 = =20 data fork in regular inode 8595233817 claims used block 537202269 = =20 correcting nblocks for inode 8595233817, was 9 - counted 0 = =20 inode block 537202114 multiply claimed, state was 3 = =20 data fork in regular inode 8595233827 claims used block 537202278 = =20 correcting nblocks for inode 8595233827, was 9 - counted 0 = =20 data fork in regular inode 8595233828 claims used block 537202287 = =20 correcting nblocks for inode 8595233828, was 1 - counted 0 = =20 data fork in regular inode 8595233829 claims used block 537202288 = =20 correcting nblocks for inode 8595233829, was 9 - counted 0 = =20 data fork in regular inode 8595233830 claims used block 537202297 = =20 correcting nblocks for inode 8595233830, was 9 - counted 0 = =20 data fork in regular inode 8595233831 claims used block 537202306 = =20 correcting nblocks for inode 8595233831, was 9 - counted 0 = =20 data fork in regular inode 8595233832 claims used block 537202315 = =20 correcting nblocks for inode 8595233832, was 9 - counted 0 = =20 data fork in regular inode 8595233833 claims used block 537202324 = =20 correcting nblocks for inode 8595233833, was 7 - counted 0 = =20 data fork in regular inode 8595233834 claims used block 537202331 = =20 correcting nblocks for inode 8595233834, was 7 - counted 0 = =20 data fork in regular inode 8595233838 claims used block 537202338 = =20 correcting nblocks for inode 8595233838, was 1 - counted 0 = =20 data fork in regular inode 8595233839 claims used block 537202339 = =20 correcting nblocks for inode 8595233839, was 1 - counted 0 = =20 inode block 537202115 multiply claimed, state was 3 = =20 data fork in regular inode 8595233841 claims used block 537202340 = =20 correcting nblocks for inode 8595233841, was 2 - counted 0 = =20 data fork in regular inode 8595233842 claims used block 537202342 = =20 correcting nblocks for inode 8595233842, was 13 - counted 0 = =20 data fork in regular inode 8595233843 claims used block 537202355 = =20 correcting nblocks for inode 8595233843, was 10 - counted 0 = =20 data fork in regular inode 8595233847 claims used block 537202365 = =20 correcting nblocks for inode 8595233847, was 1 - counted 0 = =20 data fork in regular inode 8595233848 claims used block 537202384 = =20 correcting nblocks for inode 8595233848, was 26 - counted 0 = =20 data fork in regular inode 8595233849 claims used block 537202372 = =20 correcting nblocks for inode 8595233849, was 2 - counted 0 = =20 data fork in regular inode 8595233851 claims used block 537202374 = =20 correcting nblocks for inode 8595233851, was 2 - counted 0 = =20 data fork in regular inode 8595233852 claims used block 537202376 = =20 correcting nblocks for inode 8595233852, was 1 - counted 0 = =20 data fork in regular inode 8595233853 claims used block 537202377 = =20 correcting nblocks for inode 8595233853, was 1 - counted 0 = =20 data fork in regular inode 8595233854 claims used block 537202378 = =20 correcting nblocks for inode 8595233854, was 2 - counted 0 = =20 data fork in regular inode 8595233855 claims used block 537202380 = =20 correcting nblocks for inode 8595233855, was 2 - counted 0 = =20 inode block 537202368 multiply claimed, state was 3 = =20 data fork in regular inode 8595237888 claims used block 537202410 = =20 correcting nblocks for inode 8595237888, was 6 - counted 0 = =20 data fork in regular inode 8595237889 claims used block 537202382 = =20 correcting nblocks for inode 8595237889, was 2 - counted 0 = =20 data fork in regular inode 8595237890 claims used block 537202416 = =20 correcting nblocks for inode 8595237890, was 2 - counted 0 = =20 data fork in regular inode 8595237891 claims used block 537202418 = =20 correcting nblocks for inode 8595237891, was 1 - counted 0 = =20 data fork in regular inode 8595237893 claims used block 537202419 = =20 correcting nblocks for inode 8595237893, was 14 - counted 0 = =20 data fork in regular inode 8595237894 claims used block 537202367 = =20 correcting nblocks for inode 8595237894, was 1 - counted 0 = =20 data fork in regular inode 8595237895 claims used block 537202433 = =20 correcting nblocks for inode 8595237895, was 1 - counted 0 = =20 data fork in regular inode 8595237896 claims used block 537202434 = =20 correcting nblocks for inode 8595237896, was 1 - counted 0 = =20 data fork in regular inode 8595237897 claims used block 537202435 = =20 correcting nblocks for inode 8595237897, was 3 - counted 0 = =20 data fork in regular inode 8595237898 claims used block 537202448 = =20 correcting nblocks for inode 8595237898, was 25 - counted 0 = =20 data fork in regular inode 8595237899 claims used block 537202438 = =20 correcting nblocks for inode 8595237899, was 2 - counted 0 = =20 data fork in regular inode 8595237900 claims used block 537202440 = =20 correcting nblocks for inode 8595237900, was 1 - counted 0 = =20 data fork in regular inode 8595237901 claims used block 537202441 = =20 correcting nblocks for inode 8595237901, was 1 - counted 0 = =20 data fork in regular inode 8595237902 claims used block 537202442 = =20 correcting nblocks for inode 8595237902, was 3 - counted 0 = =20 data fork in regular inode 8595237903 claims used block 537202445 = =20 correcting nblocks for inode 8595237903, was 1 - counted 0 = =20 inode block 537202369 multiply claimed, state was 3 = =20 data fork in regular inode 8595237904 claims used block 537202446 = =20 correcting nblocks for inode 8595237904, was 1 - counted 0 = =20 data fork in regular inode 8595237909 claims used block 537202480 = =20 correcting nblocks for inode 8595237909, was 25 - counted 0 = =20 data fork in regular inode 8595237911 claims used block 537202366 = =20 correcting nblocks for inode 8595237911, was 1 - counted 0 = =20 data fork in regular inode 8595237912 claims used block 537202447 = =20 correcting nblocks for inode 8595237912, was 1 - counted 0 = =20 data fork in regular inode 8595237913 claims used block 537202473 = =20 correcting nblocks for inode 8595237913, was 1 - counted 0 = =20 data fork in regular inode 8595237914 claims used block 537202474 = =20 correcting nblocks for inode 8595237914, was 1 - counted 0 = =20 data fork in regular inode 8595237915 claims used block 537202475 = =20 correcting nblocks for inode 8595237915, was 4 - counted 0 = =20 data fork in regular inode 8595237916 claims used block 537202505 = =20 correcting nblocks for inode 8595237916, was 2 - counted 0 = =20 data fork in regular inode 8595237917 claims used block 537202479 = =20 correcting nblocks for inode 8595237917, was 1 - counted 0 = =20 data fork in regular inode 8595237918 claims used block 537202507 = =20 correcting nblocks for inode 8595237918, was 5 - counted 0 = =20 data fork in regular inode 8595237919 claims used block 537202512 = =20 correcting nblocks for inode 8595237919, was 1 - counted 0 = =20 inode block 537202370 multiply claimed, state was 3 = =20 entry ".." at block 0 offset 32 in directory inode 10209932624 references f= ree inode 8595227737 clearing inode number in entry at offset 32... = =20 data fork in regular inode 8595237920 claims used block 537202513 = =20 no .. entry for directory 10209932624 = =20 correcting nblocks for inode 8595237920, was 1 - counted 0 = =20 data fork in regular inode 8595237921 claims used block 537202514 = =20 correcting nblocks for inode 8595237921, was 4 - counted 0 = =20 data fork in regular inode 8595237922 claims used block 537202518 = =20 correcting nblocks for inode 8595237922, was 1 - counted 0 = =20 data fork in regular inode 8595237923 claims used block 537202519 = =20 correcting nblocks for inode 8595237923, was 1 - counted 0 = =20 data fork in regular inode 8595237924 claims used block 537202520 = =20 correcting nblocks for inode 8595237924, was 2 - counted 0 = =20 data fork in regular inode 8595237925 claims used block 537202522 = =20 correcting nblocks for inode 8595237925, was 2 - counted 0 = =20 data fork in regular inode 8595237926 claims used block 537202524 = =20 correcting nblocks for inode 8595237926, was 1 - counted 0 = =20 data fork in regular inode 8595237927 claims used block 537202525 = =20 correcting nblocks for inode 8595237927, was 1 - counted 0 = =20 data fork in regular inode 8595237928 claims used block 537202526 = =20 correcting nblocks for inode 8595237928, was 2 - counted 0 = =20 data fork in regular inode 8595237929 claims used block 537202528 = =20 correcting nblocks for inode 8595237929, was 3 - counted 0 = =20 data fork in regular inode 8595237930 claims used block 537202531 = =20 correcting nblocks for inode 8595237930, was 1 - counted 0 = =20 data fork in regular inode 8595237933 claims used block 537202533 = =20 correcting nblocks for inode 8595237933, was 1 - counted 0 = =20 inode block 537202371 multiply claimed, state was 3 = =20 data fork in regular inode 8595237936 claims used block 537202534 = =20 correcting nblocks for inode 8595237936, was 1 - counted 0 = =20 data fork in regular inode 8595237937 claims used block 537202535 = =20 correcting nblocks for inode 8595237937, was 1 - counted 0 = =20 data fork in regular inode 8595237944 claims used block 537202560 = =20 correcting nblocks for inode 8595237944, was 58 - counted 0 = =20 data fork in regular inode 8595237945 claims used block 537202532 = =20 correcting nblocks for inode 8595237945, was 1 - counted 0 = =20 data fork in regular inode 8595237946 claims used block 537202536 = =20 correcting nblocks for inode 8595237946, was 1 - counted 0 = =20 data fork in regular inode 8595237947 claims used block 537202537 = =20 correcting nblocks for inode 8595237947, was 1 - counted 0 = =20 data fork in regular inode 8595237948 claims used block 537202538 = =20 correcting nblocks for inode 8595237948, was 1 - counted 0 = =20 data fork in regular inode 8595237949 claims used block 537202539 = =20 correcting nblocks for inode 8595237949, was 4 - counted 0 = =20 data fork in regular inode 8595237950 claims used block 537202548 = =20 correcting nblocks for inode 8595237950, was 2 - counted 0 = =20 data fork in regular inode 8595237951 claims used block 537202550 = =20 correcting nblocks for inode 8595237951, was 2 - counted 0 = =20 inode block 537202544 multiply claimed, state was 3 = =20 data fork in regular inode 8595240704 claims used block 537202552 = =20 correcting nblocks for inode 8595240704, was 2 - counted 0 = =20 data fork in regular inode 8595240705 claims used block 537202554 = =20 correcting nblocks for inode 8595240705, was 2 - counted 0 = =20 data fork in regular inode 8595240706 claims used block 537202556 = =20 correcting nblocks for inode 8595240706, was 1 - counted 0 = =20 data fork in regular inode 8595240707 claims used block 537202557 = =20 correcting nblocks for inode 8595240707, was 1 - counted 0 = =20 data fork in regular inode 8595240708 claims used block 537202558 = =20 correcting nblocks for inode 8595240708, was 2 - counted 0 = =20 data fork in regular inode 8595240709 claims used block 537202618 = =20 correcting nblocks for inode 8595240709, was 2 - counted 0 = =20 data fork in regular inode 8595240710 claims used block 537202620 = =20 correcting nblocks for inode 8595240710, was 3 - counted 0 = =20 data fork in regular inode 8595240711 claims used block 537202623 = =20 correcting nblocks for inode 8595240711, was 1 - counted 0 = =20 data fork in regular inode 8595240712 claims used block 537202624 = =20 correcting nblocks for inode 8595240712, was 2 - counted 0 = =20 data fork in regular inode 8595240713 claims used block 537202626 = =20 correcting nblocks for inode 8595240713, was 2 - counted 0 = =20 data fork in regular inode 8595240714 claims used block 537202628 = =20 correcting nblocks for inode 8595240714, was 1 - counted 0 = =20 data fork in regular inode 8595240715 claims used block 537202629 = =20 correcting nblocks for inode 8595240715, was 2 - counted 0 = =20 data fork in regular inode 8595240716 claims used block 537202631 = =20 correcting nblocks for inode 8595240716, was 2 - counted 0 = =20 data fork in regular inode 8595240717 claims used block 537202633 = =20 correcting nblocks for inode 8595240717, was 6 - counted 0 = =20 data fork in regular inode 8595240718 claims used block 537202639 = =20 correcting nblocks for inode 8595240718, was 2 - counted 0 = =20 data fork in regular inode 8595240719 claims used block 537202641 = =20 correcting nblocks for inode 8595240719, was 1 - counted 0 = =20 inode block 537202545 multiply claimed, state was 3 = =20 data fork in regular inode 8595240720 claims used block 537202642 = =20 correcting nblocks for inode 8595240720, was 2 - counted 0 = =20 data fork in regular inode 8595240721 claims used block 537202644 = =20 correcting nblocks for inode 8595240721, was 1 - counted 0 = =20 data fork in regular inode 8595240722 claims used block 537202645 = =20 correcting nblocks for inode 8595240722, was 3 - counted 0 = =20 data fork in regular inode 8595240723 claims used block 537202543 = =20 correcting nblocks for inode 8595240723, was 1 - counted 0 = =20 data fork in regular inode 8595240724 claims used block 537202648 = =20 correcting nblocks for inode 8595240724, was 3 - counted 0 = =20 data fork in regular inode 8595240725 claims used block 537202651 = =20 correcting nblocks for inode 8595240725, was 5 - counted 0 = =20 data fork in regular inode 8595240726 claims used block 537202656 = =20 correcting nblocks for inode 8595240726, was 5 - counted 0 = =20 data fork in regular inode 8595240727 claims used block 537202661 = =20 correcting nblocks for inode 8595240727, was 11 - counted 0 = =20 data fork in regular inode 8595240728 claims used block 537202672 = =20 correcting nblocks for inode 8595240728, was 6 - counted 0 = =20 data fork in regular inode 8595240729 claims used block 537202678 = =20 correcting nblocks for inode 8595240729, was 4 - counted 0 = =20 data fork in regular inode 8595240730 claims used block 537202682 = =20 correcting nblocks for inode 8595240730, was 3 - counted 0 = =20 data fork in regular inode 8595240731 claims used block 537202685 = =20 correcting nblocks for inode 8595240731, was 4 - counted 0 = =20 data fork in regular inode 8595240732 claims used block 537202689 = =20 correcting nblocks for inode 8595240732, was 5 - counted 0 = =20 data fork in regular inode 8595240734 claims used block 537202696 = =20 correcting nblocks for inode 8595240734, was 3 - counted 0 = =20 data fork in regular inode 8595240735 claims used block 537202699 = =20 correcting nblocks for inode 8595240735, was 3 - counted 0 = =20 inode block 537202546 multiply claimed, state was 3 = =20 data fork in regular inode 8595240736 claims used block 537202694 = =20 correcting nblocks for inode 8595240736, was 1 - counted 0 = =20 data fork in regular inode 8595240737 claims used block 537202695 = =20 correcting nblocks for inode 8595240737, was 1 - counted 0 = =20 data fork in regular inode 8595240738 claims used block 537202702 = =20 correcting nblocks for inode 8595240738, was 2 - counted 0 = =20 data fork in regular inode 8595240739 claims used block 537202704 = =20 correcting nblocks for inode 8595240739, was 8 - counted 0 = =20 data fork in regular inode 8595240740 claims used block 537202712 = =20 correcting nblocks for inode 8595240740, was 7 - counted 0 = =20 data fork in regular inode 8595240741 claims used block 537202719 = =20 correcting nblocks for inode 8595240741, was 3 - counted 0 = =20 data fork in regular inode 8595240742 claims used block 537202722 = =20 correcting nblocks for inode 8595240742, was 7 - counted 0 = =20 data fork in regular inode 8595240743 claims used block 537202729 = =20 correcting nblocks for inode 8595240743, was 3 - counted 0 = =20 data fork in regular inode 8595240744 claims used block 537202732 = =20 correcting nblocks for inode 8595240744, was 5 - counted 0 = =20 data fork in regular inode 8595240745 claims used block 537202737 = =20 correcting nblocks for inode 8595240745, was 3 - counted 0 = =20 data fork in regular inode 8595240746 claims used block 537202740 = =20 correcting nblocks for inode 8595240746, was 4 - counted 0 = =20 data fork in regular inode 8595240748 claims used block 537202744 = =20 correcting nblocks for inode 8595240748, was 2 - counted 0 = =20 data fork in regular inode 8595240749 claims used block 537202746 = =20 correcting nblocks for inode 8595240749, was 7 - counted 0 = =20 inode block 537202547 multiply claimed, state was 3 = =20 data fork in regular inode 8595240754 claims used block 537202753 = =20 correcting nblocks for inode 8595240754, was 1 - counted 0 = =20 data fork in regular inode 8595240755 claims used block 537202754 = =20 correcting nblocks for inode 8595240755, was 1 - counted 0 = =20 data fork in regular inode 8595240756 claims used block 537202755 = =20 correcting nblocks for inode 8595240756, was 1 - counted 0 = =20 data fork in regular inode 8595240757 claims used block 537202756 = =20 correcting nblocks for inode 8595240757, was 1 - counted 0 = =20 data fork in regular inode 8595240758 claims used block 537202757 = =20 correcting nblocks for inode 8595240758, was 1 - counted 0 = =20 data fork in regular inode 8595240759 claims used block 537202758 = =20 correcting nblocks for inode 8595240759, was 1 - counted 0 = =20 data fork in regular inode 8595240760 claims used block 537202759 = =20 correcting nblocks for inode 8595240760, was 1 - counted 0 = =20 data fork in regular inode 8595240761 claims used block 537202760 = =20 correcting nblocks for inode 8595240761, was 1 - counted 0 = =20 data fork in regular inode 8595240762 claims used block 537202761 = =20 correcting nblocks for inode 8595240762, was 1 - counted 0 = =20 data fork in regular inode 8595240764 claims used block 537202762 = =20 correcting nblocks for inode 8595240764, was 1 - counted 0 = =20 data fork in regular inode 8595240766 claims used block 537202763 = =20 correcting nblocks for inode 8595240766, was 1 - counted 0 = =20 data fork in regular inode 8595240767 claims used block 537202764 = =20 correcting nblocks for inode 8595240767, was 2 - counted 0 = =20 inode block 537202768 multiply claimed, state was 3 = =20 data fork in regular inode 8595244288 claims used block 537202766 = =20 correcting nblocks for inode 8595244288, was 2 - counted 0 = =20 data fork in regular inode 8595244290 claims used block 537202772 = =20 correcting nblocks for inode 8595244290, was 1 - counted 0 = =20 data fork in regular inode 8595244291 claims used block 537202773 = =20 correcting nblocks for inode 8595244291, was 1 - counted 0 = =20 data fork in regular inode 8595244292 claims used block 537202774 = =20 correcting nblocks for inode 8595244292, was 1 - counted 0 = =20 data fork in regular inode 8595244293 claims used block 537202775 = =20 correcting nblocks for inode 8595244293, was 1 - counted 0 = =20 data fork in regular inode 8595244295 claims used block 537202777 = =20 correcting nblocks for inode 8595244295, was 1 - counted 0 = =20 data fork in regular inode 8595244296 claims used block 537202778 = =20 correcting nblocks for inode 8595244296, was 1 - counted 0 = =20 data fork in regular inode 8595244298 claims used block 537202779 = =20 correcting nblocks for inode 8595244298, was 5 - counted 0 = =20 data fork in regular inode 8595244299 claims used block 537202784 = =20 correcting nblocks for inode 8595244299, was 1 - counted 0 = =20 data fork in regular inode 8595244301 claims used block 537202785 = =20 correcting nblocks for inode 8595244301, was 14 - counted 0 = =20 data fork in regular inode 8595244302 claims used block 537202799 = =20 correcting nblocks for inode 8595244302, was 1 - counted 0 = =20 data fork in regular inode 8595244303 claims used block 537202776 = =20 correcting nblocks for inode 8595244303, was 1 - counted 0 = =20 inode block 537202769 multiply claimed, state was 3 = =20 data fork in regular inode 8595244304 claims used block 537202807 = =20 correcting nblocks for inode 8595244304, was 1 - counted 0 = =20 data fork in regular inode 8595244305 claims used block 537202808 = =20 correcting nblocks for inode 8595244305, was 2 - counted 0 = =20 data fork in regular inode 8595244306 claims used block 537202820 = =20 correcting nblocks for inode 8595244306, was 8 - counted 0 = =20 data fork in regular inode 8595244307 claims used block 537202810 = =20 correcting nblocks for inode 8595244307, was 2 - counted 0 = =20 data fork in regular inode 8595244308 claims used block 537202812 = =20 correcting nblocks for inode 8595244308, was 2 - counted 0 = =20 data fork in regular inode 8595244309 claims used block 537202814 = =20 correcting nblocks for inode 8595244309, was 1 - counted 0 = =20 data fork in regular inode 8595244310 claims used block 537202828 = =20 correcting nblocks for inode 8595244310, was 1 - counted 0 = =20 data fork in regular inode 8595244311 claims used block 537202829 = =20 correcting nblocks for inode 8595244311, was 2 - counted 0 = =20 data fork in regular inode 8595244312 claims used block 537202831 = =20 correcting nblocks for inode 8595244312, was 1 - counted 0 = =20 data fork in regular inode 8595244313 claims used block 537202832 = =20 correcting nblocks for inode 8595244313, was 3 - counted 0 = =20 data fork in regular inode 8595244314 claims used block 537202835 = =20 correcting nblocks for inode 8595244314, was 2 - counted 0 = =20 data fork in regular inode 8595244315 claims used block 537202837 = =20 correcting nblocks for inode 8595244315, was 1 - counted 0 = =20 data fork in regular inode 8595244316 claims used block 537202838 = =20 correcting nblocks for inode 8595244316, was 2 - counted 0 = =20 data fork in regular inode 8595244317 claims used block 537202840 = =20 correcting nblocks for inode 8595244317, was 3 - counted 0 = =20 data fork in regular inode 8595244318 claims used block 537202843 = =20 correcting nblocks for inode 8595244318, was 1 - counted 0 = =20 data fork in regular inode 8595244319 claims used block 537202844 = =20 correcting nblocks for inode 8595244319, was 2 - counted 0 = =20 inode block 537202770 multiply claimed, state was 3 = =20 data fork in regular inode 8595244320 claims used block 537202846 = =20 correcting nblocks for inode 8595244320, was 1 - counted 0 = =20 data fork in regular inode 8595244321 claims used block 537202847 = =20 correcting nblocks for inode 8595244321, was 1 - counted 0 = =20 data fork in regular inode 8595244322 claims used block 537202848 = =20 correcting nblocks for inode 8595244322, was 1 - counted 0 = =20 data fork in regular inode 8595244323 claims used block 537202849 = =20 correcting nblocks for inode 8595244323, was 3 - counted 0 = =20 data fork in regular inode 8595244324 claims used block 537202852 = =20 correcting nblocks for inode 8595244324, was 1 - counted 0 = =20 data fork in regular inode 8595244325 claims used block 537202853 = =20 correcting nblocks for inode 8595244325, was 3 - counted 0 = =20 data fork in regular inode 8595244326 claims used block 537202856 = =20 correcting nblocks for inode 8595244326, was 1 - counted 0 = =20 data fork in regular inode 8595244327 claims used block 537202857 = =20 correcting nblocks for inode 8595244327, was 1 - counted 0 = =20 data fork in regular inode 8595244328 claims used block 537202858 = =20 correcting nblocks for inode 8595244328, was 3 - counted 0 = =20 data fork in regular inode 8595244329 claims used block 537202861 = =20 correcting nblocks for inode 8595244329, was 2 - counted 0 = =20 data fork in regular inode 8595244330 claims used block 537202863 = =20 correcting nblocks for inode 8595244330, was 1 - counted 0 = =20 data fork in regular inode 8595244331 claims used block 537202864 = =20 correcting nblocks for inode 8595244331, was 1 - counted 0 = =20 data fork in regular inode 8595244332 claims used block 537202865 = =20 correcting nblocks for inode 8595244332, was 1 - counted 0 = =20 data fork in regular inode 8595244333 claims used block 537202866 = =20 correcting nblocks for inode 8595244333, was 2 - counted 0 = =20 data fork in regular inode 8595244334 claims used block 537202868 = =20 correcting nblocks for inode 8595244334, was 1 - counted 0 = =20 data fork in regular inode 8595244335 claims used block 537202869 = =20 correcting nblocks for inode 8595244335, was 6 - counted 0 = =20 inode block 537202771 multiply claimed, state was 3 = =20 data fork in regular inode 8595244336 claims used block 537202875 = =20 correcting nblocks for inode 8595244336, was 2 - counted 0 = =20 data fork in regular inode 8595244337 claims used block 537202877 = =20 correcting nblocks for inode 8595244337, was 1 - counted 0 = =20 data fork in regular inode 8595244338 claims used block 537202878 = =20 correcting nblocks for inode 8595244338, was 2 - counted 0 = =20 data fork in regular inode 8595244339 claims used block 537202880 = =20 correcting nblocks for inode 8595244339, was 4 - counted 0 = =20 data fork in regular inode 8595244340 claims used block 537202884 = =20 correcting nblocks for inode 8595244340, was 3 - counted 0 = =20 data fork in regular inode 8595244341 claims used block 537202887 = =20 correcting nblocks for inode 8595244341, was 2 - counted 0 = =20 data fork in regular inode 8595244342 claims used block 537202889 = =20 correcting nblocks for inode 8595244342, was 2 - counted 0 = =20 data fork in regular inode 8595244343 claims used block 537202891 = =20 correcting nblocks for inode 8595244343, was 1 - counted 0 = =20 data fork in regular inode 8595244344 claims used block 537202892 = =20 correcting nblocks for inode 8595244344, was 1 - counted 0 = =20 data fork in regular inode 8595244347 claims used block 537202894 = =20 correcting nblocks for inode 8595244347, was 1 - counted 0 = =20 data fork in regular inode 8595244349 claims used block 537202895 = =20 correcting nblocks for inode 8595244349, was 1 - counted 0 = =20 inode block 537202800 multiply claimed, state was 3 = =20 data fork in regular inode 8595244800 claims used block 537202900 = =20 correcting nblocks for inode 8595244800, was 1 - counted 0 = =20 data fork in regular inode 8595244804 claims used block 537202901 = =20 correcting nblocks for inode 8595244804, was 1 - counted 0 = =20 data fork in regular inode 8595244806 claims used block 537202804 = =20 correcting nblocks for inode 8595244806, was 1 - counted 0 = =20 data fork in regular inode 8595244808 claims used block 537202902 = =20 correcting nblocks for inode 8595244808, was 1 - counted 0 = =20 data fork in regular inode 8595244809 claims used block 537202903 = =20 correcting nblocks for inode 8595244809, was 1 - counted 0 = =20 data fork in regular inode 8595244810 claims used block 537202904 = =20 correcting nblocks for inode 8595244810, was 1 - counted 0 = =20 data fork in regular inode 8595244811 claims used block 537202905 = =20 correcting nblocks for inode 8595244811, was 1 - counted 0 = =20 inode block 537202801 multiply claimed, state was 3 = =20 data fork in regular inode 8595244816 claims used block 537202906 = =20 correcting nblocks for inode 8595244816, was 1 - counted 0 = =20 data fork in regular inode 8595244819 claims used block 537202907 = =20 correcting nblocks for inode 8595244819, was 1 - counted 0 = =20 data fork in regular inode 8595244820 claims used block 537202908 = =20 correcting nblocks for inode 8595244820, was 1 - counted 0 = =20 data fork in regular inode 8595244821 claims used block 537202909 = =20 correcting nblocks for inode 8595244821, was 2 - counted 0 = =20 data fork in regular inode 8595244822 claims used block 537202911 = =20 correcting nblocks for inode 8595244822, was 1 - counted 0 = =20 data fork in regular inode 8595244823 claims used block 537202912 = =20 correcting nblocks for inode 8595244823, was 1 - counted 0 = =20 data fork in regular inode 8595244829 claims used block 537202805 = =20 correcting nblocks for inode 8595244829, was 1 - counted 0 = =20 data fork in regular inode 8595244830 claims used block 537202913 = =20 correcting nblocks for inode 8595244830, was 1 - counted 0 = =20 data fork in regular inode 8595244831 claims used block 537202914 = =20 correcting nblocks for inode 8595244831, was 7 - counted 0 = =20 inode block 537202802 multiply claimed, state was 3 = =20 data fork in regular inode 8595244832 claims used block 537202921 = =20 correcting nblocks for inode 8595244832, was 5 - counted 0 = =20 data fork in regular inode 8595244833 claims used block 537202926 = =20 correcting nblocks for inode 8595244833, was 10 - counted 0 = =20 data fork in regular inode 8595244834 claims used block 537202936 = =20 correcting nblocks for inode 8595244834, was 2 - counted 0 = =20 data fork in regular inode 8595244835 claims used block 537202938 = =20 correcting nblocks for inode 8595244835, was 1 - counted 0 = =20 data fork in regular inode 8595244836 claims used block 537202939 = =20 correcting nblocks for inode 8595244836, was 2 - counted 0 = =20 data fork in regular inode 8595244837 claims used block 537202941 = =20 correcting nblocks for inode 8595244837, was 1 - counted 0 = =20 data fork in regular inode 8595244838 claims used block 537202942 = =20 correcting nblocks for inode 8595244838, was 11 - counted 0 = =20 data fork in regular inode 8595244839 claims used block 537202953 = =20 correcting nblocks for inode 8595244839, was 2 - counted 0 = =20 data fork in regular inode 8595244840 claims used block 537202955 = =20 correcting nblocks for inode 8595244840, was 8 - counted 0 = =20 data fork in regular inode 8595244841 claims used block 537202963 = =20 correcting nblocks for inode 8595244841, was 3 - counted 0 = =20 data fork in regular inode 8595244842 claims used block 537202966 = =20 correcting nblocks for inode 8595244842, was 2 - counted 0 = =20 data fork in regular inode 8595244843 claims used block 537202968 = =20 correcting nblocks for inode 8595244843, was 1 - counted 0 = =20 data fork in regular inode 8595244844 claims used block 537202969 = =20 correcting nblocks for inode 8595244844, was 2 - counted 0 = =20 data fork in regular inode 8595244845 claims used block 537202971 = =20 correcting nblocks for inode 8595244845, was 2 - counted 0 = =20 data fork in regular inode 8595244846 claims used block 537202976 = =20 correcting nblocks for inode 8595244846, was 16 - counted 0 = =20 data fork in regular inode 8595244847 claims used block 537202973 = =20 correcting nblocks for inode 8595244847, was 2 - counted 0 = =20 inode block 537202803 multiply claimed, state was 3 = =20 data fork in regular inode 8595244848 claims used block 537202992 = =20 correcting nblocks for inode 8595244848, was 6 - counted 0 = =20 data fork in regular inode 8595244849 claims used block 537202975 = =20 correcting nblocks for inode 8595244849, was 1 - counted 0 = =20 data fork in regular inode 8595244850 claims used block 537202998 = =20 correcting nblocks for inode 8595244850, was 4 - counted 0 = =20 data fork in regular inode 8595244851 claims used block 537203002 = =20 correcting nblocks for inode 8595244851, was 5 - counted 0 = =20 data fork in regular inode 8595244852 claims used block 537203007 = =20 correcting nblocks for inode 8595244852, was 2 - counted 0 = =20 data fork in regular inode 8595244853 claims used block 537203009 = =20 correcting nblocks for inode 8595244853, was 3 - counted 0 = =20 data fork in regular inode 8595244854 claims used block 537203012 = =20 correcting nblocks for inode 8595244854, was 2 - counted 0 = =20 data fork in regular inode 8595244855 claims used block 537203014 = =20 correcting nblocks for inode 8595244855, was 8 - counted 0 = =20 data fork in regular inode 8595244856 claims used block 537203022 = =20 correcting nblocks for inode 8595244856, was 7 - counted 0 = =20 data fork in regular inode 8595244857 claims used block 537203029 = =20 correcting nblocks for inode 8595244857, was 4 - counted 0 = =20 data fork in regular inode 8595244859 claims used block 537202806 = =20 correcting nblocks for inode 8595244859, was 1 - counted 0 = =20 data fork in regular inode 8595244861 claims used block 537203034 = =20 correcting nblocks for inode 8595244861, was 3 - counted 0 = =20 data fork in regular inode 8595244862 claims used block 537203037 = =20 correcting nblocks for inode 8595244862, was 1 - counted 0 = =20 data fork in regular inode 8595244863 claims used block 537203038 = =20 correcting nblocks for inode 8595244863, was 1 - counted 0 = =20 inode block 537202816 multiply claimed, state was 3 = =20 data fork in regular inode 8595245056 claims used block 537203039 = =20 correcting nblocks for inode 8595245056, was 1 - counted 0 = =20 data fork in regular inode 8595245057 claims used block 537202815 = =20 correcting nblocks for inode 8595245057, was 1 - counted 0 = =20 data fork in regular inode 8595245058 claims used block 537203040 = =20 correcting nblocks for inode 8595245058, was 4 - counted 0 = =20 data fork in regular inode 8595245059 claims used block 537203044 = =20 correcting nblocks for inode 8595245059, was 1 - counted 0 = =20 data fork in regular inode 8595245060 claims used block 537203045 = =20 correcting nblocks for inode 8595245060, was 3 - counted 0 = =20 data fork in regular inode 8595245061 claims used block 537203048 = =20 correcting nblocks for inode 8595245061, was 8 - counted 0 = =20 data fork in regular inode 8595245062 claims used block 537203056 = =20 correcting nblocks for inode 8595245062, was 1 - counted 0 = =20 data fork in regular inode 8595245063 claims used block 537203057 = =20 correcting nblocks for inode 8595245063, was 3 - counted 0 = =20 data fork in regular inode 8595245064 claims used block 537203060 = =20 correcting nblocks for inode 8595245064, was 1 - counted 0 = =20 data fork in regular inode 8595245065 claims used block 537203061 = =20 correcting nblocks for inode 8595245065, was 1 - counted 0 = =20 data fork in regular inode 8595245066 claims used block 537203062 = =20 correcting nblocks for inode 8595245066, was 1 - counted 0 = =20 data fork in regular inode 8595245067 claims used block 537203063 = =20 correcting nblocks for inode 8595245067, was 1 - counted 0 = =20 data fork in regular inode 8595245068 claims used block 537203064 = =20 correcting nblocks for inode 8595245068, was 1 - counted 0 = =20 data fork in regular inode 8595245069 claims used block 537203065 = =20 correcting nblocks for inode 8595245069, was 1 - counted 0 = =20 data fork in regular inode 8595245070 claims used block 537203066 = =20 correcting nblocks for inode 8595245070, was 4 - counted 0 = =20 data fork in regular inode 8595245071 claims used block 537203070 = =20 correcting nblocks for inode 8595245071, was 1 - counted 0 = =20 inode block 537202817 multiply claimed, state was 3 = =20 data fork in regular inode 8595245072 claims used block 537203071 = =20 correcting nblocks for inode 8595245072, was 1 - counted 0 = =20 data fork in regular inode 8595245073 claims used block 537203072 = =20 correcting nblocks for inode 8595245073, was 4 - counted 0 = =20 data fork in regular inode 8595245074 claims used block 537203076 = =20 correcting nblocks for inode 8595245074, was 1 - counted 0 = =20 data fork in regular inode 8595245075 claims used block 537203077 = =20 correcting nblocks for inode 8595245075, was 1 - counted 0 = =20 data fork in regular inode 8595245076 claims used block 537203078 = =20 correcting nblocks for inode 8595245076, was 1 - counted 0 = =20 data fork in regular inode 8595245077 claims used block 537203079 = =20 correcting nblocks for inode 8595245077, was 3 - counted 0 = =20 data fork in regular inode 8595245078 claims used block 537203082 = =20 correcting nblocks for inode 8595245078, was 6 - counted 0 = =20 data fork in regular inode 8595245079 claims used block 537203088 = =20 correcting nblocks for inode 8595245079, was 8 - counted 0 = =20 data fork in regular inode 8595245080 claims used block 537203096 = =20 correcting nblocks for inode 8595245080, was 1 - counted 0 = =20 data fork in regular inode 8595245081 claims used block 537203097 = =20 correcting nblocks for inode 8595245081, was 4 - counted 0 = =20 data fork in regular inode 8595245082 claims used block 537203101 = =20 correcting nblocks for inode 8595245082, was 1 - counted 0 = =20 data fork in regular inode 8595245083 claims used block 537203102 = =20 correcting nblocks for inode 8595245083, was 1 - counted 0 = =20 data fork in regular inode 8595245084 claims used block 537203103 = =20 correcting nblocks for inode 8595245084, was 1 - counted 0 = =20 data fork in regular inode 8595245085 claims used block 537203104 = =20 correcting nblocks for inode 8595245085, was 4 - counted 0 = =20 data fork in regular inode 8595245086 claims used block 537203108 = =20 correcting nblocks for inode 8595245086, was 2 - counted 0 = =20 data fork in regular inode 8595245087 claims used block 537203110 = =20 correcting nblocks for inode 8595245087, was 1 - counted 0 = =20 inode block 537202818 multiply claimed, state was 3 = =20 data fork in regular inode 8595245088 claims used block 537203111 = =20 correcting nblocks for inode 8595245088, was 1 - counted 0 = =20 data fork in regular inode 8595245089 claims used block 537203112 = =20 correcting nblocks for inode 8595245089, was 4 - counted 0 = =20 data fork in regular inode 8595245090 claims used block 537203116 = =20 correcting nblocks for inode 8595245090, was 1 - counted 0 = =20 data fork in regular inode 8595245091 claims used block 537203117 = =20 correcting nblocks for inode 8595245091, was 3 - counted 0 = =20 data fork in regular inode 8595245092 claims used block 537203120 = =20 correcting nblocks for inode 8595245092, was 2 - counted 0 = =20 data fork in regular inode 8595245093 claims used block 537203122 = =20 correcting nblocks for inode 8595245093, was 1 - counted 0 = =20 data fork in regular inode 8595245094 claims used block 537203123 = =20 correcting nblocks for inode 8595245094, was 4 - counted 0 = =20 data fork in regular inode 8595245095 claims used block 537203127 = =20 correcting nblocks for inode 8595245095, was 1 - counted 0 = =20 data fork in regular inode 8595245096 claims used block 537203128 = =20 correcting nblocks for inode 8595245096, was 1 - counted 0 = =20 data fork in regular inode 8595245097 claims used block 537203129 = =20 correcting nblocks for inode 8595245097, was 1 - counted 0 = =20 data fork in regular inode 8595245098 claims used block 537203130 = =20 correcting nblocks for inode 8595245098, was 2 - counted 0 = =20 data fork in regular inode 8595245099 claims used block 537203132 = =20 correcting nblocks for inode 8595245099, was 1 - counted 0 = =20 data fork in regular inode 8595245100 claims used block 537203133 = =20 correcting nblocks for inode 8595245100, was 3 - counted 0 = =20 data fork in regular inode 8595245101 claims used block 537203136 = =20 correcting nblocks for inode 8595245101, was 1 - counted 0 = =20 data fork in regular inode 8595245103 claims used block 537202893 = =20 correcting nblocks for inode 8595245103, was 1 - counted 0 = =20 inode block 537202819 multiply claimed, state was 3 = =20 data fork in regular inode 8595245104 claims used block 537203137 = =20 correcting nblocks for inode 8595245104, was 1 - counted 0 = =20 data fork in regular inode 8595245105 claims used block 537203138 = =20 correcting nblocks for inode 8595245105, was 1 - counted 0 = =20 data fork in regular inode 8595245106 claims used block 537203139 = =20 correcting nblocks for inode 8595245106, was 1 - counted 0 = =20 data fork in regular inode 8595245107 claims used block 537203140 = =20 correcting nblocks for inode 8595245107, was 1 - counted 0 = =20 data fork in regular inode 8595245108 claims used block 537203141 = =20 correcting nblocks for inode 8595245108, was 1 - counted 0 = =20 data fork in regular inode 8595245109 claims used block 537203142 = =20 correcting nblocks for inode 8595245109, was 1 - counted 0 = =20 data fork in regular inode 8595245110 claims used block 537203143 = =20 correcting nblocks for inode 8595245110, was 1 - counted 0 = =20 data fork in regular inode 8595245111 claims used block 537203144 = =20 correcting nblocks for inode 8595245111, was 1 - counted 0 = =20 data fork in regular inode 8595245112 claims used block 537203145 = =20 correcting nblocks for inode 8595245112, was 1 - counted 0 = =20 data fork in regular inode 8595245113 claims used block 537203146 = =20 correcting nblocks for inode 8595245113, was 1 - counted 0 = =20 data fork in regular inode 8595245114 claims used block 537203147 = =20 correcting nblocks for inode 8595245114, was 1 - counted 0 = =20 data fork in regular inode 8595245115 claims used block 537203148 = =20 correcting nblocks for inode 8595245115, was 1 - counted 0 = =20 data fork in regular inode 8595245116 claims used block 537203149 = =20 correcting nblocks for inode 8595245116, was 1 - counted 0 = =20 data fork in regular inode 8595245117 claims used block 537203150 = =20 correcting nblocks for inode 8595245117, was 1 - counted 0 = =20 data fork in regular inode 8595245118 claims used block 537203151 = =20 correcting nblocks for inode 8595245118, was 1 - counted 0 = =20 data fork in regular inode 8595245119 claims used block 537203152 = =20 correcting nblocks for inode 8595245119, was 1 - counted 0 = =20 inode block 537202896 multiply claimed, state was 3 = =20 data fork in regular inode 8595246336 claims used block 537203153 = =20 correcting nblocks for inode 8595246336, was 1 - counted 0 = =20 data fork in regular inode 8595246337 claims used block 537203154 = =20 correcting nblocks for inode 8595246337, was 1 - counted 0 = =20 data fork in regular inode 8595246338 claims used block 537203155 = =20 correcting nblocks for inode 8595246338, was 1 - counted 0 = =20 data fork in regular inode 8595246339 claims used block 537203156 = =20 correcting nblocks for inode 8595246339, was 1 - counted 0 = =20 data fork in regular inode 8595246340 claims used block 537203157 = =20 correcting nblocks for inode 8595246340, was 1 - counted 0 = =20 data fork in regular inode 8595246341 claims used block 537203158 = =20 correcting nblocks for inode 8595246341, was 1 - counted 0 = =20 data fork in regular inode 8595246342 claims used block 537203159 = =20 correcting nblocks for inode 8595246342, was 1 - counted 0 = =20 data fork in regular inode 8595246343 claims used block 537203160 = =20 correcting nblocks for inode 8595246343, was 1 - counted 0 = =20 data fork in regular inode 8595246344 claims used block 537203161 = =20 correcting nblocks for inode 8595246344, was 1 - counted 0 = =20 data fork in regular inode 8595246345 claims used block 537203162 = =20 correcting nblocks for inode 8595246345, was 1 - counted 0 = =20 data fork in regular inode 8595246346 claims used block 537203163 = =20 correcting nblocks for inode 8595246346, was 1 - counted 0 = =20 data fork in regular inode 8595246347 claims used block 537203164 = =20 correcting nblocks for inode 8595246347, was 1 - counted 0 = =20 data fork in regular inode 8595246348 claims used block 537203165 = =20 correcting nblocks for inode 8595246348, was 1 - counted 0 = =20 data fork in regular inode 8595246349 claims used block 537203166 = =20 correcting nblocks for inode 8595246349, was 1 - counted 0 = =20 data fork in regular inode 8595246350 claims used block 537203167 = =20 correcting nblocks for inode 8595246350, was 1 - counted 0 = =20 data fork in regular inode 8595246351 claims used block 537203168 = =20 correcting nblocks for inode 8595246351, was 1 - counted 0 = =20 inode block 537202897 multiply claimed, state was 3 = =20 data fork in regular inode 8595246352 claims used block 537203169 = =20 correcting nblocks for inode 8595246352, was 1 - counted 0 = =20 data fork in regular inode 8595246353 claims used block 537203170 = =20 correcting nblocks for inode 8595246353, was 1 - counted 0 = =20 data fork in regular inode 8595246358 claims used block 537203033 = =20 correcting nblocks for inode 8595246358, was 1 - counted 0 = =20 data fork in regular inode 8595246360 claims used block 537203171 = =20 correcting nblocks for inode 8595246360, was 3 - counted 0 = =20 data fork in regular inode 8595246361 claims used block 537203174 = =20 correcting nblocks for inode 8595246361, was 1 - counted 0 = =20 data fork in regular inode 8595246362 claims used block 537203175 = =20 correcting nblocks for inode 8595246362, was 1 - counted 0 = =20 data fork in regular inode 8595246363 claims used block 537203176 = =20 correcting nblocks for inode 8595246363, was 1 - counted 0 = =20 data fork in regular inode 8595246366 claims used block 537203177 = =20 correcting nblocks for inode 8595246366, was 3 - counted 0 = =20 data fork in regular inode 8595246367 claims used block 537203180 = =20 correcting nblocks for inode 8595246367, was 3 - counted 0 = =20 bad size/format for directory 8595246367 = =20 problem with directory contents in inode 8595246367 = =20 cleared inode 8595246367 = =20 inode block 537202898 multiply claimed, state was 3 = =20 data fork in regular inode 8595246369 claims used block 537203182 = =20 correcting nblocks for inode 8595246369, was 1 - counted 0 = =20 data fork in regular inode 8595246370 claims used block 537203196 = =20 correcting nblocks for inode 8595246370, was 3 - counted 0 = =20 data fork in regular inode 8595246371 claims used block 537203200 = =20 correcting nblocks for inode 8595246371, was 46 - counted 0 = =20 data fork in regular inode 8595246372 claims used block 537203183 = =20 correcting nblocks for inode 8595246372, was 1 - counted 0 = =20 data fork in regular inode 8595246373 claims used block 537203246 = =20 correcting nblocks for inode 8595246373, was 3 - counted 0 = =20 data fork in regular inode 8595246374 claims used block 537203249 = =20 correcting nblocks for inode 8595246374, was 3 - counted 0 = =20 data fork in regular inode 8595246375 claims used block 537203199 = =20 correcting nblocks for inode 8595246375, was 1 - counted 0 = =20 data fork in regular inode 8595246376 claims used block 537203252 = =20 correcting nblocks for inode 8595246376, was 3 - counted 0 = =20 data fork in regular inode 8595246378 claims used block 537203255 = =20 correcting nblocks for inode 8595246378, was 1 - counted 0 = =20 data fork in regular inode 8595246379 claims used block 537203256 = =20 correcting nblocks for inode 8595246379, was 3 - counted 0 = =20 data fork in regular inode 8595246380 claims used block 537203259 = =20 correcting nblocks for inode 8595246380, was 1 - counted 0 = =20 data fork in regular inode 8595246381 claims used block 537203260 = =20 correcting nblocks for inode 8595246381, was 1 - counted 0 = =20 data fork in regular inode 8595246382 claims used block 537203261 = =20 correcting nblocks for inode 8595246382, was 3 - counted 0 = =20 inode block 537202899 multiply claimed, state was 3 = =20 data fork in regular inode 8595246384 claims used block 537203264 = =20 correcting nblocks for inode 8595246384, was 1 - counted 0 = =20 data fork in regular inode 8595246385 claims used block 537203265 = =20 correcting nblocks for inode 8595246385, was 3 - counted 0 = =20 data fork in regular inode 8595246387 claims used block 537203268 = =20 correcting nblocks for inode 8595246387, was 1 - counted 0 = =20 data fork in regular inode 8595246388 claims used block 537203269 = =20 correcting nblocks for inode 8595246388, was 3 - counted 0 = =20 data fork in regular inode 8595246390 claims used block 537203272 = =20 correcting nblocks for inode 8595246390, was 1 - counted 0 = =20 data fork in regular inode 8595246391 claims used block 537203273 = =20 correcting nblocks for inode 8595246391, was 3 - counted 0 = =20 data fork in regular inode 8595246393 claims used block 537203276 = =20 correcting nblocks for inode 8595246393, was 1 - counted 0 = =20 data fork in regular inode 8595246394 claims used block 537203277 = =20 correcting nblocks for inode 8595246394, was 3 - counted 0 = =20 data fork in regular inode 8595246396 claims used block 537203280 = =20 correcting nblocks for inode 8595246396, was 1 - counted 0 = =20 data fork in regular inode 8595246397 claims used block 537203281 = =20 correcting nblocks for inode 8595246397, was 3 - counted 0 = =20 data fork in regular inode 8595246398 claims used block 537203284 = =20 correcting nblocks for inode 8595246398, was 2 - counted 0 = =20 data fork in regular inode 8595246399 claims used block 537203286 = =20 correcting nblocks for inode 8595246399, was 1 - counted 0 = =20 inode block 537203184 multiply claimed, state was 3 = =20 data fork in regular inode 8595250944 claims used block 537203287 = =20 correcting nblocks for inode 8595250944, was 3 - counted 0 = =20 data fork in regular inode 8595250946 claims used block 537203290 = =20 correcting nblocks for inode 8595250946, was 1 - counted 0 = =20 data fork in regular inode 8595250947 claims used block 537203291 = =20 correcting nblocks for inode 8595250947, was 3 - counted 0 = =20 data fork in regular inode 8595250949 claims used block 537203294 = =20 correcting nblocks for inode 8595250949, was 1 - counted 0 = =20 data fork in regular inode 8595250950 claims used block 537203295 = =20 correcting nblocks for inode 8595250950, was 3 - counted 0 = =20 data fork in regular inode 8595250952 claims used block 537203298 = =20 correcting nblocks for inode 8595250952, was 1 - counted 0 = =20 data fork in regular inode 8595250953 claims used block 537203299 = =20 correcting nblocks for inode 8595250953, was 3 - counted 0 = =20 data fork in regular inode 8595250955 claims used block 537203302 = =20 correcting nblocks for inode 8595250955, was 1 - counted 0 = =20 data fork in regular inode 8595250956 claims used block 537203303 = =20 correcting nblocks for inode 8595250956, was 3 - counted 0 = =20 data fork in regular inode 8595250958 claims used block 537203306 = =20 correcting nblocks for inode 8595250958, was 1 - counted 0 = =20 data fork in regular inode 8595250959 claims used block 537203307 = =20 correcting nblocks for inode 8595250959, was 3 - counted 0 = =20 inode block 537203185 multiply claimed, state was 3 = =20 data fork in regular inode 8595250961 claims used block 537203310 = =20 correcting nblocks for inode 8595250961, was 1 - counted 0 = =20 data fork in regular inode 8595250962 claims used block 537203311 = =20 correcting nblocks for inode 8595250962, was 3 - counted 0 = =20 data fork in regular inode 8595250963 claims used block 537203328 = =20 correcting nblocks for inode 8595250963, was 81 - counted 0 = =20 data fork in regular inode 8595250964 claims used block 537203314 = =20 correcting nblocks for inode 8595250964, was 1 - counted 0 = =20 data fork in regular inode 8595250965 claims used block 537203315 = =20 correcting nblocks for inode 8595250965, was 3 - counted 0 = =20 data fork in regular inode 8595250967 claims used block 537203318 = =20 correcting nblocks for inode 8595250967, was 1 - counted 0 = =20 data fork in regular inode 8595250968 claims used block 537203319 = =20 correcting nblocks for inode 8595250968, was 3 - counted 0 = =20 data fork in regular inode 8595250970 claims used block 537203322 = =20 correcting nblocks for inode 8595250970, was 1 - counted 0 = =20 data fork in regular inode 8595250971 claims used block 537203323 = =20 correcting nblocks for inode 8595250971, was 3 - counted 0 = =20 data fork in regular inode 8595250972 claims used block 537203326 = =20 correcting nblocks for inode 8595250972, was 1 - counted 0 = =20 data fork in regular inode 8595250973 claims used block 537203409 = =20 correcting nblocks for inode 8595250973, was 2 - counted 0 = =20 data fork in regular inode 8595250974 claims used block 537203411 = =20 correcting nblocks for inode 8595250974, was 3 - counted 0 = =20 data fork in regular inode 8595250975 claims used block 537203424 = =20 correcting nblocks for inode 8595250975, was 185 - counted 0 = =20 inode block 537203186 multiply claimed, state was 3 = =20 data fork in regular inode 8595250976 claims used block 537203414 = =20 correcting nblocks for inode 8595250976, was 4 - counted 0 = =20 data fork in regular inode 8595250977 claims used block 537203418 = =20 correcting nblocks for inode 8595250977, was 3 - counted 0 = =20 data fork in regular inode 8595250979 claims used block 537203327 = =20 correcting nblocks for inode 8595250979, was 1 - counted 0 = =20 data fork in regular inode 8595250980 claims used block 537203421 = =20 correcting nblocks for inode 8595250980, was 3 - counted 0 = =20 data fork in regular inode 8595250982 claims used block 537203609 = =20 correcting nblocks for inode 8595250982, was 1 - counted 0 = =20 data fork in regular inode 8595250983 claims used block 537203610 = =20 correcting nblocks for inode 8595250983, was 3 - counted 0 = =20 data fork in regular inode 8595250985 claims used block 537203613 = =20 correcting nblocks for inode 8595250985, was 1 - counted 0 = =20 data fork in regular inode 8595250986 claims used block 537203614 = =20 correcting nblocks for inode 8595250986, was 3 - counted 0 = =20 data fork in regular inode 8595250987 claims used block 537203617 = =20 correcting nblocks for inode 8595250987, was 2 - counted 0 = =20 data fork in regular inode 8595250988 claims used block 537203619 = =20 correcting nblocks for inode 8595250988, was 1 - counted 0 = =20 data fork in regular inode 8595250989 claims used block 537203620 = =20 correcting nblocks for inode 8595250989, was 3 - counted 0 = =20 data fork in regular inode 8595250991 claims used block 537203623 = =20 correcting nblocks for inode 8595250991, was 1 - counted 0 = =20 inode block 537203187 multiply claimed, state was 3 = =20 data fork in regular inode 8595250992 claims used block 537203624 = =20 correcting nblocks for inode 8595250992, was 3 - counted 0 = =20 data fork in regular inode 8595250994 claims used block 537203627 = =20 correcting nblocks for inode 8595250994, was 1 - counted 0 = =20 data fork in regular inode 8595250996 claims used block 537203628 = =20 correcting nblocks for inode 8595250996, was 1 - counted 0 = =20 data fork in regular inode 8595250997 claims used block 537203629 = =20 correcting nblocks for inode 8595250997, was 3 - counted 0 = =20 data fork in regular inode 8595250998 claims used block 537203632 = =20 correcting nblocks for inode 8595250998, was 3 - counted 0 = =20 data fork in regular inode 8595251000 claims used block 537203635 = =20 correcting nblocks for inode 8595251000, was 1 - counted 0 = =20 data fork in regular inode 8595251001 claims used block 537203636 = =20 correcting nblocks for inode 8595251001, was 3 - counted 0 = =20 data fork in regular inode 8595251003 claims used block 537203639 = =20 correcting nblocks for inode 8595251003, was 1 - counted 0 = =20 data fork in regular inode 8595251004 claims used block 537203640 = =20 correcting nblocks for inode 8595251004, was 3 - counted 0 = =20 data fork in regular inode 8595251005 claims used block 537203643 = =20 correcting nblocks for inode 8595251005, was 1 - counted 0 = =20 data fork in regular inode 8595251006 claims used block 537203644 = =20 correcting nblocks for inode 8595251006, was 1 - counted 0 = =20 data fork in regular inode 8595251007 claims used block 537203645 = =20 correcting nblocks for inode 8595251007, was 3 - counted 0 = =20 inode block 537203188 multiply claimed, state was 3 = =20 data fork in regular inode 8595251009 claims used block 537203648 = =20 correcting nblocks for inode 8595251009, was 1 - counted 0 = =20 data fork in regular inode 8595251010 claims used block 537203649 = =20 correcting nblocks for inode 8595251010, was 3 - counted 0 = =20 data fork in regular inode 8595251012 claims used block 537203652 = =20 correcting nblocks for inode 8595251012, was 1 - counted 0 = =20 data fork in regular inode 8595251013 claims used block 537203653 = =20 correcting nblocks for inode 8595251013, was 3 - counted 0 = =20 data fork in regular inode 8595251014 claims used block 537203656 = =20 correcting nblocks for inode 8595251014, was 1 - counted 0 = =20 data fork in regular inode 8595251016 claims used block 537203657 = =20 correcting nblocks for inode 8595251016, was 1 - counted 0 = =20 data fork in regular inode 8595251017 claims used block 537203658 = =20 correcting nblocks for inode 8595251017, was 3 - counted 0 = =20 data fork in regular inode 8595251019 claims used block 537203661 = =20 correcting nblocks for inode 8595251019, was 1 - counted 0 = =20 data fork in regular inode 8595251020 claims used block 537203662 = =20 correcting nblocks for inode 8595251020, was 3 - counted 0 = =20 data fork in regular inode 8595251022 claims used block 537203665 = =20 correcting nblocks for inode 8595251022, was 1 - counted 0 = =20 data fork in regular inode 8595251023 claims used block 537203666 = =20 correcting nblocks for inode 8595251023, was 3 - counted 0 = =20 inode block 537203189 multiply claimed, state was 3 = =20 data fork in regular inode 8595251025 claims used block 537203669 = =20 correcting nblocks for inode 8595251025, was 1 - counted 0 = =20 data fork in regular inode 8595251026 claims used block 537203670 = =20 correcting nblocks for inode 8595251026, was 3 - counted 0 = =20 data fork in regular inode 8595251028 claims used block 537203673 = =20 correcting nblocks for inode 8595251028, was 1 - counted 0 = =20 data fork in regular inode 8595251029 claims used block 537203674 = =20 correcting nblocks for inode 8595251029, was 3 - counted 0 = =20 data fork in regular inode 8595251030 claims used block 537203677 = =20 correcting nblocks for inode 8595251030, was 1 - counted 0 = =20 data fork in regular inode 8595251031 claims used block 537203678 = =20 correcting nblocks for inode 8595251031, was 1 - counted 0 = =20 data fork in regular inode 8595251032 claims used block 537203679 = =20 correcting nblocks for inode 8595251032, was 3 - counted 0 = =20 data fork in regular inode 8595251034 claims used block 537203682 = =20 correcting nblocks for inode 8595251034, was 1 - counted 0 = =20 data fork in regular inode 8595251035 claims used block 537203683 = =20 correcting nblocks for inode 8595251035, was 3 - counted 0 = =20 data fork in regular inode 8595251037 claims used block 537203686 = =20 correcting nblocks for inode 8595251037, was 1 - counted 0 = =20 data fork in regular inode 8595251038 claims used block 537203687 = =20 correcting nblocks for inode 8595251038, was 3 - counted 0 = =20 data fork in regular inode 8595251039 claims used block 537203690 = =20 correcting nblocks for inode 8595251039, was 10 - counted 0 = =20 inode block 537203190 multiply claimed, state was 3 = =20 data fork in regular inode 8595251040 claims used block 537203700 = =20 correcting nblocks for inode 8595251040, was 1 - counted 0 = =20 data fork in regular inode 8595251041 claims used block 537203701 = =20 correcting nblocks for inode 8595251041, was 3 - counted 0 = =20 data fork in regular inode 8595251042 claims used block 537203704 = =20 correcting nblocks for inode 8595251042, was 2 - counted 0 = =20 data fork in regular inode 8595251043 claims used block 537203706 = =20 correcting nblocks for inode 8595251043, was 1 - counted 0 = =20 data fork in regular inode 8595251044 claims used block 537203707 = =20 correcting nblocks for inode 8595251044, was 3 - counted 0 = =20 data fork in regular inode 8595251045 claims used block 537203710 = =20 correcting nblocks for inode 8595251045, was 1 - counted 0 = =20 data fork in regular inode 8595251046 claims used block 537203711 = =20 correcting nblocks for inode 8595251046, was 1 - counted 0 = =20 data fork in regular inode 8595251047 claims used block 537203712 = =20 correcting nblocks for inode 8595251047, was 3 - counted 0 = =20 data fork in regular inode 8595251049 claims used block 537203715 = =20 correcting nblocks for inode 8595251049, was 1 - counted 0 = =20 data fork in regular inode 8595251050 claims used block 537203716 = =20 correcting nblocks for inode 8595251050, was 3 - counted 0 = =20 data fork in regular inode 8595251052 claims used block 537203719 = =20 correcting nblocks for inode 8595251052, was 1 - counted 0 = =20 data fork in regular inode 8595251053 claims used block 537203720 = =20 correcting nblocks for inode 8595251053, was 3 - counted 0 = =20 data fork in regular inode 8595251055 claims used block 537203723 = =20 correcting nblocks for inode 8595251055, was 1 - counted 0 = =20 inode block 537203191 multiply claimed, state was 3 = =20 data fork in regular inode 8595251056 claims used block 537203724 = =20 correcting nblocks for inode 8595251056, was 3 - counted 0 = =20 data fork in regular inode 8595251058 claims used block 537203727 = =20 correcting nblocks for inode 8595251058, was 1 - counted 0 = =20 data fork in regular inode 8595251059 claims used block 537203728 = =20 correcting nblocks for inode 8595251059, was 3 - counted 0 = =20 data fork in regular inode 8595251061 claims used block 537203731 = =20 correcting nblocks for inode 8595251061, was 1 - counted 0 = =20 data fork in regular inode 8595251062 claims used block 537203732 = =20 correcting nblocks for inode 8595251062, was 3 - counted 0 = =20 data fork in regular inode 8595251064 claims used block 537203735 = =20 correcting nblocks for inode 8595251064, was 1 - counted 0 = =20 data fork in regular inode 8595251065 claims used block 537203736 = =20 correcting nblocks for inode 8595251065, was 3 - counted 0 = =20 data fork in regular inode 8595251067 claims used block 537203739 = =20 correcting nblocks for inode 8595251067, was 1 - counted 0 = =20 data fork in regular inode 8595251068 claims used block 537203740 = =20 correcting nblocks for inode 8595251068, was 3 - counted 0 = =20 data fork in regular inode 8595251070 claims used block 537203743 = =20 correcting nblocks for inode 8595251070, was 1 - counted 0 = =20 data fork in regular inode 8595251071 claims used block 537203744 = =20 correcting nblocks for inode 8595251071, was 3 - counted 0 = =20 inode block 537203192 multiply claimed, state was 3 = =20 data fork in regular inode 8595251072 claims used block 537203760 = =20 correcting nblocks for inode 8595251072, was 19 - counted 0 = =20 data fork in regular inode 8595251073 claims used block 537203747 = =20 correcting nblocks for inode 8595251073, was 11 - counted 0 = =20 data fork in regular inode 8595251074 claims used block 537203779 = =20 correcting nblocks for inode 8595251074, was 3 - counted 0 = =20 data fork in regular inode 8595251075 claims used block 537203758 = =20 correcting nblocks for inode 8595251075, was 1 - counted 0 = =20 data fork in regular inode 8595251076 claims used block 537203759 = =20 correcting nblocks for inode 8595251076, was 1 - counted 0 = =20 data fork in regular inode 8595251077 claims used block 537203782 = =20 correcting nblocks for inode 8595251077, was 3 - counted 0 = =20 data fork in regular inode 8595251079 claims used block 537203785 = =20 correcting nblocks for inode 8595251079, was 1 - counted 0 = =20 data fork in regular inode 8595251080 claims used block 537203786 = =20 correcting nblocks for inode 8595251080, was 3 - counted 0 = =20 data fork in regular inode 8595251082 claims used block 537203789 = =20 correcting nblocks for inode 8595251082, was 1 - counted 0 = =20 data fork in regular inode 8595251083 claims used block 537203790 = =20 correcting nblocks for inode 8595251083, was 3 - counted 0 = =20 data fork in regular inode 8595251085 claims used block 537203793 = =20 correcting nblocks for inode 8595251085, was 1 - counted 0 = =20 data fork in regular inode 8595251086 claims used block 537203794 = =20 correcting nblocks for inode 8595251086, was 3 - counted 0 = =20 inode block 537203193 multiply claimed, state was 3 = =20 data fork in regular inode 8595251088 claims used block 537203797 = =20 correcting nblocks for inode 8595251088, was 1 - counted 0 = =20 data fork in regular inode 8595251089 claims used block 537203798 = =20 correcting nblocks for inode 8595251089, was 3 - counted 0 = =20 data fork in regular inode 8595251091 claims used block 537203801 = =20 correcting nblocks for inode 8595251091, was 1 - counted 0 = =20 data fork in regular inode 8595251092 claims used block 537203802 = =20 correcting nblocks for inode 8595251092, was 3 - counted 0 = =20 data fork in regular inode 8595251094 claims used block 537203805 = =20 correcting nblocks for inode 8595251094, was 1 - counted 0 = =20 data fork in regular inode 8595251095 claims used block 537203806 = =20 correcting nblocks for inode 8595251095, was 3 - counted 0 = =20 data fork in regular inode 8595251097 claims used block 537203809 = =20 correcting nblocks for inode 8595251097, was 1 - counted 0 = =20 data fork in regular inode 8595251098 claims used block 537203810 = =20 correcting nblocks for inode 8595251098, was 3 - counted 0 = =20 data fork in regular inode 8595251100 claims used block 537203813 = =20 correcting nblocks for inode 8595251100, was 1 - counted 0 = =20 data fork in regular inode 8595251101 claims used block 537203814 = =20 correcting nblocks for inode 8595251101, was 3 - counted 0 = =20 data fork in regular inode 8595251103 claims used block 537203817 = =20 correcting nblocks for inode 8595251103, was 1 - counted 0 = =20 inode block 537203194 multiply claimed, state was 3 = =20 data fork in regular inode 8595251104 claims used block 537203818 = =20 correcting nblocks for inode 8595251104, was 3 - counted 0 = =20 data fork in regular inode 8595251106 claims used block 537203821 = =20 correcting nblocks for inode 8595251106, was 1 - counted 0 = =20 data fork in regular inode 8595251107 claims used block 537203822 = =20 correcting nblocks for inode 8595251107, was 3 - counted 0 = =20 data fork in regular inode 8595251109 claims used block 537203825 = =20 correcting nblocks for inode 8595251109, was 1 - counted 0 = =20 data fork in regular inode 8595251110 claims used block 537203826 = =20 correcting nblocks for inode 8595251110, was 3 - counted 0 = =20 data fork in regular inode 8595251112 claims used block 537203829 = =20 correcting nblocks for inode 8595251112, was 1 - counted 0 = =20 data fork in regular inode 8595251113 claims used block 537203830 = =20 correcting nblocks for inode 8595251113, was 3 - counted 0 = =20 data fork in regular inode 8595251115 claims used block 537203833 = =20 correcting nblocks for inode 8595251115, was 1 - counted 0 = =20 data fork in regular inode 8595251116 claims used block 537203834 = =20 correcting nblocks for inode 8595251116, was 3 - counted 0 = =20 data fork in regular inode 8595251118 claims used block 537203837 = =20 correcting nblocks for inode 8595251118, was 1 - counted 0 = =20 data fork in regular inode 8595251119 claims used block 537203838 = =20 correcting nblocks for inode 8595251119, was 3 - counted 0 = =20 inode block 537203195 multiply claimed, state was 3 = =20 data fork in regular inode 8595251121 claims used block 537203841 = =20 correcting nblocks for inode 8595251121, was 1 - counted 0 = =20 data fork in regular inode 8595251122 claims used block 537203842 = =20 correcting nblocks for inode 8595251122, was 3 - counted 0 = =20 data fork in regular inode 8595251126 claims used block 537203845 = =20 correcting nblocks for inode 8595251126, was 4 - counted 0 = =20 data fork in regular inode 8595251127 claims used block 537203849 = =20 correcting nblocks for inode 8595251127, was 4 - counted 0 = =20 data fork in regular inode 8595251129 claims used block 537203872 = =20 correcting nblocks for inode 8595251129, was 28 - counted 0 = =20 data fork in regular inode 8595251130 claims used block 537203904 = =20 correcting nblocks for inode 8595251130, was 28 - counted 0 = =20 data fork in regular inode 8595251133 claims used block 537203936 = =20 correcting nblocks for inode 8595251133, was 259 - counted 0 = =20 data fork in regular inode 8595251134 claims used block 537204208 = =20 correcting nblocks for inode 8595251134, was 259 - counted 0 = =20 inode block 537203856 multiply claimed, state was 3 = =20 data fork in regular inode 8595261696 claims used block 537204480 = =20 correcting nblocks for inode 8595261696, was 27 - counted 0 = =20 data fork in regular inode 8595261697 claims used block 537204512 = =20 correcting nblocks for inode 8595261697, was 27 - counted 0 = =20 data fork in regular inode 8595261699 claims used block 537204544 = =20 correcting nblocks for inode 8595261699, was 28 - counted 0 = =20 data fork in regular inode 8595261700 claims used block 537204576 = =20 correcting nblocks for inode 8595261700, was 28 - counted 0 = =20 data fork in regular inode 8595261703 claims used block 537204608 = =20 correcting nblocks for inode 8595261703, was 23 - counted 0 = =20 data fork in regular inode 8595261704 claims used block 537204640 = =20 correcting nblocks for inode 8595261704, was 23 - counted 0 = =20 data fork in regular inode 8595261705 claims used block 537203855 = =20 correcting nblocks for inode 8595261705, was 1 - counted 0 = =20 data fork in regular inode 8595261706 claims used block 537203860 = =20 correcting nblocks for inode 8595261706, was 12 - counted 0 = =20 data fork in regular inode 8595261707 claims used block 537204195 = =20 correcting nblocks for inode 8595261707, was 8 - counted 0 = =20 data fork in regular inode 8595261708 claims used block 537204467 = =20 correcting nblocks for inode 8595261708, was 8 - counted 0 = =20 data fork in regular inode 8595261709 claims used block 537204631 = =20 correcting nblocks for inode 8595261709, was 7 - counted 0 = =20 data fork in regular inode 8595261710 claims used block 537204663 = =20 correcting nblocks for inode 8595261710, was 8 - counted 0 = =20 data fork in regular inode 8595261711 claims used block 537204671 = =20 correcting nblocks for inode 8595261711, was 7 - counted 0 = =20 inode block 537203857 multiply claimed, state was 3 = =20 data fork in regular inode 8595261712 claims used block 537204678 = =20 correcting nblocks for inode 8595261712, was 14 - counted 0 = =20 data fork in regular inode 8595261713 claims used block 537204692 = =20 correcting nblocks for inode 8595261713, was 13 - counted 0 = =20 data fork in regular inode 8595261714 claims used block 537204705 = =20 correcting nblocks for inode 8595261714, was 12 - counted 0 = =20 data fork in regular inode 8595261715 claims used block 537204717 = =20 correcting nblocks for inode 8595261715, was 8 - counted 0 = =20 data fork in regular inode 8595261716 claims used block 537204725 = =20 correcting nblocks for inode 8595261716, was 14 - counted 0 = =20 data fork in regular inode 8595261717 claims used block 537204739 = =20 correcting nblocks for inode 8595261717, was 13 - counted 0 = =20 data fork in regular inode 8595261722 claims used block 537203854 = =20 correcting nblocks for inode 8595261722, was 1 - counted 0 = =20 data fork in regular inode 8595261723 claims used block 537204752 = =20 correcting nblocks for inode 8595261723, was 33 - counted 0 = =20 data fork in regular inode 8595261724 claims used block 537203853 = =20 correcting nblocks for inode 8595261724, was 1 - counted 0 = =20 data fork in regular inode 8595261725 claims used block 537204800 = =20 correcting nblocks for inode 8595261725, was 33 - counted 0 = =20 data fork in regular inode 8595261727 claims used block 537203900 = =20 correcting nblocks for inode 8595261727, was 1 - counted 0 = =20 inode block 537203858 multiply claimed, state was 3 = =20 data fork in regular inode 8595261728 claims used block 537203901 = =20 correcting nblocks for inode 8595261728, was 1 - counted 0 = =20 data fork in regular inode 8595261731 claims used block 537204848 = =20 correcting nblocks for inode 8595261731, was 79 - counted 0 = =20 data fork in regular inode 8595261732 claims used block 537203902 = =20 correcting nblocks for inode 8595261732, was 1 - counted 0 = =20 data fork in regular inode 8595261733 claims used block 537203903 = =20 correcting nblocks for inode 8595261733, was 1 - counted 0 = =20 data fork in regular inode 8595261734 claims used block 537204928 = =20 correcting nblocks for inode 8595261734, was 79 - counted 0 = =20 data fork in regular inode 8595261736 claims used block 537205008 = =20 correcting nblocks for inode 8595261736, was 18 - counted 0 = =20 data fork in regular inode 8595261737 claims used block 537205040 = =20 correcting nblocks for inode 8595261737, was 18 - counted 0 = =20 data fork in regular inode 8595261739 claims used block 537205072 = =20 correcting nblocks for inode 8595261739, was 62 - counted 0 = =20 data fork in regular inode 8595261740 claims used block 537203932 = =20 correcting nblocks for inode 8595261740, was 1 - counted 0 = =20 data fork in regular inode 8595261741 claims used block 537205136 = =20 correcting nblocks for inode 8595261741, was 62 - counted 0 = =20 data fork in regular inode 8595261742 claims used block 537203933 = =20 correcting nblocks for inode 8595261742, was 1 - counted 0 = =20 inode block 537203859 multiply claimed, state was 3 = =20 data fork in regular inode 8595261744 claims used block 537203934 = =20 correcting nblocks for inode 8595261744, was 1 - counted 0 = =20 data fork in regular inode 8595261745 claims used block 537203935 = =20 correcting nblocks for inode 8595261745, was 1 - counted 0 = =20 data fork in regular inode 8595261747 claims used block 537204203 = =20 correcting nblocks for inode 8595261747, was 1 - counted 0 = =20 data fork in regular inode 8595261748 claims used block 537204204 = =20 correcting nblocks for inode 8595261748, was 1 - counted 0 = =20 data fork in regular inode 8595261752 claims used block 537204205 = =20 correcting nblocks for inode 8595261752, was 1 - counted 0 = =20 data fork in regular inode 8595261753 claims used block 537204206 = =20 correcting nblocks for inode 8595261753, was 1 - counted 0 = =20 data fork in regular inode 8595261755 claims used block 537204207 = =20 correcting nblocks for inode 8595261755, was 1 - counted 0 = =20 data fork in regular inode 8595261756 claims used block 537204475 = =20 correcting nblocks for inode 8595261756, was 1 - counted 0 = =20 data fork in regular inode 8595261758 claims used block 537204476 = =20 correcting nblocks for inode 8595261758, was 1 - counted 0 = =20 data fork in regular inode 8595261759 claims used block 537204477 = =20 correcting nblocks for inode 8595261759, was 1 - counted 0 = =20 inode block 537205200 multiply claimed, state was 3 = =20 data fork in regular inode 8595283202 claims used block 537205199 = =20 correcting nblocks for inode 8595283202, was 1 - counted 0 = =20 data fork in regular inode 8595283203 claims used block 537205198 = =20 correcting nblocks for inode 8595283203, was 1 - counted 0 = =20 data fork in regular inode 8595283205 claims used block 537205204 = =20 correcting nblocks for inode 8595283205, was 1 - counted 0 = =20 data fork in regular inode 8595283206 claims used block 537205205 = =20 correcting nblocks for inode 8595283206, was 1 - counted 0 = =20 data fork in regular inode 8595283208 claims used block 537205216 = =20 correcting nblocks for inode 8595283208, was 94 - counted 0 = =20 data fork in regular inode 8595283209 claims used block 537205312 = =20 correcting nblocks for inode 8595283209, was 94 - counted 0 = =20 data fork in regular inode 8595283211 claims used block 537205206 = =20 correcting nblocks for inode 8595283211, was 1 - counted 0 = =20 data fork in regular inode 8595283212 claims used block 537205408 = =20 correcting nblocks for inode 8595283212, was 44 - counted 0 = =20 data fork in regular inode 8595283213 claims used block 537205207 = =20 correcting nblocks for inode 8595283213, was 1 - counted 0 = =20 data fork in regular inode 8595283214 claims used block 537205456 = =20 correcting nblocks for inode 8595283214, was 44 - counted 0 = =20 inode block 537205201 multiply claimed, state was 3 = =20 data fork in regular inode 8595283216 claims used block 537205208 = =20 correcting nblocks for inode 8595283216, was 6 - counted 0 = =20 data fork in regular inode 8595283217 claims used block 537205214 = =20 correcting nblocks for inode 8595283217, was 1 - counted 0 = =20 data fork in regular inode 8595283218 claims used block 537205215 = =20 correcting nblocks for inode 8595283218, was 1 - counted 0 = =20 data fork in regular inode 8595283219 claims used block 537205066 = =20 correcting nblocks for inode 8595283219, was 6 - counted 0 = =20 data fork in regular inode 8595283222 claims used block 537205504 = =20 correcting nblocks for inode 8595283222, was 63 - counted 0 = =20 data fork in regular inode 8595283223 claims used block 537205135 = =20 correcting nblocks for inode 8595283223, was 1 - counted 0 = =20 data fork in regular inode 8595283224 claims used block 537205134 = =20 correcting nblocks for inode 8595283224, was 1 - counted 0 = =20 data fork in regular inode 8595283225 claims used block 537205568 = =20 correcting nblocks for inode 8595283225, was 63 - counted 0 = =20 data fork in regular inode 8595283227 claims used block 537205310 = =20 correcting nblocks for inode 8595283227, was 1 - counted 0 = =20 data fork in regular inode 8595283228 claims used block 537205311 = =20 correcting nblocks for inode 8595283228, was 1 - counted 0 = =20 data fork in regular inode 8595283230 claims used block 537205065 = =20 correcting nblocks for inode 8595283230, was 1 - counted 0 = =20 data fork in regular inode 8595283231 claims used block 537205064 = =20 correcting nblocks for inode 8595283231, was 1 - counted 0 = =20 inode block 537205202 multiply claimed, state was 3 = =20 data fork in regular inode 8595283233 claims used block 537205063 = =20 correcting nblocks for inode 8595283233, was 1 - counted 0 = =20 data fork in regular inode 8595283234 claims used block 537205062 = =20 correcting nblocks for inode 8595283234, was 1 - counted 0 = =20 data fork in regular inode 8595283236 claims used block 537205061 = =20 correcting nblocks for inode 8595283236, was 1 - counted 0 = =20 data fork in regular inode 8595283237 claims used block 537205060 = =20 correcting nblocks for inode 8595283237, was 1 - counted 0 = =20 data fork in regular inode 8595283239 claims used block 537205059 = =20 correcting nblocks for inode 8595283239, was 1 - counted 0 = =20 data fork in regular inode 8595283240 claims used block 537205058 = =20 correcting nblocks for inode 8595283240, was 1 - counted 0 = =20 data fork in regular inode 8595283242 claims used block 537205039 = =20 correcting nblocks for inode 8595283242, was 1 - counted 0 = =20 data fork in regular inode 8595283243 claims used block 537205038 = =20 correcting nblocks for inode 8595283243, was 1 - counted 0 = =20 data fork in regular inode 8595283245 claims used block 537205037 = =20 correcting nblocks for inode 8595283245, was 1 - counted 0 = =20 data fork in regular inode 8595283246 claims used block 537205036 = =20 correcting nblocks for inode 8595283246, was 1 - counted 0 = =20 inode block 537205203 multiply claimed, state was 3 = =20 data fork in regular inode 8595283248 claims used block 537205035 = =20 correcting nblocks for inode 8595283248, was 1 - counted 0 = =20 data fork in regular inode 8595283249 claims used block 537205034 = =20 correcting nblocks for inode 8595283249, was 1 - counted 0 = =20 data fork in regular inode 8595283252 claims used block 537205033 = =20 correcting nblocks for inode 8595283252, was 1 - counted 0 = =20 data fork in regular inode 8595283253 claims used block 537205032 = =20 correcting nblocks for inode 8595283253, was 1 - counted 0 = =20 data fork in regular inode 8595283256 claims used block 537204835 = =20 correcting nblocks for inode 8595283256, was 13 - counted 0 = =20 data fork in regular inode 8595283257 claims used block 537205031 = =20 correcting nblocks for inode 8595283257, was 1 - counted 0 = =20 data fork in regular inode 8595283258 claims used block 537205030 = =20 correcting nblocks for inode 8595283258, was 1 - counted 0 = =20 data fork in regular inode 8595283259 claims used block 537204787 = =20 correcting nblocks for inode 8595283259, was 13 - counted 0 = =20 data fork in regular inode 8595283262 claims used block 537205029 = =20 correcting nblocks for inode 8595283262, was 1 - counted 0 = =20 data fork in regular inode 8595283263 claims used block 537205028 = =20 correcting nblocks for inode 8595283263, was 1 - counted 0 = =20 inode block 537205632 multiply claimed, state was 3 = =20 data fork in regular inode 8595290113 claims used block 537205631 = =20 correcting nblocks for inode 8595290113, was 1 - counted 0 = =20 data fork in regular inode 8595290114 claims used block 537205636 = =20 correcting nblocks for inode 8595290114, was 1 - counted 0 = =20 data fork in regular inode 8595290116 claims used block 537205656 = =20 correcting nblocks for inode 8595290116, was 14 - counted 0 = =20 data fork in regular inode 8595290117 claims used block 537205638 = =20 correcting nblocks for inode 8595290117, was 1 - counted 0 = =20 data fork in regular inode 8595290118 claims used block 537205670 = =20 correcting nblocks for inode 8595290118, was 14 - counted 0 = =20 data fork in regular inode 8595290119 claims used block 537205639 = =20 correcting nblocks for inode 8595290119, was 1 - counted 0 = =20 data fork in regular inode 8595290121 claims used block 537205637 = =20 correcting nblocks for inode 8595290121, was 1 - counted 0 = =20 data fork in regular inode 8595290122 claims used block 537205640 = =20 correcting nblocks for inode 8595290122, was 1 - counted 0 = =20 data fork in regular inode 8595290123 claims used block 537205641 = =20 correcting nblocks for inode 8595290123, was 1 - counted 0 = =20 data fork in regular inode 8595290124 claims used block 537205642 = =20 correcting nblocks for inode 8595290124, was 1 - counted 0 = =20 data fork in regular inode 8595290125 claims used block 537205643 = =20 correcting nblocks for inode 8595290125, was 1 - counted 0 = =20 data fork in regular inode 8595290126 claims used block 537205644 = =20 correcting nblocks for inode 8595290126, was 3 - counted 0 = =20 data fork in regular inode 8595290127 claims used block 537205684 = =20 correcting nblocks for inode 8595290127, was 1 - counted 0 = =20 inode block 537205633 multiply claimed, state was 3 = =20 data fork in regular inode 8595290128 claims used block 537205685 = =20 correcting nblocks for inode 8595290128, was 3 - counted 0 = =20 data fork in regular inode 8595290129 claims used block 537205688 = =20 correcting nblocks for inode 8595290129, was 1 - counted 0 = =20 data fork in regular inode 8595290130 claims used block 537205689 = =20 correcting nblocks for inode 8595290130, was 1 - counted 0 = =20 data fork in regular inode 8595290131 claims used block 537205690 = =20 correcting nblocks for inode 8595290131, was 2 - counted 0 = =20 data fork in regular inode 8595290132 claims used block 537205692 = =20 correcting nblocks for inode 8595290132, was 1 - counted 0 = =20 data fork in regular inode 8595290133 claims used block 537205693 = =20 correcting nblocks for inode 8595290133, was 1 - counted 0 = =20 data fork in regular inode 8595290134 claims used block 537205694 = =20 correcting nblocks for inode 8595290134, was 1 - counted 0 = =20 data fork in regular inode 8595290135 claims used block 537205695 = =20 correcting nblocks for inode 8595290135, was 1 - counted 0 = =20 data fork in regular inode 8595290136 claims used block 537205696 = =20 correcting nblocks for inode 8595290136, was 1 - counted 0 = =20 data fork in regular inode 8595290137 claims used block 537205697 = =20 correcting nblocks for inode 8595290137, was 1 - counted 0 = =20 data fork in regular inode 8595290138 claims used block 537205698 = =20 correcting nblocks for inode 8595290138, was 1 - counted 0 = =20 data fork in regular inode 8595290139 claims used block 537205699 = =20 correcting nblocks for inode 8595290139, was 3 - counted 0 = =20 data fork in regular inode 8595290140 claims used block 537205567 = =20 correcting nblocks for inode 8595290140, was 1 - counted 0 = =20 data fork in regular inode 8595290141 claims used block 537205702 = =20 correcting nblocks for inode 8595290141, was 1 - counted 0 = =20 data fork in regular inode 8595290142 claims used block 537205703 = =20 correcting nblocks for inode 8595290142, was 1 - counted 0 = =20 data fork in regular inode 8595290143 claims used block 537205704 = =20 correcting nblocks for inode 8595290143, was 1 - counted 0 = =20 inode block 537205634 multiply claimed, state was 3 = =20 data fork in regular inode 8595290144 claims used block 537205705 = =20 correcting nblocks for inode 8595290144, was 1 - counted 0 = =20 data fork in regular inode 8595290145 claims used block 537205706 = =20 correcting nblocks for inode 8595290145, was 1 - counted 0 = =20 data fork in regular inode 8595290146 claims used block 537205707 = =20 correcting nblocks for inode 8595290146, was 1 - counted 0 = =20 data fork in regular inode 8595290147 claims used block 537205708 = =20 correcting nblocks for inode 8595290147, was 1 - counted 0 = =20 data fork in regular inode 8595290148 claims used block 537205709 = =20 correcting nblocks for inode 8595290148, was 1 - counted 0 = =20 data fork in regular inode 8595290149 claims used block 537205710 = =20 correcting nblocks for inode 8595290149, was 1 - counted 0 = =20 data fork in regular inode 8595290151 claims used block 537205711 = =20 correcting nblocks for inode 8595290151, was 1 - counted 0 = =20 data fork in regular inode 8595290152 claims used block 537205712 = =20 correcting nblocks for inode 8595290152, was 3 - counted 0 = =20 data fork in regular inode 8595290153 claims used block 537205715 = =20 correcting nblocks for inode 8595290153, was 1 - counted 0 = =20 data fork in regular inode 8595290154 claims used block 537205716 = =20 correcting nblocks for inode 8595290154, was 1 - counted 0 = =20 data fork in regular inode 8595290155 claims used block 537205717 = =20 correcting nblocks for inode 8595290155, was 1 - counted 0 = =20 data fork in regular inode 8595290156 claims used block 537205718 = =20 correcting nblocks for inode 8595290156, was 1 - counted 0 = =20 data fork in regular inode 8595290157 claims used block 537205719 = =20 correcting nblocks for inode 8595290157, was 1 - counted 0 = =20 data fork in regular inode 8595290158 claims used block 537205720 = =20 correcting nblocks for inode 8595290158, was 1 - counted 0 = =20 data fork in regular inode 8595290159 claims used block 537205721 = =20 correcting nblocks for inode 8595290159, was 1 - counted 0 = =20 inode block 537205635 multiply claimed, state was 3 = =20 data fork in regular inode 8595290160 claims used block 537205722 = =20 correcting nblocks for inode 8595290160, was 1 - counted 0 = =20 data fork in regular inode 8595290161 claims used block 537205723 = =20 correcting nblocks for inode 8595290161, was 1 - counted 0 = =20 data fork in regular inode 8595290162 claims used block 537205724 = =20 correcting nblocks for inode 8595290162, was 1 - counted 0 = =20 data fork in regular inode 8595290163 claims used block 537205725 = =20 correcting nblocks for inode 8595290163, was 1 - counted 0 = =20 data fork in regular inode 8595290164 claims used block 537205726 = =20 correcting nblocks for inode 8595290164, was 2 - counted 0 = =20 data fork in regular inode 8595290165 claims used block 537205728 = =20 correcting nblocks for inode 8595290165, was 1 - counted 0 = =20 data fork in regular inode 8595290166 claims used block 537205729 = =20 correcting nblocks for inode 8595290166, was 1 - counted 0 = =20 data fork in regular inode 8595290167 claims used block 537205730 = =20 correcting nblocks for inode 8595290167, was 1 - counted 0 = =20 data fork in regular inode 8595290168 claims used block 537205731 = =20 correcting nblocks for inode 8595290168, was 1 - counted 0 = =20 data fork in regular inode 8595290169 claims used block 537205732 = =20 correcting nblocks for inode 8595290169, was 1 - counted 0 = =20 data fork in regular inode 8595290170 claims used block 537205733 = =20 correcting nblocks for inode 8595290170, was 1 - counted 0 = =20 data fork in regular inode 8595290171 claims used block 537205734 = =20 correcting nblocks for inode 8595290171, was 1 - counted 0 = =20 data fork in regular inode 8595290172 claims used block 537205735 = =20 correcting nblocks for inode 8595290172, was 2 - counted 0 = =20 data fork in regular inode 8595290173 claims used block 537205737 = =20 correcting nblocks for inode 8595290173, was 1 - counted 0 = =20 data fork in regular inode 8595290174 claims used block 537205738 = =20 correcting nblocks for inode 8595290174, was 1 - counted 0 = =20 data fork in regular inode 8595290175 claims used block 537205739 = =20 correcting nblocks for inode 8595290175, was 1 - counted 0 = =20 inode block 537205648 multiply claimed, state was 3 = =20 data fork in regular inode 8595290368 claims used block 537205740 = =20 correcting nblocks for inode 8595290368, was 1 - counted 0 = =20 data fork in regular inode 8595290369 claims used block 537205741 = =20 correcting nblocks for inode 8595290369, was 1 - counted 0 = =20 data fork in regular inode 8595290370 claims used block 537205742 = =20 correcting nblocks for inode 8595290370, was 1 - counted 0 = =20 data fork in regular inode 8595290371 claims used block 537205743 = =20 correcting nblocks for inode 8595290371, was 1 - counted 0 = =20 data fork in regular inode 8595290372 claims used block 537205744 = =20 correcting nblocks for inode 8595290372, was 1 - counted 0 = =20 data fork in regular inode 8595290373 claims used block 537205745 = =20 correcting nblocks for inode 8595290373, was 1 - counted 0 = =20 data fork in regular inode 8595290374 claims used block 537205746 = =20 correcting nblocks for inode 8595290374, was 1 - counted 0 = =20 data fork in regular inode 8595290375 claims used block 537205747 = =20 correcting nblocks for inode 8595290375, was 2 - counted 0 = =20 data fork in regular inode 8595290376 claims used block 537205749 = =20 correcting nblocks for inode 8595290376, was 3 - counted 0 = =20 data fork in regular inode 8595290377 claims used block 537205752 = =20 correcting nblocks for inode 8595290377, was 1 - counted 0 = =20 data fork in regular inode 8595290378 claims used block 537205753 = =20 correcting nblocks for inode 8595290378, was 2 - counted 0 = =20 data fork in regular inode 8595290379 claims used block 537205755 = =20 correcting nblocks for inode 8595290379, was 1 - counted 0 = =20 data fork in regular inode 8595290380 claims used block 537205756 = =20 correcting nblocks for inode 8595290380, was 1 - counted 0 = =20 data fork in regular inode 8595290381 claims used block 537205757 = =20 correcting nblocks for inode 8595290381, was 1 - counted 0 = =20 data fork in regular inode 8595290382 claims used block 537205758 = =20 correcting nblocks for inode 8595290382, was 2 - counted 0 = =20 data fork in regular inode 8595290383 claims used block 537205760 = =20 correcting nblocks for inode 8595290383, was 2 - counted 0 = =20 inode block 537205649 multiply claimed, state was 3 = =20 data fork in regular inode 8595290384 claims used block 537205762 = =20 correcting nblocks for inode 8595290384, was 1 - counted 0 = =20 data fork in regular inode 8595290385 claims used block 537205763 = =20 correcting nblocks for inode 8595290385, was 1 - counted 0 = =20 data fork in regular inode 8595290386 claims used block 537205764 = =20 correcting nblocks for inode 8595290386, was 1 - counted 0 = =20 data fork in regular inode 8595290387 claims used block 537205765 = =20 correcting nblocks for inode 8595290387, was 1 - counted 0 = =20 data fork in regular inode 8595290388 claims used block 537205766 = =20 correcting nblocks for inode 8595290388, was 1 - counted 0 = =20 data fork in regular inode 8595290389 claims used block 537205767 = =20 correcting nblocks for inode 8595290389, was 1 - counted 0 = =20 data fork in regular inode 8595290390 claims used block 537205647 = =20 correcting nblocks for inode 8595290390, was 1 - counted 0 = =20 data fork in regular inode 8595290391 claims used block 537205768 = =20 correcting nblocks for inode 8595290391, was 1 - counted 0 = =20 data fork in regular inode 8595290392 claims used block 537205769 = =20 correcting nblocks for inode 8595290392, was 1 - counted 0 = =20 data fork in regular inode 8595290393 claims used block 537205770 = =20 correcting nblocks for inode 8595290393, was 1 - counted 0 = =20 data fork in regular inode 8595290394 claims used block 537205771 = =20 correcting nblocks for inode 8595290394, was 1 - counted 0 = =20 data fork in regular inode 8595290395 claims used block 537205772 = =20 correcting nblocks for inode 8595290395, was 1 - counted 0 = =20 data fork in regular inode 8595290396 claims used block 537205773 = =20 correcting nblocks for inode 8595290396, was 2 - counted 0 = =20 data fork in regular inode 8595290397 claims used block 537205775 = =20 correcting nblocks for inode 8595290397, was 1 - counted 0 = =20 data fork in regular inode 8595290398 claims used block 537205776 = =20 correcting nblocks for inode 8595290398, was 1 - counted 0 = =20 data fork in regular inode 8595290399 claims used block 537205777 = =20 correcting nblocks for inode 8595290399, was 1 - counted 0 = =20 inode block 537205650 multiply claimed, state was 3 = =20 data fork in regular inode 8595290400 claims used block 537205778 = =20 correcting nblocks for inode 8595290400, was 1 - counted 0 = =20 data fork in regular inode 8595290401 claims used block 537205779 = =20 correcting nblocks for inode 8595290401, was 2 - counted 0 = =20 data fork in regular inode 8595290402 claims used block 537205781 = =20 correcting nblocks for inode 8595290402, was 1 - counted 0 = =20 data fork in regular inode 8595290403 claims used block 537205782 = =20 correcting nblocks for inode 8595290403, was 1 - counted 0 = =20 data fork in regular inode 8595290404 claims used block 537205783 = =20 correcting nblocks for inode 8595290404, was 1 - counted 0 = =20 data fork in regular inode 8595290405 claims used block 537205784 = =20 correcting nblocks for inode 8595290405, was 1 - counted 0 = =20 data fork in regular inode 8595290406 claims used block 537205785 = =20 correcting nblocks for inode 8595290406, was 2 - counted 0 = =20 data fork in regular inode 8595290408 claims used block 537205787 = =20 correcting nblocks for inode 8595290408, was 2 - counted 0 = =20 data fork in regular inode 8595290409 claims used block 537205789 = =20 correcting nblocks for inode 8595290409, was 1 - counted 0 = =20 data fork in regular inode 8595290410 claims used block 537205790 = =20 correcting nblocks for inode 8595290410, was 2 - counted 0 = =20 data fork in regular inode 8595290411 claims used block 537205792 = =20 correcting nblocks for inode 8595290411, was 1 - counted 0 = =20 data fork in regular inode 8595290412 claims used block 537205793 = =20 correcting nblocks for inode 8595290412, was 1 - counted 0 = =20 data fork in regular inode 8595290413 claims used block 537205794 = =20 correcting nblocks for inode 8595290413, was 1 - counted 0 = =20 data fork in regular inode 8595290414 claims used block 537205795 = =20 correcting nblocks for inode 8595290414, was 1 - counted 0 = =20 data fork in regular inode 8595290415 claims used block 537205796 = =20 correcting nblocks for inode 8595290415, was 1 - counted 0 = =20 inode block 537205651 multiply claimed, state was 3 = =20 data fork in regular inode 8595290416 claims used block 537205797 = =20 correcting nblocks for inode 8595290416, was 2 - counted 0 = =20 data fork in regular inode 8595290417 claims used block 537205799 = =20 correcting nblocks for inode 8595290417, was 2 - counted 0 = =20 data fork in regular inode 8595290418 claims used block 537205502 = =20 correcting nblocks for inode 8595290418, was 2 - counted 0 = =20 data fork in regular inode 8595290419 claims used block 537205801 = =20 correcting nblocks for inode 8595290419, was 2 - counted 0 = =20 data fork in regular inode 8595290420 claims used block 537205501 = =20 correcting nblocks for inode 8595290420, was 1 - counted 0 = =20 data fork in regular inode 8595290421 claims used block 537205500 = =20 correcting nblocks for inode 8595290421, was 1 - counted 0 = =20 data fork in regular inode 8595290422 claims used block 537205803 = =20 correcting nblocks for inode 8595290422, was 2 - counted 0 = =20 data fork in regular inode 8595290423 claims used block 537205805 = =20 correcting nblocks for inode 8595290423, was 2 - counted 0 = =20 data fork in regular inode 8595290424 claims used block 537205807 = =20 correcting nblocks for inode 8595290424, was 2 - counted 0 = =20 data fork in regular inode 8595290425 claims used block 537205809 = =20 correcting nblocks for inode 8595290425, was 1 - counted 0 = =20 data fork in regular inode 8595290426 claims used block 537205810 = =20 correcting nblocks for inode 8595290426, was 1 - counted 0 = =20 data fork in regular inode 8595290427 claims used block 537205811 = =20 correcting nblocks for inode 8595290427, was 1 - counted 0 = =20 data fork in regular inode 8595290428 claims used block 537205812 = =20 correcting nblocks for inode 8595290428, was 1 - counted 0 = =20 data fork in regular inode 8595290429 claims used block 537205813 = =20 correcting nblocks for inode 8595290429, was 1 - counted 0 = =20 data fork in regular inode 8595290430 claims used block 537205814 = =20 correcting nblocks for inode 8595290430, was 1 - counted 0 = =20 data fork in regular inode 8595290431 claims used block 537205815 = =20 correcting nblocks for inode 8595290431, was 1 - counted 0 = =20 inode block 537205652 multiply claimed, state was 3 = =20 data fork in regular inode 8595290432 claims used block 537205816 = =20 correcting nblocks for inode 8595290432, was 1 - counted 0 = =20 data fork in regular inode 8595290433 claims used block 537205817 = =20 correcting nblocks for inode 8595290433, was 1 - counted 0 = =20 data fork in regular inode 8595290434 claims used block 537205818 = =20 correcting nblocks for inode 8595290434, was 1 - counted 0 = =20 data fork in regular inode 8595290435 claims used block 537205819 = =20 correcting nblocks for inode 8595290435, was 1 - counted 0 = =20 data fork in regular inode 8595290436 claims used block 537205820 = =20 correcting nblocks for inode 8595290436, was 2 - counted 0 = =20 data fork in regular inode 8595290439 claims used block 537205822 = =20 correcting nblocks for inode 8595290439, was 2 - counted 0 = =20 data fork in regular inode 8595290440 claims used block 537205824 = =20 correcting nblocks for inode 8595290440, was 2 - counted 0 = =20 data fork in regular inode 8595290442 claims used block 537205826 = =20 correcting nblocks for inode 8595290442, was 1 - counted 0 = =20 data fork in regular inode 8595290443 claims used block 537205827 = =20 correcting nblocks for inode 8595290443, was 1 - counted 0 = =20 data fork in regular inode 8595290445 claims used block 537205840 = =20 correcting nblocks for inode 8595290445, was 24 - counted 0 = =20 data fork in regular inode 8595290446 claims used block 537205872 = =20 correcting nblocks for inode 8595290446, was 24 - counted 0 = =20 inode block 537205653 multiply claimed, state was 3 = =20 data fork in regular inode 8595290449 claims used block 537205828 = =20 correcting nblocks for inode 8595290449, was 4 - counted 0 = =20 data fork in regular inode 8595290450 claims used block 537205832 = =20 correcting nblocks for inode 8595290450, was 4 - counted 0 = =20 data fork in regular inode 8595290452 claims used block 537205864 = =20 correcting nblocks for inode 8595290452, was 6 - counted 0 = =20 data fork in regular inode 8595290453 claims used block 537205896 = =20 correcting nblocks for inode 8595290453, was 6 - counted 0 = =20 data fork in regular inode 8595290454 claims used block 537205836 = =20 correcting nblocks for inode 8595290454, was 2 - counted 0 = =20 data fork in regular inode 8595290455 claims used block 537205838 = =20 correcting nblocks for inode 8595290455, was 2 - counted 0 = =20 data fork in regular inode 8595290457 claims used block 537205902 = =20 correcting nblocks for inode 8595290457, was 11 - counted 0 = =20 data fork in regular inode 8595290458 claims used block 537205913 = =20 correcting nblocks for inode 8595290458, was 11 - counted 0 = =20 data fork in regular inode 8595290462 claims used block 537205454 = =20 correcting nblocks for inode 8595290462, was 2 - counted 0 = =20 data fork in regular inode 8595290463 claims used block 537205452 = =20 correcting nblocks for inode 8595290463, was 2 - counted 0 = =20 inode block 537205654 multiply claimed, state was 3 = =20 data fork in regular inode 8595290465 claims used block 537205870 = =20 correcting nblocks for inode 8595290465, was 1 - counted 0 = =20 data fork in regular inode 8595290466 claims used block 537205871 = =20 correcting nblocks for inode 8595290466, was 1 - counted 0 = =20 data fork in regular inode 8595290468 claims used block 537205407 = =20 correcting nblocks for inode 8595290468, was 1 - counted 0 = =20 data fork in regular inode 8595290469 claims used block 537205406 = =20 correcting nblocks for inode 8595290469, was 1 - counted 0 = =20 data fork in regular inode 8595290470 claims used block 537205924 = =20 correcting nblocks for inode 8595290470, was 1 - counted 0 = =20 data fork in regular inode 8595290471 claims used block 537205925 = =20 correcting nblocks for inode 8595290471, was 1 - counted 0 = =20 data fork in regular inode 8595290472 claims used block 537205926 = =20 correcting nblocks for inode 8595290472, was 1 - counted 0 = =20 data fork in regular inode 8595290473 claims used block 537205936 = =20 correcting nblocks for inode 8595290473, was 224 - counted 0 = =20 data fork in regular inode 8595290474 claims used block 537206160 = =20 correcting nblocks for inode 8595290474, was 224 - counted 0 = =20 data fork in regular inode 8595290475 claims used block 537206384 = =20 correcting nblocks for inode 8595290475, was 221 - counted 0 = =20 data fork in regular inode 8595290476 claims used block 537206608 = =20 correcting nblocks for inode 8595290476, was 273 - counted 0 = =20 data fork in regular inode 8595290477 claims used block 537206896 = =20 correcting nblocks for inode 8595290477, was 230 - counted 0 = =20 data fork in regular inode 8595290478 claims used block 537207136 = =20 correcting nblocks for inode 8595290478, was 273 - counted 0 = =20 data fork in regular inode 8595290479 claims used block 537207424 = =20 correcting nblocks for inode 8595290479, was 221 - counted 0 = =20 inode block 537205655 multiply claimed, state was 3 = =20 data fork in regular inode 8595290480 claims used block 537207648 = =20 correcting nblocks for inode 8595290480, was 230 - counted 0 = =20 data fork in regular inode 8595290482 claims used block 537207888 = =20 correcting nblocks for inode 8595290482, was 635 - counted 0 = =20 data fork in regular inode 8595290483 claims used block 537208528 = =20 correcting nblocks for inode 8595290483, was 635 - counted 0 = =20 data fork in regular inode 8595290486 claims used block 537205928 = =20 correcting nblocks for inode 8595290486, was 1 - counted 0 = =20 data fork in regular inode 8595290487 claims used block 537205929 = =20 correcting nblocks for inode 8595290487, was 1 - counted 0 = =20 data fork in regular inode 8595290488 claims used block 537205927 = =20 correcting nblocks for inode 8595290488, was 1 - counted 0 = =20 data fork in regular inode 8595290489 claims used block 537205930 = =20 correcting nblocks for inode 8595290489, was 1 - counted 0 = =20 data fork in regular inode 8595290490 claims used block 537205931 = =20 correcting nblocks for inode 8595290490, was 1 - counted 0 = =20 data fork in regular inode 8595290492 claims used block 537205932 = =20 correcting nblocks for inode 8595290492, was 1 - counted 0 = =20 data fork in regular inode 8595290493 claims used block 537205933 = =20 correcting nblocks for inode 8595290493, was 1 - counted 0 = =20 data fork in regular inode 8595290494 claims used block 537205934 = =20 correcting nblocks for inode 8595290494, was 2 - counted 0 = =20 data fork in regular inode 8595290495 claims used block 537205026 = =20 correcting nblocks for inode 8595290495, was 2 - counted 0 = =20 inode block 537209168 multiply claimed, state was 3 = =20 data fork in regular inode 8595346688 claims used block 537209167 = =20 correcting nblocks for inode 8595346688, was 1 - counted 0 = =20 data fork in regular inode 8595346689 claims used block 537209166 = =20 correcting nblocks for inode 8595346689, was 1 - counted 0 = =20 data fork in regular inode 8595346690 claims used block 537209165 = =20 correcting nblocks for inode 8595346690, was 1 - counted 0 = =20 data fork in regular inode 8595346691 claims used block 537209164 = =20 correcting nblocks for inode 8595346691, was 1 - counted 0 = =20 data fork in regular inode 8595346692 claims used block 537209173 = =20 correcting nblocks for inode 8595346692, was 4 - counted 0 = =20 data fork in regular inode 8595346693 claims used block 537209177 = =20 correcting nblocks for inode 8595346693, was 5 - counted 0 = =20 data fork in regular inode 8595346694 claims used block 537209182 = =20 correcting nblocks for inode 8595346694, was 4 - counted 0 = =20 data fork in regular inode 8595346695 claims used block 537209186 = =20 correcting nblocks for inode 8595346695, was 5 - counted 0 = =20 data fork in regular inode 8595346696 claims used block 537209191 = =20 correcting nblocks for inode 8595346696, was 5 - counted 0 = =20 data fork in regular inode 8595346697 claims used block 537209196 = =20 correcting nblocks for inode 8595346697, was 5 - counted 0 = =20 data fork in regular inode 8595346699 claims used block 537209163 = =20 correcting nblocks for inode 8595346699, was 1 - counted 0 = =20 data fork in regular inode 8595346700 claims used block 537209201 = =20 correcting nblocks for inode 8595346700, was 1 - counted 0 = =20 data fork in regular inode 8595346701 claims used block 537209172 = =20 correcting nblocks for inode 8595346701, was 1 - counted 0 = =20 data fork in regular inode 8595346702 claims used block 537209202 = =20 correcting nblocks for inode 8595346702, was 4 - counted 0 = =20 data fork in regular inode 8595346703 claims used block 537209206 = =20 correcting nblocks for inode 8595346703, was 5 - counted 0 = =20 inode block 537209169 multiply claimed, state was 3 = =20 data fork in regular inode 8595346704 claims used block 537209211 = =20 correcting nblocks for inode 8595346704, was 1 - counted 0 = =20 data fork in regular inode 8595346705 claims used block 537209212 = =20 correcting nblocks for inode 8595346705, was 1 - counted 0 = =20 data fork in regular inode 8595346706 claims used block 537209213 = =20 correcting nblocks for inode 8595346706, was 4 - counted 0 = =20 data fork in regular inode 8595346707 claims used block 537209217 = =20 correcting nblocks for inode 8595346707, was 5 - counted 0 = =20 data fork in regular inode 8595346709 claims used block 537209222 = =20 correcting nblocks for inode 8595346709, was 1 - counted 0 = =20 data fork in regular inode 8595346710 claims used block 537209223 = =20 correcting nblocks for inode 8595346710, was 1 - counted 0 = =20 data fork in regular inode 8595346712 claims used block 537209224 = =20 correcting nblocks for inode 8595346712, was 1 - counted 0 = =20 data fork in regular inode 8595346713 claims used block 537209225 = =20 correcting nblocks for inode 8595346713, was 1 - counted 0 = =20 data fork in regular inode 8595346715 claims used block 537209226 = =20 correcting nblocks for inode 8595346715, was 1 - counted 0 = =20 data fork in regular inode 8595346716 claims used block 537209227 = =20 correcting nblocks for inode 8595346716, was 1 - counted 0 = =20 data fork in regular inode 8595346718 claims used block 537209228 = =20 correcting nblocks for inode 8595346718, was 1 - counted 0 = =20 data fork in regular inode 8595346719 claims used block 537209229 = =20 correcting nblocks for inode 8595346719, was 1 - counted 0 = =20 inode block 537209170 multiply claimed, state was 3 = =20 data fork in regular inode 8595346721 claims used block 537209230 = =20 correcting nblocks for inode 8595346721, was 1 - counted 0 = =20 data fork in regular inode 8595346722 claims used block 537209248 = =20 correcting nblocks for inode 8595346722, was 24 - counted 0 = =20 data fork in regular inode 8595346723 claims used block 537209272 = =20 correcting nblocks for inode 8595346723, was 13 - counted 0 = =20 data fork in regular inode 8595346724 claims used block 537209285 = =20 correcting nblocks for inode 8595346724, was 13 - counted 0 = =20 data fork in regular inode 8595346725 claims used block 537209312 = =20 correcting nblocks for inode 8595346725, was 24 - counted 0 = =20 data fork in regular inode 8595346726 claims used block 537209236 = =20 correcting nblocks for inode 8595346726, was 9 - counted 0 = =20 data fork in regular inode 8595346727 claims used block 537209344 = =20 correcting nblocks for inode 8595346727, was 25 - counted 0 = =20 data fork in regular inode 8595346728 claims used block 537209298 = =20 correcting nblocks for inode 8595346728, was 10 - counted 0 = =20 data fork in regular inode 8595346729 claims used block 537209376 = =20 correcting nblocks for inode 8595346729, was 25 - counted 0 = =20 data fork in regular inode 8595346730 claims used block 537209408 = =20 correcting nblocks for inode 8595346730, was 21 - counted 0 = =20 data fork in regular inode 8595346731 claims used block 537209440 = =20 correcting nblocks for inode 8595346731, was 19 - counted 0 = =20 data fork in regular inode 8595346732 claims used block 537209472 = =20 correcting nblocks for inode 8595346732, was 19 - counted 0 = =20 data fork in regular inode 8595346733 claims used block 537209504 = =20 correcting nblocks for inode 8595346733, was 21 - counted 0 = =20 data fork in regular inode 8595346734 claims used block 537209429 = =20 correcting nblocks for inode 8595346734, was 9 - counted 0 = =20 data fork in regular inode 8595346735 claims used block 537209459 = =20 correcting nblocks for inode 8595346735, was 10 - counted 0 = =20 inode block 537209171 multiply claimed, state was 3 = =20 data fork in regular inode 8595346737 claims used block 537209245 = =20 correcting nblocks for inode 8595346737, was 1 - counted 0 = =20 data fork in regular inode 8595346738 claims used block 537209246 = =20 correcting nblocks for inode 8595346738, was 1 - counted 0 = =20 data fork in regular inode 8595346740 claims used block 537209247 = =20 correcting nblocks for inode 8595346740, was 1 - counted 0 = =20 data fork in regular inode 8595346741 claims used block 537209308 = =20 correcting nblocks for inode 8595346741, was 1 - counted 0 = =20 data fork in regular inode 8595346745 claims used block 537209309 = =20 correcting nblocks for inode 8595346745, was 1 - counted 0 = =20 data fork in regular inode 8595346746 claims used block 537209310 = =20 correcting nblocks for inode 8595346746, was 1 - counted 0 = =20 data fork in regular inode 8595346749 claims used block 537209338 = =20 correcting nblocks for inode 8595346749, was 1 - counted 0 = =20 data fork in regular inode 8595346750 claims used block 537209339 = =20 correcting nblocks for inode 8595346750, was 1 - counted 0 = =20 inode block 537209232 multiply claimed, state was 3 = =20 data fork in regular inode 8595347712 claims used block 537209340 = =20 correcting nblocks for inode 8595347712, was 1 - counted 0 = =20 data fork in regular inode 8595347713 claims used block 537209341 = =20 correcting nblocks for inode 8595347713, was 1 - counted 0 = =20 data fork in regular inode 8595347716 claims used block 537209342 = =20 correcting nblocks for inode 8595347716, was 1 - counted 0 = =20 data fork in regular inode 8595347717 claims used block 537209343 = =20 correcting nblocks for inode 8595347717, was 1 - counted 0 = =20 data fork in regular inode 8595347719 claims used block 537209369 = =20 correcting nblocks for inode 8595347719, was 1 - counted 0 = =20 data fork in regular inode 8595347720 claims used block 537209370 = =20 correcting nblocks for inode 8595347720, was 1 - counted 0 = =20 data fork in regular inode 8595347722 claims used block 537209231 = =20 correcting nblocks for inode 8595347722, was 1 - counted 0 = =20 data fork in regular inode 8595347723 claims used block 537209371 = =20 correcting nblocks for inode 8595347723, was 1 - counted 0 = =20 data fork in regular inode 8595347724 claims used block 537209372 = =20 correcting nblocks for inode 8595347724, was 1 - counted 0 = =20 data fork in regular inode 8595347726 claims used block 537209373 = =20 correcting nblocks for inode 8595347726, was 1 - counted 0 = =20 data fork in regular inode 8595347727 claims used block 537209374 = =20 correcting nblocks for inode 8595347727, was 1 - counted 0 = =20 inode block 537209233 multiply claimed, state was 3 = =20 data fork in regular inode 8595347728 claims used block 537209375 = =20 correcting nblocks for inode 8595347728, was 1 - counted 0 = =20 data fork in regular inode 8595347729 claims used block 537209401 = =20 correcting nblocks for inode 8595347729, was 1 - counted 0 = =20 data fork in regular inode 8595347730 claims used block 537209402 = =20 correcting nblocks for inode 8595347730, was 1 - counted 0 = =20 data fork in regular inode 8595347731 claims used block 537209403 = =20 correcting nblocks for inode 8595347731, was 1 - counted 0 = =20 data fork in regular inode 8595347732 claims used block 537209404 = =20 correcting nblocks for inode 8595347732, was 1 - counted 0 = =20 data fork in regular inode 8595347734 claims used block 537209405 = =20 correcting nblocks for inode 8595347734, was 1 - counted 0 = =20 data fork in regular inode 8595347735 claims used block 537209406 = =20 correcting nblocks for inode 8595347735, was 1 - counted 0 = =20 data fork in regular inode 8595347736 claims used block 537209407 = =20 correcting nblocks for inode 8595347736, was 1 - counted 0 = =20 data fork in regular inode 8595347738 claims used block 537209438 = =20 correcting nblocks for inode 8595347738, was 1 - counted 0 = =20 data fork in regular inode 8595347739 claims used block 537209439 = =20 correcting nblocks for inode 8595347739, was 1 - counted 0 = =20 data fork in regular inode 8595347741 claims used block 537209311 = =20 correcting nblocks for inode 8595347741, was 1 - counted 0 = =20 data fork in regular inode 8595347742 claims used block 537209469 = =20 correcting nblocks for inode 8595347742, was 1 - counted 0 = =20 data fork in regular inode 8595347743 claims used block 537209470 = =20 correcting nblocks for inode 8595347743, was 1 - counted 0 = =20 inode block 537209234 multiply claimed, state was 3 = =20 data fork in regular inode 8595347745 claims used block 537209471 = =20 correcting nblocks for inode 8595347745, was 1 - counted 0 = =20 data fork in regular inode 8595347746 claims used block 537209491 = =20 correcting nblocks for inode 8595347746, was 1 - counted 0 = =20 data fork in regular inode 8595347747 claims used block 537209492 = =20 correcting nblocks for inode 8595347747, was 1 - counted 0 = =20 data fork in regular inode 8595347748 claims used block 537209493 = =20 correcting nblocks for inode 8595347748, was 1 - counted 0 = =20 data fork in regular inode 8595347749 claims used block 537209494 = =20 correcting nblocks for inode 8595347749, was 1 - counted 0 = =20 data fork in regular inode 8595347750 claims used block 537209495 = =20 correcting nblocks for inode 8595347750, was 1 - counted 0 = =20 data fork in regular inode 8595347751 claims used block 537209336 = =20 correcting nblocks for inode 8595347751, was 1 - counted 0 = =20 data fork in regular inode 8595347752 claims used block 537209525 = =20 correcting nblocks for inode 8595347752, was 12 - counted 0 = =20 data fork in regular inode 8595347753 claims used block 537209537 = =20 correcting nblocks for inode 8595347753, was 12 - counted 0 = =20 data fork in regular inode 8595347754 claims used block 537209496 = =20 correcting nblocks for inode 8595347754, was 1 - counted 0 = =20 data fork in regular inode 8595347755 claims used block 537209497 = =20 correcting nblocks for inode 8595347755, was 1 - counted 0 = =20 data fork in regular inode 8595347756 claims used block 537209337 = =20 correcting nblocks for inode 8595347756, was 1 - counted 0 = =20 data fork in regular inode 8595347757 claims used block 537209552 = =20 correcting nblocks for inode 8595347757, was 568 - counted 0 = =20 data fork in regular inode 8595347758 claims used block 537209498 = =20 correcting nblocks for inode 8595347758, was 4 - counted 0 = =20 data fork in regular inode 8595347759 claims used block 537210128 = =20 correcting nblocks for inode 8595347759, was 568 - counted 0 = =20 inode block 537209235 multiply claimed, state was 3 = =20 data fork in regular inode 8595347760 claims used block 537208524 = =20 correcting nblocks for inode 8595347760, was 4 - counted 0 = =20 data fork in regular inode 8595347761 claims used block 537210704 = =20 correcting nblocks for inode 8595347761, was 43 - counted 0 = =20 data fork in regular inode 8595347762 claims used block 537210752 = =20 correcting nblocks for inode 8595347762, was 72 - counted 0 = =20 data fork in regular inode 8595347763 claims used block 537210832 = =20 correcting nblocks for inode 8595347763, was 72 - counted 0 = =20 data fork in regular inode 8595347764 claims used block 537210912 = =20 correcting nblocks for inode 8595347764, was 43 - counted 0 = =20 data fork in regular inode 8595347766 claims used block 537209502 = =20 correcting nblocks for inode 8595347766, was 1 - counted 0 = =20 data fork in regular inode 8595347767 claims used block 537209503 = =20 correcting nblocks for inode 8595347767, was 1 - counted 0 = =20 data fork in regular inode 8595347769 claims used block 537210120 = =20 correcting nblocks for inode 8595347769, was 4 - counted 0 = =20 data fork in regular inode 8595347770 claims used block 537210124 = =20 correcting nblocks for inode 8595347770, was 4 - counted 0 = =20 data fork in regular inode 8595347773 claims used block 537209549 = =20 correcting nblocks for inode 8595347773, was 2 - counted 0 = =20 data fork in regular inode 8595347774 claims used block 537207886 = =20 correcting nblocks for inode 8595347774, was 2 - counted 0 = =20 inode block 537210960 multiply claimed, state was 3 = =20 data fork in regular inode 8595375360 claims used block 537210959 = =20 correcting nblocks for inode 8595375360, was 1 - counted 0 = =20 data fork in regular inode 8595375361 claims used block 537210958 = =20 correcting nblocks for inode 8595375361, was 1 - counted 0 = =20 data fork in regular inode 8595375362 claims used block 537210957 = =20 correcting nblocks for inode 8595375362, was 1 - counted 0 = =20 data fork in regular inode 8595375363 claims used block 537210956 = =20 correcting nblocks for inode 8595375363, was 1 - counted 0 = =20 data fork in regular inode 8595375364 claims used block 537210964 = =20 correcting nblocks for inode 8595375364, was 2 - counted 0 = =20 data fork in regular inode 8595375365 claims used block 537210966 = =20 correcting nblocks for inode 8595375365, was 2 - counted 0 = =20 data fork in regular inode 8595375367 claims used block 537210955 = =20 correcting nblocks for inode 8595375367, was 1 - counted 0 = =20 data fork in regular inode 8595375368 claims used block 537210968 = =20 correcting nblocks for inode 8595375368, was 1 - counted 0 = =20 data fork in regular inode 8595375369 claims used block 537210969 = =20 correcting nblocks for inode 8595375369, was 1 - counted 0 = =20 data fork in regular inode 8595375370 claims used block 537210976 = =20 correcting nblocks for inode 8595375370, was 21 - counted 0 = =20 data fork in regular inode 8595375371 claims used block 537210997 = =20 correcting nblocks for inode 8595375371, was 15 - counted 0 = =20 data fork in regular inode 8595375372 claims used block 537211024 = =20 correcting nblocks for inode 8595375372, was 19 - counted 0 = =20 data fork in regular inode 8595375373 claims used block 537211056 = =20 correcting nblocks for inode 8595375373, was 16 - counted 0 = =20 data fork in regular inode 8595375374 claims used block 537211072 = =20 correcting nblocks for inode 8595375374, was 16 - counted 0 = =20 data fork in regular inode 8595375375 claims used block 537211088 = =20 correcting nblocks for inode 8595375375, was 17 - counted 0 = =20 inode block 537210961 multiply claimed, state was 3 = =20 data fork in regular inode 8595375376 claims used block 537211120 = =20 correcting nblocks for inode 8595375376, was 21 - counted 0 = =20 data fork in regular inode 8595375377 claims used block 537211105 = =20 correcting nblocks for inode 8595375377, was 15 - counted 0 = =20 data fork in regular inode 8595375378 claims used block 537211152 = =20 correcting nblocks for inode 8595375378, was 19 - counted 0 = =20 data fork in regular inode 8595375379 claims used block 537211184 = =20 correcting nblocks for inode 8595375379, was 24 - counted 0 = =20 data fork in regular inode 8595375380 claims used block 537211216 = =20 correcting nblocks for inode 8595375380, was 24 - counted 0 = =20 data fork in regular inode 8595375381 claims used block 537211248 = =20 correcting nblocks for inode 8595375381, was 17 - counted 0 = =20 data fork in regular inode 8595375384 claims used block 537210970 = =20 correcting nblocks for inode 8595375384, was 1 - counted 0 = =20 data fork in regular inode 8595375385 claims used block 537210971 = =20 correcting nblocks for inode 8595375385, was 1 - counted 0 = =20 data fork in regular inode 8595375387 claims used block 537210972 = =20 correcting nblocks for inode 8595375387, was 1 - counted 0 = =20 data fork in regular inode 8595375388 claims used block 537210973 = =20 correcting nblocks for inode 8595375388, was 1 - counted 0 = =20 data fork in regular inode 8595375390 claims used block 537210975 = =20 correcting nblocks for inode 8595375390, was 1 - counted 0 = =20 data fork in regular inode 8595375391 claims used block 537210974 = =20 correcting nblocks for inode 8595375391, was 1 - counted 0 = =20 inode block 537210962 multiply claimed, state was 3 = =20 data fork in regular inode 8595375392 claims used block 537211012 = =20 correcting nblocks for inode 8595375392, was 1 - counted 0 = =20 data fork in regular inode 8595375393 claims used block 537210911 = =20 correcting nblocks for inode 8595375393, was 1 - counted 0 = =20 data fork in regular inode 8595375395 claims used block 537211013 = =20 correcting nblocks for inode 8595375395, was 1 - counted 0 = =20 data fork in regular inode 8595375396 claims used block 537210910 = =20 correcting nblocks for inode 8595375396, was 1 - counted 0 = =20 data fork in regular inode 8595375397 claims used block 537211014 = =20 correcting nblocks for inode 8595375397, was 2 - counted 0 = =20 data fork in regular inode 8595375398 claims used block 537210908 = =20 correcting nblocks for inode 8595375398, was 2 - counted 0 = =20 data fork in regular inode 8595375401 claims used block 537211016 = =20 correcting nblocks for inode 8595375401, was 2 - counted 0 = =20 data fork in regular inode 8595375403 claims used block 537210907 = =20 correcting nblocks for inode 8595375403, was 1 - counted 0 = =20 data fork in regular inode 8595375404 claims used block 537210906 = =20 correcting nblocks for inode 8595375404, was 1 - counted 0 = =20 data fork in regular inode 8595375406 claims used block 537211018 = =20 correcting nblocks for inode 8595375406, was 2 - counted 0 = =20 data fork in regular inode 8595375407 claims used block 537210905 = =20 correcting nblocks for inode 8595375407, was 1 - counted 0 = =20 inode block 537210963 multiply claimed, state was 3 = =20 data fork in regular inode 8595375408 claims used block 537211020 = =20 correcting nblocks for inode 8595375408, was 1 - counted 0 = =20 data fork in regular inode 8595375410 claims used block 537211021 = =20 correcting nblocks for inode 8595375410, was 1 - counted 0 = =20 data fork in regular inode 8595375411 claims used block 537210904 = =20 correcting nblocks for inode 8595375411, was 1 - counted 0 = =20 data fork in regular inode 8595375414 claims used block 537211022 = =20 correcting nblocks for inode 8595375414, was 1 - counted 0 = =20 data fork in regular inode 8595375415 claims used block 537211023 = =20 correcting nblocks for inode 8595375415, was 1 - counted 0 = =20 data fork in regular inode 8595375419 claims used block 537211344 = =20 correcting nblocks for inode 8595375419, was 193 - counted 0 = =20 data fork in regular inode 8595375420 claims used block 537211552 = =20 correcting nblocks for inode 8595375420, was 193 - counted 0 = =20 data fork in regular inode 8595375422 claims used block 537211043 = =20 correcting nblocks for inode 8595375422, was 3 - counted 0 = =20 data fork in regular inode 8595375423 claims used block 537211046 = =20 correcting nblocks for inode 8595375423, was 3 - counted 0 = =20 inode block 537211328 multiply claimed, state was 3 = =20 data fork in regular inode 8595381249 claims used block 537211333 = =20 correcting nblocks for inode 8595381249, was 4 - counted 0 = =20 data fork in regular inode 8595381250 claims used block 537211337 = =20 correcting nblocks for inode 8595381250, was 4 - counted 0 = =20 data fork in regular inode 8595381251 claims used block 537211341 = =20 correcting nblocks for inode 8595381251, was 1 - counted 0 = =20 data fork in regular inode 8595381252 claims used block 537211342 = =20 correcting nblocks for inode 8595381252, was 1 - counted 0 = =20 data fork in regular inode 8595381256 claims used block 537211343 = =20 correcting nblocks for inode 8595381256, was 1 - counted 0 = =20 data fork in regular inode 8595381257 claims used block 537211271 = =20 correcting nblocks for inode 8595381257, was 9 - counted 0 = =20 data fork in regular inode 8595381258 claims used block 537211270 = =20 correcting nblocks for inode 8595381258, was 1 - counted 0 = =20 data fork in regular inode 8595381259 claims used block 537211175 = =20 correcting nblocks for inode 8595381259, was 9 - counted 0 = =20 data fork in regular inode 8595381262 claims used block 537211269 = =20 correcting nblocks for inode 8595381262, was 1 - counted 0 = =20 data fork in regular inode 8595381263 claims used block 537211268 = =20 correcting nblocks for inode 8595381263, was 1 - counted 0 = =20 inode block 537211329 multiply claimed, state was 3 = =20 data fork in regular inode 8595381264 claims used block 537211332 = =20 correcting nblocks for inode 8595381264, was 1 - counted 0 = =20 data fork in regular inode 8595381265 claims used block 537211143 = =20 correcting nblocks for inode 8595381265, was 9 - counted 0 = =20 data fork in regular inode 8595381266 claims used block 537211537 = =20 correcting nblocks for inode 8595381266, was 15 - counted 0 = =20 data fork in regular inode 8595381267 claims used block 537211745 = =20 correcting nblocks for inode 8595381267, was 9 - counted 0 = =20 data fork in regular inode 8595381268 claims used block 537211754 = =20 correcting nblocks for inode 8595381268, was 15 - counted 0 = =20 data fork in regular inode 8595381270 claims used block 537211776 = =20 correcting nblocks for inode 8595381270, was 42 - counted 0 = =20 data fork in regular inode 8595381271 claims used block 537211824 = =20 correcting nblocks for inode 8595381271, was 42 - counted 0 = =20 data fork in regular inode 8595381273 claims used block 537211866 = =20 correcting nblocks for inode 8595381273, was 9 - counted 0 = =20 data fork in regular inode 8595381274 claims used block 537211875 = =20 correcting nblocks for inode 8595381274, was 9 - counted 0 = =20 data fork in regular inode 8595381276 claims used block 537211266 = =20 correcting nblocks for inode 8595381276, was 1 - counted 0 = =20 data fork in regular inode 8595381277 claims used block 537211265 = =20 correcting nblocks for inode 8595381277, was 1 - counted 0 = =20 data fork in regular inode 8595381279 claims used block 537211247 = =20 correcting nblocks for inode 8595381279, was 1 - counted 0 = =20 inode block 537211330 multiply claimed, state was 3 = =20 data fork in regular inode 8595381280 claims used block 537211246 = =20 correcting nblocks for inode 8595381280, was 1 - counted 0 = =20 data fork in regular inode 8595381282 claims used block 537211245 = =20 correcting nblocks for inode 8595381282, was 1 - counted 0 = =20 data fork in regular inode 8595381283 claims used block 537211244 = =20 correcting nblocks for inode 8595381283, was 1 - counted 0 = =20 data fork in regular inode 8595381285 claims used block 537211243 = =20 correcting nblocks for inode 8595381285, was 1 - counted 0 = =20 data fork in regular inode 8595381286 claims used block 537211242 = =20 correcting nblocks for inode 8595381286, was 1 - counted 0 = =20 data fork in regular inode 8595381287 claims used block 537211267 = =20 correcting nblocks for inode 8595381287, was 1 - counted 0 = =20 data fork in regular inode 8595381288 claims used block 537211888 = =20 correcting nblocks for inode 8595381288, was 383 - counted 0 = =20 data fork in regular inode 8595381289 claims used block 537212272 = =20 correcting nblocks for inode 8595381289, was 28 - counted 0 = =20 data fork in regular inode 8595381290 claims used block 537212304 = =20 correcting nblocks for inode 8595381290, was 28 - counted 0 = =20 data fork in regular inode 8595381291 claims used block 537212336 = =20 correcting nblocks for inode 8595381291, was 383 - counted 0 = =20 data fork in regular inode 8595381293 claims used block 537211241 = =20 correcting nblocks for inode 8595381293, was 1 - counted 0 = =20 data fork in regular inode 8595381294 claims used block 537211240 = =20 correcting nblocks for inode 8595381294, was 1 - counted 0 = =20 data fork in regular inode 8595381295 claims used block 537211215 = =20 correcting nblocks for inode 8595381295, was 1 - counted 0 = =20 inode block 537211331 multiply claimed, state was 3 = =20 data fork in regular inode 8595381296 claims used block 537211213 = =20 correcting nblocks for inode 8595381296, was 2 - counted 0 = =20 data fork in regular inode 8595381297 claims used block 537211212 = =20 correcting nblocks for inode 8595381297, was 1 - counted 0 = =20 data fork in regular inode 8595381298 claims used block 537211211 = =20 correcting nblocks for inode 8595381298, was 1 - counted 0 = =20 data fork in regular inode 8595381299 claims used block 537211209 = =20 correcting nblocks for inode 8595381299, was 2 - counted 0 = =20 data fork in regular inode 8595381300 claims used block 537211172 = =20 correcting nblocks for inode 8595381300, was 3 - counted 0 = =20 data fork in regular inode 8595381301 claims used block 537211052 = =20 correcting nblocks for inode 8595381301, was 4 - counted 0 = =20 data fork in regular inode 8595381302 claims used block 537211141 = =20 correcting nblocks for inode 8595381302, was 2 - counted 0 = =20 data fork in regular inode 8595381303 claims used block 537211050 = =20 correcting nblocks for inode 8595381303, was 2 - counted 0 = =20 data fork in regular inode 8595381304 claims used block 537211208 = =20 correcting nblocks for inode 8595381304, was 1 - counted 0 = =20 data fork in regular inode 8595381305 claims used block 537211769 = =20 correcting nblocks for inode 8595381305, was 2 - counted 0 = =20 data fork in regular inode 8595381306 claims used block 537211171 = =20 correcting nblocks for inode 8595381306, was 1 - counted 0 = =20 data fork in regular inode 8595381307 claims used block 537211049 = =20 correcting nblocks for inode 8595381307, was 1 - counted 0 = =20 data fork in regular inode 8595381308 claims used block 537211771 = =20 correcting nblocks for inode 8595381308, was 2 - counted 0 = =20 data fork in regular inode 8595381309 claims used block 537211773 = =20 correcting nblocks for inode 8595381309, was 2 - counted 0 = =20 data fork in regular inode 8595381310 claims used block 537211818 = =20 correcting nblocks for inode 8595381310, was 2 - counted 0 = =20 data fork in regular inode 8595381311 claims used block 537211775 = =20 correcting nblocks for inode 8595381311, was 1 - counted 0 = =20 inode block 537212720 multiply claimed, state was 3 = =20 data fork in regular inode 8595403520 claims used block 537212725 = =20 correcting nblocks for inode 8595403520, was 2 - counted 0 = =20 data fork in regular inode 8595403522 claims used block 537212727 = =20 correcting nblocks for inode 8595403522, was 2 - counted 0 = =20 data fork in regular inode 8595403523 claims used block 537212719 = =20 correcting nblocks for inode 8595403523, was 1 - counted 0 = =20 data fork in regular inode 8595403524 claims used block 537212729 = =20 correcting nblocks for inode 8595403524, was 1 - counted 0 = =20 data fork in regular inode 8595403525 claims used block 537212730 = =20 correcting nblocks for inode 8595403525, was 2 - counted 0 = =20 data fork in regular inode 8595403526 claims used block 537212732 = =20 correcting nblocks for inode 8595403526, was 1 - counted 0 = =20 data fork in regular inode 8595403527 claims used block 537212733 = =20 correcting nblocks for inode 8595403527, was 1 - counted 0 = =20 data fork in regular inode 8595403528 claims used block 537212740 = =20 correcting nblocks for inode 8595403528, was 2 - counted 0 = =20 data fork in regular inode 8595403529 claims used block 537212742 = =20 correcting nblocks for inode 8595403529, was 3 - counted 0 = =20 data fork in regular inode 8595403530 claims used block 537212734 = =20 correcting nblocks for inode 8595403530, was 1 - counted 0 = =20 data fork in regular inode 8595403531 claims used block 537212745 = =20 correcting nblocks for inode 8595403531, was 1 - counted 0 = =20 data fork in regular inode 8595403532 claims used block 537212746 = =20 correcting nblocks for inode 8595403532, was 2 - counted 0 = =20 data fork in regular inode 8595403533 claims used block 537212748 = =20 correcting nblocks for inode 8595403533, was 2 - counted 0 = =20 data fork in regular inode 8595403534 claims used block 537212750 = =20 correcting nblocks for inode 8595403534, was 3 - counted 0 = =20 data fork in regular inode 8595403535 claims used block 537212753 = =20 correcting nblocks for inode 8595403535, was 1 - counted 0 = =20 inode block 537212721 multiply claimed, state was 3 = =20 data fork in regular inode 8595403536 claims used block 537212754 = =20 correcting nblocks for inode 8595403536, was 1 - counted 0 = =20 data fork in regular inode 8595403537 claims used block 537212755 = =20 correcting nblocks for inode 8595403537, was 1 - counted 0 = =20 data fork in regular inode 8595403538 claims used block 537212756 = =20 correcting nblocks for inode 8595403538, was 1 - counted 0 = =20 data fork in regular inode 8595403539 claims used block 537212757 = =20 correcting nblocks for inode 8595403539, was 1 - counted 0 = =20 data fork in regular inode 8595403540 claims used block 537212758 = =20 correcting nblocks for inode 8595403540, was 1 - counted 0 = =20 data fork in regular inode 8595403541 claims used block 537212759 = =20 correcting nblocks for inode 8595403541, was 2 - counted 0 = =20 data fork in regular inode 8595403542 claims used block 537212761 = =20 correcting nblocks for inode 8595403542, was 2 - counted 0 = =20 data fork in regular inode 8595403543 claims used block 537212763 = =20 correcting nblocks for inode 8595403543, was 2 - counted 0 = =20 data fork in regular inode 8595403544 claims used block 537212765 = =20 correcting nblocks for inode 8595403544, was 1 - counted 0 = =20 data fork in regular inode 8595403545 claims used block 537212766 = =20 correcting nblocks for inode 8595403545, was 1 - counted 0 = =20 data fork in regular inode 8595403546 claims used block 537212767 = =20 correcting nblocks for inode 8595403546, was 1 - counted 0 = =20 data fork in regular inode 8595403547 claims used block 537212768 = =20 correcting nblocks for inode 8595403547, was 1 - counted 0 = =20 data fork in regular inode 8595403548 claims used block 537212769 = =20 correcting nblocks for inode 8595403548, was 3 - counted 0 = =20 data fork in regular inode 8595403549 claims used block 537212772 = =20 correcting nblocks for inode 8595403549, was 2 - counted 0 = =20 data fork in regular inode 8595403550 claims used block 537212774 = =20 correcting nblocks for inode 8595403550, was 1 - counted 0 = =20 data fork in regular inode 8595403551 claims used block 537212775 = =20 correcting nblocks for inode 8595403551, was 1 - counted 0 = =20 inode block 537212722 multiply claimed, state was 3 = =20 data fork in regular inode 8595403552 claims used block 537212776 = =20 correcting nblocks for inode 8595403552, was 1 - counted 0 = =20 data fork in regular inode 8595403553 claims used block 537212777 = =20 correcting nblocks for inode 8595403553, was 3 - counted 0 = =20 data fork in regular inode 8595403554 claims used block 537212724 = =20 correcting nblocks for inode 8595403554, was 1 - counted 0 = =20 data fork in regular inode 8595403555 claims used block 537212780 = =20 correcting nblocks for inode 8595403555, was 1 - counted 0 = =20 data fork in regular inode 8595403556 claims used block 537212781 = =20 correcting nblocks for inode 8595403556, was 1 - counted 0 = =20 data fork in regular inode 8595403557 claims used block 537212782 = =20 correcting nblocks for inode 8595403557, was 2 - counted 0 = =20 data fork in regular inode 8595403558 claims used block 537212784 = =20 correcting nblocks for inode 8595403558, was 2 - counted 0 = =20 data fork in regular inode 8595403559 claims used block 537212786 = =20 correcting nblocks for inode 8595403559, was 1 - counted 0 = =20 data fork in regular inode 8595403560 claims used block 537212787 = =20 correcting nblocks for inode 8595403560, was 2 - counted 0 = =20 data fork in regular inode 8595403561 claims used block 537212789 = =20 correcting nblocks for inode 8595403561, was 1 - counted 0 = =20 data fork in regular inode 8595403562 claims used block 537212790 = =20 correcting nblocks for inode 8595403562, was 1 - counted 0 = =20 data fork in regular inode 8595403563 claims used block 537212791 = =20 correcting nblocks for inode 8595403563, was 1 - counted 0 = =20 data fork in regular inode 8595403564 claims used block 537212792 = =20 correcting nblocks for inode 8595403564, was 1 - counted 0 = =20 data fork in regular inode 8595403565 claims used block 537212793 = =20 correcting nblocks for inode 8595403565, was 2 - counted 0 = =20 data fork in regular inode 8595403566 claims used block 537212795 = =20 correcting nblocks for inode 8595403566, was 1 - counted 0 = =20 data fork in regular inode 8595403567 claims used block 537212796 = =20 correcting nblocks for inode 8595403567, was 1 - counted 0 = =20 inode block 537212723 multiply claimed, state was 3 = =20 data fork in regular inode 8595403568 claims used block 537212797 = =20 correcting nblocks for inode 8595403568, was 1 - counted 0 = =20 data fork in regular inode 8595403569 claims used block 537212798 = =20 correcting nblocks for inode 8595403569, was 1 - counted 0 = =20 data fork in regular inode 8595403570 claims used block 537212799 = =20 correcting nblocks for inode 8595403570, was 3 - counted 0 = =20 data fork in regular inode 8595403571 claims used block 537212802 = =20 correcting nblocks for inode 8595403571, was 2 - counted 0 = =20 data fork in regular inode 8595403572 claims used block 537212804 = =20 correcting nblocks for inode 8595403572, was 2 - counted 0 = =20 data fork in regular inode 8595403573 claims used block 537212806 = =20 correcting nblocks for inode 8595403573, was 2 - counted 0 = =20 data fork in regular inode 8595403574 claims used block 537212808 = =20 correcting nblocks for inode 8595403574, was 1 - counted 0 = =20 data fork in regular inode 8595403575 claims used block 537212809 = =20 correcting nblocks for inode 8595403575, was 1 - counted 0 = =20 data fork in regular inode 8595403576 claims used block 537212810 = =20 correcting nblocks for inode 8595403576, was 1 - counted 0 = =20 data fork in regular inode 8595403577 claims used block 537212811 = =20 correcting nblocks for inode 8595403577, was 1 - counted 0 = =20 data fork in regular inode 8595403578 claims used block 537212812 = =20 correcting nblocks for inode 8595403578, was 1 - counted 0 = =20 data fork in regular inode 8595403579 claims used block 537212813 = =20 correcting nblocks for inode 8595403579, was 1 - counted 0 = =20 data fork in regular inode 8595403580 claims used block 537212814 = =20 correcting nblocks for inode 8595403580, was 1 - counted 0 = =20 data fork in regular inode 8595403581 claims used block 537212815 = =20 correcting nblocks for inode 8595403581, was 1 - counted 0 = =20 data fork in regular inode 8595403583 claims used block 537212816 = =20 correcting nblocks for inode 8595403583, was 1 - counted 0 = =20 inode block 537212736 multiply claimed, state was 3 = =20 data fork in regular inode 8595403776 claims used block 537212817 = =20 correcting nblocks for inode 8595403776, was 1 - counted 0 = =20 data fork in regular inode 8595403777 claims used block 537212818 = =20 correcting nblocks for inode 8595403777, was 2 - counted 0 = =20 data fork in regular inode 8595403778 claims used block 537212820 = =20 correcting nblocks for inode 8595403778, was 2 - counted 0 = =20 data fork in regular inode 8595403779 claims used block 537212822 = =20 correcting nblocks for inode 8595403779, was 2 - counted 0 = =20 data fork in regular inode 8595403780 claims used block 537212824 = =20 correcting nblocks for inode 8595403780, was 1 - counted 0 = =20 data fork in regular inode 8595403781 claims used block 537212825 = =20 correcting nblocks for inode 8595403781, was 1 - counted 0 = =20 data fork in regular inode 8595403782 claims used block 537212826 = =20 correcting nblocks for inode 8595403782, was 1 - counted 0 = =20 data fork in regular inode 8595403783 claims used block 537212827 = =20 correcting nblocks for inode 8595403783, was 2 - counted 0 = =20 data fork in regular inode 8595403784 claims used block 537212829 = =20 correcting nblocks for inode 8595403784, was 1 - counted 0 = =20 data fork in regular inode 8595403785 claims used block 537212830 = =20 correcting nblocks for inode 8595403785, was 1 - counted 0 = =20 data fork in regular inode 8595403786 claims used block 537212831 = =20 correcting nblocks for inode 8595403786, was 1 - counted 0 = =20 data fork in regular inode 8595403787 claims used block 537212832 = =20 correcting nblocks for inode 8595403787, was 2 - counted 0 = =20 data fork in regular inode 8595403788 claims used block 537212834 = =20 correcting nblocks for inode 8595403788, was 1 - counted 0 = =20 data fork in regular inode 8595403789 claims used block 537212835 = =20 correcting nblocks for inode 8595403789, was 1 - counted 0 = =20 data fork in regular inode 8595403790 claims used block 537212836 = =20 correcting nblocks for inode 8595403790, was 1 - counted 0 = =20 data fork in regular inode 8595403791 claims used block 537212837 = =20 correcting nblocks for inode 8595403791, was 1 - counted 0 = =20 inode block 537212737 multiply claimed, state was 3 = =20 data fork in regular inode 8595403792 claims used block 537212838 = =20 correcting nblocks for inode 8595403792, was 1 - counted 0 = =20 data fork in regular inode 8595403793 claims used block 537212839 = =20 correcting nblocks for inode 8595403793, was 2 - counted 0 = =20 data fork in regular inode 8595403794 claims used block 537212841 = =20 correcting nblocks for inode 8595403794, was 2 - counted 0 = =20 data fork in regular inode 8595403795 claims used block 537212843 = =20 correcting nblocks for inode 8595403795, was 2 - counted 0 = =20 data fork in regular inode 8595403796 claims used block 537212735 = =20 correcting nblocks for inode 8595403796, was 1 - counted 0 = =20 data fork in regular inode 8595403797 claims used block 537212845 = =20 correcting nblocks for inode 8595403797, was 1 - counted 0 = =20 data fork in regular inode 8595403798 claims used block 537212846 = =20 correcting nblocks for inode 8595403798, was 1 - counted 0 = =20 data fork in regular inode 8595403800 claims used block 537212847 = =20 correcting nblocks for inode 8595403800, was 1 - counted 0 = =20 data fork in regular inode 8595403801 claims used block 537212848 = =20 correcting nblocks for inode 8595403801, was 1 - counted 0 = =20 data fork in regular inode 8595403802 claims used block 537212849 = =20 correcting nblocks for inode 8595403802, was 1 - counted 0 = =20 data fork in regular inode 8595403803 claims used block 537212850 = =20 correcting nblocks for inode 8595403803, was 1 - counted 0 = =20 data fork in regular inode 8595403805 claims used block 537212851 = =20 correcting nblocks for inode 8595403805, was 1 - counted 0 = =20 data fork in regular inode 8595403806 claims used block 537212852 = =20 correcting nblocks for inode 8595403806, was 1 - counted 0 = =20 inode block 537212738 multiply claimed, state was 3 = =20 data fork in regular inode 8595403808 claims used block 537212853 = =20 correcting nblocks for inode 8595403808, was 1 - counted 0 = =20 data fork in regular inode 8595403809 claims used block 537212854 = =20 correcting nblocks for inode 8595403809, was 1 - counted 0 = =20 data fork in regular inode 8595403811 claims used block 537212855 = =20 correcting nblocks for inode 8595403811, was 9 - counted 0 = =20 data fork in regular inode 8595403812 claims used block 537212864 = =20 correcting nblocks for inode 8595403812, was 1 - counted 0 = =20 data fork in regular inode 8595403813 claims used block 537212865 = =20 correcting nblocks for inode 8595403813, was 1 - counted 0 = =20 data fork in regular inode 8595403814 claims used block 537212866 = =20 correcting nblocks for inode 8595403814, was 9 - counted 0 = =20 data fork in regular inode 8595403816 claims used block 537212875 = =20 correcting nblocks for inode 8595403816, was 1 - counted 0 = =20 data fork in regular inode 8595403817 claims used block 537212876 = =20 correcting nblocks for inode 8595403817, was 1 - counted 0 = =20 data fork in regular inode 8595403819 claims used block 537212877 = =20 correcting nblocks for inode 8595403819, was 1 - counted 0 = =20 data fork in regular inode 8595403820 claims used block 537212878 = =20 correcting nblocks for inode 8595403820, was 1 - counted 0 = =20 inode block 537212739 multiply claimed, state was 3 = =20 data fork in regular inode 8595403824 claims used block 537212879 = =20 correcting nblocks for inode 8595403824, was 1 - counted 0 = =20 data fork in regular inode 8595403825 claims used block 537212880 = =20 correcting nblocks for inode 8595403825, was 1 - counted 0 = =20 data fork in regular inode 8595403827 claims used block 537212881 = =20 correcting nblocks for inode 8595403827, was 1 - counted 0 = =20 data fork in regular inode 8595403828 claims used block 537212882 = =20 correcting nblocks for inode 8595403828, was 1 - counted 0 = =20 data fork in regular inode 8595403830 claims used block 537212883 = =20 correcting nblocks for inode 8595403830, was 1 - counted 0 = =20 data fork in regular inode 8595403831 claims used block 537212884 = =20 correcting nblocks for inode 8595403831, was 1 - counted 0 = =20 data fork in regular inode 8595403834 claims used block 537212885 = =20 correcting nblocks for inode 8595403834, was 1 - counted 0 = =20 data fork in regular inode 8595403835 claims used block 537212886 = =20 correcting nblocks for inode 8595403835, was 1 - counted 0 = =20 data fork in regular inode 8595403837 claims used block 537212887 = =20 correcting nblocks for inode 8595403837, was 1 - counted 0 = =20 data fork in regular inode 8595403838 claims used block 537212888 = =20 correcting nblocks for inode 8595403838, was 1 - counted 0 = =20 inode block 537212896 multiply claimed, state was 3 = =20 data fork in regular inode 8595406336 claims used block 537212895 = =20 correcting nblocks for inode 8595406336, was 1 - counted 0 = =20 data fork in regular inode 8595406337 claims used block 537212894 = =20 correcting nblocks for inode 8595406337, was 1 - counted 0 = =20 data fork in regular inode 8595406339 claims used block 537212893 = =20 correcting nblocks for inode 8595406339, was 1 - counted 0 = =20 data fork in regular inode 8595406340 claims used block 537212892 = =20 correcting nblocks for inode 8595406340, was 1 - counted 0 = =20 data fork in regular inode 8595406342 claims used block 537212900 = =20 correcting nblocks for inode 8595406342, was 1 - counted 0 = =20 data fork in regular inode 8595406343 claims used block 537212891 = =20 correcting nblocks for inode 8595406343, was 1 - counted 0 = =20 data fork in regular inode 8595406345 claims used block 537212901 = =20 correcting nblocks for inode 8595406345, was 2 - counted 0 = =20 data fork in regular inode 8595406346 claims used block 537212889 = =20 correcting nblocks for inode 8595406346, was 2 - counted 0 = =20 data fork in regular inode 8595406348 claims used block 537212903 = =20 correcting nblocks for inode 8595406348, was 1 - counted 0 = =20 data fork in regular inode 8595406349 claims used block 537212904 = =20 correcting nblocks for inode 8595406349, was 1 - counted 0 = =20 data fork in regular inode 8595406351 claims used block 537212905 = =20 correcting nblocks for inode 8595406351, was 1 - counted 0 = =20 inode block 537212897 multiply claimed, state was 3 = =20 data fork in regular inode 8595406352 claims used block 537212906 = =20 correcting nblocks for inode 8595406352, was 1 - counted 0 = =20 data fork in regular inode 8595406355 claims used block 537212907 = =20 correcting nblocks for inode 8595406355, was 2 - counted 0 = =20 data fork in regular inode 8595406356 claims used block 537212909 = =20 correcting nblocks for inode 8595406356, was 2 - counted 0 = =20 data fork in regular inode 8595406358 claims used block 537212911 = =20 correcting nblocks for inode 8595406358, was 1 - counted 0 = =20 data fork in regular inode 8595406359 claims used block 537212912 = =20 correcting nblocks for inode 8595406359, was 1 - counted 0 = =20 data fork in regular inode 8595406361 claims used block 537212928 = =20 correcting nblocks for inode 8595406361, was 41 - counted 0 = =20 data fork in regular inode 8595406362 claims used block 537212976 = =20 correcting nblocks for inode 8595406362, was 41 - counted 0 = =20 data fork in regular inode 8595406365 claims used block 537212914 = =20 correcting nblocks for inode 8595406365, was 1 - counted 0 = =20 data fork in regular inode 8595406366 claims used block 537212915 = =20 correcting nblocks for inode 8595406366, was 1 - counted 0 = =20 inode block 537212898 multiply claimed, state was 3 = =20 data fork in regular inode 8595406369 claims used block 537212916 = =20 correcting nblocks for inode 8595406369, was 3 - counted 0 = =20 data fork in regular inode 8595406370 claims used block 537212919 = =20 correcting nblocks for inode 8595406370, was 3 - counted 0 = =20 data fork in regular inode 8595406373 claims used block 537212913 = =20 correcting nblocks for inode 8595406373, was 1 - counted 0 = =20 data fork in regular inode 8595406374 claims used block 537213017 = =20 correcting nblocks for inode 8595406374, was 13 - counted 0 = =20 data fork in regular inode 8595406375 claims used block 537213030 = =20 correcting nblocks for inode 8595406375, was 13 - counted 0 = =20 data fork in regular inode 8595406376 claims used block 537213043 = =20 correcting nblocks for inode 8595406376, was 14 - counted 0 = =20 data fork in regular inode 8595406377 claims used block 537213072 = =20 correcting nblocks for inode 8595406377, was 20 - counted 0 = =20 data fork in regular inode 8595406378 claims used block 537213057 = =20 correcting nblocks for inode 8595406378, was 13 - counted 0 = =20 data fork in regular inode 8595406379 claims used block 537213092 = =20 correcting nblocks for inode 8595406379, was 14 - counted 0 = =20 data fork in regular inode 8595406380 claims used block 537212922 = =20 correcting nblocks for inode 8595406380, was 1 - counted 0 = =20 data fork in regular inode 8595406381 claims used block 537213120 = =20 correcting nblocks for inode 8595406381, was 20 - counted 0 = =20 data fork in regular inode 8595406382 claims used block 537212923 = =20 correcting nblocks for inode 8595406382, was 1 - counted 0 = =20 data fork in regular inode 8595406383 claims used block 537213106 = =20 correcting nblocks for inode 8595406383, was 13 - counted 0 = =20 inode block 537212899 multiply claimed, state was 3 = =20 data fork in regular inode 8595406385 claims used block 537212924 = =20 correcting nblocks for inode 8595406385, was 1 - counted 0 = =20 data fork in regular inode 8595406386 claims used block 537212925 = =20 correcting nblocks for inode 8595406386, was 1 - counted 0 = =20 data fork in regular inode 8595406389 claims used block 537212926 = =20 correcting nblocks for inode 8595406389, was 1 - counted 0 = =20 data fork in regular inode 8595406390 claims used block 537212927 = =20 correcting nblocks for inode 8595406390, was 1 - counted 0 = =20 data fork in regular inode 8595406392 claims used block 537212969 = =20 correcting nblocks for inode 8595406392, was 2 - counted 0 = =20 data fork in regular inode 8595406393 claims used block 537212971 = =20 correcting nblocks for inode 8595406393, was 2 - counted 0 = =20 data fork in regular inode 8595406395 claims used block 537212973 = =20 correcting nblocks for inode 8595406395, was 1 - counted 0 = =20 data fork in regular inode 8595406396 claims used block 537212974 = =20 correcting nblocks for inode 8595406396, was 1 - counted 0 = =20 data fork in regular inode 8595406397 claims used block 537212975 = =20 correcting nblocks for inode 8595406397, was 1 - counted 0 = =20 data fork in regular inode 8595406398 claims used block 537213070 = =20 correcting nblocks for inode 8595406398, was 1 - counted 0 = =20 inode block 537213152 multiply claimed, state was 3 = =20 data fork in regular inode 8595410432 claims used block 537213151 = =20 correcting nblocks for inode 8595410432, was 1 - counted 0 = =20 data fork in regular inode 8595410433 claims used block 537213150 = =20 correcting nblocks for inode 8595410433, was 1 - counted 0 = =20 data fork in regular inode 8595410435 claims used block 537213149 = =20 correcting nblocks for inode 8595410435, was 1 - counted 0 = =20 data fork in regular inode 8595410436 claims used block 537213148 = =20 correcting nblocks for inode 8595410436, was 1 - counted 0 = =20 data fork in regular inode 8595410438 claims used block 537213156 = =20 correcting nblocks for inode 8595410438, was 1 - counted 0 = =20 data fork in regular inode 8595410439 claims used block 537213147 = =20 correcting nblocks for inode 8595410439, was 1 - counted 0 = =20 data fork in regular inode 8595410442 claims used block 537213146 = =20 correcting nblocks for inode 8595410442, was 1 - counted 0 = =20 data fork in regular inode 8595410443 claims used block 537213158 = =20 correcting nblocks for inode 8595410443, was 1 - counted 0 = =20 data fork in regular inode 8595410445 claims used block 537213157 = =20 correcting nblocks for inode 8595410445, was 1 - counted 0 = =20 data fork in regular inode 8595410446 claims used block 537213159 = =20 correcting nblocks for inode 8595410446, was 2 - counted 0 = =20 data fork in regular inode 8595410447 claims used block 537213145 = =20 correcting nblocks for inode 8595410447, was 1 - counted 0 = =20 inode block 537213153 multiply claimed, state was 3 = =20 data fork in regular inode 8595410448 claims used block 537213161 = =20 correcting nblocks for inode 8595410448, was 1 - counted 0 = =20 data fork in regular inode 8595410449 claims used block 537213162 = =20 correcting nblocks for inode 8595410449, was 2 - counted 0 = =20 data fork in regular inode 8595410450 claims used block 537213144 = =20 correcting nblocks for inode 8595410450, was 1 - counted 0 = =20 data fork in regular inode 8595410451 claims used block 537213143 = =20 correcting nblocks for inode 8595410451, was 1 - counted 0 = =20 data fork in regular inode 8595410452 claims used block 537213142 = =20 correcting nblocks for inode 8595410452, was 1 - counted 0 = =20 data fork in regular inode 8595410453 claims used block 537213164 = =20 correcting nblocks for inode 8595410453, was 2 - counted 0 = =20 data fork in regular inode 8595410454 claims used block 537213141 = =20 correcting nblocks for inode 8595410454, was 1 - counted 0 = =20 data fork in regular inode 8595410455 claims used block 537213166 = =20 correcting nblocks for inode 8595410455, was 2 - counted 0 = =20 data fork in regular inode 8595410456 claims used block 537213140 = =20 correcting nblocks for inode 8595410456, was 1 - counted 0 = =20 data fork in regular inode 8595410457 claims used block 537213168 = =20 correcting nblocks for inode 8595410457, was 4 - counted 0 = =20 data fork in regular inode 8595410458 claims used block 537213172 = =20 correcting nblocks for inode 8595410458, was 2 - counted 0 = =20 data fork in regular inode 8595410460 claims used block 537213174 = =20 correcting nblocks for inode 8595410460, was 2 - counted 0 = =20 data fork in regular inode 8595410461 claims used block 537213176 = =20 correcting nblocks for inode 8595410461, was 1 - counted 0 = =20 data fork in regular inode 8595410462 claims used block 537213177 = =20 correcting nblocks for inode 8595410462, was 2 - counted 0 = =20 data fork in regular inode 8595410463 claims used block 537213179 = =20 correcting nblocks for inode 8595410463, was 2 - counted 0 = =20 inode block 537213154 multiply claimed, state was 3 = =20 data fork in regular inode 8595410464 claims used block 537213181 = =20 correcting nblocks for inode 8595410464, was 1 - counted 0 = =20 data fork in regular inode 8595410465 claims used block 537213182 = =20 correcting nblocks for inode 8595410465, was 1 - counted 0 = =20 data fork in regular inode 8595410466 claims used block 537213183 = =20 correcting nblocks for inode 8595410466, was 2 - counted 0 = =20 data fork in regular inode 8595410467 claims used block 537213185 = =20 correcting nblocks for inode 8595410467, was 1 - counted 0 = =20 data fork in regular inode 8595410468 claims used block 537213186 = =20 correcting nblocks for inode 8595410468, was 1 - counted 0 = =20 data fork in regular inode 8595410469 claims used block 537213187 = =20 correcting nblocks for inode 8595410469, was 1 - counted 0 = =20 data fork in regular inode 8595410470 claims used block 537213188 = =20 correcting nblocks for inode 8595410470, was 3 - counted 0 = =20 data fork in regular inode 8595410471 claims used block 537213119 = =20 correcting nblocks for inode 8595410471, was 1 - counted 0 = =20 data fork in regular inode 8595410472 claims used block 537213191 = =20 correcting nblocks for inode 8595410472, was 2 - counted 0 = =20 data fork in regular inode 8595410473 claims used block 537213193 = =20 correcting nblocks for inode 8595410473, was 1 - counted 0 = =20 data fork in regular inode 8595410474 claims used block 537213194 = =20 correcting nblocks for inode 8595410474, was 2 - counted 0 = =20 data fork in regular inode 8595410476 claims used block 537213196 = =20 correcting nblocks for inode 8595410476, was 8 - counted 0 = =20 data fork in regular inode 8595410477 claims used block 537213204 = =20 correcting nblocks for inode 8595410477, was 8 - counted 0 = =20 inode block 537213155 multiply claimed, state was 3 = =20 data fork in regular inode 8595410489 claims used block 537213212 = =20 correcting nblocks for inode 8595410489, was 1 - counted 0 = =20 inode block 537213216 multiply claimed, state was 3 = =20 data fork in regular inode 8595411457 claims used block 537213215 = =20 correcting nblocks for inode 8595411457, was 1 - counted 0 = =20 data fork in regular inode 8595411459 claims used block 537213225 = =20 correcting nblocks for inode 8595411459, was 3 - counted 0 = =20 data fork in regular inode 8595411460 claims used block 537213213 = =20 correcting nblocks for inode 8595411460, was 2 - counted 0 = =20 data fork in regular inode 8595411461 claims used block 537213228 = =20 correcting nblocks for inode 8595411461, was 1 - counted 0 = =20 data fork in regular inode 8595411462 claims used block 537213229 = =20 correcting nblocks for inode 8595411462, was 2 - counted 0 = =20 data fork in regular inode 8595411463 claims used block 537213231 = =20 correcting nblocks for inode 8595411463, was 2 - counted 0 = =20 data fork in regular inode 8595411464 claims used block 537213233 = =20 correcting nblocks for inode 8595411464, was 1 - counted 0 = =20 data fork in regular inode 8595411465 claims used block 537213234 = =20 correcting nblocks for inode 8595411465, was 1 - counted 0 = =20 data fork in regular inode 8595411466 claims used block 537213235 = =20 correcting nblocks for inode 8595411466, was 4 - counted 0 = =20 data fork in regular inode 8595411467 claims used block 537213239 = =20 correcting nblocks for inode 8595411467, was 1 - counted 0 = =20 data fork in regular inode 8595411468 claims used block 537213240 = =20 correcting nblocks for inode 8595411468, was 3 - counted 0 = =20 data fork in regular inode 8595411469 claims used block 537213243 = =20 correcting nblocks for inode 8595411469, was 1 - counted 0 = =20 data fork in regular inode 8595411470 claims used block 537213244 = =20 correcting nblocks for inode 8595411470, was 2 - counted 0 = =20 data fork in regular inode 8595411471 claims used block 537213246 = =20 correcting nblocks for inode 8595411471, was 2 - counted 0 = =20 inode block 537213217 multiply claimed, state was 3 = =20 data fork in regular inode 8595411472 claims used block 537213248 = =20 correcting nblocks for inode 8595411472, was 1 - counted 0 = =20 data fork in regular inode 8595411473 claims used block 537213249 = =20 correcting nblocks for inode 8595411473, was 3 - counted 0 = =20 data fork in regular inode 8595411474 claims used block 537213252 = =20 correcting nblocks for inode 8595411474, was 1 - counted 0 = =20 data fork in regular inode 8595411475 claims used block 537213253 = =20 correcting nblocks for inode 8595411475, was 2 - counted 0 = =20 data fork in regular inode 8595411476 claims used block 537213255 = =20 correcting nblocks for inode 8595411476, was 3 - counted 0 = =20 data fork in regular inode 8595411477 claims used block 537213258 = =20 correcting nblocks for inode 8595411477, was 1 - counted 0 = =20 data fork in regular inode 8595411478 claims used block 537213259 = =20 correcting nblocks for inode 8595411478, was 6 - counted 0 = =20 data fork in regular inode 8595411479 claims used block 537213265 = =20 correcting nblocks for inode 8595411479, was 1 - counted 0 = =20 data fork in regular inode 8595411480 claims used block 537213266 = =20 correcting nblocks for inode 8595411480, was 1 - counted 0 = =20 data fork in regular inode 8595411481 claims used block 537213267 = =20 correcting nblocks for inode 8595411481, was 1 - counted 0 = =20 data fork in regular inode 8595411482 claims used block 537213268 = =20 correcting nblocks for inode 8595411482, was 1 - counted 0 = =20 data fork in regular inode 8595411483 claims used block 537213269 = =20 correcting nblocks for inode 8595411483, was 2 - counted 0 = =20 data fork in regular inode 8595411484 claims used block 537213271 = =20 correcting nblocks for inode 8595411484, was 2 - counted 0 = =20 data fork in regular inode 8595411485 claims used block 537213273 = =20 correcting nblocks for inode 8595411485, was 1 - counted 0 = =20 data fork in regular inode 8595411486 claims used block 537213274 = =20 correcting nblocks for inode 8595411486, was 5 - counted 0 = =20 data fork in regular inode 8595411487 claims used block 537213279 = =20 correcting nblocks for inode 8595411487, was 1 - counted 0 = =20 inode block 537213218 multiply claimed, state was 3 = =20 data fork in regular inode 8595411488 claims used block 537213280 = =20 correcting nblocks for inode 8595411488, was 1 - counted 0 = =20 data fork in regular inode 8595411489 claims used block 537213281 = =20 correcting nblocks for inode 8595411489, was 2 - counted 0 = =20 data fork in regular inode 8595411490 claims used block 537213283 = =20 correcting nblocks for inode 8595411490, was 2 - counted 0 = =20 data fork in regular inode 8595411491 claims used block 537213285 = =20 correcting nblocks for inode 8595411491, was 2 - counted 0 = =20 data fork in regular inode 8595411492 claims used block 537213287 = =20 correcting nblocks for inode 8595411492, was 3 - counted 0 = =20 data fork in regular inode 8595411493 claims used block 537213290 = =20 correcting nblocks for inode 8595411493, was 1 - counted 0 = =20 data fork in regular inode 8595411494 claims used block 537213291 = =20 correcting nblocks for inode 8595411494, was 1 - counted 0 = =20 data fork in regular inode 8595411495 claims used block 537213292 = =20 correcting nblocks for inode 8595411495, was 2 - counted 0 = =20 data fork in regular inode 8595411496 claims used block 537213294 = =20 correcting nblocks for inode 8595411496, was 1 - counted 0 = =20 data fork in regular inode 8595411497 claims used block 537213295 = =20 correcting nblocks for inode 8595411497, was 1 - counted 0 = =20 data fork in regular inode 8595411498 claims used block 537213296 = =20 correcting nblocks for inode 8595411498, was 1 - counted 0 = =20 data fork in regular inode 8595411499 claims used block 537213297 = =20 correcting nblocks for inode 8595411499, was 1 - counted 0 = =20 data fork in regular inode 8595411500 claims used block 537213298 = =20 correcting nblocks for inode 8595411500, was 1 - counted 0 = =20 data fork in regular inode 8595411501 claims used block 537213299 = =20 correcting nblocks for inode 8595411501, was 4 - counted 0 = =20 data fork in regular inode 8595411502 claims used block 537213303 = =20 correcting nblocks for inode 8595411502, was 1 - counted 0 = =20 data fork in regular inode 8595411503 claims used block 537213304 = =20 correcting nblocks for inode 8595411503, was 1 - counted 0 = =20 inode block 537213219 multiply claimed, state was 3 = =20 data fork in regular inode 8595411504 claims used block 537213305 = =20 correcting nblocks for inode 8595411504, was 1 - counted 0 = =20 data fork in regular inode 8595411505 claims used block 537213306 = =20 correcting nblocks for inode 8595411505, was 1 - counted 0 = =20 data fork in regular inode 8595411506 claims used block 537213307 = =20 correcting nblocks for inode 8595411506, was 2 - counted 0 = =20 data fork in regular inode 8595411507 claims used block 537213309 = =20 correcting nblocks for inode 8595411507, was 1 - counted 0 = =20 data fork in regular inode 8595411508 claims used block 537213310 = =20 correcting nblocks for inode 8595411508, was 2 - counted 0 = =20 data fork in regular inode 8595411509 claims used block 537213312 = =20 correcting nblocks for inode 8595411509, was 1 - counted 0 = =20 data fork in regular inode 8595411510 claims used block 537213313 = =20 correcting nblocks for inode 8595411510, was 1 - counted 0 = =20 data fork in regular inode 8595411511 claims used block 537213314 = =20 correcting nblocks for inode 8595411511, was 4 - counted 0 = =20 data fork in regular inode 8595411512 claims used block 537213318 = =20 correcting nblocks for inode 8595411512, was 1 - counted 0 = =20 data fork in regular inode 8595411513 claims used block 537213319 = =20 correcting nblocks for inode 8595411513, was 1 - counted 0 = =20 data fork in regular inode 8595411514 claims used block 537213320 = =20 correcting nblocks for inode 8595411514, was 1 - counted 0 = =20 data fork in regular inode 8595411515 claims used block 537213321 = =20 correcting nblocks for inode 8595411515, was 2 - counted 0 = =20 data fork in regular inode 8595411516 claims used block 537213323 = =20 correcting nblocks for inode 8595411516, was 1 - counted 0 = =20 data fork in regular inode 8595411518 claims used block 537213324 = =20 correcting nblocks for inode 8595411518, was 1 - counted 0 = =20 data fork in regular inode 8595411519 claims used block 537213325 = =20 correcting nblocks for inode 8595411519, was 1 - counted 0 = =20 inode block 537213220 multiply claimed, state was 3 = =20 data fork in regular inode 8595411520 claims used block 537213326 = =20 correcting nblocks for inode 8595411520, was 1 - counted 0 = =20 data fork in regular inode 8595411521 claims used block 537213327 = =20 correcting nblocks for inode 8595411521, was 1 - counted 0 = =20 data fork in regular inode 8595411522 claims used block 537213328 = =20 correcting nblocks for inode 8595411522, was 1 - counted 0 = =20 data fork in regular inode 8595411523 claims used block 537213224 = =20 correcting nblocks for inode 8595411523, was 1 - counted 0 = =20 data fork in regular inode 8595411524 claims used block 537213329 = =20 correcting nblocks for inode 8595411524, was 1 - counted 0 = =20 data fork in regular inode 8595411525 claims used block 537213330 = =20 correcting nblocks for inode 8595411525, was 1 - counted 0 = =20 data fork in regular inode 8595411528 claims used block 537213331 = =20 correcting nblocks for inode 8595411528, was 1 - counted 0 = =20 data fork in regular inode 8595411529 claims used block 537213332 = =20 correcting nblocks for inode 8595411529, was 1 - counted 0 = =20 data fork in regular inode 8595411530 claims used block 537213333 = =20 correcting nblocks for inode 8595411530, was 1 - counted 0 = =20 data fork in regular inode 8595411531 claims used block 537213334 = =20 correcting nblocks for inode 8595411531, was 1 - counted 0 = =20 data fork in regular inode 8595411534 claims used block 537213338 = =20 correcting nblocks for inode 8595411534, was 1 - counted 0 = =20 data fork in regular inode 8595411535 claims used block 537213339 = =20 correcting nblocks for inode 8595411535, was 1 - counted 0 = =20 inode block 537213221 multiply claimed, state was 3 = =20 data fork in regular inode 8595411536 claims used block 537213340 = =20 correcting nblocks for inode 8595411536, was 1 - counted 0 = =20 data fork in regular inode 8595411537 claims used block 537213341 = =20 correcting nblocks for inode 8595411537, was 1 - counted 0 = =20 data fork in regular inode 8595411538 claims used block 537213342 = =20 correcting nblocks for inode 8595411538, was 1 - counted 0 = =20 data fork in regular inode 8595411539 claims used block 537213348 = =20 correcting nblocks for inode 8595411539, was 5 - counted 0 = =20 data fork in regular inode 8595411541 claims used block 537213353 = =20 correcting nblocks for inode 8595411541, was 1 - counted 0 = =20 data fork in regular inode 8595411542 claims used block 537213354 = =20 correcting nblocks for inode 8595411542, was 1 - counted 0 = =20 data fork in regular inode 8595411543 claims used block 537213355 = =20 correcting nblocks for inode 8595411543, was 1 - counted 0 = =20 data fork in regular inode 8595411545 claims used block 537213356 = =20 correcting nblocks for inode 8595411545, was 1 - counted 0 = =20 data fork in regular inode 8595411546 claims used block 537213357 = =20 correcting nblocks for inode 8595411546, was 1 - counted 0 = =20 data fork in regular inode 8595411548 claims used block 537213358 = =20 correcting nblocks for inode 8595411548, was 1 - counted 0 = =20 data fork in regular inode 8595411549 claims used block 537213359 = =20 correcting nblocks for inode 8595411549, was 1 - counted 0 = =20 data fork in regular inode 8595411551 claims used block 537213360 = =20 correcting nblocks for inode 8595411551, was 1 - counted 0 = =20 inode block 537213222 multiply claimed, state was 3 = =20 data fork in regular inode 8595411553 claims used block 537213335 = =20 correcting nblocks for inode 8595411553, was 1 - counted 0 = =20 data fork in regular inode 8595411555 claims used block 537213362 = =20 correcting nblocks for inode 8595411555, was 1 - counted 0 = =20 data fork in regular inode 8595411556 claims used block 537213363 = =20 correcting nblocks for inode 8595411556, was 1 - counted 0 = =20 data fork in regular inode 8595411557 claims used block 537213364 = =20 correcting nblocks for inode 8595411557, was 1 - counted 0 = =20 data fork in regular inode 8595411558 claims used block 537213365 = =20 correcting nblocks for inode 8595411558, was 1 - counted 0 = =20 data fork in regular inode 8595411564 claims used block 537213336 = =20 correcting nblocks for inode 8595411564, was 1 - counted 0 = =20 data fork in regular inode 8595411566 claims used block 537213366 = =20 correcting nblocks for inode 8595411566, was 1 - counted 0 = =20 data fork in regular inode 8595411567 claims used block 537213367 = =20 correcting nblocks for inode 8595411567, was 1 - counted 0 = =20 inode block 537213223 multiply claimed, state was 3 = =20 data fork in regular inode 8595411568 claims used block 537213368 = =20 correcting nblocks for inode 8595411568, was 1 - counted 0 = =20 data fork in regular inode 8595411569 claims used block 537213369 = =20 correcting nblocks for inode 8595411569, was 1 - counted 0 = =20 data fork in regular inode 8595411571 claims used block 537213370 = =20 correcting nblocks for inode 8595411571, was 1 - counted 0 = =20 data fork in regular inode 8595411572 claims used block 537213337 = =20 correcting nblocks for inode 8595411572, was 1 - counted 0 = =20 data fork in regular inode 8595411573 claims used block 537213371 = =20 correcting nblocks for inode 8595411573, was 1 - counted 0 = =20 data fork in regular inode 8595411574 claims used block 537213372 = =20 correcting nblocks for inode 8595411574, was 1 - counted 0 = =20 data fork in regular inode 8595411575 claims used block 537213373 = =20 correcting nblocks for inode 8595411575, was 1 - counted 0 = =20 data fork in regular inode 8595411576 claims used block 537213374 = =20 correcting nblocks for inode 8595411576, was 2 - counted 0 = =20 data fork in regular inode 8595411577 claims used block 537213071 = =20 correcting nblocks for inode 8595411577, was 1 - counted 0 = =20 data fork in regular inode 8595411579 claims used block 537213376 = =20 correcting nblocks for inode 8595411579, was 1 - counted 0 = =20 data fork in regular inode 8595411580 claims used block 537213377 = =20 correcting nblocks for inode 8595411580, was 1 - counted 0 = =20 data fork in regular inode 8595411581 claims used block 537213378 = =20 correcting nblocks for inode 8595411581, was 2 - counted 0 = =20 data fork in regular inode 8595411582 claims used block 537213380 = =20 correcting nblocks for inode 8595411582, was 1 - counted 0 = =20 data fork in regular inode 8595411583 claims used block 537213381 = =20 correcting nblocks for inode 8595411583, was 1 - counted 0 = =20 inode block 537213344 multiply claimed, state was 3 = =20 data fork in regular inode 8595413504 claims used block 537213382 = =20 correcting nblocks for inode 8595413504, was 1 - counted 0 = =20 data fork in regular inode 8595413509 claims used block 537213343 = =20 correcting nblocks for inode 8595413509, was 1 - counted 0 = =20 data fork in regular inode 8595413511 claims used block 537213383 = =20 correcting nblocks for inode 8595413511, was 1 - counted 0 = =20 data fork in regular inode 8595413512 claims used block 537213384 = =20 correcting nblocks for inode 8595413512, was 1 - counted 0 = =20 data fork in regular inode 8595413513 claims used block 537213385 = =20 correcting nblocks for inode 8595413513, was 1 - counted 0 = =20 data fork in regular inode 8595413514 claims used block 537213386 = =20 correcting nblocks for inode 8595413514, was 1 - counted 0 = =20 data fork in regular inode 8595413518 claims used block 537213389 = =20 correcting nblocks for inode 8595413518, was 1 - counted 0 = =20 data fork in regular inode 8595413519 claims used block 537213390 = =20 correcting nblocks for inode 8595413519, was 1 - counted 0 = =20 inode block 537213345 multiply claimed, state was 3 = =20 data fork in regular inode 8595413521 claims used block 537213391 = =20 correcting nblocks for inode 8595413521, was 1 - counted 0 = =20 data fork in regular inode 8595413523 claims used block 537213361 = =20 correcting nblocks for inode 8595413523, was 1 - counted 0 = =20 data fork in regular inode 8595413524 claims used block 537213392 = =20 correcting nblocks for inode 8595413524, was 2 - counted 0 = =20 data fork in regular inode 8595413525 claims used block 537213394 = =20 correcting nblocks for inode 8595413525, was 1 - counted 0 = =20 data fork in regular inode 8595413526 claims used block 537213395 = =20 correcting nblocks for inode 8595413526, was 1 - counted 0 = =20 data fork in regular inode 8595413527 claims used block 537213396 = =20 correcting nblocks for inode 8595413527, was 1 - counted 0 = =20 data fork in regular inode 8595413528 claims used block 537213397 = =20 correcting nblocks for inode 8595413528, was 1 - counted 0 = =20 data fork in regular inode 8595413530 claims used block 537213398 = =20 correcting nblocks for inode 8595413530, was 1 - counted 0 = =20 data fork in regular inode 8595413531 claims used block 537213399 = =20 correcting nblocks for inode 8595413531, was 1 - counted 0 = =20 data fork in regular inode 8595413532 claims used block 537213400 = =20 correcting nblocks for inode 8595413532, was 1 - counted 0 = =20 data fork in regular inode 8595413533 claims used block 537213401 = =20 correcting nblocks for inode 8595413533, was 1 - counted 0 = =20 data fork in regular inode 8595413534 claims used block 537213402 = =20 correcting nblocks for inode 8595413534, was 2 - counted 0 = =20 data fork in regular inode 8595413535 claims used block 537213404 = =20 correcting nblocks for inode 8595413535, was 1 - counted 0 = =20 inode block 537213346 multiply claimed, state was 3 = =20 data fork in regular inode 8595413537 claims used block 537213387 = =20 correcting nblocks for inode 8595413537, was 1 - counted 0 = =20 data fork in regular inode 8595413538 claims used block 537213405 = =20 correcting nblocks for inode 8595413538, was 1 - counted 0 = =20 data fork in regular inode 8595413539 claims used block 537213406 = =20 correcting nblocks for inode 8595413539, was 1 - counted 0 = =20 data fork in regular inode 8595413540 claims used block 537213407 = =20 correcting nblocks for inode 8595413540, was 1 - counted 0 = =20 data fork in regular inode 8595413541 claims used block 537213408 = =20 correcting nblocks for inode 8595413541, was 1 - counted 0 = =20 data fork in regular inode 8595413542 claims used block 537213409 = =20 correcting nblocks for inode 8595413542, was 1 - counted 0 = =20 data fork in regular inode 8595413543 claims used block 537213410 = =20 correcting nblocks for inode 8595413543, was 1 - counted 0 = =20 data fork in regular inode 8595413544 claims used block 537213411 = =20 correcting nblocks for inode 8595413544, was 2 - counted 0 = =20 data fork in regular inode 8595413545 claims used block 537213413 = =20 correcting nblocks for inode 8595413545, was 1 - counted 0 = =20 data fork in regular inode 8595413546 claims used block 537213414 = =20 correcting nblocks for inode 8595413546, was 1 - counted 0 = =20 data fork in regular inode 8595413548 claims used block 537213415 = =20 correcting nblocks for inode 8595413548, was 1 - counted 0 = =20 data fork in regular inode 8595413549 claims used block 537213416 = =20 correcting nblocks for inode 8595413549, was 1 - counted 0 = =20 data fork in regular inode 8595413550 claims used block 537213417 = =20 correcting nblocks for inode 8595413550, was 2 - counted 0 = =20 data fork in regular inode 8595413551 claims used block 537213419 = =20 correcting nblocks for inode 8595413551, was 1 - counted 0 = =20 inode block 537213347 multiply claimed, state was 3 = =20 data fork in regular inode 8595413552 claims used block 537213420 = =20 correcting nblocks for inode 8595413552, was 1 - counted 0 = =20 data fork in regular inode 8595413554 claims used block 537213421 = =20 correcting nblocks for inode 8595413554, was 1 - counted 0 = =20 data fork in regular inode 8595413556 claims used block 537213388 = =20 correcting nblocks for inode 8595413556, was 1 - counted 0 = =20 data fork in regular inode 8595413558 claims used block 537213422 = =20 correcting nblocks for inode 8595413558, was 1 - counted 0 = =20 data fork in regular inode 8595413559 claims used block 537213423 = =20 correcting nblocks for inode 8595413559, was 1 - counted 0 = =20 data fork in regular inode 8595413560 claims used block 537213424 = =20 correcting nblocks for inode 8595413560, was 1 - counted 0 = =20 data fork in regular inode 8595413561 claims used block 537213425 = =20 correcting nblocks for inode 8595413561, was 1 - counted 0 = =20 data fork in regular inode 8595413564 claims used block 537213426 = =20 correcting nblocks for inode 8595413564, was 1 - counted 0 = =20 data fork in regular inode 8595413565 claims used block 537213427 = =20 correcting nblocks for inode 8595413565, was 1 - counted 0 = =20 data fork in regular inode 8595413566 claims used block 537213428 = =20 correcting nblocks for inode 8595413566, was 1 - counted 0 = =20 data fork in regular inode 8595413567 claims used block 537213429 = =20 correcting nblocks for inode 8595413567, was 1 - counted 0 = =20 inode block 537213440 multiply claimed, state was 3 = =20 data fork in regular inode 8595415045 claims used block 537213437 = =20 correcting nblocks for inode 8595415045, was 1 - counted 0 = =20 data fork in regular inode 8595415046 claims used block 537213439 = =20 correcting nblocks for inode 8595415046, was 1 - counted 0 = =20 data fork in regular inode 8595415047 claims used block 537213436 = =20 correcting nblocks for inode 8595415047, was 1 - counted 0 = =20 data fork in regular inode 8595415048 claims used block 537213435 = =20 correcting nblocks for inode 8595415048, was 1 - counted 0 = =20 data fork in regular inode 8595415049 claims used block 537213434 = =20 correcting nblocks for inode 8595415049, was 1 - counted 0 = =20 data fork in regular inode 8595415050 claims used block 537213446 = =20 correcting nblocks for inode 8595415050, was 1 - counted 0 = =20 data fork in regular inode 8595415051 claims used block 537213433 = =20 correcting nblocks for inode 8595415051, was 1 - counted 0 = =20 data fork in regular inode 8595415052 claims used block 537213447 = =20 correcting nblocks for inode 8595415052, was 1 - counted 0 = =20 data fork in regular inode 8595415053 claims used block 537213432 = =20 correcting nblocks for inode 8595415053, was 1 - counted 0 = =20 data fork in regular inode 8595415054 claims used block 537213448 = =20 correcting nblocks for inode 8595415054, was 1 - counted 0 = =20 data fork in regular inode 8595415055 claims used block 537213431 = =20 correcting nblocks for inode 8595415055, was 1 - counted 0 = =20 inode block 537213441 multiply claimed, state was 3 = =20 data fork in regular inode 8595415056 claims used block 537213449 = =20 correcting nblocks for inode 8595415056, was 1 - counted 0 = =20 data fork in regular inode 8595415057 claims used block 537213450 = =20 correcting nblocks for inode 8595415057, was 1 - counted 0 = =20 data fork in regular inode 8595415058 claims used block 537213451 = =20 correcting nblocks for inode 8595415058, was 1 - counted 0 = =20 data fork in regular inode 8595415065 claims used block 537213438 = =20 correcting nblocks for inode 8595415065, was 1 - counted 0 = =20 data fork in regular inode 8595415067 claims used block 537213430 = =20 correcting nblocks for inode 8595415067, was 1 - counted 0 = =20 data fork in regular inode 8595415068 claims used block 537213452 = =20 correcting nblocks for inode 8595415068, was 1 - counted 0 = =20 data fork in regular inode 8595415069 claims used block 537213453 = =20 correcting nblocks for inode 8595415069, was 1 - counted 0 = =20 data fork in regular inode 8595415070 claims used block 537213460 = =20 correcting nblocks for inode 8595415070, was 1 - counted 0 = =20 inode block 537213442 multiply claimed, state was 3 = =20 data fork in regular inode 8595415072 claims used block 537213461 = =20 correcting nblocks for inode 8595415072, was 1 - counted 0 = =20 data fork in regular inode 8595415076 claims used block 537213444 = =20 correcting nblocks for inode 8595415076, was 1 - counted 0 = =20 data fork in regular inode 8595415078 claims used block 537213466 = =20 correcting nblocks for inode 8595415078, was 1 - counted 0 = =20 data fork in regular inode 8595415079 claims used block 537213467 = =20 correcting nblocks for inode 8595415079, was 1 - counted 0 = =20 data fork in regular inode 8595415080 claims used block 537213468 = =20 correcting nblocks for inode 8595415080, was 1 - counted 0 = =20 data fork in regular inode 8595415081 claims used block 537213469 = =20 correcting nblocks for inode 8595415081, was 1 - counted 0 = =20 data fork in regular inode 8595415083 claims used block 537213476 = =20 correcting nblocks for inode 8595415083, was 1 - counted 0 = =20 data fork in regular inode 8595415086 claims used block 537213477 = =20 correcting nblocks for inode 8595415086, was 1 - counted 0 = =20 inode block 537213443 multiply claimed, state was 3 = =20 data fork in regular inode 8595415096 claims used block 537213445 = =20 correcting nblocks for inode 8595415096, was 1 - counted 0 = =20 data fork in regular inode 8595415098 claims used block 537213478 = =20 correcting nblocks for inode 8595415098, was 1 - counted 0 = =20 data fork in regular inode 8595415099 claims used block 537213479 = =20 correcting nblocks for inode 8595415099, was 1 - counted 0 = =20 data fork in regular inode 8595415100 claims used block 537213480 = =20 correcting nblocks for inode 8595415100, was 1 - counted 0 = =20 data fork in regular inode 8595415101 claims used block 537213481 = =20 correcting nblocks for inode 8595415101, was 1 - counted 0 = =20 inode block 537213456 multiply claimed, state was 3 = =20 data fork in regular inode 8595415296 claims used block 537213482 = =20 correcting nblocks for inode 8595415296, was 1 - counted 0 = =20 data fork in regular inode 8595415302 claims used block 537213455 = =20 correcting nblocks for inode 8595415302, was 1 - counted 0 = =20 data fork in regular inode 8595415304 claims used block 537213483 = =20 correcting nblocks for inode 8595415304, was 1 - counted 0 = =20 data fork in regular inode 8595415305 claims used block 537213484 = =20 correcting nblocks for inode 8595415305, was 1 - counted 0 = =20 data fork in regular inode 8595415306 claims used block 537213485 = =20 correcting nblocks for inode 8595415306, was 1 - counted 0 = =20 data fork in regular inode 8595415307 claims used block 537213486 = =20 correcting nblocks for inode 8595415307, was 1 - counted 0 = =20 data fork in regular inode 8595415308 claims used block 537213454 = =20 correcting nblocks for inode 8595415308, was 1 - counted 0 = =20 data fork in regular inode 8595415310 claims used block 537213487 = =20 correcting nblocks for inode 8595415310, was 1 - counted 0 = =20 data fork in regular inode 8595415311 claims used block 537213488 = =20 correcting nblocks for inode 8595415311, was 1 - counted 0 = =20 inode block 537213457 multiply claimed, state was 3 = =20 data fork in regular inode 8595415312 claims used block 537213489 = =20 correcting nblocks for inode 8595415312, was 1 - counted 0 = =20 data fork in regular inode 8595415313 claims used block 537213490 = =20 correcting nblocks for inode 8595415313, was 1 - counted 0 = =20 data fork in regular inode 8595415314 claims used block 537213462 = =20 correcting nblocks for inode 8595415314, was 1 - counted 0 = =20 data fork in regular inode 8595415315 claims used block 537213491 = =20 correcting nblocks for inode 8595415315, was 2 - counted 0 = =20 data fork in regular inode 8595415316 claims used block 537213493 = =20 correcting nblocks for inode 8595415316, was 1 - counted 0 = =20 data fork in regular inode 8595415317 claims used block 537213494 = =20 correcting nblocks for inode 8595415317, was 1 - counted 0 = =20 data fork in regular inode 8595415318 claims used block 537213495 = =20 correcting nblocks for inode 8595415318, was 1 - counted 0 = =20 data fork in regular inode 8595415319 claims used block 537213496 = =20 correcting nblocks for inode 8595415319, was 1 - counted 0 = =20 data fork in regular inode 8595415321 claims used block 537213497 = =20 correcting nblocks for inode 8595415321, was 1 - counted 0 = =20 data fork in regular inode 8595415322 claims used block 537213498 = =20 correcting nblocks for inode 8595415322, was 1 - counted 0 = =20 data fork in regular inode 8595415323 claims used block 537213499 = =20 correcting nblocks for inode 8595415323, was 1 - counted 0 = =20 data fork in regular inode 8595415324 claims used block 537213500 = =20 correcting nblocks for inode 8595415324, was 1 - counted 0 = =20 data fork in regular inode 8595415325 claims used block 537213501 = =20 correcting nblocks for inode 8595415325, was 2 - counted 0 = =20 data fork in regular inode 8595415326 claims used block 537213503 = =20 correcting nblocks for inode 8595415326, was 1 - counted 0 = =20 inode block 537213458 multiply claimed, state was 3 = =20 data fork in regular inode 8595415328 claims used block 537213463 = =20 correcting nblocks for inode 8595415328, was 1 - counted 0 = =20 data fork in regular inode 8595415329 claims used block 537213504 = =20 correcting nblocks for inode 8595415329, was 1 - counted 0 = =20 data fork in regular inode 8595415330 claims used block 537213505 = =20 correcting nblocks for inode 8595415330, was 1 - counted 0 = =20 data fork in regular inode 8595415331 claims used block 537213506 = =20 correcting nblocks for inode 8595415331, was 1 - counted 0 = =20 data fork in regular inode 8595415332 claims used block 537213507 = =20 correcting nblocks for inode 8595415332, was 2 - counted 0 = =20 data fork in regular inode 8595415333 claims used block 537213509 = =20 correcting nblocks for inode 8595415333, was 1 - counted 0 = =20 data fork in regular inode 8595415334 claims used block 537213510 = =20 correcting nblocks for inode 8595415334, was 1 - counted 0 = =20 data fork in regular inode 8595415336 claims used block 537213511 = =20 correcting nblocks for inode 8595415336, was 1 - counted 0 = =20 data fork in regular inode 8595415337 claims used block 537213512 = =20 correcting nblocks for inode 8595415337, was 2 - counted 0 = =20 data fork in regular inode 8595415338 claims used block 537213514 = =20 correcting nblocks for inode 8595415338, was 1 - counted 0 = =20 data fork in regular inode 8595415339 claims used block 537213515 = =20 correcting nblocks for inode 8595415339, was 1 - counted 0 = =20 data fork in regular inode 8595415341 claims used block 537213516 = =20 correcting nblocks for inode 8595415341, was 1 - counted 0 = =20 inode block 537213459 multiply claimed, state was 3 = =20 data fork in regular inode 8595415345 claims used block 537213464 = =20 correcting nblocks for inode 8595415345, was 1 - counted 0 = =20 data fork in regular inode 8595415347 claims used block 537213517 = =20 correcting nblocks for inode 8595415347, was 1 - counted 0 = =20 data fork in regular inode 8595415348 claims used block 537213518 = =20 correcting nblocks for inode 8595415348, was 1 - counted 0 = =20 data fork in regular inode 8595415349 claims used block 537213519 = =20 correcting nblocks for inode 8595415349, was 1 - counted 0 = =20 data fork in regular inode 8595415350 claims used block 537213520 = =20 correcting nblocks for inode 8595415350, was 1 - counted 0 = =20 data fork in regular inode 8595415352 claims used block 537213521 = =20 correcting nblocks for inode 8595415352, was 1 - counted 0 = =20 data fork in regular inode 8595415354 claims used block 537213465 = =20 correcting nblocks for inode 8595415354, was 1 - counted 0 = =20 data fork in regular inode 8595415355 claims used block 537213522 = =20 correcting nblocks for inode 8595415355, was 1 - counted 0 = =20 data fork in regular inode 8595415356 claims used block 537213523 = =20 correcting nblocks for inode 8595415356, was 1 - counted 0 = =20 data fork in regular inode 8595415357 claims used block 537213524 = =20 correcting nblocks for inode 8595415357, was 1 - counted 0 = =20 data fork in regular inode 8595415358 claims used block 537213525 = =20 correcting nblocks for inode 8595415358, was 1 - counted 0 = =20 data fork in regular inode 8595415359 claims used block 537213526 = =20 correcting nblocks for inode 8595415359, was 1 - counted 0 = =20 inode block 537213472 multiply claimed, state was 3 = =20 data fork in regular inode 8595415552 claims used block 537213527 = =20 correcting nblocks for inode 8595415552, was 1 - counted 0 = =20 data fork in regular inode 8595415553 claims used block 537213528 = =20 correcting nblocks for inode 8595415553, was 1 - counted 0 = =20 data fork in regular inode 8595415554 claims used block 537213529 = =20 correcting nblocks for inode 8595415554, was 1 - counted 0 = =20 data fork in regular inode 8595415555 claims used block 537213530 = =20 correcting nblocks for inode 8595415555, was 1 - counted 0 = =20 data fork in regular inode 8595415556 claims used block 537213531 = =20 correcting nblocks for inode 8595415556, was 1 - counted 0 = =20 data fork in regular inode 8595415557 claims used block 537213532 = =20 correcting nblocks for inode 8595415557, was 1 - counted 0 = =20 data fork in regular inode 8595415558 claims used block 537213533 = =20 correcting nblocks for inode 8595415558, was 1 - counted 0 = =20 data fork in regular inode 8595415567 claims used block 537213471 = =20 correcting nblocks for inode 8595415567, was 1 - counted 0 = =20 inode block 537213473 multiply claimed, state was 3 = =20 data fork in regular inode 8595415568 claims used block 537213534 = =20 correcting nblocks for inode 8595415568, was 1 - counted 0 = =20 data fork in regular inode 8595415569 claims used block 537213535 = =20 correcting nblocks for inode 8595415569, was 1 - counted 0 = =20 data fork in regular inode 8595415570 claims used block 537213536 = =20 correcting nblocks for inode 8595415570, was 1 - counted 0 = =20 data fork in regular inode 8595415571 claims used block 537213537 = =20 correcting nblocks for inode 8595415571, was 1 - counted 0 = =20 data fork in regular inode 8595415572 claims used block 537213538 = =20 correcting nblocks for inode 8595415572, was 1 - counted 0 = =20 data fork in regular inode 8595415573 claims used block 537213539 = =20 correcting nblocks for inode 8595415573, was 1 - counted 0 = =20 data fork in regular inode 8595415574 claims used block 537213540 = =20 correcting nblocks for inode 8595415574, was 1 - counted 0 = =20 data fork in regular inode 8595415575 claims used block 537213541 = =20 correcting nblocks for inode 8595415575, was 1 - counted 0 = =20 data fork in regular inode 8595415576 claims used block 537213542 = =20 correcting nblocks for inode 8595415576, was 1 - counted 0 = =20 data fork in regular inode 8595415577 claims used block 537213543 = =20 correcting nblocks for inode 8595415577, was 1 - counted 0 = =20 data fork in regular inode 8595415578 claims used block 537213544 = =20 correcting nblocks for inode 8595415578, was 1 - counted 0 = =20 data fork in regular inode 8595415579 claims used block 537213545 = =20 correcting nblocks for inode 8595415579, was 1 - counted 0 = =20 data fork in regular inode 8595415581 claims used block 537213470 = =20 correcting nblocks for inode 8595415581, was 1 - counted 0 = =20 data fork in regular inode 8595415583 claims used block 537213546 = =20 correcting nblocks for inode 8595415583, was 1 - counted 0 = =20 inode block 537213474 multiply claimed, state was 3 = =20 data fork in regular inode 8595415584 claims used block 537213547 = =20 correcting nblocks for inode 8595415584, was 1 - counted 0 = =20 data fork in regular inode 8595415585 claims used block 537213548 = =20 correcting nblocks for inode 8595415585, was 1 - counted 0 = =20 data fork in regular inode 8595415586 claims used block 537213549 = =20 correcting nblocks for inode 8595415586, was 1 - counted 0 = =20 data fork in regular inode 8595415590 claims used block 537213550 = =20 correcting nblocks for inode 8595415590, was 1 - counted 0 = =20 data fork in regular inode 8595415591 claims used block 537213551 = =20 correcting nblocks for inode 8595415591, was 1 - counted 0 = =20 data fork in regular inode 8595415592 claims used block 537213552 = =20 correcting nblocks for inode 8595415592, was 1 - counted 0 = =20 data fork in regular inode 8595415593 claims used block 537213553 = =20 correcting nblocks for inode 8595415593, was 1 - counted 0 = =20 data fork in regular inode 8595415594 claims used block 537213568 = =20 correcting nblocks for inode 8595415594, was 3458 - counted 0 = =20 data fork in regular inode 8595415595 claims used block 537213554 = =20 correcting nblocks for inode 8595415595, was 1 - counted 0 = =20 data fork in regular inode 8595415596 claims used block 537213555 = =20 correcting nblocks for inode 8595415596, was 1 - counted 0 = =20 data fork in regular inode 8595415597 claims used block 537213556 = =20 correcting nblocks for inode 8595415597, was 2 - counted 0 = =20 data fork in regular inode 8595415598 claims used block 537213558 = =20 correcting nblocks for inode 8595415598, was 1 - counted 0 = =20 data fork in regular inode 8595415599 claims used block 537213559 = =20 correcting nblocks for inode 8595415599, was 1 - counted 0 = =20 inode block 537213475 multiply claimed, state was 3 = =20 data fork in regular inode 8595415601 claims used block 537213560 = =20 correcting nblocks for inode 8595415601, was 1 - counted 0 = =20 data fork in regular inode 8595415602 claims used block 537213561 = =20 correcting nblocks for inode 8595415602, was 1 - counted 0 = =20 data fork in regular inode 8595415603 claims used block 537213562 = =20 correcting nblocks for inode 8595415603, was 2 - counted 0 = =20 data fork in regular inode 8595415604 claims used block 537213564 = =20 correcting nblocks for inode 8595415604, was 1 - counted 0 = =20 data fork in regular inode 8595415605 claims used block 537213565 = =20 correcting nblocks for inode 8595415605, was 1 - counted 0 = =20 data fork in regular inode 8595415607 claims used block 537213566 = =20 correcting nblocks for inode 8595415607, was 1 - counted 0 = =20 inode block 537217040 multiply claimed, state was 3 = =20 data fork in regular inode 8595472642 claims used block 537217039 = =20 correcting nblocks for inode 8595472642, was 1 - counted 0 = =20 data fork in regular inode 8595472643 claims used block 537217037 = =20 correcting nblocks for inode 8595472643, was 2 - counted 0 = =20 data fork in regular inode 8595472644 claims used block 537217048 = =20 correcting nblocks for inode 8595472644, was 13 - counted 0 = =20 data fork in regular inode 8595472645 claims used block 537217035 = =20 correcting nblocks for inode 8595472645, was 2 - counted 0 = =20 data fork in regular inode 8595472646 claims used block 537217061 = =20 correcting nblocks for inode 8595472646, was 13 - counted 0 = =20 data fork in regular inode 8595472647 claims used block 537217033 = =20 correcting nblocks for inode 8595472647, was 2 - counted 0 = =20 data fork in regular inode 8595472648 claims used block 537217074 = =20 correcting nblocks for inode 8595472648, was 11 - counted 0 = =20 data fork in regular inode 8595472649 claims used block 537217031 = =20 correcting nblocks for inode 8595472649, was 2 - counted 0 = =20 data fork in regular inode 8595472650 claims used block 537217085 = =20 correcting nblocks for inode 8595472650, was 14 - counted 0 = =20 data fork in regular inode 8595472651 claims used block 537217029 = =20 correcting nblocks for inode 8595472651, was 2 - counted 0 = =20 data fork in regular inode 8595472652 claims used block 537217104 = =20 correcting nblocks for inode 8595472652, was 16 - counted 0 = =20 data fork in regular inode 8595472653 claims used block 537217027 = =20 correcting nblocks for inode 8595472653, was 2 - counted 0 = =20 data fork in regular inode 8595472654 claims used block 537217120 = =20 correcting nblocks for inode 8595472654, was 16 - counted 0 = =20 data fork in regular inode 8595472655 claims used block 537217099 = =20 correcting nblocks for inode 8595472655, was 2 - counted 0 = =20 inode block 537217041 multiply claimed, state was 3 = =20 data fork in regular inode 8595472656 claims used block 537217136 = =20 correcting nblocks for inode 8595472656, was 16 - counted 0 = =20 data fork in regular inode 8595472657 claims used block 537217101 = =20 correcting nblocks for inode 8595472657, was 2 - counted 0 = =20 data fork in regular inode 8595472658 claims used block 537217152 = =20 correcting nblocks for inode 8595472658, was 12 - counted 0 = =20 data fork in regular inode 8595472659 claims used block 537217164 = =20 correcting nblocks for inode 8595472659, was 2 - counted 0 = =20 data fork in regular inode 8595472660 claims used block 537217168 = =20 correcting nblocks for inode 8595472660, was 16 - counted 0 = =20 data fork in regular inode 8595472661 claims used block 537217166 = =20 correcting nblocks for inode 8595472661, was 2 - counted 0 = =20 data fork in regular inode 8595472662 claims used block 537217184 = =20 correcting nblocks for inode 8595472662, was 16 - counted 0 = =20 data fork in regular inode 8595472663 claims used block 537217200 = =20 correcting nblocks for inode 8595472663, was 2 - counted 0 = =20 data fork in regular inode 8595472664 claims used block 537217216 = =20 correcting nblocks for inode 8595472664, was 16 - counted 0 = =20 data fork in regular inode 8595472665 claims used block 537217202 = =20 correcting nblocks for inode 8595472665, was 2 - counted 0 = =20 data fork in regular inode 8595472666 claims used block 537217232 = =20 correcting nblocks for inode 8595472666, was 17 - counted 0 = =20 data fork in regular inode 8595472667 claims used block 537217204 = =20 correcting nblocks for inode 8595472667, was 2 - counted 0 = =20 data fork in regular inode 8595472668 claims used block 537217264 = =20 correcting nblocks for inode 8595472668, was 16 - counted 0 = =20 data fork in regular inode 8595472669 claims used block 537217206 = =20 correcting nblocks for inode 8595472669, was 2 - counted 0 = =20 data fork in regular inode 8595472670 claims used block 537217249 = =20 correcting nblocks for inode 8595472670, was 14 - counted 0 = =20 data fork in regular inode 8595472671 claims used block 537217208 = =20 correcting nblocks for inode 8595472671, was 2 - counted 0 = =20 inode block 537217042 multiply claimed, state was 3 = =20 data fork in regular inode 8595472672 claims used block 537217280 = =20 correcting nblocks for inode 8595472672, was 14 - counted 0 = =20 data fork in regular inode 8595472673 claims used block 537217210 = =20 correcting nblocks for inode 8595472673, was 2 - counted 0 = =20 data fork in regular inode 8595472674 claims used block 537217294 = =20 correcting nblocks for inode 8595472674, was 14 - counted 0 = =20 data fork in regular inode 8595472675 claims used block 537217212 = =20 correcting nblocks for inode 8595472675, was 2 - counted 0 = =20 data fork in regular inode 8595472676 claims used block 537217308 = =20 correcting nblocks for inode 8595472676, was 13 - counted 0 = =20 data fork in regular inode 8595472677 claims used block 537217214 = =20 correcting nblocks for inode 8595472677, was 2 - counted 0 = =20 data fork in regular inode 8595472678 claims used block 537217321 = =20 correcting nblocks for inode 8595472678, was 12 - counted 0 = =20 data fork in regular inode 8595472679 claims used block 537217333 = =20 correcting nblocks for inode 8595472679, was 2 - counted 0 = =20 data fork in regular inode 8595472680 claims used block 537217335 = =20 correcting nblocks for inode 8595472680, was 14 - counted 0 = =20 data fork in regular inode 8595472681 claims used block 537217349 = =20 correcting nblocks for inode 8595472681, was 2 - counted 0 = =20 data fork in regular inode 8595472682 claims used block 537217351 = =20 correcting nblocks for inode 8595472682, was 12 - counted 0 = =20 data fork in regular inode 8595472683 claims used block 537217363 = =20 correcting nblocks for inode 8595472683, was 2 - counted 0 = =20 data fork in regular inode 8595472684 claims used block 537217365 = =20 correcting nblocks for inode 8595472684, was 11 - counted 0 = =20 data fork in regular inode 8595472685 claims used block 537217376 = =20 correcting nblocks for inode 8595472685, was 2 - counted 0 = =20 data fork in regular inode 8595472686 claims used block 537217378 = =20 correcting nblocks for inode 8595472686, was 13 - counted 0 = =20 data fork in regular inode 8595472687 claims used block 537217391 = =20 correcting nblocks for inode 8595472687, was 2 - counted 0 = =20 inode block 537217043 multiply claimed, state was 3 = =20 data fork in regular inode 8595472688 claims used block 537217393 = =20 correcting nblocks for inode 8595472688, was 10 - counted 0 = =20 data fork in regular inode 8595472689 claims used block 537217403 = =20 correcting nblocks for inode 8595472689, was 2 - counted 0 = =20 data fork in regular inode 8595472690 claims used block 537217405 = =20 correcting nblocks for inode 8595472690, was 11 - counted 0 = =20 data fork in regular inode 8595472691 claims used block 537217416 = =20 correcting nblocks for inode 8595472691, was 2 - counted 0 = =20 data fork in regular inode 8595472692 claims used block 537217418 = =20 correcting nblocks for inode 8595472692, was 13 - counted 0 = =20 data fork in regular inode 8595472693 claims used block 537217431 = =20 correcting nblocks for inode 8595472693, was 2 - counted 0 = =20 data fork in regular inode 8595472694 claims used block 537217433 = =20 correcting nblocks for inode 8595472694, was 12 - counted 0 = =20 data fork in regular inode 8595472695 claims used block 537217445 = =20 correcting nblocks for inode 8595472695, was 2 - counted 0 = =20 data fork in regular inode 8595472696 claims used block 537217447 = =20 correcting nblocks for inode 8595472696, was 15 - counted 0 = =20 data fork in regular inode 8595472697 claims used block 537217462 = =20 correcting nblocks for inode 8595472697, was 2 - counted 0 = =20 data fork in regular inode 8595472698 claims used block 537217472 = =20 correcting nblocks for inode 8595472698, was 16 - counted 0 = =20 data fork in regular inode 8595472699 claims used block 537217464 = =20 correcting nblocks for inode 8595472699, was 2 - counted 0 = =20 data fork in regular inode 8595472700 claims used block 537217488 = =20 correcting nblocks for inode 8595472700, was 16 - counted 0 = =20 data fork in regular inode 8595472701 claims used block 537217466 = =20 correcting nblocks for inode 8595472701, was 2 - counted 0 = =20 data fork in regular inode 8595472702 claims used block 537217504 = =20 correcting nblocks for inode 8595472702, was 14 - counted 0 = =20 data fork in regular inode 8595472703 claims used block 537217468 = =20 correcting nblocks for inode 8595472703, was 2 - counted 0 = =20 inode block 537217044 multiply claimed, state was 3 = =20 data fork in regular inode 8595472704 claims used block 537217520 = =20 correcting nblocks for inode 8595472704, was 16 - counted 0 = =20 data fork in regular inode 8595472705 claims used block 537217470 = =20 correcting nblocks for inode 8595472705, was 2 - counted 0 = =20 data fork in regular inode 8595472706 claims used block 537217536 = =20 correcting nblocks for inode 8595472706, was 13 - counted 0 = =20 data fork in regular inode 8595472708 claims used block 537217026 = =20 correcting nblocks for inode 8595472708, was 1 - counted 0 = =20 data fork in regular inode 8595472711 claims used block 537217103 = =20 correcting nblocks for inode 8595472711, was 1 - counted 0 = =20 data fork in regular inode 8595472712 claims used block 537217263 = =20 correcting nblocks for inode 8595472712, was 1 - counted 0 = =20 data fork in regular inode 8595472713 claims used block 537217518 = =20 correcting nblocks for inode 8595472713, was 1 - counted 0 = =20 data fork in regular inode 8595472714 claims used block 537217519 = =20 correcting nblocks for inode 8595472714, was 1 - counted 0 = =20 data fork in regular inode 8595472715 claims used block 537217549 = =20 correcting nblocks for inode 8595472715, was 1 - counted 0 = =20 data fork in regular inode 8595472716 claims used block 537217550 = =20 correcting nblocks for inode 8595472716, was 1 - counted 0 = =20 data fork in regular inode 8595472717 claims used block 537217551 = =20 correcting nblocks for inode 8595472717, was 1 - counted 0 = =20 data fork in regular inode 8595472718 claims used block 537217560 = =20 correcting nblocks for inode 8595472718, was 1 - counted 0 = =20 data fork in regular inode 8595472719 claims used block 537217561 = =20 correcting nblocks for inode 8595472719, was 1 - counted 0 = =20 inode block 537217045 multiply claimed, state was 3 = =20 data fork in regular inode 8595472720 claims used block 537217562 = =20 correcting nblocks for inode 8595472720, was 1 - counted 0 = =20 data fork in regular inode 8595472721 claims used block 537217563 = =20 correcting nblocks for inode 8595472721, was 1 - counted 0 = =20 data fork in regular inode 8595472722 claims used block 537217564 = =20 correcting nblocks for inode 8595472722, was 1 - counted 0 = =20 data fork in regular inode 8595472723 claims used block 537217565 = =20 correcting nblocks for inode 8595472723, was 1 - counted 0 = =20 data fork in regular inode 8595472724 claims used block 537217566 = =20 correcting nblocks for inode 8595472724, was 1 - counted 0 = =20 data fork in regular inode 8595472725 claims used block 537217567 = =20 correcting nblocks for inode 8595472725, was 1 - counted 0 = =20 data fork in regular inode 8595472726 claims used block 537217568 = =20 correcting nblocks for inode 8595472726, was 1 - counted 0 = =20 data fork in regular inode 8595472727 claims used block 537217569 = =20 correcting nblocks for inode 8595472727, was 1 - counted 0 = =20 data fork in regular inode 8595472728 claims used block 537217570 = =20 correcting nblocks for inode 8595472728, was 1 - counted 0 = =20 data fork in regular inode 8595472729 claims used block 537217571 = =20 correcting nblocks for inode 8595472729, was 1 - counted 0 = =20 data fork in regular inode 8595472730 claims used block 537217572 = =20 correcting nblocks for inode 8595472730, was 1 - counted 0 = =20 data fork in regular inode 8595472731 claims used block 537217573 = =20 correcting nblocks for inode 8595472731, was 1 - counted 0 = =20 data fork in regular inode 8595472732 claims used block 537217574 = =20 correcting nblocks for inode 8595472732, was 1 - counted 0 = =20 data fork in regular inode 8595472733 claims used block 537217575 = =20 correcting nblocks for inode 8595472733, was 1 - counted 0 = =20 data fork in regular inode 8595472734 claims used block 537217576 = =20 correcting nblocks for inode 8595472734, was 1 - counted 0 = =20 data fork in regular inode 8595472735 claims used block 537217577 = =20 correcting nblocks for inode 8595472735, was 1 - counted 0 = =20 inode block 537217046 multiply claimed, state was 3 = =20 data fork in regular inode 8595472736 claims used block 537217578 = =20 correcting nblocks for inode 8595472736, was 1 - counted 0 = =20 data fork in regular inode 8595472737 claims used block 537217579 = =20 correcting nblocks for inode 8595472737, was 1 - counted 0 = =20 data fork in regular inode 8595472738 claims used block 537217580 = =20 correcting nblocks for inode 8595472738, was 1 - counted 0 = =20 data fork in regular inode 8595472739 claims used block 537217581 = =20 correcting nblocks for inode 8595472739, was 1 - counted 0 = =20 data fork in regular inode 8595472740 claims used block 537217582 = =20 correcting nblocks for inode 8595472740, was 1 - counted 0 = =20 data fork in regular inode 8595472741 claims used block 537217583 = =20 correcting nblocks for inode 8595472741, was 1 - counted 0 = =20 data fork in regular inode 8595472742 claims used block 537217584 = =20 correcting nblocks for inode 8595472742, was 1 - counted 0 = =20 data fork in regular inode 8595472743 claims used block 537217585 = =20 correcting nblocks for inode 8595472743, was 1 - counted 0 = =20 data fork in regular inode 8595472744 claims used block 537217586 = =20 correcting nblocks for inode 8595472744, was 1 - counted 0 = =20 data fork in regular inode 8595472745 claims used block 537217587 = =20 correcting nblocks for inode 8595472745, was 1 - counted 0 = =20 data fork in regular inode 8595472746 claims used block 537217588 = =20 correcting nblocks for inode 8595472746, was 1 - counted 0 = =20 data fork in regular inode 8595472747 claims used block 537217589 = =20 correcting nblocks for inode 8595472747, was 1 - counted 0 = =20 data fork in regular inode 8595472748 claims used block 537217590 = =20 correcting nblocks for inode 8595472748, was 1 - counted 0 = =20 data fork in regular inode 8595472749 claims used block 537217591 = =20 correcting nblocks for inode 8595472749, was 1 - counted 0 = =20 data fork in regular inode 8595472750 claims used block 537217592 = =20 correcting nblocks for inode 8595472750, was 1 - counted 0 = =20 data fork in regular inode 8595472751 claims used block 537217593 = =20 correcting nblocks for inode 8595472751, was 1 - counted 0 = =20 inode block 537217047 multiply claimed, state was 3 = =20 data fork in regular inode 8595472752 claims used block 537217594 = =20 correcting nblocks for inode 8595472752, was 1 - counted 0 = =20 data fork in regular inode 8595472753 claims used block 537217595 = =20 correcting nblocks for inode 8595472753, was 1 - counted 0 = =20 data fork in regular inode 8595472754 claims used block 537217596 = =20 correcting nblocks for inode 8595472754, was 1 - counted 0 = =20 data fork in regular inode 8595472755 claims used block 537217597 = =20 correcting nblocks for inode 8595472755, was 1 - counted 0 = =20 data fork in regular inode 8595472756 claims used block 537217598 = =20 correcting nblocks for inode 8595472756, was 1 - counted 0 = =20 data fork in regular inode 8595472757 claims used block 537217599 = =20 correcting nblocks for inode 8595472757, was 1 - counted 0 = =20 data fork in regular inode 8595472758 claims used block 537217600 = =20 correcting nblocks for inode 8595472758, was 1 - counted 0 = =20 data fork in regular inode 8595472759 claims used block 537217601 = =20 correcting nblocks for inode 8595472759, was 1 - counted 0 = =20 data fork in regular inode 8595472760 claims used block 537217602 = =20 correcting nblocks for inode 8595472760, was 1 - counted 0 = =20 data fork in regular inode 8595472761 claims used block 537217603 = =20 correcting nblocks for inode 8595472761, was 1 - counted 0 = =20 data fork in regular inode 8595472762 claims used block 537217604 = =20 correcting nblocks for inode 8595472762, was 1 - counted 0 = =20 data fork in regular inode 8595472763 claims used block 537217605 = =20 correcting nblocks for inode 8595472763, was 1 - counted 0 = =20 data fork in regular inode 8595472764 claims used block 537217606 = =20 correcting nblocks for inode 8595472764, was 1 - counted 0 = =20 data fork in regular inode 8595472765 claims used block 537217607 = =20 correcting nblocks for inode 8595472765, was 1 - counted 0 = =20 data fork in regular inode 8595472766 claims used block 537217608 = =20 correcting nblocks for inode 8595472766, was 1 - counted 0 = =20 data fork in regular inode 8595472767 claims used block 537217609 = =20 correcting nblocks for inode 8595472767, was 1 - counted 0 = =20 inode block 537217552 multiply claimed, state was 3 = =20 data fork in regular inode 8595480832 claims used block 537217610 = =20 correcting nblocks for inode 8595480832, was 1 - counted 0 = =20 data fork in regular inode 8595480833 claims used block 537217611 = =20 correcting nblocks for inode 8595480833, was 1 - counted 0 = =20 data fork in regular inode 8595480834 claims used block 537217612 = =20 correcting nblocks for inode 8595480834, was 1 - counted 0 = =20 data fork in regular inode 8595480835 claims used block 537217613 = =20 correcting nblocks for inode 8595480835, was 1 - counted 0 = =20 data fork in regular inode 8595480836 claims used block 537217614 = =20 correcting nblocks for inode 8595480836, was 1 - counted 0 = =20 data fork in regular inode 8595480837 claims used block 537217615 = =20 correcting nblocks for inode 8595480837, was 1 - counted 0 = =20 data fork in regular inode 8595480838 claims used block 537217616 = =20 correcting nblocks for inode 8595480838, was 1 - counted 0 = =20 data fork in regular inode 8595480839 claims used block 537217617 = =20 correcting nblocks for inode 8595480839, was 1 - counted 0 = =20 data fork in regular inode 8595480840 claims used block 537217618 = =20 correcting nblocks for inode 8595480840, was 1 - counted 0 = =20 data fork in regular inode 8595480841 claims used block 537217619 = =20 correcting nblocks for inode 8595480841, was 1 - counted 0 = =20 data fork in regular inode 8595480842 claims used block 537217620 = =20 correcting nblocks for inode 8595480842, was 1 - counted 0 = =20 data fork in regular inode 8595480843 claims used block 537217621 = =20 correcting nblocks for inode 8595480843, was 1 - counted 0 = =20 data fork in regular inode 8595480844 claims used block 537217622 = =20 correcting nblocks for inode 8595480844, was 1 - counted 0 = =20 data fork in regular inode 8595480845 claims used block 537217623 = =20 correcting nblocks for inode 8595480845, was 1 - counted 0 = =20 data fork in regular inode 8595480846 claims used block 537217624 = =20 correcting nblocks for inode 8595480846, was 1 - counted 0 = =20 data fork in regular inode 8595480847 claims used block 537217625 = =20 correcting nblocks for inode 8595480847, was 1 - counted 0 = =20 inode block 537217553 multiply claimed, state was 3 = =20 data fork in regular inode 8595480848 claims used block 537217626 = =20 correcting nblocks for inode 8595480848, was 1 - counted 0 = =20 data fork in regular inode 8595480849 claims used block 537217627 = =20 correcting nblocks for inode 8595480849, was 1 - counted 0 = =20 data fork in regular inode 8595480850 claims used block 537217628 = =20 correcting nblocks for inode 8595480850, was 1 - counted 0 = =20 data fork in regular inode 8595480851 claims used block 537217629 = =20 correcting nblocks for inode 8595480851, was 1 - counted 0 = =20 data fork in regular inode 8595480852 claims used block 537217630 = =20 correcting nblocks for inode 8595480852, was 1 - counted 0 = =20 data fork in regular inode 8595480853 claims used block 537217631 = =20 correcting nblocks for inode 8595480853, was 1 - counted 0 = =20 data fork in regular inode 8595480854 claims used block 537219742 = =20 correcting nblocks for inode 8595480854, was 1 - counted 0 = =20 data fork in regular inode 8595480855 claims used block 537219743 = =20 correcting nblocks for inode 8595480855, was 1 - counted 0 = =20 data fork in regular inode 8595480856 claims used block 537219744 = =20 correcting nblocks for inode 8595480856, was 1 - counted 0 = =20 data fork in regular inode 8595480857 claims used block 537219745 = =20 correcting nblocks for inode 8595480857, was 1 - counted 0 = =20 data fork in regular inode 8595480858 claims used block 537219746 = =20 correcting nblocks for inode 8595480858, was 1 - counted 0 = =20 data fork in regular inode 8595480859 claims used block 537219747 = =20 correcting nblocks for inode 8595480859, was 1 - counted 0 = =20 data fork in regular inode 8595480860 claims used block 537219748 = =20 correcting nblocks for inode 8595480860, was 1 - counted 0 = =20 data fork in regular inode 8595480861 claims used block 537219749 = =20 correcting nblocks for inode 8595480861, was 1 - counted 0 = =20 data fork in regular inode 8595480862 claims used block 537219750 = =20 correcting nblocks for inode 8595480862, was 1 - counted 0 = =20 data fork in regular inode 8595480863 claims used block 537219751 = =20 correcting nblocks for inode 8595480863, was 1 - counted 0 = =20 inode block 537217554 multiply claimed, state was 3 = =20 data fork in regular inode 8595480864 claims used block 537219752 = =20 correcting nblocks for inode 8595480864, was 1 - counted 0 = =20 data fork in regular inode 8595480865 claims used block 537219753 = =20 correcting nblocks for inode 8595480865, was 1 - counted 0 = =20 data fork in regular inode 8595480866 claims used block 537219754 = =20 correcting nblocks for inode 8595480866, was 1 - counted 0 = =20 data fork in regular inode 8595480867 claims used block 537219755 = =20 correcting nblocks for inode 8595480867, was 1 - counted 0 = =20 data fork in regular inode 8595480868 claims used block 537219756 = =20 correcting nblocks for inode 8595480868, was 1 - counted 0 = =20 data fork in regular inode 8595480869 claims used block 537219757 = =20 correcting nblocks for inode 8595480869, was 1 - counted 0 = =20 data fork in regular inode 8595480870 claims used block 537219758 = =20 correcting nblocks for inode 8595480870, was 1 - counted 0 = =20 data fork in regular inode 8595480871 claims used block 537219759 = =20 correcting nblocks for inode 8595480871, was 1 - counted 0 = =20 data fork in regular inode 8595480872 claims used block 537219760 = =20 correcting nblocks for inode 8595480872, was 1 - counted 0 = =20 data fork in regular inode 8595480873 claims used block 537219761 = =20 correcting nblocks for inode 8595480873, was 1 - counted 0 = =20 data fork in regular inode 8595480874 claims used block 537219762 = =20 correcting nblocks for inode 8595480874, was 1 - counted 0 = =20 data fork in regular inode 8595480875 claims used block 537219763 = =20 correcting nblocks for inode 8595480875, was 1 - counted 0 = =20 data fork in regular inode 8595480876 claims used block 537219764 = =20 correcting nblocks for inode 8595480876, was 1 - counted 0 = =20 data fork in regular inode 8595480877 claims used block 537219765 = =20 correcting nblocks for inode 8595480877, was 1 - counted 0 = =20 data fork in regular inode 8595480878 claims used block 537219766 = =20 correcting nblocks for inode 8595480878, was 1 - counted 0 = =20 data fork in regular inode 8595480879 claims used block 537219767 = =20 correcting nblocks for inode 8595480879, was 1 - counted 0 = =20 inode block 537217555 multiply claimed, state was 3 = =20 data fork in regular inode 8595480880 claims used block 537219768 = =20 correcting nblocks for inode 8595480880, was 1 - counted 0 = =20 data fork in regular inode 8595480881 claims used block 537219769 = =20 correcting nblocks for inode 8595480881, was 1 - counted 0 = =20 data fork in regular inode 8595480882 claims used block 537219770 = =20 correcting nblocks for inode 8595480882, was 1 - counted 0 = =20 data fork in regular inode 8595480883 claims used block 537219771 = =20 correcting nblocks for inode 8595480883, was 1 - counted 0 = =20 data fork in regular inode 8595480884 claims used block 537219772 = =20 correcting nblocks for inode 8595480884, was 1 - counted 0 = =20 data fork in regular inode 8595480885 claims used block 537219773 = =20 correcting nblocks for inode 8595480885, was 1 - counted 0 = =20 data fork in regular inode 8595480886 claims used block 537219774 = =20 correcting nblocks for inode 8595480886, was 1 - counted 0 = =20 data fork in regular inode 8595480887 claims used block 537219775 = =20 correcting nblocks for inode 8595480887, was 1 - counted 0 = =20 data fork in regular inode 8595480888 claims used block 537219776 = =20 correcting nblocks for inode 8595480888, was 1 - counted 0 = =20 data fork in regular inode 8595480889 claims used block 537219777 = =20 correcting nblocks for inode 8595480889, was 1 - counted 0 = =20 data fork in regular inode 8595480894 claims used block 537219778 = =20 correcting nblocks for inode 8595480894, was 1 - counted 0 = =20 inode block 537217556 multiply claimed, state was 3 = =20 data fork in regular inode 8595480896 claims used block 537219779 = =20 correcting nblocks for inode 8595480896, was 1 - counted 0 = =20 data fork in regular inode 8595480899 claims used block 537219780 = =20 correcting nblocks for inode 8595480899, was 1 - counted 0 = =20 data fork in regular inode 8595480901 claims used block 537219781 = =20 correcting nblocks for inode 8595480901, was 1 - counted 0 = =20 data fork in regular inode 8595480902 claims used block 537219792 = =20 correcting nblocks for inode 8595480902, was 48 - counted 0 = =20 data fork in regular inode 8595480903 claims used block 537219840 = =20 correcting nblocks for inode 8595480903, was 48 - counted 0 = =20 data fork in regular inode 8595480904 claims used block 537219888 = =20 correcting nblocks for inode 8595480904, was 50 - counted 0 = =20 data fork in regular inode 8595480905 claims used block 537219952 = =20 correcting nblocks for inode 8595480905, was 49 - counted 0 = =20 data fork in regular inode 8595480906 claims used block 537220016 = =20 correcting nblocks for inode 8595480906, was 28 - counted 0 = =20 data fork in regular inode 8595480907 claims used block 537220048 = =20 correcting nblocks for inode 8595480907, was 42 - counted 0 = =20 data fork in regular inode 8595480908 claims used block 537220096 = =20 correcting nblocks for inode 8595480908, was 51 - counted 0 = =20 data fork in regular inode 8595480909 claims used block 537220160 = =20 correcting nblocks for inode 8595480909, was 48 - counted 0 = =20 data fork in regular inode 8595480910 claims used block 537220208 = =20 correcting nblocks for inode 8595480910, was 52 - counted 0 = =20 data fork in regular inode 8595480911 claims used block 537220272 = =20 correcting nblocks for inode 8595480911, was 41 - counted 0 = =20 inode block 537217557 multiply claimed, state was 3 = =20 data fork in regular inode 8595480912 claims used block 537220320 = =20 correcting nblocks for inode 8595480912, was 48 - counted 0 = =20 data fork in regular inode 8595480913 claims used block 537220368 = =20 correcting nblocks for inode 8595480913, was 30 - counted 0 = =20 data fork in regular inode 8595480914 claims used block 537220400 = =20 correcting nblocks for inode 8595480914, was 44 - counted 0 = =20 data fork in regular inode 8595480915 claims used block 537220448 = =20 correcting nblocks for inode 8595480915, was 50 - counted 0 = =20 data fork in regular inode 8595480916 claims used block 537220512 = =20 correcting nblocks for inode 8595480916, was 45 - counted 0 = =20 data fork in regular inode 8595480917 claims used block 537220560 = =20 correcting nblocks for inode 8595480917, was 44 - counted 0 = =20 data fork in regular inode 8595480918 claims used block 537220608 = =20 correcting nblocks for inode 8595480918, was 49 - counted 0 = =20 data fork in regular inode 8595480919 claims used block 537220672 = =20 correcting nblocks for inode 8595480919, was 50 - counted 0 = =20 data fork in regular inode 8595480920 claims used block 537220736 = =20 correcting nblocks for inode 8595480920, was 34 - counted 0 = =20 data fork in regular inode 8595480921 claims used block 537220784 = =20 correcting nblocks for inode 8595480921, was 45 - counted 0 = =20 data fork in regular inode 8595480922 claims used block 537220832 = =20 correcting nblocks for inode 8595480922, was 47 - counted 0 = =20 data fork in regular inode 8595480923 claims used block 537220880 = =20 correcting nblocks for inode 8595480923, was 55 - counted 0 = =20 data fork in regular inode 8595480924 claims used block 537220944 = =20 correcting nblocks for inode 8595480924, was 31 - counted 0 = =20 data fork in regular inode 8595480925 claims used block 537220976 = =20 correcting nblocks for inode 8595480925, was 29 - counted 0 = =20 data fork in regular inode 8595480926 claims used block 537221008 = =20 correcting nblocks for inode 8595480926, was 50 - counted 0 = =20 data fork in regular inode 8595480927 claims used block 537221072 = =20 correcting nblocks for inode 8595480927, was 47 - counted 0 = =20 inode block 537217558 multiply claimed, state was 3 = =20 data fork in regular inode 8595480928 claims used block 537221120 = =20 correcting nblocks for inode 8595480928, was 42 - counted 0 = =20 data fork in regular inode 8595480933 claims used block 537219782 = =20 correcting nblocks for inode 8595480933, was 1 - counted 0 = =20 data fork in regular inode 8595480934 claims used block 537219784 = =20 correcting nblocks for inode 8595480934, was 1 - counted 0 = =20 data fork in regular inode 8595480935 claims used block 537219785 = =20 correcting nblocks for inode 8595480935, was 1 - counted 0 = =20 data fork in regular inode 8595480936 claims used block 537219786 = =20 correcting nblocks for inode 8595480936, was 1 - counted 0 = =20 data fork in regular inode 8595480937 claims used block 537219787 = =20 correcting nblocks for inode 8595480937, was 2 - counted 0 = =20 data fork in regular inode 8595480938 claims used block 537219789 = =20 correcting nblocks for inode 8595480938, was 1 - counted 0 = =20 data fork in regular inode 8595480939 claims used block 537219790 = =20 correcting nblocks for inode 8595480939, was 1 - counted 0 = =20 data fork in regular inode 8595480941 claims used block 537219791 = =20 correcting nblocks for inode 8595480941, was 1 - counted 0 = =20 data fork in regular inode 8595480942 claims used block 537219938 = =20 correcting nblocks for inode 8595480942, was 2 - counted 0 = =20 data fork in regular inode 8595480943 claims used block 537219940 = =20 correcting nblocks for inode 8595480943, was 1 - counted 0 = =20 inode block 537217559 multiply claimed, state was 3 = =20 data fork in regular inode 8595480944 claims used block 537219941 = =20 correcting nblocks for inode 8595480944, was 1 - counted 0 = =20 data fork in regular inode 8595480945 claims used block 537219942 = =20 correcting nblocks for inode 8595480945, was 1 - counted 0 = =20 data fork in regular inode 8595480947 claims used block 537219783 = =20 correcting nblocks for inode 8595480947, was 1 - counted 0 = =20 data fork in regular inode 8595480949 claims used block 537219943 = =20 correcting nblocks for inode 8595480949, was 1 - counted 0 = =20 data fork in regular inode 8595480950 claims used block 537219944 = =20 correcting nblocks for inode 8595480950, was 1 - counted 0 = =20 data fork in regular inode 8595480951 claims used block 537219945 = =20 correcting nblocks for inode 8595480951, was 1 - counted 0 = =20 data fork in regular inode 8595480952 claims used block 537219946 = =20 correcting nblocks for inode 8595480952, was 1 - counted 0 = =20 inode block 537221168 multiply claimed, state was 3 = =20 data fork in regular inode 8595538688 claims used block 537221167 = =20 correcting nblocks for inode 8595538688, was 1 - counted 0 = =20 data fork in regular inode 8595538689 claims used block 537221165 = =20 correcting nblocks for inode 8595538689, was 1 - counted 0 = =20 data fork in regular inode 8595538690 claims used block 537221164 = =20 correcting nblocks for inode 8595538690, was 1 - counted 0 = =20 data fork in regular inode 8595538691 claims used block 537221172 = =20 correcting nblocks for inode 8595538691, was 1 - counted 0 = =20 data fork in regular inode 8595538692 claims used block 537221163 = =20 correcting nblocks for inode 8595538692, was 1 - counted 0 = =20 data fork in regular inode 8595538693 claims used block 537221173 = =20 correcting nblocks for inode 8595538693, was 1 - counted 0 = =20 data fork in regular inode 8595538694 claims used block 537221162 = =20 correcting nblocks for inode 8595538694, was 1 - counted 0 = =20 data fork in regular inode 8595538695 claims used block 537221174 = =20 correcting nblocks for inode 8595538695, was 1 - counted 0 = =20 data fork in regular inode 8595538696 claims used block 537221175 = =20 correcting nblocks for inode 8595538696, was 1 - counted 0 = =20 data fork in regular inode 8595538697 claims used block 537221176 = =20 correcting nblocks for inode 8595538697, was 1 - counted 0 = =20 data fork in regular inode 8595538698 claims used block 537221177 = =20 correcting nblocks for inode 8595538698, was 1 - counted 0 = =20 data fork in regular inode 8595538699 claims used block 537221178 = =20 correcting nblocks for inode 8595538699, was 1 - counted 0 = =20 data fork in regular inode 8595538700 claims used block 537221179 = =20 correcting nblocks for inode 8595538700, was 1 - counted 0 = =20 data fork in regular inode 8595538702 claims used block 537221180 = =20 correcting nblocks for inode 8595538702, was 1 - counted 0 = =20 inode block 537221169 multiply claimed, state was 3 = =20 data fork in regular inode 8595538707 claims used block 537221166 = =20 correcting nblocks for inode 8595538707, was 1 - counted 0 = =20 data fork in regular inode 8595538708 claims used block 537221181 = =20 correcting nblocks for inode 8595538708, was 9 - counted 0 = =20 data fork in regular inode 8595538709 claims used block 537221190 = =20 correcting nblocks for inode 8595538709, was 5 - counted 0 = =20 data fork in regular inode 8595538710 claims used block 537221195 = =20 correcting nblocks for inode 8595538710, was 3 - counted 0 = =20 data fork in regular inode 8595538711 claims used block 537221198 = =20 correcting nblocks for inode 8595538711, was 3 - counted 0 = =20 data fork in regular inode 8595538712 claims used block 537221201 = =20 correcting nblocks for inode 8595538712, was 2 - counted 0 = =20 data fork in regular inode 8595538713 claims used block 537221203 = =20 correcting nblocks for inode 8595538713, was 3 - counted 0 = =20 data fork in regular inode 8595538714 claims used block 537221206 = =20 correcting nblocks for inode 8595538714, was 2 - counted 0 = =20 data fork in regular inode 8595538717 claims used block 537221208 = =20 correcting nblocks for inode 8595538717, was 1 - counted 0 = =20 inode block 537221170 multiply claimed, state was 3 = =20 inode block 537221171 multiply claimed, state was 3 = =20 inode block 537235296 multiply claimed, state was 3 = =20 data fork in regular inode 8595764737 claims used block 537235293 = =20 correcting nblocks for inode 8595764737, was 2 - counted 0 = =20 data fork in regular inode 8595764738 claims used block 537235300 = =20 correcting nblocks for inode 8595764738, was 3 - counted 0 = =20 data fork in regular inode 8595764739 claims used block 537235303 = =20 correcting nblocks for inode 8595764739, was 2 - counted 0 = =20 data fork in regular inode 8595764741 claims used block 537235292 = =20 correcting nblocks for inode 8595764741, was 1 - counted 0 = =20 data fork in regular inode 8595764743 claims used block 537235305 = =20 correcting nblocks for inode 8595764743, was 1 - counted 0 = =20 data fork in regular inode 8595764744 claims used block 537235306 = =20 correcting nblocks for inode 8595764744, was 1 - counted 0 = =20 data fork in regular inode 8595764745 claims used block 537235307 = =20 correcting nblocks for inode 8595764745, was 2 - counted 0 = =20 data fork in regular inode 8595764746 claims used block 537235309 = =20 correcting nblocks for inode 8595764746, was 4 - counted 0 = =20 data fork in regular inode 8595764747 claims used block 537235313 = =20 correcting nblocks for inode 8595764747, was 1 - counted 0 = =20 data fork in regular inode 8595764748 claims used block 537235314 = =20 correcting nblocks for inode 8595764748, was 2 - counted 0 = =20 data fork in regular inode 8595764749 claims used block 537235295 = =20 correcting nblocks for inode 8595764749, was 1 - counted 0 = =20 data fork in regular inode 8595764750 claims used block 537235316 = =20 correcting nblocks for inode 8595764750, was 1 - counted 0 = =20 data fork in regular inode 8595764751 claims used block 537235317 = =20 correcting nblocks for inode 8595764751, was 2 - counted 0 = =20 inode block 537235297 multiply claimed, state was 3 = =20 data fork in regular inode 8595764752 claims used block 537235319 = =20 correcting nblocks for inode 8595764752, was 2 - counted 0 = =20 data fork in regular inode 8595764753 claims used block 537235321 = =20 correcting nblocks for inode 8595764753, was 1 - counted 0 = =20 data fork in regular inode 8595764754 claims used block 537235322 = =20 correcting nblocks for inode 8595764754, was 5 - counted 0 = =20 data fork in regular inode 8595764755 claims used block 537235327 = =20 correcting nblocks for inode 8595764755, was 1 - counted 0 = =20 data fork in regular inode 8595764756 claims used block 537235328 = =20 correcting nblocks for inode 8595764756, was 1 - counted 0 = =20 data fork in regular inode 8595764757 claims used block 537235329 = =20 correcting nblocks for inode 8595764757, was 1 - counted 0 = =20 data fork in regular inode 8595764758 claims used block 537235330 = =20 correcting nblocks for inode 8595764758, was 1 - counted 0 = =20 data fork in regular inode 8595764759 claims used block 537235263 = =20 correcting nblocks for inode 8595764759, was 1 - counted 0 = =20 data fork in regular inode 8595764760 claims used block 537235331 = =20 correcting nblocks for inode 8595764760, was 1 - counted 0 = =20 data fork in regular inode 8595764761 claims used block 537235262 = =20 correcting nblocks for inode 8595764761, was 1 - counted 0 = =20 data fork in regular inode 8595764762 claims used block 537235261 = =20 correcting nblocks for inode 8595764762, was 1 - counted 0 = =20 data fork in regular inode 8595764763 claims used block 537235333 = =20 correcting nblocks for inode 8595764763, was 1 - counted 0 = =20 data fork in regular inode 8595764764 claims used block 537235334 = =20 correcting nblocks for inode 8595764764, was 2 - counted 0 = =20 data fork in regular inode 8595764765 claims used block 537235259 = =20 correcting nblocks for inode 8595764765, was 2 - counted 0 = =20 data fork in regular inode 8595764766 claims used block 537235336 = =20 correcting nblocks for inode 8595764766, was 4 - counted 0 = =20 data fork in regular inode 8595764767 claims used block 537235256 = =20 correcting nblocks for inode 8595764767, was 3 - counted 0 = =20 inode block 537235298 multiply claimed, state was 3 = =20 data fork in regular inode 8595764768 claims used block 537235340 = =20 correcting nblocks for inode 8595764768, was 1 - counted 0 = =20 data fork in regular inode 8595764769 claims used block 537235341 = =20 correcting nblocks for inode 8595764769, was 3 - counted 0 = =20 data fork in regular inode 8595764770 claims used block 537235254 = =20 correcting nblocks for inode 8595764770, was 2 - counted 0 = =20 data fork in regular inode 8595764771 claims used block 537235253 = =20 correcting nblocks for inode 8595764771, was 1 - counted 0 = =20 data fork in regular inode 8595764772 claims used block 537235252 = =20 correcting nblocks for inode 8595764772, was 1 - counted 0 = =20 data fork in regular inode 8595764773 claims used block 537235348 = =20 correcting nblocks for inode 8595764773, was 3 - counted 0 = =20 data fork in regular inode 8595764774 claims used block 537235351 = =20 correcting nblocks for inode 8595764774, was 5 - counted 0 = =20 data fork in regular inode 8595764775 claims used block 537235356 = =20 correcting nblocks for inode 8595764775, was 3 - counted 0 = =20 data fork in regular inode 8595764776 claims used block 537235359 = =20 correcting nblocks for inode 8595764776, was 1 - counted 0 = =20 data fork in regular inode 8595764777 claims used block 537235360 = =20 correcting nblocks for inode 8595764777, was 1 - counted 0 = =20 data fork in regular inode 8595764778 claims used block 537235361 = =20 correcting nblocks for inode 8595764778, was 1 - counted 0 = =20 data fork in regular inode 8595764779 claims used block 537235362 = =20 correcting nblocks for inode 8595764779, was 5 - counted 0 = =20 data fork in regular inode 8595764780 claims used block 537235367 = =20 correcting nblocks for inode 8595764780, was 2 - counted 0 = =20 data fork in regular inode 8595764781 claims used block 537235369 = =20 correcting nblocks for inode 8595764781, was 1 - counted 0 = =20 data fork in regular inode 8595764782 claims used block 537235370 = =20 correcting nblocks for inode 8595764782, was 1 - counted 0 = =20 data fork in regular inode 8595764783 claims used block 537235332 = =20 correcting nblocks for inode 8595764783, was 1 - counted 0 = =20 inode block 537235299 multiply claimed, state was 3 = =20 data fork in regular inode 8595764784 claims used block 537235371 = =20 correcting nblocks for inode 8595764784, was 1 - counted 0 = =20 data fork in regular inode 8595764785 claims used block 537235372 = =20 correcting nblocks for inode 8595764785, was 1 - counted 0 = =20 data fork in regular inode 8595764786 claims used block 537235373 = =20 correcting nblocks for inode 8595764786, was 1 - counted 0 = =20 data fork in regular inode 8595764787 claims used block 537235374 = =20 correcting nblocks for inode 8595764787, was 1 - counted 0 = =20 data fork in regular inode 8595764788 claims used block 537235375 = =20 correcting nblocks for inode 8595764788, was 1 - counted 0 = =20 data fork in regular inode 8595764789 claims used block 537235376 = =20 correcting nblocks for inode 8595764789, was 3 - counted 0 = =20 data fork in regular inode 8595764790 claims used block 537235379 = =20 correcting nblocks for inode 8595764790, was 1 - counted 0 = =20 data fork in regular inode 8595764791 claims used block 537235380 = =20 correcting nblocks for inode 8595764791, was 2 - counted 0 = =20 data fork in regular inode 8595764792 claims used block 537235382 = =20 correcting nblocks for inode 8595764792, was 3 - counted 0 = =20 data fork in regular inode 8595764793 claims used block 537235385 = =20 correcting nblocks for inode 8595764793, was 2 - counted 0 = =20 data fork in regular inode 8595764795 claims used block 537235387 = =20 correcting nblocks for inode 8595764795, was 1 - counted 0 = =20 data fork in regular inode 8595764796 claims used block 537235388 = =20 correcting nblocks for inode 8595764796, was 2 - counted 0 = =20 data fork in regular inode 8595764798 claims used block 537235390 = =20 correcting nblocks for inode 8595764798, was 1 - counted 0 = =20 data fork in regular inode 8595764799 claims used block 537235391 = =20 correcting nblocks for inode 8595764799, was 1 - counted 0 = =20 inode block 537235344 multiply claimed, state was 3 = =20 data fork in regular inode 8595765504 claims used block 537235392 = =20 correcting nblocks for inode 8595765504, was 1 - counted 0 = =20 data fork in regular inode 8595765505 claims used block 537235393 = =20 correcting nblocks for inode 8595765505, was 1 - counted 0 = =20 data fork in regular inode 8595765506 claims used block 537235394 = =20 correcting nblocks for inode 8595765506, was 1 - counted 0 = =20 data fork in regular inode 8595765507 claims used block 537235395 = =20 correcting nblocks for inode 8595765507, was 1 - counted 0 = =20 data fork in regular inode 8595765508 claims used block 537235396 = =20 correcting nblocks for inode 8595765508, was 1 - counted 0 = =20 data fork in regular inode 8595765509 claims used block 537235397 = =20 correcting nblocks for inode 8595765509, was 1 - counted 0 = =20 data fork in regular inode 8595765510 claims used block 537235398 = =20 correcting nblocks for inode 8595765510, was 1 - counted 0 = =20 data fork in regular inode 8595765511 claims used block 537235399 = =20 correcting nblocks for inode 8595765511, was 1 - counted 0 = =20 data fork in regular inode 8595765512 claims used block 537235400 = =20 correcting nblocks for inode 8595765512, was 1 - counted 0 = =20 data fork in regular inode 8595765513 claims used block 537235401 = =20 correcting nblocks for inode 8595765513, was 2 - counted 0 = =20 data fork in regular inode 8595765514 claims used block 537235403 = =20 correcting nblocks for inode 8595765514, was 1 - counted 0 = =20 data fork in regular inode 8595765515 claims used block 537235404 = =20 correcting nblocks for inode 8595765515, was 1 - counted 0 = =20 data fork in regular inode 8595765516 claims used block 537235405 = =20 correcting nblocks for inode 8595765516, was 2 - counted 0 = =20 data fork in regular inode 8595765517 claims used block 537235407 = =20 correcting nblocks for inode 8595765517, was 1 - counted 0 = =20 data fork in regular inode 8595765518 claims used block 537235408 = =20 correcting nblocks for inode 8595765518, was 1 - counted 0 = =20 data fork in regular inode 8595765519 claims used block 537235409 = =20 correcting nblocks for inode 8595765519, was 1 - counted 0 = =20 inode block 537235345 multiply claimed, state was 3 = =20 data fork in regular inode 8595765520 claims used block 537235410 = =20 correcting nblocks for inode 8595765520, was 1 - counted 0 = =20 data fork in regular inode 8595765521 claims used block 537235411 = =20 correcting nblocks for inode 8595765521, was 1 - counted 0 = =20 data fork in regular inode 8595765522 claims used block 537235412 = =20 correcting nblocks for inode 8595765522, was 1 - counted 0 = =20 data fork in regular inode 8595765523 claims used block 537235413 = =20 correcting nblocks for inode 8595765523, was 1 - counted 0 = =20 data fork in regular inode 8595765524 claims used block 537235414 = =20 correcting nblocks for inode 8595765524, was 1 - counted 0 = =20 data fork in regular inode 8595765526 claims used block 537235416 = =20 correcting nblocks for inode 8595765526, was 1 - counted 0 = =20 data fork in regular inode 8595765527 claims used block 537235415 = =20 correcting nblocks for inode 8595765527, was 1 - counted 0 = =20 data fork in regular inode 8595765528 claims used block 537235418 = =20 correcting nblocks for inode 8595765528, was 6 - counted 0 = =20 data fork in regular inode 8595765529 claims used block 537235424 = =20 correcting nblocks for inode 8595765529, was 4 - counted 0 = =20 data fork in regular inode 8595765530 claims used block 537235428 = =20 correcting nblocks for inode 8595765530, was 1 - counted 0 = =20 data fork in regular inode 8595765531 claims used block 537235429 = =20 correcting nblocks for inode 8595765531, was 1 - counted 0 = =20 data fork in regular inode 8595765532 claims used block 537235430 = =20 correcting nblocks for inode 8595765532, was 5 - counted 0 = =20 data fork in regular inode 8595765533 claims used block 537235435 = =20 correcting nblocks for inode 8595765533, was 2 - counted 0 = =20 data fork in regular inode 8595765534 claims used block 537235437 = =20 correcting nblocks for inode 8595765534, was 1 - counted 0 = =20 data fork in regular inode 8595765535 claims used block 537235438 = =20 correcting nblocks for inode 8595765535, was 5 - counted 0 = =20 inode block 537235346 multiply claimed, state was 3 = =20 data fork in regular inode 8595765536 claims used block 537235443 = =20 correcting nblocks for inode 8595765536, was 1 - counted 0 = =20 data fork in regular inode 8595765537 claims used block 537235444 = =20 correcting nblocks for inode 8595765537, was 5 - counted 0 = =20 data fork in regular inode 8595765538 claims used block 537235449 = =20 correcting nblocks for inode 8595765538, was 2 - counted 0 = =20 data fork in regular inode 8595765539 claims used block 537235417 = =20 correcting nblocks for inode 8595765539, was 1 - counted 0 = =20 data fork in regular inode 8595765540 claims used block 537235451 = =20 correcting nblocks for inode 8595765540, was 2 - counted 0 = =20 data fork in regular inode 8595765541 claims used block 537235453 = =20 correcting nblocks for inode 8595765541, was 1 - counted 0 = =20 data fork in regular inode 8595765542 claims used block 537235454 = =20 correcting nblocks for inode 8595765542, was 4 - counted 0 = =20 data fork in regular inode 8595765543 claims used block 537235458 = =20 correcting nblocks for inode 8595765543, was 2 - counted 0 = =20 data fork in regular inode 8595765544 claims used block 537235460 = =20 correcting nblocks for inode 8595765544, was 2 - counted 0 = =20 data fork in regular inode 8595765545 claims used block 537235462 = =20 correcting nblocks for inode 8595765545, was 11 - counted 0 = =20 data fork in regular inode 8595765546 claims used block 537235473 = =20 correcting nblocks for inode 8595765546, was 2 - counted 0 = =20 data fork in regular inode 8595765547 claims used block 537235475 = =20 correcting nblocks for inode 8595765547, was 8 - counted 0 = =20 data fork in regular inode 8595765548 claims used block 537235483 = =20 correcting nblocks for inode 8595765548, was 1 - counted 0 = =20 data fork in regular inode 8595765549 claims used block 537235484 = =20 correcting nblocks for inode 8595765549, was 2 - counted 0 = =20 data fork in regular inode 8595765550 claims used block 537235486 = =20 correcting nblocks for inode 8595765550, was 2 - counted 0 = =20 data fork in regular inode 8595765551 claims used block 537235488 = =20 correcting nblocks for inode 8595765551, was 3 - counted 0 = =20 inode block 537235347 multiply claimed, state was 3 = =20 data fork in regular inode 8595765552 claims used block 537235491 = =20 correcting nblocks for inode 8595765552, was 7 - counted 0 = =20 data fork in regular inode 8595765553 claims used block 537235498 = =20 correcting nblocks for inode 8595765553, was 3 - counted 0 = =20 data fork in regular inode 8595765554 claims used block 537235501 = =20 correcting nblocks for inode 8595765554, was 2 - counted 0 = =20 bad directory block magic # 0x58443244 in block 0 for directory inode 85957= 65554 =20 bad bestfree table in block 0 in directory inode 8595765554: repairing tabl= e =20 data fork in regular inode 8595765555 claims used block 537235502 = =20 correcting nblocks for inode 8595765555, was 1 - counted 0 = =20 data fork in regular inode 8595765556 claims used block 537235503 = =20 correcting nblocks for inode 8595765556, was 1 - counted 0 = =20 data fork in regular inode 8595765557 claims used block 537235513 = =20 correcting nblocks for inode 8595765557, was 1 - counted 0 = =20 data fork in regular inode 8595765558 claims used block 537235514 = =20 correcting nblocks for inode 8595765558, was 8 - counted 0 = =20 data fork in regular inode 8595765559 claims used block 537235522 = =20 correcting nblocks for inode 8595765559, was 7 - counted 0 = =20 data fork in regular inode 8595765560 claims used block 537235529 = =20 correcting nblocks for inode 8595765560, was 1 - counted 0 = =20 data fork in regular inode 8595765561 claims used block 537235530 = =20 correcting nblocks for inode 8595765561, was 8 - counted 0 = =20 data fork in regular inode 8595765562 claims used block 537235538 = =20 correcting nblocks for inode 8595765562, was 1 - counted 0 = =20 data fork in regular inode 8595765563 claims used block 537235539 = =20 correcting nblocks for inode 8595765563, was 1 - counted 0 = =20 data fork in regular inode 8595765564 claims used block 537235540 = =20 correcting nblocks for inode 8595765564, was 10 - counted 0 = =20 data fork in regular inode 8595765565 claims used block 537235550 = =20 correcting nblocks for inode 8595765565, was 1 - counted 0 = =20 data fork in regular inode 8595765566 claims used block 537235551 = =20 correcting nblocks for inode 8595765566, was 4 - counted 0 = =20 data fork in regular inode 8595765567 claims used block 537235555 = =20 correcting nblocks for inode 8595765567, was 1 - counted 0 = =20 inode block 537235504 multiply claimed, state was 3 = =20 data fork in regular inode 8595768064 claims used block 537235568 = =20 correcting nblocks for inode 8595768064, was 17 - counted 0 = =20 data fork in regular inode 8595768065 claims used block 537235556 = =20 correcting nblocks for inode 8595768065, was 1 - counted 0 = =20 data fork in regular inode 8595768066 claims used block 537235557 = =20 correcting nblocks for inode 8595768066, was 2 - counted 0 = =20 data fork in regular inode 8595768067 claims used block 537235559 = =20 correcting nblocks for inode 8595768067, was 3 - counted 0 = =20 data fork in regular inode 8595768068 claims used block 537235562 = =20 correcting nblocks for inode 8595768068, was 1 - counted 0 = =20 data fork in regular inode 8595768069 claims used block 537235585 = =20 correcting nblocks for inode 8595768069, was 8 - counted 0 = =20 data fork in regular inode 8595768070 claims used block 537235563 = =20 correcting nblocks for inode 8595768070, was 2 - counted 0 = =20 data fork in regular inode 8595768071 claims used block 537235565 = =20 correcting nblocks for inode 8595768071, was 1 - counted 0 = =20 data fork in regular inode 8595768072 claims used block 537235593 = =20 correcting nblocks for inode 8595768072, was 3 - counted 0 = =20 data fork in regular inode 8595768073 claims used block 537235566 = =20 correcting nblocks for inode 8595768073, was 1 - counted 0 = =20 data fork in regular inode 8595768074 claims used block 537235567 = =20 correcting nblocks for inode 8595768074, was 1 - counted 0 = =20 data fork in regular inode 8595768075 claims used block 537235596 = =20 correcting nblocks for inode 8595768075, was 5 - counted 0 = =20 data fork in regular inode 8595768076 claims used block 537235601 = =20 correcting nblocks for inode 8595768076, was 1 - counted 0 = =20 data fork in regular inode 8595768077 claims used block 537235602 = =20 correcting nblocks for inode 8595768077, was 1 - counted 0 = =20 data fork in regular inode 8595768078 claims used block 537235603 = =20 correcting nblocks for inode 8595768078, was 1 - counted 0 = =20 data fork in regular inode 8595768079 claims used block 537235604 = =20 correcting nblocks for inode 8595768079, was 1 - counted 0 = =20 inode block 537235505 multiply claimed, state was 3 = =20 data fork in regular inode 8595768080 claims used block 537235605 = =20 correcting nblocks for inode 8595768080, was 1 - counted 0 = =20 data fork in regular inode 8595768081 claims used block 537235606 = =20 correcting nblocks for inode 8595768081, was 13 - counted 0 = =20 data fork in regular inode 8595768082 claims used block 537235619 = =20 correcting nblocks for inode 8595768082, was 2 - counted 0 = =20 data fork in regular inode 8595768083 claims used block 537235621 = =20 correcting nblocks for inode 8595768083, was 2 - counted 0 = =20 data fork in regular inode 8595768084 claims used block 537235623 = =20 correcting nblocks for inode 8595768084, was 4 - counted 0 = =20 data fork in regular inode 8595768085 claims used block 537235627 = =20 correcting nblocks for inode 8595768085, was 6 - counted 0 = =20 data fork in regular inode 8595768086 claims used block 537235633 = =20 correcting nblocks for inode 8595768086, was 3 - counted 0 = =20 data fork in regular inode 8595768087 claims used block 537235636 = =20 correcting nblocks for inode 8595768087, was 5 - counted 0 = =20 data fork in regular inode 8595768088 claims used block 537235641 = =20 correcting nblocks for inode 8595768088, was 1 - counted 0 = =20 data fork in regular inode 8595768089 claims used block 537235642 = =20 correcting nblocks for inode 8595768089, was 1 - counted 0 = =20 data fork in regular inode 8595768090 claims used block 537235643 = =20 correcting nblocks for inode 8595768090, was 3 - counted 0 = =20 data fork in regular inode 8595768091 claims used block 537235646 = =20 correcting nblocks for inode 8595768091, was 1 - counted 0 = =20 data fork in regular inode 8595768092 claims used block 537235647 = =20 correcting nblocks for inode 8595768092, was 1 - counted 0 = =20 data fork in regular inode 8595768093 claims used block 537235648 = =20 correcting nblocks for inode 8595768093, was 1 - counted 0 = =20 data fork in regular inode 8595768094 claims used block 537235649 = =20 correcting nblocks for inode 8595768094, was 1 - counted 0 = =20 data fork in regular inode 8595768095 claims used block 537235650 = =20 correcting nblocks for inode 8595768095, was 1 - counted 0 = =20 inode block 537235506 multiply claimed, state was 3 = =20 data fork in regular inode 8595768096 claims used block 537235651 = =20 correcting nblocks for inode 8595768096, was 1 - counted 0 = =20 data fork in regular inode 8595768097 claims used block 537235652 = =20 correcting nblocks for inode 8595768097, was 1 - counted 0 = =20 data fork in regular inode 8595768098 claims used block 537235653 = =20 correcting nblocks for inode 8595768098, was 2 - counted 0 = =20 data fork in regular inode 8595768099 claims used block 537235655 = =20 correcting nblocks for inode 8595768099, was 7 - counted 0 = =20 data fork in regular inode 8595768100 claims used block 537235662 = =20 correcting nblocks for inode 8595768100, was 4 - counted 0 = =20 data fork in regular inode 8595768101 claims used block 537235666 = =20 correcting nblocks for inode 8595768101, was 2 - counted 0 = =20 data fork in regular inode 8595768102 claims used block 537235668 = =20 correcting nblocks for inode 8595768102, was 3 - counted 0 = =20 data fork in regular inode 8595768103 claims used block 537235680 = =20 correcting nblocks for inode 8595768103, was 17 - counted 0 = =20 data fork in regular inode 8595768104 claims used block 537235671 = =20 correcting nblocks for inode 8595768104, was 2 - counted 0 = =20 data fork in regular inode 8595768105 claims used block 537235673 = =20 correcting nblocks for inode 8595768105, was 2 - counted 0 = =20 data fork in regular inode 8595768106 claims used block 537235675 = =20 correcting nblocks for inode 8595768106, was 4 - counted 0 = =20 data fork in regular inode 8595768107 claims used block 537235712 = =20 correcting nblocks for inode 8595768107, was 119 - counted 0 = =20 data fork in regular inode 8595768108 claims used block 537235697 = =20 correcting nblocks for inode 8595768108, was 4 - counted 0 = =20 data fork in regular inode 8595768109 claims used block 537235701 = =20 correcting nblocks for inode 8595768109, was 3 - counted 0 = =20 data fork in regular inode 8595768110 claims used block 537235704 = =20 correcting nblocks for inode 8595768110, was 8 - counted 0 = =20 data fork in regular inode 8595768111 claims used block 537235679 = =20 correcting nblocks for inode 8595768111, was 1 - counted 0 = =20 inode block 537235507 multiply claimed, state was 3 = =20 data fork in regular inode 8595768112 claims used block 537235831 = =20 correcting nblocks for inode 8595768112, was 5 - counted 0 = =20 data fork in regular inode 8595768113 claims used block 537235836 = =20 correcting nblocks for inode 8595768113, was 1 - counted 0 = =20 data fork in regular inode 8595768114 claims used block 537235837 = =20 correcting nblocks for inode 8595768114, was 1 - counted 0 = =20 data fork in regular inode 8595768115 claims used block 537235838 = =20 correcting nblocks for inode 8595768115, was 7 - counted 0 = =20 data fork in regular inode 8595768116 claims used block 537235845 = =20 correcting nblocks for inode 8595768116, was 1 - counted 0 = =20 data fork in regular inode 8595768117 claims used block 537235846 = =20 correcting nblocks for inode 8595768117, was 11 - counted 0 = =20 data fork in regular inode 8595768118 claims used block 537235857 = =20 correcting nblocks for inode 8595768118, was 4 - counted 0 = =20 data fork in regular inode 8595768119 claims used block 537235861 = =20 correcting nblocks for inode 8595768119, was 1 - counted 0 = =20 data fork in regular inode 8595768120 claims used block 537235862 = =20 correcting nblocks for inode 8595768120, was 1 - counted 0 = =20 data fork in regular inode 8595768121 claims used block 537235863 = =20 correcting nblocks for inode 8595768121, was 3 - counted 0 = =20 data fork in regular inode 8595768122 claims used block 537235866 = =20 correcting nblocks for inode 8595768122, was 1 - counted 0 = =20 data fork in regular inode 8595768123 claims used block 537235867 = =20 correcting nblocks for inode 8595768123, was 4 - counted 0 = =20 data fork in regular inode 8595768124 claims used block 537235871 = =20 correcting nblocks for inode 8595768124, was 2 - counted 0 = =20 data fork in regular inode 8595768125 claims used block 537235873 = =20 correcting nblocks for inode 8595768125, was 2 - counted 0 = =20 data fork in regular inode 8595768126 claims used block 537235875 = =20 correcting nblocks for inode 8595768126, was 2 - counted 0 = =20 data fork in regular inode 8595768127 claims used block 537235877 = =20 correcting nblocks for inode 8595768127, was 6 - counted 0 = =20 inode block 537235508 multiply claimed, state was 3 = =20 data fork in regular inode 8595768128 claims used block 537235883 = =20 correcting nblocks for inode 8595768128, was 1 - counted 0 = =20 data fork in regular inode 8595768129 claims used block 537235884 = =20 correcting nblocks for inode 8595768129, was 1 - counted 0 = =20 data fork in regular inode 8595768130 claims used block 537235885 = =20 correcting nblocks for inode 8595768130, was 1 - counted 0 = =20 data fork in regular inode 8595768131 claims used block 537235886 = =20 correcting nblocks for inode 8595768131, was 1 - counted 0 = =20 data fork in regular inode 8595768132 claims used block 537235887 = =20 correcting nblocks for inode 8595768132, was 1 - counted 0 = =20 data fork in regular inode 8595768133 claims used block 537235512 = =20 correcting nblocks for inode 8595768133, was 1 - counted 0 = =20 data fork in regular inode 8595768134 claims used block 537235889 = =20 correcting nblocks for inode 8595768134, was 1 - counted 0 = =20 data fork in regular inode 8595768135 claims used block 537235890 = =20 correcting nblocks for inode 8595768135, was 1 - counted 0 = =20 data fork in regular inode 8595768136 claims used block 537235891 = =20 correcting nblocks for inode 8595768136, was 1 - counted 0 = =20 data fork in regular inode 8595768137 claims used block 537235892 = =20 correcting nblocks for inode 8595768137, was 1 - counted 0 = =20 data fork in regular inode 8595768138 claims used block 537235893 = =20 correcting nblocks for inode 8595768138, was 3 - counted 0 = =20 data fork in regular inode 8595768139 claims used block 537235896 = =20 correcting nblocks for inode 8595768139, was 7 - counted 0 = =20 data fork in regular inode 8595768140 claims used block 537235908 = =20 correcting nblocks for inode 8595768140, was 3 - counted 0 = =20 data fork in regular inode 8595768141 claims used block 537235911 = =20 correcting nblocks for inode 8595768141, was 2 - counted 0 = =20 data fork in regular inode 8595768142 claims used block 537235913 = =20 correcting nblocks for inode 8595768142, was 2 - counted 0 = =20 data fork in regular inode 8595768143 claims used block 537235915 = =20 correcting nblocks for inode 8595768143, was 3 - counted 0 = =20 inode block 537235509 multiply claimed, state was 3 = =20 data fork in regular inode 8595768144 claims used block 537235918 = =20 correcting nblocks for inode 8595768144, was 2 - counted 0 = =20 data fork in regular inode 8595768145 claims used block 537235920 = =20 correcting nblocks for inode 8595768145, was 2 - counted 0 = =20 data fork in regular inode 8595768146 claims used block 537235903 = =20 correcting nblocks for inode 8595768146, was 1 - counted 0 = =20 data fork in regular inode 8595768147 claims used block 537235922 = =20 correcting nblocks for inode 8595768147, was 7 - counted 0 = =20 data fork in regular inode 8595768148 claims used block 537235929 = =20 correcting nblocks for inode 8595768148, was 5 - counted 0 = =20 data fork in regular inode 8595768149 claims used block 537235934 = =20 correcting nblocks for inode 8595768149, was 2 - counted 0 = =20 data fork in regular inode 8595768150 claims used block 537235936 = =20 correcting nblocks for inode 8595768150, was 1 - counted 0 = =20 data fork in regular inode 8595768151 claims used block 537235937 = =20 correcting nblocks for inode 8595768151, was 5 - counted 0 = =20 data fork in regular inode 8595768152 claims used block 537235942 = =20 correcting nblocks for inode 8595768152, was 1 - counted 0 = =20 data fork in regular inode 8595768153 claims used block 537235943 = =20 correcting nblocks for inode 8595768153, was 3 - counted 0 = =20 data fork in regular inode 8595768154 claims used block 537235946 = =20 correcting nblocks for inode 8595768154, was 1 - counted 0 = =20 data fork in regular inode 8595768155 claims used block 537235947 = =20 correcting nblocks for inode 8595768155, was 2 - counted 0 = =20 data fork in regular inode 8595768156 claims used block 537235949 = =20 correcting nblocks for inode 8595768156, was 1 - counted 0 = =20 data fork in regular inode 8595768157 claims used block 537235950 = =20 correcting nblocks for inode 8595768157, was 3 - counted 0 = =20 data fork in regular inode 8595768158 claims used block 537235953 = =20 correcting nblocks for inode 8595768158, was 1 - counted 0 = =20 data fork in regular inode 8595768159 claims used block 537235954 = =20 correcting nblocks for inode 8595768159, was 6 - counted 0 = =20 inode block 537235510 multiply claimed, state was 3 = =20 data fork in regular inode 8595768160 claims used block 537235960 = =20 correcting nblocks for inode 8595768160, was 1 - counted 0 = =20 data fork in regular inode 8595768161 claims used block 537235961 = =20 correcting nblocks for inode 8595768161, was 2 - counted 0 = =20 data fork in regular inode 8595768162 claims used block 537235963 = =20 correcting nblocks for inode 8595768162, was 1 - counted 0 = =20 data fork in regular inode 8595768163 claims used block 537235964 = =20 correcting nblocks for inode 8595768163, was 3 - counted 0 = =20 data fork in regular inode 8595768164 claims used block 537235967 = =20 correcting nblocks for inode 8595768164, was 1 - counted 0 = =20 data fork in regular inode 8595768165 claims used block 537235968 = =20 correcting nblocks for inode 8595768165, was 2 - counted 0 = =20 data fork in regular inode 8595768166 claims used block 537235970 = =20 correcting nblocks for inode 8595768166, was 1 - counted 0 = =20 data fork in regular inode 8595768167 claims used block 537235971 = =20 correcting nblocks for inode 8595768167, was 2 - counted 0 = =20 data fork in regular inode 8595768168 claims used block 537235973 = =20 correcting nblocks for inode 8595768168, was 2 - counted 0 = =20 data fork in regular inode 8595768169 claims used block 537235975 = =20 correcting nblocks for inode 8595768169, was 4 - counted 0 = =20 data fork in regular inode 8595768170 claims used block 537235979 = =20 correcting nblocks for inode 8595768170, was 1 - counted 0 = =20 data fork in regular inode 8595768171 claims used block 537235980 = =20 correcting nblocks for inode 8595768171, was 2 - counted 0 = =20 data fork in regular inode 8595768172 claims used block 537235982 = =20 correcting nblocks for inode 8595768172, was 1 - counted 0 = =20 data fork in regular inode 8595768173 claims used block 537235983 = =20 correcting nblocks for inode 8595768173, was 1 - counted 0 = =20 data fork in regular inode 8595768174 claims used block 537235984 = =20 correcting nblocks for inode 8595768174, was 1 - counted 0 = =20 data fork in regular inode 8595768175 claims used block 537235985 = =20 correcting nblocks for inode 8595768175, was 1 - counted 0 = =20 inode block 537235511 multiply claimed, state was 3 = =20 data fork in regular inode 8595768176 claims used block 537235986 = =20 correcting nblocks for inode 8595768176, was 5 - counted 0 = =20 data fork in regular inode 8595768177 claims used block 537235888 = =20 correcting nblocks for inode 8595768177, was 1 - counted 0 = =20 data fork in regular inode 8595768178 claims used block 537235991 = =20 correcting nblocks for inode 8595768178, was 4 - counted 0 = =20 data fork in regular inode 8595768179 claims used block 537235995 = =20 correcting nblocks for inode 8595768179, was 1 - counted 0 = =20 data fork in regular inode 8595768180 claims used block 537235996 = =20 correcting nblocks for inode 8595768180, was 4 - counted 0 = =20 data fork in regular inode 8595768181 claims used block 537236000 = =20 correcting nblocks for inode 8595768181, was 2 - counted 0 = =20 data fork in regular inode 8595768182 claims used block 537236002 = =20 correcting nblocks for inode 8595768182, was 4 - counted 0 = =20 data fork in regular inode 8595768183 claims used block 537236006 = =20 correcting nblocks for inode 8595768183, was 1 - counted 0 = =20 data fork in regular inode 8595768184 claims used block 537236007 = =20 correcting nblocks for inode 8595768184, was 4 - counted 0 = =20 data fork in regular inode 8595768185 claims used block 537236011 = =20 correcting nblocks for inode 8595768185, was 2 - counted 0 = =20 data fork in regular inode 8595768186 claims used block 537236013 = =20 correcting nblocks for inode 8595768186, was 5 - counted 0 = =20 data fork in regular inode 8595768187 claims used block 537236018 = =20 correcting nblocks for inode 8595768187, was 7 - counted 0 = =20 data fork in regular inode 8595768188 claims used block 537236025 = =20 correcting nblocks for inode 8595768188, was 2 - counted 0 = =20 data fork in regular inode 8595768189 claims used block 537236027 = =20 correcting nblocks for inode 8595768189, was 3 - counted 0 = =20 data fork in regular inode 8595768190 claims used block 537236030 = =20 correcting nblocks for inode 8595768190, was 13 - counted 0 = =20 data fork in regular inode 8595768191 claims used block 537236043 = =20 correcting nblocks for inode 8595768191, was 2 - counted 0 = =20 inode block 537235904 multiply claimed, state was 3 = =20 data fork in regular inode 8595774464 claims used block 537236045 = =20 correcting nblocks for inode 8595774464, was 2 - counted 0 = =20 data fork in regular inode 8595774465 claims used block 537236047 = =20 correcting nblocks for inode 8595774465, was 8 - counted 0 = =20 data fork in regular inode 8595774466 claims used block 537236055 = =20 correcting nblocks for inode 8595774466, was 2 - counted 0 = =20 data fork in regular inode 8595774467 claims used block 537236057 = =20 correcting nblocks for inode 8595774467, was 2 - counted 0 = =20 data fork in regular inode 8595774468 claims used block 537236064 = =20 correcting nblocks for inode 8595774468, was 18 - counted 0 = =20 data fork in regular inode 8595774469 claims used block 537236082 = =20 correcting nblocks for inode 8595774469, was 9 - counted 0 = =20 data fork in regular inode 8595774470 claims used block 537236059 = =20 correcting nblocks for inode 8595774470, was 2 - counted 0 = =20 data fork in regular inode 8595774471 claims used block 537236061 = =20 correcting nblocks for inode 8595774471, was 2 - counted 0 = =20 data fork in regular inode 8595774472 claims used block 537236091 = =20 correcting nblocks for inode 8595774472, was 15 - counted 0 = =20 data fork in regular inode 8595774473 claims used block 537236106 = =20 correcting nblocks for inode 8595774473, was 2 - counted 0 = =20 data fork in regular inode 8595774474 claims used block 537236063 = =20 correcting nblocks for inode 8595774474, was 1 - counted 0 = =20 data fork in regular inode 8595774475 claims used block 537236108 = =20 correcting nblocks for inode 8595774475, was 2 - counted 0 = =20 data fork in regular inode 8595774476 claims used block 537236110 = =20 correcting nblocks for inode 8595774476, was 1 - counted 0 = =20 data fork in regular inode 8595774477 claims used block 537236111 = =20 correcting nblocks for inode 8595774477, was 4 - counted 0 = =20 data fork in regular inode 8595774478 claims used block 537236115 = =20 correcting nblocks for inode 8595774478, was 8 - counted 0 = =20 data fork in regular inode 8595774479 claims used block 537236123 = =20 correcting nblocks for inode 8595774479, was 5 - counted 0 = =20 inode block 537235905 multiply claimed, state was 3 = =20 data fork in regular inode 8595774480 claims used block 537236128 = =20 correcting nblocks for inode 8595774480, was 7 - counted 0 = =20 data fork in regular inode 8595774481 claims used block 537236135 = =20 correcting nblocks for inode 8595774481, was 2 - counted 0 = =20 data fork in regular inode 8595774482 claims used block 537236137 = =20 correcting nblocks for inode 8595774482, was 2 - counted 0 = =20 data fork in regular inode 8595774483 claims used block 537236139 = =20 correcting nblocks for inode 8595774483, was 4 - counted 0 = =20 data fork in regular inode 8595774484 claims used block 537236143 = =20 correcting nblocks for inode 8595774484, was 2 - counted 0 = =20 data fork in regular inode 8595774485 claims used block 537236145 = =20 correcting nblocks for inode 8595774485, was 2 - counted 0 = =20 data fork in regular inode 8595774486 claims used block 537236147 = =20 correcting nblocks for inode 8595774486, was 1 - counted 0 = =20 data fork in regular inode 8595774487 claims used block 537236148 = =20 correcting nblocks for inode 8595774487, was 1 - counted 0 = =20 data fork in regular inode 8595774488 claims used block 537236149 = =20 correcting nblocks for inode 8595774488, was 5 - counted 0 = =20 data fork in regular inode 8595774489 claims used block 537236154 = =20 correcting nblocks for inode 8595774489, was 4 - counted 0 = =20 data fork in regular inode 8595774490 claims used block 537236158 = =20 correcting nblocks for inode 8595774490, was 4 - counted 0 = =20 data fork in regular inode 8595774491 claims used block 537236162 = =20 correcting nblocks for inode 8595774491, was 5 - counted 0 = =20 data fork in regular inode 8595774492 claims used block 537236167 = =20 correcting nblocks for inode 8595774492, was 10 - counted 0 = =20 data fork in regular inode 8595774493 claims used block 537236177 = =20 correcting nblocks for inode 8595774493, was 14 - counted 0 = =20 data fork in regular inode 8595774494 claims used block 537236191 = =20 correcting nblocks for inode 8595774494, was 2 - counted 0 = =20 data fork in regular inode 8595774495 claims used block 537236193 = =20 correcting nblocks for inode 8595774495, was 13 - counted 0 = =20 inode block 537235906 multiply claimed, state was 3 = =20 data fork in regular inode 8595774496 claims used block 537236206 = =20 correcting nblocks for inode 8595774496, was 10 - counted 0 = =20 data fork in regular inode 8595774497 claims used block 537236216 = =20 correcting nblocks for inode 8595774497, was 1 - counted 0 = =20 data fork in regular inode 8595774498 claims used block 537236217 = =20 correcting nblocks for inode 8595774498, was 5 - counted 0 = =20 data fork in regular inode 8595774499 claims used block 537236224 = =20 correcting nblocks for inode 8595774499, was 17 - counted 0 = =20 data fork in regular inode 8595774500 claims used block 537236241 = =20 correcting nblocks for inode 8595774500, was 13 - counted 0 = =20 data fork in regular inode 8595774501 claims used block 537236254 = =20 correcting nblocks for inode 8595774501, was 3 - counted 0 = =20 data fork in regular inode 8595774502 claims used block 537236222 = =20 correcting nblocks for inode 8595774502, was 1 - counted 0 = =20 data fork in regular inode 8595774503 claims used block 537236223 = =20 correcting nblocks for inode 8595774503, was 1 - counted 0 = =20 data fork in regular inode 8595774504 claims used block 537236257 = =20 correcting nblocks for inode 8595774504, was 3 - counted 0 = =20 data fork in regular inode 8595774505 claims used block 537236260 = =20 correcting nblocks for inode 8595774505, was 1 - counted 0 = =20 data fork in regular inode 8595774506 claims used block 537236261 = =20 correcting nblocks for inode 8595774506, was 1 - counted 0 = =20 data fork in regular inode 8595774507 claims used block 537236262 = =20 correcting nblocks for inode 8595774507, was 1 - counted 0 = =20 data fork in regular inode 8595774508 claims used block 537236272 = =20 correcting nblocks for inode 8595774508, was 17 - counted 0 = =20 data fork in regular inode 8595774509 claims used block 537236304 = =20 correcting nblocks for inode 8595774509, was 17 - counted 0 = =20 data fork in regular inode 8595774510 claims used block 537236263 = =20 correcting nblocks for inode 8595774510, was 7 - counted 0 = =20 data fork in regular inode 8595774511 claims used block 537236289 = =20 correcting nblocks for inode 8595774511, was 8 - counted 0 = =20 inode block 537235907 multiply claimed, state was 3 = =20 data fork in regular inode 8595774512 claims used block 537236297 = =20 correcting nblocks for inode 8595774512, was 5 - counted 0 = =20 data fork in regular inode 8595774513 claims used block 537236270 = =20 correcting nblocks for inode 8595774513, was 1 - counted 0 = =20 data fork in regular inode 8595774514 claims used block 537236336 = =20 correcting nblocks for inode 8595774514, was 17 - counted 0 = =20 data fork in regular inode 8595774515 claims used block 537236321 = =20 correcting nblocks for inode 8595774515, was 3 - counted 0 = =20 data fork in regular inode 8595774516 claims used block 537236324 = =20 correcting nblocks for inode 8595774516, was 5 - counted 0 = =20 data fork in regular inode 8595774517 claims used block 537236302 = =20 correcting nblocks for inode 8595774517, was 2 - counted 0 = =20 data fork in regular inode 8595774518 claims used block 537236329 = =20 correcting nblocks for inode 8595774518, was 5 - counted 0 = =20 data fork in regular inode 8595774519 claims used block 537236271 = =20 correcting nblocks for inode 8595774519, was 1 - counted 0 = =20 data fork in regular inode 8595774520 claims used block 537236334 = =20 correcting nblocks for inode 8595774520, was 2 - counted 0 = =20 data fork in regular inode 8595774521 claims used block 537236353 = =20 correcting nblocks for inode 8595774521, was 6 - counted 0 = =20 data fork in regular inode 8595774522 claims used block 537236359 = =20 correcting nblocks for inode 8595774522, was 3 - counted 0 = =20 data fork in regular inode 8595774523 claims used block 537236362 = =20 correcting nblocks for inode 8595774523, was 3 - counted 0 = =20 data fork in regular inode 8595774524 claims used block 537236365 = =20 correcting nblocks for inode 8595774524, was 7 - counted 0 = =20 data fork in regular inode 8595774525 claims used block 537236372 = =20 correcting nblocks for inode 8595774525, was 3 - counted 0 = =20 data fork in regular inode 8595774526 claims used block 537236375 = =20 correcting nblocks for inode 8595774526, was 1 - counted 0 = =20 data fork in regular inode 8595774527 claims used block 537236376 = =20 correcting nblocks for inode 8595774527, was 1 - counted 0 = =20 inode block 537236384 multiply claimed, state was 3 = =20 data fork in regular inode 8595782144 claims used block 537236383 = =20 correcting nblocks for inode 8595782144, was 1 - counted 0 = =20 data fork in regular inode 8595782145 claims used block 537236382 = =20 correcting nblocks for inode 8595782145, was 1 - counted 0 = =20 data fork in regular inode 8595782146 claims used block 537236380 = =20 correcting nblocks for inode 8595782146, was 2 - counted 0 = =20 data fork in regular inode 8595782147 claims used block 537236388 = =20 correcting nblocks for inode 8595782147, was 3 - counted 0 = =20 data fork in regular inode 8595782148 claims used block 537236391 = =20 correcting nblocks for inode 8595782148, was 4 - counted 0 = =20 data fork in regular inode 8595782149 claims used block 537221065 = =20 correcting nblocks for inode 8595782149, was 7 - counted 0 = =20 data fork in regular inode 8595782150 claims used block 537221060 = =20 correcting nblocks for inode 8595782150, was 5 - counted 0 = =20 data fork in regular inode 8595782151 claims used block 537220938 = =20 correcting nblocks for inode 8595782151, was 6 - counted 0 = =20 data fork in regular inode 8595782152 claims used block 537236378 = =20 correcting nblocks for inode 8595782152, was 2 - counted 0 = =20 data fork in regular inode 8595782153 claims used block 537240014 = =20 correcting nblocks for inode 8595782153, was 2 - counted 0 = =20 data fork in regular inode 8595782154 claims used block 537241645 = =20 correcting nblocks for inode 8595782154, was 2 - counted 0 = =20 data fork in regular inode 8595782155 claims used block 537236377 = =20 correcting nblocks for inode 8595782155, was 1 - counted 0 = =20 data fork in regular inode 8595782156 claims used block 537220778 = =20 correcting nblocks for inode 8595782156, was 6 - counted 0 = =20 data fork in regular inode 8595782157 claims used block 537243886 = =20 correcting nblocks for inode 8595782157, was 2 - counted 0 = =20 data fork in regular inode 8595782158 claims used block 537241647 = =20 correcting nblocks for inode 8595782158, was 1 - counted 0 = =20 data fork in regular inode 8595782159 claims used block 537220772 = =20 correcting nblocks for inode 8595782159, was 6 - counted 0 = =20 inode block 537236385 multiply claimed, state was 3 = =20 data fork in regular inode 8595782160 claims used block 537244973 = =20 correcting nblocks for inode 8595782160, was 1 - counted 0 = =20 data fork in regular inode 8595782161 claims used block 537478880 = =20 correcting nblocks for inode 8595782161, was 22 - counted 0 = =20 data fork in regular inode 8595782162 claims used block 537220731 = =20 correcting nblocks for inode 8595782162, was 5 - counted 0 = =20 data fork in regular inode 8595782163 claims used block 537220660 = =20 correcting nblocks for inode 8595782163, was 12 - counted 0 = =20 data fork in regular inode 8595782164 claims used block 537244974 = =20 correcting nblocks for inode 8595782164, was 2 - counted 0 = =20 data fork in regular inode 8595782165 claims used block 537220499 = =20 correcting nblocks for inode 8595782165, was 13 - counted 0 = =20 data fork in regular inode 8595782166 claims used block 537221005 = =20 correcting nblocks for inode 8595782166, was 3 - counted 0 = =20 data fork in regular inode 8595782167 claims used block 537245742 = =20 correcting nblocks for inode 8595782167, was 2 - counted 0 = =20 data fork in regular inode 8595782168 claims used block 537220724 = =20 correcting nblocks for inode 8595782168, was 7 - counted 0 = =20 data fork in regular inode 8595782169 claims used block 537221058 = =20 correcting nblocks for inode 8595782169, was 2 - counted 0 = =20 data fork in regular inode 8595782170 claims used block 537220147 = =20 correcting nblocks for inode 8595782170, was 13 - counted 0 = =20 data fork in regular inode 8595782171 claims used block 537220935 = =20 correcting nblocks for inode 8595782171, was 3 - counted 0 = =20 data fork in regular inode 8595782172 claims used block 537220829 = =20 correcting nblocks for inode 8595782172, was 3 - counted 0 = =20 data fork in regular inode 8595782173 claims used block 537220314 = =20 correcting nblocks for inode 8595782173, was 6 - counted 0 = =20 data fork in regular inode 8595782174 claims used block 537220266 = =20 correcting nblocks for inode 8595782174, was 6 - counted 0 = =20 data fork in regular inode 8595782175 claims used block 537220657 = =20 correcting nblocks for inode 8595782175, was 3 - counted 0 = =20 inode block 537236386 multiply claimed, state was 3 = =20 data fork in regular inode 8595782176 claims used block 537220260 = =20 correcting nblocks for inode 8595782176, was 6 - counted 0 = =20 data fork in regular inode 8595782177 claims used block 537220605 = =20 correcting nblocks for inode 8595782177, was 3 - counted 0 = =20 data fork in regular inode 8595782178 claims used block 537220444 = =20 correcting nblocks for inode 8595782178, was 4 - counted 0 = =20 data fork in regular inode 8595782179 claims used block 537220092 = =20 correcting nblocks for inode 8595782179, was 4 - counted 0 = =20 data fork in regular inode 8595782180 claims used block 537488432 = =20 correcting nblocks for inode 8595782180, was 29 - counted 0 = =20 data fork in regular inode 8595782181 claims used block 537523376 = =20 correcting nblocks for inode 8595782181, was 17 - counted 0 = =20 data fork in regular inode 8595782182 claims used block 537220010 = =20 correcting nblocks for inode 8595782182, was 6 - counted 0 = =20 data fork in regular inode 8595782183 claims used block 537221119 = =20 correcting nblocks for inode 8595782183, was 1 - counted 0 = =20 data fork in regular inode 8595782184 claims used block 537220770 = =20 correcting nblocks for inode 8595782184, was 2 - counted 0 = =20 data fork in regular inode 8595782185 claims used block 537220001 = =20 correcting nblocks for inode 8595782185, was 9 - counted 0 = =20 data fork in regular inode 8595782186 claims used block 537478851 = =20 correcting nblocks for inode 8595782186, was 12 - counted 0 = =20 data fork in regular inode 8595782187 claims used block 537220722 = =20 correcting nblocks for inode 8595782187, was 2 - counted 0 = =20 data fork in regular inode 8595782188 claims used block 537478902 = =20 correcting nblocks for inode 8595782188, was 14 - counted 0 = =20 data fork in regular inode 8595782189 claims used block 537488461 = =20 correcting nblocks for inode 8595782189, was 13 - counted 0 = =20 data fork in regular inode 8595782190 claims used block 537220558 = =20 correcting nblocks for inode 8595782190, was 2 - counted 0 = =20 data fork in regular inode 8595782191 claims used block 537478868 = =20 correcting nblocks for inode 8595782191, was 11 - counted 0 = =20 inode block 537236387 multiply claimed, state was 3 = =20 data fork in regular inode 8595782192 claims used block 537211322 = =20 correcting nblocks for inode 8595782192, was 6 - counted 0 = =20 data fork in regular inode 8595782193 claims used block 537220045 = =20 correcting nblocks for inode 8595782193, was 3 - counted 0 = =20 data fork in regular inode 8595782194 claims used block 537523408 = =20 correcting nblocks for inode 8595782194, was 20 - counted 0 = =20 data fork in regular inode 8595782195 claims used block 537219949 = =20 correcting nblocks for inode 8595782195, was 3 - counted 0 = =20 data fork in regular inode 8595782196 claims used block 537523440 = =20 correcting nblocks for inode 8595782196, was 20 - counted 0 = =20 data fork in regular inode 8595782197 claims used block 537220398 = =20 correcting nblocks for inode 8595782197, was 2 - counted 0 = =20 data fork in regular inode 8595782198 claims used block 537478916 = =20 correcting nblocks for inode 8595782198, was 11 - counted 0 = =20 data fork in regular inode 8595782199 claims used block 537490020 = =20 correcting nblocks for inode 8595782199, was 15 - counted 0 = =20 data fork in regular inode 8595782200 claims used block 537220090 = =20 correcting nblocks for inode 8595782200, was 2 - counted 0 = =20 data fork in regular inode 8595782201 claims used block 537523472 = =20 correcting nblocks for inode 8595782201, was 16 - counted 0 = =20 data fork in regular inode 8595782202 claims used block 537210827 = =20 correcting nblocks for inode 8595782202, was 5 - counted 0 = =20 data fork in regular inode 8595782203 claims used block 537210696 = =20 correcting nblocks for inode 8595782203, was 8 - counted 0 = =20 data fork in regular inode 8595782204 claims used block 537219947 = =20 correcting nblocks for inode 8595782204, was 2 - counted 0 = =20 data fork in regular inode 8595782205 claims used block 537523393 = =20 correcting nblocks for inode 8595782205, was 13 - counted 0 = =20 data fork in regular inode 8595782206 claims used block 537220975 = =20 correcting nblocks for inode 8595782206, was 1 - counted 0 = =20 data fork in regular inode 8595782207 claims used block 537253982 = =20 correcting nblocks for inode 8595782207, was 2 - counted 0 = =20 inode block 537478864 multiply claimed, state was 3 = =20 data fork in regular inode 8599661824 claims used block 537480208 = =20 correcting nblocks for inode 8599661824, was 6 - counted 0 = =20 data fork in regular inode 8599661825 claims used block 537478863 = =20 correcting nblocks for inode 8599661825, was 1 - counted 0 = =20 data fork in regular inode 8599661826 claims used block 537523428 = =20 correcting nblocks for inode 8599661826, was 9 - counted 0 = =20 data fork in regular inode 8599661827 claims used block 537478879 = =20 correcting nblocks for inode 8599661827, was 1 - counted 0 = =20 data fork in regular inode 8599661828 claims used block 537478927 = =20 correcting nblocks for inode 8599661828, was 1 - counted 0 = =20 data fork in regular inode 8599661829 claims used block 537480214 = =20 correcting nblocks for inode 8599661829, was 2 - counted 0 = =20 data fork in regular inode 8599661831 claims used block 537480217 = =20 correcting nblocks for inode 8599661831, was 1 - counted 0 = =20 data fork in regular inode 8599661832 claims used block 537488424 = =20 correcting nblocks for inode 8599661832, was 5 - counted 0 = =20 data fork in regular inode 8599661833 claims used block 537480218 = =20 correcting nblocks for inode 8599661833, was 1 - counted 0 = =20 data fork in regular inode 8599661834 claims used block 537480216 = =20 correcting nblocks for inode 8599661834, was 1 - counted 0 = =20 data fork in regular inode 8599661835 claims used block 537488429 = =20 correcting nblocks for inode 8599661835, was 1 - counted 0 = =20 data fork in regular inode 8599661836 claims used block 537488430 = =20 correcting nblocks for inode 8599661836, was 2 - counted 0 = =20 data fork in regular inode 8599661837 claims used block 537488474 = =20 correcting nblocks for inode 8599661837, was 1 - counted 0 = =20 data fork in regular inode 8599661838 claims used block 537488475 = =20 correcting nblocks for inode 8599661838, was 2 - counted 0 = =20 data fork in regular inode 8599661839 claims used block 537488477 = =20 correcting nblocks for inode 8599661839, was 1 - counted 0 = =20 inode block 537478865 multiply claimed, state was 3 = =20 data fork in regular inode 8599661841 claims used block 537488478 = =20 correcting nblocks for inode 8599661841, was 1 - counted 0 = =20 data fork in regular inode 8599661842 claims used block 537465227 = =20 correcting nblocks for inode 8599661842, was 5 - counted 0 = =20 data fork in regular inode 8599661843 claims used block 537521305 = =20 correcting nblocks for inode 8599661843, was 7 - counted 0 = =20 data fork in regular inode 8599661844 claims used block 537523488 = =20 correcting nblocks for inode 8599661844, was 14 - counted 0 = =20 data fork in regular inode 8599661845 claims used block 537493114 = =20 correcting nblocks for inode 8599661845, was 4 - counted 0 = =20 data fork in regular inode 8599661846 claims used block 537507754 = =20 correcting nblocks for inode 8599661846, was 5 - counted 0 = =20 data fork in regular inode 8599661847 claims used block 537523504 = =20 correcting nblocks for inode 8599661847, was 17 - counted 0 = =20 data fork in regular inode 8599661849 claims used block 537523437 = =20 correcting nblocks for inode 8599661849, was 3 - counted 0 = =20 data fork in regular inode 8599661850 claims used block 537465226 = =20 correcting nblocks for inode 8599661850, was 1 - counted 0 = =20 data fork in regular inode 8599661851 claims used block 537493118 = =20 correcting nblocks for inode 8599661851, was 2 - counted 0 = =20 data fork in regular inode 8599661853 claims used block 537523406 = =20 correcting nblocks for inode 8599661853, was 2 - counted 0 = =20 data fork in regular inode 8599661854 claims used block 537523460 = =20 correcting nblocks for inode 8599661854, was 2 - counted 0 = =20 data fork in regular inode 8599661855 claims used block 537488479 = =20 correcting nblocks for inode 8599661855, was 3 - counted 0 = =20 bad directory block magic # 0x58443244 in block 0 for directory inode 85996= 61855 =20 corrupt block 0 in directory inode 8599661855 = =20 will junk block = =20 no . entry for directory 8599661855 = =20 no .. entry for directory 8599661855 = =20 problem with directory contents in inode 8599661855 = =20 cleared inode 8599661855 = =20 inode block 537478866 multiply claimed, state was 3 = =20 data fork in regular inode 8599661856 claims used block 537502639 = =20 correcting nblocks for inode 8599661856, was 1 - counted 0 = =20 data fork in regular inode 8599661857 claims used block 537503183 = =20 correcting nblocks for inode 8599661857, was 1 - counted 0 = =20 data fork in regular inode 8599661858 claims used block 537505375 = =20 correcting nblocks for inode 8599661858, was 1 - counted 0 = =20 data fork in regular inode 8599661859 claims used block 537507759 = =20 correcting nblocks for inode 8599661859, was 1 - counted 0 = =20 data fork in regular inode 8599661860 claims used block 537512031 = =20 correcting nblocks for inode 8599661860, was 1 - counted 0 = =20 data fork in regular inode 8599661861 claims used block 537515535 = =20 correcting nblocks for inode 8599661861, was 1 - counted 0 = =20 data fork in regular inode 8599661862 claims used block 537523462 = =20 correcting nblocks for inode 8599661862, was 1 - counted 0 = =20 data fork in regular inode 8599661863 claims used block 537523463 = =20 correcting nblocks for inode 8599661863, was 1 - counted 0 = =20 data fork in regular inode 8599661864 claims used block 537523464 = =20 correcting nblocks for inode 8599661864, was 1 - counted 0 = =20 data fork in regular inode 8599661865 claims used block 537523465 = =20 correcting nblocks for inode 8599661865, was 1 - counted 0 = =20 data fork in regular inode 8599661866 claims used block 537523466 = =20 correcting nblocks for inode 8599661866, was 1 - counted 0 = =20 data fork in regular inode 8599661867 claims used block 537523467 = =20 correcting nblocks for inode 8599661867, was 1 - counted 0 = =20 data fork in regular inode 8599661868 claims used block 537523468 = =20 correcting nblocks for inode 8599661868, was 1 - counted 0 = =20 data fork in regular inode 8599661869 claims used block 537523469 = =20 correcting nblocks for inode 8599661869, was 1 - counted 0 = =20 data fork in regular inode 8599661870 claims used block 537523470 = =20 correcting nblocks for inode 8599661870, was 1 - counted 0 = =20 data fork in regular inode 8599661871 claims used block 537523471 = =20 correcting nblocks for inode 8599661871, was 1 - counted 0 = =20 inode block 537478867 multiply claimed, state was 3 = =20 data fork in regular inode 8599661872 claims used block 537523502 = =20 correcting nblocks for inode 8599661872, was 1 - counted 0 = =20 data fork in regular inode 8599661873 claims used block 537523503 = =20 correcting nblocks for inode 8599661873, was 1 - counted 0 = =20 data fork in regular inode 8599661874 claims used block 537523521 = =20 correcting nblocks for inode 8599661874, was 1 - counted 0 = =20 data fork in regular inode 8599661875 claims used block 537523522 = =20 correcting nblocks for inode 8599661875, was 1 - counted 0 = =20 data fork in regular inode 8599661876 claims used block 537523523 = =20 correcting nblocks for inode 8599661876, was 1 - counted 0 = =20 data fork in regular inode 8599661877 claims used block 537523524 = =20 correcting nblocks for inode 8599661877, was 1 - counted 0 = =20 data fork in regular inode 8599661878 claims used block 537523525 = =20 correcting nblocks for inode 8599661878, was 1 - counted 0 = =20 data fork in regular inode 8599661879 claims used block 537523526 = =20 correcting nblocks for inode 8599661879, was 1 - counted 0 = =20 data fork in regular inode 8599661880 claims used block 537523527 = =20 correcting nblocks for inode 8599661880, was 1 - counted 0 = =20 data fork in regular inode 8599661881 claims used block 537523528 = =20 correcting nblocks for inode 8599661881, was 1 - counted 0 = =20 data fork in regular inode 8599661882 claims used block 537523529 = =20 correcting nblocks for inode 8599661882, was 1 - counted 0 = =20 data fork in regular inode 8599661883 claims used block 537523530 = =20 correcting nblocks for inode 8599661883, was 1 - counted 0 = =20 data fork in regular inode 8599661884 claims used block 537523531 = =20 correcting nblocks for inode 8599661884, was 1 - counted 0 = =20 data fork in regular inode 8599661885 claims used block 537523532 = =20 correcting nblocks for inode 8599661885, was 1 - counted 0 = =20 data fork in regular inode 8599661886 claims used block 537523533 = =20 correcting nblocks for inode 8599661886, was 1 - counted 0 = =20 data fork in regular inode 8599661887 claims used block 537523534 = =20 correcting nblocks for inode 8599661887, was 1 - counted 0 = =20 inode block 537523536 multiply claimed, state was 3 = =20 data fork in regular inode 8600376576 claims used block 537523545 = =20 correcting nblocks for inode 8600376576, was 2 - counted 0 = =20 data fork in regular inode 8600376577 claims used block 537523535 = =20 correcting nblocks for inode 8600376577, was 1 - counted 0 = =20 data fork in regular inode 8600376578 claims used block 537523547 = =20 correcting nblocks for inode 8600376578, was 1 - counted 0 = =20 data fork in regular inode 8600376579 claims used block 537523548 = =20 correcting nblocks for inode 8600376579, was 1 - counted 0 = =20 data fork in regular inode 8600376580 claims used block 537523549 = =20 correcting nblocks for inode 8600376580, was 1 - counted 0 = =20 data fork in regular inode 8600376581 claims used block 537523550 = =20 correcting nblocks for inode 8600376581, was 1 - counted 0 = =20 data fork in regular inode 8600376582 claims used block 537523551 = =20 correcting nblocks for inode 8600376582, was 1 - counted 0 = =20 data fork in regular inode 8600376583 claims used block 537523552 = =20 correcting nblocks for inode 8600376583, was 1 - counted 0 = =20 data fork in regular inode 8600376584 claims used block 537523553 = =20 correcting nblocks for inode 8600376584, was 1 - counted 0 = =20 data fork in regular inode 8600376585 claims used block 537523554 = =20 correcting nblocks for inode 8600376585, was 1 - counted 0 = =20 data fork in regular inode 8600376586 claims used block 537523555 = =20 correcting nblocks for inode 8600376586, was 1 - counted 0 = =20 data fork in regular inode 8600376587 claims used block 537523556 = =20 correcting nblocks for inode 8600376587, was 1 - counted 0 = =20 data fork in regular inode 8600376588 claims used block 537523557 = =20 correcting nblocks for inode 8600376588, was 1 - counted 0 = =20 data fork in regular inode 8600376589 claims used block 537523558 = =20 correcting nblocks for inode 8600376589, was 1 - counted 0 = =20 data fork in regular inode 8600376590 claims used block 537523559 = =20 correcting nblocks for inode 8600376590, was 1 - counted 0 = =20 data fork in regular inode 8600376591 claims used block 537523560 = =20 correcting nblocks for inode 8600376591, was 1 - counted 0 = =20 inode block 537523537 multiply claimed, state was 3 = =20 data fork in regular inode 8600376592 claims used block 537523561 = =20 correcting nblocks for inode 8600376592, was 1 - counted 0 = =20 data fork in regular inode 8600376593 claims used block 537523562 = =20 correcting nblocks for inode 8600376593, was 1 - counted 0 = =20 data fork in regular inode 8600376594 claims used block 537523563 = =20 correcting nblocks for inode 8600376594, was 1 - counted 0 = =20 data fork in regular inode 8600376595 claims used block 537523564 = =20 correcting nblocks for inode 8600376595, was 1 - counted 0 = =20 data fork in regular inode 8600376596 claims used block 537523565 = =20 correcting nblocks for inode 8600376596, was 1 - counted 0 = =20 data fork in regular inode 8600376597 claims used block 537523566 = =20 correcting nblocks for inode 8600376597, was 1 - counted 0 = =20 data fork in regular inode 8600376598 claims used block 537523567 = =20 correcting nblocks for inode 8600376598, was 1 - counted 0 = =20 data fork in regular inode 8600376599 claims used block 537523568 = =20 correcting nblocks for inode 8600376599, was 1 - counted 0 = =20 data fork in regular inode 8600376600 claims used block 537523569 = =20 correcting nblocks for inode 8600376600, was 1 - counted 0 = =20 data fork in regular inode 8600376601 claims used block 537523570 = =20 correcting nblocks for inode 8600376601, was 1 - counted 0 = =20 data fork in regular inode 8600376602 claims used block 537523571 = =20 correcting nblocks for inode 8600376602, was 1 - counted 0 = =20 data fork in regular inode 8600376603 claims used block 537523572 = =20 correcting nblocks for inode 8600376603, was 1 - counted 0 = =20 data fork in regular inode 8600376604 claims used block 537523573 = =20 correcting nblocks for inode 8600376604, was 1 - counted 0 = =20 data fork in regular inode 8600376605 claims used block 537523574 = =20 correcting nblocks for inode 8600376605, was 1 - counted 0 = =20 data fork in regular inode 8600376606 claims used block 537523575 = =20 correcting nblocks for inode 8600376606, was 1 - counted 0 = =20 data fork in regular inode 8600376607 claims used block 537523576 = =20 correcting nblocks for inode 8600376607, was 1 - counted 0 = =20 inode block 537523538 multiply claimed, state was 3 = =20 data fork in regular inode 8600376608 claims used block 537523577 = =20 correcting nblocks for inode 8600376608, was 1 - counted 0 = =20 data fork in regular inode 8600376609 claims used block 537523578 = =20 correcting nblocks for inode 8600376609, was 1 - counted 0 = =20 data fork in regular inode 8600376610 claims used block 537523583 = =20 correcting nblocks for inode 8600376610, was 1 - counted 0 = =20 data fork in regular inode 8600376611 claims used block 537527748 = =20 correcting nblocks for inode 8600376611, was 1 - counted 0 = =20 data fork in regular inode 8600376612 claims used block 537527749 = =20 correcting nblocks for inode 8600376612, was 1 - counted 0 = =20 data fork in regular inode 8600376613 claims used block 537527750 = =20 correcting nblocks for inode 8600376613, was 1 - counted 0 = =20 data fork in regular inode 8600376614 claims used block 537527751 = =20 correcting nblocks for inode 8600376614, was 1 - counted 0 = =20 data fork in regular inode 8600376615 claims used block 537527752 = =20 correcting nblocks for inode 8600376615, was 1 - counted 0 = =20 data fork in regular inode 8600376616 claims used block 537527753 = =20 correcting nblocks for inode 8600376616, was 1 - counted 0 = =20 data fork in regular inode 8600376617 claims used block 537527754 = =20 correcting nblocks for inode 8600376617, was 1 - counted 0 = =20 data fork in regular inode 8600376618 claims used block 537527755 = =20 correcting nblocks for inode 8600376618, was 1 - counted 0 = =20 data fork in regular inode 8600376619 claims used block 537527756 = =20 correcting nblocks for inode 8600376619, was 1 - counted 0 = =20 data fork in regular inode 8600376620 claims used block 537527757 = =20 correcting nblocks for inode 8600376620, was 1 - counted 0 = =20 data fork in regular inode 8600376621 claims used block 537527758 = =20 correcting nblocks for inode 8600376621, was 1 - counted 0 = =20 data fork in regular inode 8600376622 claims used block 537527759 = =20 correcting nblocks for inode 8600376622, was 3 - counted 0 = =20 data fork in regular inode 8600376623 claims used block 537527762 = =20 correcting nblocks for inode 8600376623, was 1 - counted 0 = =20 inode block 537523539 multiply claimed, state was 3 = =20 data fork in regular inode 8600376624 claims used block 537527763 = =20 correcting nblocks for inode 8600376624, was 1 - counted 0 = =20 data fork in regular inode 8600376625 claims used block 537527764 = =20 correcting nblocks for inode 8600376625, was 1 - counted 0 = =20 data fork in regular inode 8600376626 claims used block 537527765 = =20 correcting nblocks for inode 8600376626, was 1 - counted 0 = =20 data fork in regular inode 8600376627 claims used block 537527766 = =20 correcting nblocks for inode 8600376627, was 1 - counted 0 = =20 data fork in regular inode 8600376628 claims used block 537527767 = =20 correcting nblocks for inode 8600376628, was 1 - counted 0 = =20 data fork in regular inode 8600376629 claims used block 537527768 = =20 correcting nblocks for inode 8600376629, was 1 - counted 0 = =20 data fork in regular inode 8600376630 claims used block 537527769 = =20 correcting nblocks for inode 8600376630, was 1 - counted 0 = =20 data fork in regular inode 8600376631 claims used block 537527770 = =20 correcting nblocks for inode 8600376631, was 1 - counted 0 = =20 data fork in regular inode 8600376632 claims used block 537527771 = =20 correcting nblocks for inode 8600376632, was 1 - counted 0 = =20 data fork in regular inode 8600376633 claims used block 537527772 = =20 correcting nblocks for inode 8600376633, was 1 - counted 0 = =20 data fork in regular inode 8600376634 claims used block 537527773 = =20 correcting nblocks for inode 8600376634, was 1 - counted 0 = =20 data fork in regular inode 8600376635 claims used block 537527774 = =20 correcting nblocks for inode 8600376635, was 1 - counted 0 = =20 data fork in regular inode 8600376636 claims used block 537527775 = =20 correcting nblocks for inode 8600376636, was 1 - counted 0 = =20 data fork in regular inode 8600376637 claims used block 537527776 = =20 correcting nblocks for inode 8600376637, was 1 - counted 0 = =20 data fork in regular inode 8600376638 claims used block 537527777 = =20 correcting nblocks for inode 8600376638, was 1 - counted 0 = =20 data fork in regular inode 8600376639 claims used block 537527778 = =20 correcting nblocks for inode 8600376639, was 1 - counted 0 = =20 inode block 537523540 multiply claimed, state was 3 = =20 data fork in regular inode 8600376640 claims used block 537527779 = =20 correcting nblocks for inode 8600376640, was 1 - counted 0 = =20 data fork in regular inode 8600376641 claims used block 537527780 = =20 correcting nblocks for inode 8600376641, was 1 - counted 0 = =20 data fork in regular inode 8600376642 claims used block 537527781 = =20 correcting nblocks for inode 8600376642, was 1 - counted 0 = =20 data fork in regular inode 8600376643 claims used block 537527782 = =20 correcting nblocks for inode 8600376643, was 1 - counted 0 = =20 data fork in regular inode 8600376644 claims used block 537527783 = =20 correcting nblocks for inode 8600376644, was 1 - counted 0 = =20 data fork in regular inode 8600376645 claims used block 537527784 = =20 correcting nblocks for inode 8600376645, was 1 - counted 0 = =20 data fork in regular inode 8600376646 claims used block 537527785 = =20 correcting nblocks for inode 8600376646, was 1 - counted 0 = =20 data fork in regular inode 8600376647 claims used block 537527786 = =20 correcting nblocks for inode 8600376647, was 1 - counted 0 = =20 data fork in regular inode 8600376648 claims used block 537527787 = =20 correcting nblocks for inode 8600376648, was 1 - counted 0 = =20 data fork in regular inode 8600376649 claims used block 537527788 = =20 correcting nblocks for inode 8600376649, was 1 - counted 0 = =20 data fork in regular inode 8600376650 claims used block 537527789 = =20 correcting nblocks for inode 8600376650, was 1 - counted 0 = =20 data fork in regular inode 8600376651 claims used block 537527790 = =20 correcting nblocks for inode 8600376651, was 1 - counted 0 = =20 data fork in regular inode 8600376652 claims used block 537527791 = =20 correcting nblocks for inode 8600376652, was 1 - counted 0 = =20 data fork in regular inode 8600376653 claims used block 537527792 = =20 correcting nblocks for inode 8600376653, was 1 - counted 0 = =20 data fork in regular inode 8600376654 claims used block 537527793 = =20 correcting nblocks for inode 8600376654, was 1 - counted 0 = =20 data fork in regular inode 8600376655 claims used block 537527794 = =20 correcting nblocks for inode 8600376655, was 1 - counted 0 = =20 inode block 537523541 multiply claimed, state was 3 = =20 data fork in regular inode 8600376656 claims used block 537527795 = =20 correcting nblocks for inode 8600376656, was 1 - counted 0 = =20 data fork in regular inode 8600376657 claims used block 537527796 = =20 correcting nblocks for inode 8600376657, was 1 - counted 0 = =20 data fork in regular inode 8600376658 claims used block 537527797 = =20 correcting nblocks for inode 8600376658, was 1 - counted 0 = =20 data fork in regular inode 8600376659 claims used block 537527798 = =20 correcting nblocks for inode 8600376659, was 1 - counted 0 = =20 data fork in regular inode 8600376660 claims used block 537527799 = =20 correcting nblocks for inode 8600376660, was 1 - counted 0 = =20 data fork in regular inode 8600376661 claims used block 537527800 = =20 correcting nblocks for inode 8600376661, was 1 - counted 0 = =20 data fork in regular inode 8600376662 claims used block 537527801 = =20 correcting nblocks for inode 8600376662, was 1 - counted 0 = =20 data fork in regular inode 8600376663 claims used block 537527802 = =20 correcting nblocks for inode 8600376663, was 1 - counted 0 = =20 data fork in regular inode 8600376664 claims used block 537527803 = =20 correcting nblocks for inode 8600376664, was 1 - counted 0 = =20 data fork in regular inode 8600376665 claims used block 537527804 = =20 correcting nblocks for inode 8600376665, was 1 - counted 0 = =20 data fork in regular inode 8600376666 claims used block 537527805 = =20 correcting nblocks for inode 8600376666, was 1 - counted 0 = =20 data fork in regular inode 8600376667 claims used block 537527806 = =20 correcting nblocks for inode 8600376667, was 1 - counted 0 = =20 data fork in regular inode 8600376668 claims used block 537527807 = =20 correcting nblocks for inode 8600376668, was 1 - counted 0 = =20 data fork in regular inode 8600376669 claims used block 537527808 = =20 correcting nblocks for inode 8600376669, was 1 - counted 0 = =20 data fork in regular inode 8600376670 claims used block 537527809 = =20 correcting nblocks for inode 8600376670, was 1 - counted 0 = =20 data fork in regular inode 8600376671 claims used block 537527810 = =20 correcting nblocks for inode 8600376671, was 1 - counted 0 = =20 inode block 537523542 multiply claimed, state was 3 = =20 data fork in regular inode 8600376672 claims used block 537527811 = =20 correcting nblocks for inode 8600376672, was 1 - counted 0 = =20 data fork in regular inode 8600376673 claims used block 537527812 = =20 correcting nblocks for inode 8600376673, was 1 - counted 0 = =20 data fork in regular inode 8600376674 claims used block 537527813 = =20 correcting nblocks for inode 8600376674, was 1 - counted 0 = =20 data fork in regular inode 8600376675 claims used block 537527814 = =20 correcting nblocks for inode 8600376675, was 1 - counted 0 = =20 data fork in regular inode 8600376676 claims used block 537527815 = =20 correcting nblocks for inode 8600376676, was 1 - counted 0 = =20 data fork in regular inode 8600376677 claims used block 537527816 = =20 correcting nblocks for inode 8600376677, was 1 - counted 0 = =20 data fork in regular inode 8600376678 claims used block 537527817 = =20 correcting nblocks for inode 8600376678, was 1 - counted 0 = =20 data fork in regular inode 8600376679 claims used block 537527818 = =20 correcting nblocks for inode 8600376679, was 1 - counted 0 = =20 data fork in regular inode 8600376680 claims used block 537527819 = =20 correcting nblocks for inode 8600376680, was 1 - counted 0 = =20 data fork in regular inode 8600376681 claims used block 537527820 = =20 correcting nblocks for inode 8600376681, was 1 - counted 0 = =20 data fork in regular inode 8600376682 claims used block 537523544 = =20 correcting nblocks for inode 8600376682, was 1 - counted 0 = =20 data fork in regular inode 8600376683 claims used block 537527821 = =20 correcting nblocks for inode 8600376683, was 1 - counted 0 = =20 data fork in regular inode 8600376684 claims used block 537527822 = =20 correcting nblocks for inode 8600376684, was 1 - counted 0 = =20 data fork in regular inode 8600376685 claims used block 537527823 = =20 correcting nblocks for inode 8600376685, was 1 - counted 0 = =20 data fork in regular inode 8600376686 claims used block 537527824 = =20 correcting nblocks for inode 8600376686, was 1 - counted 0 = =20 data fork in regular inode 8600376687 claims used block 537527825 = =20 correcting nblocks for inode 8600376687, was 2 - counted 0 = =20 inode block 537523543 multiply claimed, state was 3 = =20 data fork in regular inode 8600376688 claims used block 537527827 = =20 correcting nblocks for inode 8600376688, was 4 - counted 0 = =20 data fork in regular inode 8600376689 claims used block 537527831 = =20 correcting nblocks for inode 8600376689, was 3 - counted 0 = =20 data fork in regular inode 8600376690 claims used block 537527834 = =20 correcting nblocks for inode 8600376690, was 3 - counted 0 = =20 data fork in regular inode 8600376691 claims used block 537527837 = =20 correcting nblocks for inode 8600376691, was 1 - counted 0 = =20 data fork in regular inode 8600376692 claims used block 537527838 = =20 correcting nblocks for inode 8600376692, was 1 - counted 0 = =20 data fork in regular inode 8600376693 claims used block 537527839 = =20 correcting nblocks for inode 8600376693, was 2 - counted 0 = =20 data fork in regular inode 8600376694 claims used block 537527841 = =20 correcting nblocks for inode 8600376694, was 2 - counted 0 = =20 data fork in regular inode 8600376695 claims used block 537527843 = =20 correcting nblocks for inode 8600376695, was 4 - counted 0 = =20 data fork in regular inode 8600376697 claims used block 537527847 = =20 correcting nblocks for inode 8600376697, was 2 - counted 0 = =20 data fork in regular inode 8600376698 claims used block 537527849 = =20 correcting nblocks for inode 8600376698, was 2 - counted 0 = =20 data fork in regular inode 8600376699 claims used block 537527851 = =20 correcting nblocks for inode 8600376699, was 1 - counted 0 = =20 data fork in regular inode 8600376701 claims used block 537527853 = =20 correcting nblocks for inode 8600376701, was 1 - counted 0 = =20 data fork in regular inode 8600376702 claims used block 537527854 = =20 correcting nblocks for inode 8600376702, was 1 - counted 0 = =20 data fork in regular inode 8600376703 claims used block 537527855 = =20 correcting nblocks for inode 8600376703, was 1 - counted 0 = =20 inode block 537527856 multiply claimed, state was 3 = =20 data fork in regular inode 8600445697 claims used block 537527860 = =20 correcting nblocks for inode 8600445697, was 1 - counted 0 = =20 data fork in regular inode 8600445698 claims used block 537527861 = =20 correcting nblocks for inode 8600445698, was 2 - counted 0 = =20 data fork in regular inode 8600445700 claims used block 537527863 = =20 correcting nblocks for inode 8600445700, was 1 - counted 0 = =20 data fork in regular inode 8600445701 claims used block 537527864 = =20 correcting nblocks for inode 8600445701, was 8 - counted 0 = =20 data fork in regular inode 8600445703 claims used block 537527872 = =20 correcting nblocks for inode 8600445703, was 1 - counted 0 = =20 data fork in regular inode 8600445704 claims used block 537527873 = =20 correcting nblocks for inode 8600445704, was 2 - counted 0 = =20 data fork in regular inode 8600445705 claims used block 537527875 = =20 correcting nblocks for inode 8600445705, was 4 - counted 0 = =20 data fork in regular inode 8600445706 claims used block 537527879 = =20 correcting nblocks for inode 8600445706, was 3 - counted 0 = =20 data fork in regular inode 8600445707 claims used block 537527882 = =20 correcting nblocks for inode 8600445707, was 1 - counted 0 = =20 data fork in regular inode 8600445708 claims used block 537527883 = =20 correcting nblocks for inode 8600445708, was 1 - counted 0 = =20 inode block 537527857 multiply claimed, state was 3 = =20 inode block 537527858 multiply claimed, state was 3 = =20 inode block 537527859 multiply claimed, state was 3 = =20 Phase 5 - rebuild AG headers and trees... = =20 - reset superblock... = =20 Phase 6 - check inode connectivity... = =20 - resetting contents of realtime bitmap and summary inodes = =20 - traversing filesystem ... = =20 entry ".." in directory inode 540857104 points to free inode 8595227737 = =20 bad hash table for directory inode 540857104 (no data entry): rebuilding = =20 rebuilding directory inode 540857104 = =20 entry ".." in directory inode 540857116 points to free inode 8595227737 = =20 bad hash table for directory inode 540857116 (no data entry): rebuilding = =20 rebuilding directory inode 540857116 = =20 entry ".." in directory inode 1360387129 points to free inode 8595227737 = =20 bad hash table for directory inode 1360387129 (no data entry): rebuilding = =20 rebuilding directory inode 1360387129 = =20 entry ".." in directory inode 1360398342 points to free inode 8595227737 = =20 bad hash table for directory inode 1360398342 (no data entry): rebuilding = =20 rebuilding directory inode 1360398342 = =20 entry ".." in directory inode 1360398366 points to free inode 8595227737 = =20 bad hash table for directory inode 1360398366 (no data entry): rebuilding = =20 rebuilding directory inode 1360398366 = =20 entry ".." in directory inode 2183527013 points to free inode 8595227737 = =20 bad hash table for directory inode 2183527013 (no data entry): rebuilding = =20 rebuilding directory inode 2183527013 = =20 entry ".." in directory inode 2423902981 points to free inode 8595227737 = =20 bad hash table for directory inode 2423902981 (no data entry): rebuilding = =20 rebuilding directory inode 2423902981 = =20 entry ".." in directory inode 2423903010 points to free inode 8595227737 = =20 bad hash table for directory inode 2423903010 (no data entry): rebuilding = =20 rebuilding directory inode 2423903010 = =20 entry ".." in directory inode 2423903354 points to free inode 8595227737 = =20 bad hash table for directory inode 2423903354 (no data entry): rebuilding = =20 rebuilding directory inode 2423903354 = =20 entry ".." in directory inode 2729570309 points to free inode 8595227737 = =20 bad hash table for directory inode 2729570309 (no data entry): rebuilding = =20 rebuilding directory inode 2729570309 = =20 entry ".." in directory inode 2965476191 points to free inode 8595227737 = =20 bad hash table for directory inode 2965476191 (no data entry): rebuilding = =20 rebuilding directory inode 2965476191 = =20 entry ".." in directory inode 3233125442 points to free inode 8595227737 = =20 bad hash table for directory inode 3233125442 (no data entry): rebuilding = =20 rebuilding directory inode 3233125442 = =20 entry ".." in directory inode 3774889222 points to free inode 8595227737 = =20 bad hash table for directory inode 3774889222 (no data entry): rebuilding = =20 rebuilding directory inode 3774889222 = =20 entry ".." in directory inode 4056148271 points to free inode 8595227737 = =20 bad hash table for directory inode 4056148271 (no data entry): rebuilding = =20 rebuilding directory inode 4056148271 = =20 entry ".." in directory inode 4301533537 points to free inode 8595227737 = =20 bad hash table for directory inode 4301533537 (no data entry): rebuilding = =20 rebuilding directory inode 4301533537 = =20 entry "t3_penic_at" in directory inode 4569309713 points to free inode 8595= 246367 bad hash table for directory inode 4569309713 (no data entry): rebuilding rebuilding directory inode 4569309713 entry ".." in directory inode 4569900873 points to free inode 8595227737 bad hash table for directory inode 4569900873 (no data entry): rebuilding rebuilding directory inode 4569900873 entry ".." in directory inode 5104911480 points to free inode 8595227737 bad hash table for directory inode 5104911480 (no data entry): rebuilding rebuilding directory inode 5104911480 entry ".." in directory inode 5375783139 points to free inode 8595227737 bad hash table for directory inode 5375783139 (no data entry): rebuilding rebuilding directory inode 5375783139 entry ".." in directory inode 5643350824 points to free inode 8595227737 bad hash table for directory inode 5643350824 (no data entry): rebuilding rebuilding directory inode 5643350824 entry ".." in directory inode 6183517802 points to free inode 8595227737 bad hash table for directory inode 6183517802 (no data entry): rebuilding rebuilding directory inode 6183517802 entry ".." in directory inode 6449473353 points to free inode 8595227737 bad hash table for directory inode 6449473353 (no data entry): rebuilding rebuilding directory inode 6449473353 entry ".." in directory inode 6449473577 points to free inode 8595227737 bad hash table for directory inode 6449473577 (no data entry): rebuilding rebuilding directory inode 6449473577 entry ".." in directory inode 6720730683 points to free inode 8595227737 bad hash table for directory inode 6720730683 (no data entry): rebuilding rebuilding directory inode 6720730683 entry ".." in directory inode 6991706722 points to free inode 8595227737 bad hash table for directory inode 6991706722 (no data entry): rebuilding rebuilding directory inode 6991706722 entry ".." in directory inode 7258563164 points to free inode 8595227737 bad hash table for directory inode 7258563164 (no data entry): rebuilding rebuilding directory inode 7258563164 entry ".." in directory inode 7521282311 points to free inode 8595227737 bad hash table for directory inode 7521282311 (no data entry): rebuilding rebuilding directory inode 7521282311 entry ".." in directory inode 7789798424 points to free inode 8595227737 bad hash table for directory inode 7789798424 (no data entry): rebuilding rebuilding directory inode 7789798424 entry ".." in directory inode 7789798445 points to free inode 8595227737 bad hash table for directory inode 7789798445 (no data entry): rebuilding rebuilding directory inode 7789798445 entry ".." in directory inode 7789798460 points to free inode 8595227737 bad hash table for directory inode 7789798460 (no data entry): rebuilding rebuilding directory inode 7789798460 entry ".." in directory inode 7789798660 points to free inode 8595227737 bad hash table for directory inode 7789798660 (no data entry): rebuilding rebuilding directory inode 7789798660 entry "config" in shortform directory inode 8058557472 points to free inode= 8595227737 fixing i8count in inode 8058557472 entry ".." in directory inode 8058557495 points to free inode 8595227737 bad hash table for directory inode 8058557495 (no data entry): rebuilding rebuilding directory inode 8058557495 entry "asm-um" in directory inode 8063173675 points to free inode 8599661855 bad hash table for directory inode 8063173675 (no data entry): rebuilding rebuilding directory inode 8063173675 corrupt dinode 8326467385, extent total =3D 1, nblocks =3D 0. This is a bu= g. Please capture the filesystem metadata with xfs_metadump and report it to xfs@oss.sgi.com. cache_node_purge: refcount was 1, not zero (node=3D0x7f90c4de34e0) fatal error -- couldn't map inode 8326467385, err =3D 117 Now, should I PANIC? Doesn't all seem to be nice... I mounted this image, made "rm -r *" so all files/dirs which were good were= deleted. There are still a lot in there which can't be deleted. Can someon= e help me fix it please? I made another metadump image, it's on http://zmi.at/xfs.metadump-brokenonl= y2.bz2 mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 From jamie@shareable.org Sun Aug 30 11:36: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=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 n7UGZg6q035958 for ; Sun, 30 Aug 2009 11:35:53 -0500 X-ASG-Debug-ID: 1251650177-206102090000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail2.shareable.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id EB2061D63987; Sun, 30 Aug 2009 09:36:17 -0700 (PDT) Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by cuda.sgi.com with ESMTP id UbrBcgsIjvPst0u9; Sun, 30 Aug 2009 09:36:17 -0700 (PDT) Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from ) id 1MhnNf-0001zX-78; Sun, 30 Aug 2009 17:35:51 +0100 Date: Sun, 30 Aug 2009 17:35:51 +0100 From: Jamie Lokier To: Christoph Hellwig Cc: Jan Kara , LKML , hch@lst.de, linux-fsdevel@vger.kernel.org, Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090830163551.GA7129@shareable.org> References: <1250875447-15622-1-git-send-email-jack@suse.cz> <1250875447-15622-8-git-send-email-jack@suse.cz> <20090827173540.GA19115@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090827173540.GA19115@infradead.org> User-Agent: Mutt/1.5.13 (2006-08-11) X-Barracuda-Connect: mail2.shareable.org[80.68.89.115] X-Barracuda-Start-Time: 1251650197 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.7650 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: > int generic_write_sync(struct file *file, loff_t pos, loff_t count) > { > if (!(file->f_flags & O_SYNC) && !IS_SYNC(file->f_mapping->host)) > return 0; > return vfs_fsync_range(file, file->f_path.dentry, pos, > pos + count - 1, 1); > } > > and we can look into replacing the datasync flag with something more > meaningfull later through the whole fsync stack. I like that. It looks really clear and self-documenting, if vfs_fsync_range does what it sounds like, which is a nice change. If I've guessed right what that code does, proper O_RSYNC will be easy: int generic_sync_before_read(struct file *file, loff_t pos, loff_t count) { int is_sync = ((file->f_flags & O_SYNC) || IS_SYNC(file->f_mapping->host)); int is_dsync = is_sync || (file->f_flags & O_DSYNC); if (!is_dsync || !(file->f_flags & O_RSYNC)) return 0; return vfs_fsync_range(file, file->f_ath.denty, pos, pos + count - 1, is_sync); } (By the way, did I mention Irix has range-fsync and range-fdatasync system calls too :-) (actually fcntls)) -- Jamie From hch@lst.de Sun Aug 30 11:39:34 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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7UGd9Lk036101 for ; Sun, 30 Aug 2009 11:39:24 -0500 X-ASG-Debug-ID: 1251650403-36a0019a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from verein.lst.de (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 999DE40E6F3; Sun, 30 Aug 2009 09:40:04 -0700 (PDT) Received: from verein.lst.de (verein.lst.de [213.95.11.210]) by cuda.sgi.com with ESMTP id uEXTqZGLT1kMbmYe; Sun, 30 Aug 2009 09:40:04 -0700 (PDT) X-ASG-Whitelist: Client Received: from verein.lst.de (localhost [127.0.0.1]) by verein.lst.de (8.12.3/8.12.3/Debian-7.1) with ESMTP id n7UGdHVL024402 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Sun, 30 Aug 2009 18:39:17 +0200 Received: (from hch@localhost) by verein.lst.de (8.12.3/8.12.3/Debian-7.2) id n7UGdHri024401; Sun, 30 Aug 2009 18:39:17 +0200 Date: Sun, 30 Aug 2009 18:39:17 +0200 From: Christoph Hellwig To: Jamie Lokier Cc: Christoph Hellwig , Jan Kara , LKML , hch@lst.de, linux-fsdevel@vger.kernel.org, Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090830163917.GA23955@lst.de> References: <1250875447-15622-1-git-send-email-jack@suse.cz> <1250875447-15622-8-git-send-email-jack@suse.cz> <20090827173540.GA19115@infradead.org> <20090830163551.GA7129@shareable.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090830163551.GA7129@shareable.org> User-Agent: Mutt/1.3.28i X-Scanned-By: MIMEDefang 2.39 X-Barracuda-Connect: verein.lst.de[213.95.11.210] X-Barracuda-Start-Time: 1251650404 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 30, 2009 at 05:35:51PM +0100, Jamie Lokier wrote: > I like that. It looks really clear and self-documenting, if > vfs_fsync_range does what it sounds like, which is a nice change. > > If I've guessed right what that code does, proper O_RSYNC will be easy: > > int generic_sync_before_read(struct file *file, loff_t pos, loff_t count) > { > int is_sync = ((file->f_flags & O_SYNC) > || IS_SYNC(file->f_mapping->host)); > int is_dsync = is_sync || (file->f_flags & O_DSYNC); > > if (!is_dsync || !(file->f_flags & O_RSYNC)) > return 0; > return vfs_fsync_range(file, file->f_ath.denty, pos, > pos + count - 1, is_sync); > } Yes. something like this. > (By the way, did I mention Irix has range-fsync and range-fdatasync > system calls too :-) (actually fcntls)) Linux has sync_file_range which currently is a perfect way to lose your synced' data, but with two more flags and calls to ->fsync we could turn it into range-fsync/fdatasync. I'm not sure if that's a good idea or if we should just add a sys_fdatasync_rage systems call. I don't quite see the point of a range-fsync, but it could be easily implemented as a flag. From jamie@shareable.org Sun Aug 30 12:29:44 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 n7UHTOjI038476 for ; Sun, 30 Aug 2009 12:29:34 -0500 X-ASG-Debug-ID: 1251653406-2126037a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail2.shareable.org (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6973E15891EE; Sun, 30 Aug 2009 10:30:07 -0700 (PDT) Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by cuda.sgi.com with ESMTP id 39kMJJquFlXKtNUH; Sun, 30 Aug 2009 10:30:07 -0700 (PDT) Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from ) id 1MhoE3-0002Ed-U6; Sun, 30 Aug 2009 18:29:59 +0100 Date: Sun, 30 Aug 2009 18:29:59 +0100 From: Jamie Lokier To: Christoph Hellwig Cc: Christoph Hellwig , Jan Kara , LKML , linux-fsdevel@vger.kernel.org, Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu X-ASG-Orig-Subj: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090830172959.GD7129@shareable.org> References: <1250875447-15622-1-git-send-email-jack@suse.cz> <1250875447-15622-8-git-send-email-jack@suse.cz> <20090827173540.GA19115@infradead.org> <20090830163551.GA7129@shareable.org> <20090830163917.GA23955@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090830163917.GA23955@lst.de> User-Agent: Mutt/1.5.13 (2006-08-11) X-Barracuda-Connect: mail2.shareable.org[80.68.89.115] X-Barracuda-Start-Time: 1251653416 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.7654 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: > Linux has sync_file_range which currently is a perfect way to lose your > synced' data, but with two more flags and calls to ->fsync we could > turn it into range-fsync/fdatasync. Apart from the way it loses your data, the man page for sync_file_range never manages to explain quite why you should use the existing flags in various combinations. It's only obvious if you've worked on a kernel yourself. Having asked this before, it appears one of the reasons for sync_file_range working as it does is to give the application more control over writeback order and to some extent, reduce the amount of blocking. But it's really difficult to manage the amount of blocking with it. You need to know the request queue size among other things, and even if you do it's dynamic. Writeback order would be as easy with fdatasync_range, and if you want to reduce blocking, a good implementation of aio_fsync would be more useful. Or, you have to use application writeback threads anyway, so fdatasync_range again. The one thing sync_file_range can do is let you submit multiple ranges which the elevators can sort for the hardware. You can't do that with sequential calls to fdatasync_range, and it's not clear that aio_fsync is implemented well enough (but it's a fairly good API for it). Nick Piggin's idea to let fdatasync_range take multiple ranges might help with that, but it's not clear how much. > I'm not sure if that's a good > idea or if we should just add a sys_fdatasync_rage systems call. fdatasync_range has the advantage of being comprehensible. People will use it because it makes sense. sync_file_range could be hijacked with new flags to implement fdatasync_range. If that's done, I'd rename the system call, but keep it compatible with sync_file_range's flags, which would never be set when userspace uses the new functionality. > I don't quite see the point of a range-fsync, but it could be easily > implemented as a flag. A flags argument would be good anyway: to indicate if we want an ordinary fdatasync, or something which flushes the relevant bit of volatile hardware caches too. With that as a capability, it is useful to offer fsync, because that'd be the only way to get a volatile hardware cache flush (or maybe the only way not to?). For that reason, it should be permitted to give an infinitely large range. I don't see the point of range-fsync either, but I'm not sure if I see any harm in it. If permitted, range-fsync with a zero-byte range would flush just the inode state and none of the data. If that's technically available, maybe O_ISYNC and "#define O_SYNC (O_DATASYNC|O_ISYNC)" isn't such as daft idea. I'd call it fsync_range for consistency with aio_fsync (POSIX), which takes flags O_DSYNC or O_SYNC to indicate the type of sync. But I'd use new flag names, to keep the space clear for other flags. Just sketching some ideas: /* One of FSYNC_RANGE_SYNC or FSYNC_RANGE_DATASYNC must be set. */ #define FSYNC_RANGE_SYNC (1 << 0) /* Like fsync, O_SYNC. */ #define FSYNC_RANGE_DATASYNC (1 << 1) /* Like fdatasync, O_DSYNC. */ #define FSYNC_RANGE_NO_HWCACHE (1 << 2) /* Not hardware caches. */ -- Jamie From dmfforg@yahoo.fr Sun Aug 30 13:42:03 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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7UIfgue041566 for ; Sun, 30 Aug 2009 13:41:53 -0500 X-ASG-Debug-ID: 1251657724-1c2901a60000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from web24705.mail.ird.yahoo.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with SMTP id 7480C158919B for ; Sun, 30 Aug 2009 11:42:04 -0700 (PDT) Received: from web24705.mail.ird.yahoo.com (web24705.mail.ird.yahoo.com [212.82.104.178]) by cuda.sgi.com with SMTP id YmOQKeiFND8SzECJ for ; Sun, 30 Aug 2009 11:42:04 -0700 (PDT) Received: (qmail 8675 invoked by uid 60001); 30 Aug 2009 18:42:04 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.fr; s=s1024; t=1251657724; bh=ZZAF4qg8A2t4e++JxvofZmxOjPvravAavEuSMiRRObQ=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=QJ66h59HfXVtcsDAbcEoDgH5H+AQNZRxx6D+Kd0DEfKhiXKG+NdwXBW4jZuwpDWsziNu16ZQb7pdldZkq3ReRsZnZUDcn0Vwzf5NalYsV1iXlBuKphFDCze6li5MVY0vx1AMCApBDujg4pIZ/CuQyMyMZ+QTZG6FwZmt8v6tqHk= DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.fr; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=5xChAePJiRZqs0CWstzB9v4nqhX/Nm4aq6Fd0/Z86I+q8tLaGEp8sW4o2hdORQNcq1CIXxlOaUI+zURZ+eeXImCxE7LI3SDebjpyH1R84+pWy7gJgGOxxhJ6ZqDl3WoqpkE90AJZo/y1qC4uhoxeJre/iSL5Jlr6n5eXIETjpCI=; Message-ID: <360342.8213.qm@web24705.mail.ird.yahoo.com> X-YMail-OSG: VxhHL6wVM1m.moC0zg4ri.X6418YEl.PxWJUTXb6d9OD9Vg_SIVDRLztI9zb9sXDPtfN9EV6UPAARA9oA0kCbNFwb_jttSh9gUmnw_Lm3pa5HaGRMEol1zcXzPmPElTNDt1lGUfXK1SaPkgmgqI8yB.UqEPUZ4udPzWQWgbbWk1CO227ql40LgTQHZadYkwuQjRrBjf1YyknRXBpS_L1stdWnxbX30cCyI8bha7D55xi7voegtUCSd_jKQTBi_WwkDK9QtuEhuA6BRoTHzMVCxUjwHm5OA-- Received: from [63.247.87.103] by web24705.mail.ird.yahoo.com via HTTP; Sun, 30 Aug 2009 18:42:04 GMT X-Mailer: YahooMailClassic/6.1.2 YahooMailWebService/0.7.338.2 Date: Sun, 30 Aug 2009 18:42:04 +0000 (GMT) From: Dikembe Mutombo X-ASG-Orig-Subj: Dikembe Mutombo FOUNDATION. Subject: Dikembe Mutombo FOUNDATION. To: undisclosed recipients: ; MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-1077513310-1251657724=:8213" X-Barracuda-Connect: web24705.mail.ird.yahoo.com[212.82.104.178] X-Barracuda-Start-Time: 1251657750 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5255 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=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7658 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 --0-1077513310-1251657724=:8213 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Dikembe Mutombo FOUNDATION.=20 =A0 Chers bien-aim=E9s,=20 =A0 Salutations de la paix de Dieu le P=E8re de tous.=20 Mes noms de M. Dikembe Mutombo, joueur de basket-ball NBA aux =C9tats-Unis = d'Am=E9rique.=20 =A0 Je suis avec vous parce que je suis =E0 la recherche de cr=E9dibilit=E9 des= hommes et des femmes, qui sont vraiment attach=E9s =E0 l'am=E9lioration de= la vie humaine et de destin. Je suis tout =E0 fait dispos=E9e =E0 l'autono= misation de votre organisme ou votre vision de la passion humanitaire de se= rvices, par le biais de grandes finances de ma fondation.=20 =A0 Je veux que vous me faire parvenir vos coordonn=E9es pour me permettre de c= ommuniquer davantage.=20 =A0 Observe=20 =A0 Dikembe Mutombo FOUNDATION=20 =A0 Pr=E9sident.=0A=0A=0A --0-1077513310-1251657724=:8213 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
Dikembe Mutombo FOUNDATION.
 
Chers bien-aim=E9s,
 
Salutations de la paix de Dieu le P=E8re de tous.
Mes noms de M. Dikembe Mutombo, joueur de basket-ball NBA aux =C9tats-= Unis d'Am=E9rique.
 
Je suis avec vous parce que je suis =E0 la recherche de cr=E9dibilit= =E9 des hommes et des femmes, qui sont vraiment attach=E9s =E0 l'am=E9liora= tion de la vie humaine et de destin. Je suis tout =E0 fait dispos=E9e =E0 l= 'autonomisation de votre organisme ou votre vision de la passion humanitair= e de services, par le biais de grandes finances de ma fondation.
 
Je veux que vous me faire parvenir vos coordonn=E9es pour me permettre= de communiquer davantage.
 
Observe
 
Dikembe Mutombo FOUNDATION
 
Pr=E9sident.

=0A=0A=0A=0A --0-1077513310-1251657724=:8213-- From felixb@sgi.com Sun Aug 30 17:57:32 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 n7UMvC0i052453 for ; Sun, 30 Aug 2009 17:57:22 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 417628F80CF for ; Sun, 30 Aug 2009 15:58:08 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id CDC347000103 for ; Sun, 30 Aug 2009 17:55:06 -0500 (CDT) Message-Id: <69712CC9-EACE-469C-B0C2-6F616C6845B2@sgi.com> From: Felix Blyakher To: XFS Development Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: xfsprogs 3.0.3 source tarball released Date: Sun, 30 Aug 2009 17:55:04 -0500 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 ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsprogs-3.0.3.tar.gz This version contains important bug fixes and improvements to xfsprogs 3.0.2: xfsprogs-3.0.3 (30 August 2009) - Fix unaligned accesses in libxfs. - Various small fixes to xfs_db, xfs_repair and xfs_io. - Add fallocate command to xfs_io. - Enable readline support in xfs_io and xfs_quota. - Allow log sizes up to 2GiB (minus 1 byte) in xfs_mkfs. - Open the block device in xfs_repair exclusively, thanks to Nathaniel W. Turner. From michael.monnerie@is.it-management.at Mon Aug 31 01:41:11 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_33 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 n7V6ep4n079333 for ; Mon, 31 Aug 2009 01:41:01 -0500 X-ASG-Debug-ID: 1251700874-203403cc0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mailsrv5.zmi.at (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C552C158D54C for ; Sun, 30 Aug 2009 23:41:14 -0700 (PDT) Received: from mailsrv5.zmi.at (mailsrv5.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id 1ALr3lCghAr540nw for ; Sun, 30 Aug 2009 23:41:14 -0700 (PDT) Received: from mailsrv.i.zmi.at (h081217106033.dyn.cm.kabsi.at [81.217.106.33]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv5.zmi.at (Postfix) with ESMTP id 944283D1 for ; Mon, 31 Aug 2009 08:41:10 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mailsrv.i.zmi.at (Postfix) with ESMTPSA id 4C01B40015E for ; Mon, 31 Aug 2009 08:41:11 +0200 (CEST) To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: bad fs - xfs_repair 3.01 crashes on it Subject: Re: bad fs - xfs_repair 3.01 crashes on it From: Michael Monnerie Organization: it-management http://it-management.at Date: Mon, 31 Aug 2009 08:40:35 +0200 MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1438306.76unczFdfp"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200908310840.40778@zmi.at> X-Barracuda-Connect: mailsrv5.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1251700895 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.7705 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 --nextPart1438306.76unczFdfp Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sonntag 12 Juli 2009 Eric Sandeen wrote: > If you do want to try deleting that one file or other such tricks, > you can do it on a sparse metadata image of the fs as a dry run: > > # xfs_metadump -o /dev/whatever metadump.img > # xfs_mdrestore metadump.img filesystem.img > # mount -o loop filesystem.img mnt/ > # > # umount mnt/ > # xfs_repair filesystem.img > # mount -o loop filesystem.img mnt/ > > and see what happens... To warm up the old thread, I did this now: * make metadump * mount it * remove unneeded files/dirs This already produced lots of errors, where files/dirs couldn't be=20 deleted. I made a metadump of this again, it's on=20 http://zmi.at/xfs.metadump-brokenonly.bz2 Then I tried with v3.0.1: # xfs_repair xfs.img=20 Phase 1 - find and verify superblock... =20 Phase 2 - using internal log =20 - zero log... =20 - scan filesystem freespace and inode maps... - found root inode chunk =20 Phase 3 - for each AG... =20 - scan and clear agi unlinked lists... =20 - process known inodes and perform inode discovery... - agno =3D 0 =20 - agno =3D 1 =20 - agno =3D 2 =20 - agno =3D 3 =20 - agno =3D 4 =20 - agno =3D 5 =20 - agno =3D 6 =20 - agno =3D 7 =20 - agno =3D 8 =20 - agno =3D 9 =20 - agno =3D 10 =20 - agno =3D 11 =20 - agno =3D 12 =20 - agno =3D 13 =20 - agno =3D 14 =20 local inode 3857051697 attr too small (size =3D 3, min size =3D 4) bad attribute fork in inode 3857051697, clearing attr fork =20 clearing inode 3857051697 attributes =20 cleared inode 3857051697 =20 - agno =3D 15 =20 - agno =3D 16 =20 - agno =3D 17 =20 - agno =3D 18 =20 - agno =3D 19 =20 - agno =3D 20 =20 - agno =3D 21 =20 - agno =3D 22 =20 - agno =3D 23 =20 - agno =3D 24 =20 - agno =3D 25 =20 - agno =3D 26 =20 - agno =3D 27 =20 - agno =3D 28 =20 - agno =3D 29 =20 - agno =3D 30 =20 - agno =3D 31 =20 - agno =3D 32 =20 - agno =3D 33 =20 - agno =3D 34 =20 - agno =3D 35 =20 - agno =3D 36 =20 - agno =3D 37 =20 - agno =3D 38 =20 - agno =3D 39 =20 - process newly discovered inodes... =20 Phase 4 - check for duplicate blocks... =20 - setting up duplicate extent list... =20 - check for inodes claiming duplicate blocks... =20 - agno =3D 0 =20 - agno =3D 1 =20 - agno =3D 2 =20 - agno =3D 3 =20 - agno =3D 4 =20 - agno =3D 5 =20 - agno =3D 6 =20 - agno =3D 7 =20 - agno =3D 8 =20 - agno =3D 9 =20 - agno =3D 10 =20 - agno =3D 11 =20 - agno =3D 12 =20 - agno =3D 13 =20 - agno =3D 14 =20 - agno =3D 15 =20 - agno =3D 16 =20 - agno =3D 17 =20 - agno =3D 18 =20 data fork in regular inode 3857051697 claims used block 537546384 - agno =3D 19 =20 xfs_repair: dinode.c:2108: process_inode_data_fork: Zusicherung =BBerr =3D= =3D=20 0=AB nicht erf=FCllt. Abgebrochen = =20 So I patched out the ASSERT in #dinode.c:2108 and this made: # xfs_repair xfs.img =20 Phase 1 - find and verify superblock... = =20 Phase 2 - using internal log = =20 - zero log... = =20 - scan filesystem freespace and inode maps... = =20 - found root inode chunk = =20 Phase 3 - for each AG... = =20 - scan and clear agi unlinked lists... = =20 - process known inodes and perform inode discovery... = =20 - agno =3D 0 = =20 - agno =3D 1 = =20 - agno =3D 2 = =20 - agno =3D 3 = =20 - agno =3D 4 = =20 - agno =3D 5 = =20 - agno =3D 6 = =20 - agno =3D 7 = =20 - agno =3D 8 = =20 - agno =3D 9 = =20 - agno =3D 10 = =20 - agno =3D 11 = =20 - agno =3D 12 = =20 - agno =3D 13 = =20 - agno =3D 14 = =20 local inode 3857051697 attr too small (size =3D 3, min size =3D 4) = =20 bad attribute fork in inode 3857051697, clearing attr fork = =20 clearing inode 3857051697 attributes = =20 cleared inode 3857051697 = =20 - agno =3D 15 = =20 - agno =3D 16 = =20 - agno =3D 17 = =20 - agno =3D 18 = =20 - agno =3D 19 = =20 - agno =3D 20 = =20 - agno =3D 21 = =20 - agno =3D 22 = =20 - agno =3D 23 = =20 - agno =3D 24 = =20 - agno =3D 25 = =20 - agno =3D 26 = =20 - agno =3D 27 = =20 - agno =3D 28 = =20 - agno =3D 29 = =20 - agno =3D 30 = =20 - agno =3D 31 = =20 - agno =3D 32 = =20 - agno =3D 33 = =20 - agno =3D 34 = =20 - agno =3D 35 = =20 - agno =3D 36 = =20 - agno =3D 37 = =20 - agno =3D 38 = =20 - agno =3D 39 = =20 - process newly discovered inodes... = =20 Phase 4 - check for duplicate blocks... = =20 - setting up duplicate extent list... = =20 - check for inodes claiming duplicate blocks... = =20 - agno =3D 0 = =20 - agno =3D 1 = =20 - agno =3D 2 = =20 - agno =3D 3 = =20 - agno =3D 4 = =20 - agno =3D 5 = =20 - agno =3D 6 = =20 - agno =3D 7 = =20 - agno =3D 8 = =20 - agno =3D 9 = =20 - agno =3D 10 = =20 - agno =3D 11 = =20 - agno =3D 12 = =20 - agno =3D 13 = =20 - agno =3D 14 - agno =3D 15 - agno =3D 16 - agno =3D 17 - agno =3D 18 - agno =3D 19 - agno =3D 20 data fork in regular inode 3857051697 claims used block 537546384 bad attribute format 1 in inode 3857051697, resetting value correcting nblocks for inode 3857051697, was 10135251 - counted 8388604 - agno =3D 21 - agno =3D 22 - agno =3D 23 - agno =3D 24 data fork in regular inode 6174936063 claims used block 537240415 correcting nblocks for inode 6174936063, was 1 - counted 0 data fork in regular inode 6180186880 claims used block 537242879 correcting nblocks for inode 6180186880, was 1 - counted 0 - agno =3D 25 - agno =3D 26 - agno =3D 27 data fork in regular inode 7257143306 claims used block 537251790 correcting nblocks for inode 7257143306, was 1 - counted 0 data fork in regular inode 7257143307 claims used block 537257951 correcting nblocks for inode 7257143307, was 1 - counted 0 data fork in regular inode 6720520457 claims used block 537246687 correcting nblocks for inode 6720520457, was 1 - counted 0 data fork in regular inode 6720520458 claims used block 537247327 correcting nblocks for inode 6720520458, was 1 - counted 0 - agno =3D 28 - agno =3D 29 - agno =3D 30 - agno =3D 31 data fork in regular inode 8326467385 claims used block 537198367 correcting nblocks for inode 8326467385, was 1 - counted 0 - agno =3D 32 inode block 537201328 multiply claimed, state was 3 inode block 537201329 multiply claimed, state was 3 inode block 537201330 multiply claimed, state was 3 data fork in regular inode 8595221283 claims used block 537201683 correcting nblocks for inode 8595221283, was 1 - counted 0 data fork in regular inode 8595221284 claims used block 537201684 - agno =3D 33 correcting nblocks for inode 8595221284, was 5 - counted 0 data fork in regular inode 8595221285 claims used block 537201689 correcting nblocks for inode 8595221285, was 1 - counted 0 data fork in regular inode 8595221286 claims used block 537201690 correcting nblocks for inode 8595221286, was 6 - counted 0 data fork in regular inode 8326763299 claims used block 537270223 correcting nblocks for inode 8326763299, was 1 - counted 0 data fork in regular inode 8326763300 claims used block 537271439 correcting nblocks for inode 8326763300, was 1 - counted 0 data fork in regular inode 8595221287 claims used block 537201696 correcting nblocks for inode 8595221287, was 1 - counted 0 data fork in regular inode 8595221288 claims used block 537201699 attr fork in regular inode 8595221288 claims used block 537201698 xfs_repair: dinode.c:2241: process_inode_attr_fork: Zusicherung =BBerr =3D= =3D=20 0=AB nicht erf=FCllt. data fork in regular inode 8058708772 claims used block 537258543 correcting nblocks for inode 8058708772, was 1 - counted 0 data fork in regular inode 8058708773 claims used block 537260719 correcting nblocks for inode 8058708773, was 1 - counted 0 Abgebrochen So again patch dinode.c:2241 ASSERT away: # xfs_repair xfs.img (about 550KB output, see http://zmi.at/xfs_repair.txt ) corrupt dinode 8326467385, extent total =3D 1, nblocks =3D 0. This is a=20 bug. Please capture the filesystem metadata with xfs_metadump and report it to xfs@oss.sgi.com. cache_node_purge: refcount was 1, not zero (node=3D0x7f90c4de34e0) fatal error -- couldn't map inode 8326467385, err =3D 117 Now, should I PANIC? Doesn't all seem to be nice... I mounted this image, made "rm -r *" so all files/dirs which were good=20 were deleted. There are still a lot in there which can't be deleted. Can=20 someone help me fix it please? I made another metadump image, it's on=20 http://zmi.at/xfs.metadump-brokenonly2.bz2 mfg zmi =2D-=20 // Michael Monnerie, Ing.BSc ----- http://it-management.at // Tel: 0660 / 415 65 31 .network.your.ideas. // PGP Key: "curl -s http://zmi.at/zmi.asc | gpg --import" // Fingerprint: AC19 F9D5 36ED CD8A EF38 500E CE14 91F7 1C12 09B4 // Keyserver: wwwkeys.eu.pgp.net Key-ID: 1C1209B4 --nextPart1438306.76unczFdfp Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEABECAAYFAkqbcGgACgkQzhSR9xwSCbSvfgCfQDTYdZ3gBY37DvJnAamskbyZ yaoAnigViCS8UAeC5lpg1KsNfPpAkWpV =OBHu -----END PGP SIGNATURE----- --nextPart1438306.76unczFdfp-- From lfhlee8@gmail.com Mon Aug 31 07:18:15 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 n7VCHtul096527 for ; Mon, 31 Aug 2009 07:18:05 -0500 X-ASG-Debug-ID: 1251721095-07fa01ec0000-w1Z2WR X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from edm1.arcoedm.com.tw (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id C9292410903 for ; Mon, 31 Aug 2009 05:18:15 -0700 (PDT) Received: from edm1.arcoedm.com.tw (static-ip-105-105-67-210.rev.dyxnet.com [210.67.105.105]) by cuda.sgi.com with ESMTP id mS2MOaIrEYNvWpDe for ; Mon, 31 Aug 2009 05:18:15 -0700 (PDT) Received: from mail-gx0-f205.google.com ([209.85.217.205]) by edm1.arcoedm.com.tw (Merak 8.5.0-8) with ESMTP id MOO42136 for ; Mon, 31 Aug 2009 14:35:36 +0800 Received: by gxk1 with SMTP id 1so4942061gxk.17 for ; Sun, 30 Aug 2009 23:35:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=PYuxwCqT19ylpyxBo9YpteEMQ78oLYIDYj7WPU95OQ8=; b=CSkpmlhEMzeaSfKemqDNe3gK1/cRIF3NY3IoJdpYA3vpxSMCqiNltMQpkQdLIVdxlv GGCTJ4KYTNWAdeUbqzaa8HfXktVRz7vjOJXbQqWYybKenzHt8b0NFu7tTb+cG/LzirhG Z0o1tWq7sOS6ftKRz8I0fpzdP8Za5Njfn5lCs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=YIu606CHRKZn3F018TH63AOzaSUTUGL99rjZoJ48vqrXur1FI58uvaLiYZQEEyDB2Q xw+gHyrNa/AqnNzGBVgRbMsGEgXyhJIOm4BhMMbca/3qDoECQCQfZlWwa03uNklfwtvt o/1RhYfK7plHPl7QLXJgF6NuPZd5CQRtqbtBU= MIME-Version: 1.0 Received: by 10.150.163.1 with SMTP id l1mr8465668ybe.204.1251700533792; Sun, 30 Aug 2009 23:35:33 -0700 (PDT) Date: Mon, 31 Aug 2009 14:35:33 +0800 Message-ID: <2081e04b0908302335r77518369x661bb30c4a5756d4@mail.gmail.com> Content-Type: multipart/alternative; boundary=000e0cd4d322ae928004726a3d95 X-ASG-Orig-Subj: COMPUTEX TAIPEI e-Newsletter Subject: COMPUTEX TAIPEI e-Newsletter From: COMPUTEX TAIPEI Reply-To: computex27@gmail.com To: linux-xfs@oss.sgi.com X-Barracuda-Connect: static-ip-105-105-67-210.rev.dyxnet.com[210.67.105.105] X-Barracuda-Start-Time: 1251721120 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5178 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=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7726 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 --000e0cd4d322ae928004726a3d95 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable *Registration News* Buyer Pre-Registration Press Pre-Registration *Visito= r Information* Showground Map Exhibitor/product Search TWTC Nangang Exhibition Hall Introduction How to get to TWTC Nangang Exhibition Hall? Floor Plan MRT Map Fact Sheet *2009 Show Publications* Show Preview Chinese Edition English Edition Japanese Edition Show Guide English Edition Japanese Edition Show Daily Day 1 English Edition Japanese Edition Day 2 English Edition Japanese Edition Day 3 English Edition Japanese Edition Day 4 English Edition Japanese Edition Show Report Official Publication Media Kits August 30 2009 * Ready to Take Off=85 BD is About to Hit the Road * The battle of next generation optical storage media has finally drawn its curtain while the major eight image pictures in the United States claimed t= o fully support Blu-ray Disc format. The new named storage market has taken off to drive the whole business and marketing strategies. Shortly, the tota= l global production volume of Blu-ray Disc has reached to 30 million pieces b= y 2008. While the unit price of Blu-ray Disc has rapidly slid down to US$ 2 o= r $3, the Blu-ray Disc Association (BDA) has estimated a significant climb of total production volume to achieve 152 million disks by 2010. This figure i= s expected to generate more than 280 million Blu-ray Discs in 2011 as well. With such a huge business potential as well as prospective high-definition entertainment market ahead, the Asian biggest and global leading ICT exhibition - COMPUTEX TAIPEI - is the must-visit platform to picture the latest digital storage media trends and developments. *Strong Taiwan BD Supply Chain* Looking back to COMPUTEX TAIPEI 2009, we have seen quite some Taiwan suppliers showcase numerous Blu-ray products. Among all, RITEK and CMC both represented the latest Blu-ray Discs product ranges at the show ground. RITEK has also announced to launch its BDA certified 50GB Blu-ray Disc in the second year of 2009. Apart from some Japanese companies, RITEK is not only the first manufacturer in Asia who has the capability of supplying BDA standard Blu-ray Disc, but also the only permitted disc provider in Taiwan. Meanwhile, two of the top three BD player manufacturers including Hitachi L= G Data Storage (HLDS) and Philips & Lite-On Digital Solutions Corporation (PLDS) also introduced 4X BD Slim serial and 8X BD Combo to grab the market attention. Lite-On, who has cooperated with Philips, is expected to benefit from BD patent cost with better price advantage in the long run. Quanta Storage Inc (QSI), however, has to relay on its mother company Quanta Computer Group to maintain its global No. 1 NB supplier status to deliver stable BD demand. While key components such as chipset and spindle motor account for more tha= n 25% of total cost in the whole process of BD player manufacturing, Taiwan suppliers who have advantages in cost control as well as flexible productio= n line are expected to become the key force to increase new product adoption rate with affordable price in the end market. Companies who have involved i= n BD technologies and innovations are chipset pioneers Mediatek and Sunext Technology; spindle motor supplier Delta; BD player providers QSI, BenQ, PLDS, ASUS; disc manufacturers RITEK, CMC, Daxon as well as software developer Cyberlink. The complete supplier chain in Taiwan means lower cost in BD hardware and software too. *Taiwan** Suppliers in BD Industry* ** Source: Topology Research Institute, 2009/8 *Otaku Economy to Accelerate Future Growth* The global financial storm has deeply impacted the overall purchasing power in every sector. While many researches found people tend to stay at home an= d spend their leisure time indoor, demands for home entertainment have also increased nowadays. The so-called Otaku Economy (Stay-at-home Economy) suddenly becomes the new marketing term that many retailers have launched different special promotions to meet these emerging customers=92 needs. The biggest on-line retailer Amazon, for example, recently presented discounted BD format movies. Some of these bargain BD movies were new blockbusters. Th= e market is expected to drive out new buying force especially when the tag price drops below US$40. In Japan, some suppliers also introduced several BD Players cheaper than 50,000 Japanese Yen. Following the step of Sony in 2008; Sharp, Panasonic and Pioneer also launched a variety of entry-level options with the price ranging from 30,000 to 50,000 Japanese Yen by 2009. Nevertheless, high-end BD Player such as the forth generation Pioneer BD Player with the highest 48bit Deep Color technology will also be announced in the third season of 2009. The price of this top model is therefore between 50,000 and 80,000 Japanese Yen. Researches also indicated that more than half of consumers in Japan have shifted to BD formats. The BD market in Japan has generally buil= t up its stronger adoption rate as well as competitive cost efficiency than other markets. *Fun with 3D Home Entertainment * The vital function of BD Live with Internet support further connects BD wit= h online content suppliers, multi-media service providers, network solution providers as well as associated industries. Customers are able to communicate with Internet easily via LAN-input embedded BD Player. This great on-demand feature allows users to view high-definition digital TV programs or movie images with just a click away. Panasonic has taken the lead to embed YouTube and Amazon Video on Demand reception functions into its BD Players too. Moreover, Hollywood film makers have committed to taking the advantage of B= D Live to develop with Bare Eye View 3D technology to enhance the added-value of BD Players. The market is further forecasted to grow up with Hollywood film industry too. Our future life will be fully surrounded with PCs, NBs, online games, gaming machines, Internet TVs as well as instant chatting. Traditional household based marketing concept is no longer enough to describe individualized consuming behavior. BD related products will extend the next generation lifestyle with unprecedented imagination. BD in 2009 has certainly stepped into a year of large-scale production. COMPUTEX TAIPEI 2010 (June 1 to 5) thus is expected to cover a full range o= f BD solutions not only BD Disc, BD Combo, BD Player but also related consume= r electronic products such as stereo systems, high-definition LCD TVs, projectors, PCs, NBs as well as wireless communications, fiber optics, Internet content service providers and video streaming platforms. The power of BD surely accelerates global ICT industry into a new era. *Taiwan WiMAX CPE Shipment Value Forecast to Grow in '09; WLAN Shipment Value to Fall * ** According to research of the Taipei-based Market Intelligence & Consulting Institute, shipment value of the Taiwanese wireless communications equipmen= t industry in the full-year 2009 is forecast to reach US$3.22 billion, down approximately 14.4% compared to 2008. *COMPUTEX TAIPEI 200**9** Exhibitors' Hot Link* Asus Mapower Walton Chaintech KCA CNet Supermicro IEI Shuttle Advertising with us: tel: +886-23965128 ext. 204 Unsubscribe --000e0cd4d322ae928004726a3d95 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: quoted-printable
Registration = News
Buyer Pre-Re= gistration
Press Pre-Registration
Visitor Infor= mation
Showground Map
Exhibitor/product Search
=A0 TWTC Nangang Exhibition=A0Hall Introduct= ion
How to get to TWTC Nanga= ng Exhibition Hall?
Floor Plan
MRT Map
Fact Sheet
2009 Show Pub= lications
Show Preview
=A0 Chinese Edition=
=A0 English Edition
=A0 Japanese Edition
Show = Guide
=A0 English Edition<= /td>
=A0 Japanese Edition=
Show = Daily
=A0 Day 1
=A0 English Edition<= /td>
=A0 Japanese Edition=
=A0 Day 2
=A0 English Edition
=A0 Japanese Edition
=A0 Day 3
=A0 English Edition
=A0 Japanese Edition
=A0 Day 4
=A0 English Edition
=A0 Japanese Edition
Show Report
=A0
Official Publication
Media Kits
Aug= ust 30 2009=A0=A0

Ready to Take Off=85<= br>BD is About to Hit the Road


The battle of next generation optical storage media has finally draw= n its curtain while the major eight image pictures in the United States cla= imed to fully support Blu-ray Disc format. The new named storage market has= taken off to drive the whole business and marketing strategies. Shortly, t= he total global production volume of Blu-ray Disc has reached to 30 million= pieces by 2008. While the unit price of Blu-ray Disc has rapidly slid down= to US$ 2 or $3, the Blu-ray Disc Association (BDA) has estimated a signifi= cant climb of total production volume to achieve 152 million disks by 2010.= This figure is expected to generate more than 280 million Blu-ray Discs in= 2011 as well. With such a huge business potential as well as prospective h= igh-definition entertainment market ahead, the Asian biggest and global lea= ding ICT exhibition - COMPUTEX TAIPEI - is the must-visit platform to pictu= re the latest digital storage media trends and developments.

Strong Taiwan BD Supply Chain

Looking back to COMPUTEX TAIPEI 2009, we have seen quite some Taiwan sup= pliers showcase numerous Blu-ray products. Among all, RITEK and CMC both re= presented the latest Blu-ray Discs product ranges at the show ground. RITEK= has also announced to launch its BDA certified 50GB Blu-ray Disc in the se= cond year of 2009. Apart from some Japanese companies, RITEK is not only th= e first manufacturer in Asia who has the capability of supplying BDA standa= rd Blu-ray Disc, but also the only permitted disc provider in Taiwan. Meanw= hile, two of the top three BD player manufacturers including Hitachi LG Dat= a Storage (HLDS) and Philips & Lite-On Digital Solutions Corporation (P= LDS) also introduced 4X BD Slim serial and 8X BD Combo to grab the market a= ttention. Lite-On, who has cooperated with Philips, is expected to benefit = from BD patent cost with better price advantage in the long run. Quanta Sto= rage Inc (QSI), however, has to relay on its mother company Quanta Computer= Group to maintain its global No. 1 NB supplier status to deliver stable BD= demand.

While key components such as chipset and spindle motor account for more = than 25% of total cost in the whole process of BD player manufacturing, Tai= wan suppliers who have advantages in cost control as well as flexible produ= ction line are expected to become the key force to increase new product ado= ption rate with affordable price in the end market. Companies who have invo= lved in BD technologies and innovations are chipset pioneers Mediatek and S= unext Technology; spindle motor supplier Delta; BD player providers QSI, Be= nQ, PLDS, ASUS; disc manufacturers RITEK, CMC, Daxon as well as software de= veloper Cyberlink. The complete supplier chain in Taiwan means lower cost i= n BD hardware and software too.

Taiwan Suppliers in BD Industr= y

Source: Topology Research Institute, 2009/8

Otaku Economy to Accelerate Future Growth

The global financial storm has deeply impacted the overall purchasing po= wer in every sector. While many researches found people tend to stay at hom= e and spend their leisure time indoor, demands for home entertainment have = also increased nowadays. The so-called Otaku Economy (Stay-at-home Economy)= suddenly becomes the new marketing term that many retailers have launched = different special promotions to meet these emerging customers=92 needs. The= biggest on-line retailer Amazon, for example, recently presented discounte= d BD format movies. Some of these bargain BD movies were new blockbusters. = The market is expected to drive out new buying force especially when the ta= g price drops below US$40.

In Japan, some suppliers also introduced several BD Players cheaper than= 50,000 Japanese Yen. Following the step of Sony in 2008; Sharp, Panasonic = and Pioneer also launched a variety of entry-level options with the price r= anging from 30,000 to 50,000 Japanese Yen by 2009. Nevertheless, high-end B= D Player such as the forth generation Pioneer BD Player with the highest 48= bit Deep Color technology will also be announced in the third season of 200= 9. The price of this top model is therefore between 50,000 and 80,000 Japan= ese Yen. Researches also indicated that more than half of consumers in Japa= n have shifted to BD formats. The BD market in Japan has generally built up= its stronger adoption rate as well as competitive cost efficiency than oth= er markets.

Fun with 3D Home Entertainment

The vital function of BD Live with Internet support further connects BD = with online content suppliers, multi-media service providers, network solut= ion providers as well as associated industries. Customers are able to commu= nicate with Internet easily via LAN-input embedded BD Player. This great on= -demand feature allows users to view high-definition digital TV programs or= movie images with just a click away. Panasonic has taken the lead to embed= YouTube and Amazon Video on Demand reception functions into its BD Players= too.

Moreover, Hollywood film makers have committed to taking the advantage o= f BD Live to develop with Bare Eye View 3D technology to enhance the added-= value of BD Players. The market is further forecasted to grow up with Holly= wood film industry too. Our future life will be fully surrounded with PCs, = NBs, online games, gaming machines, Internet TVs as well as instant chattin= g. Traditional household based marketing concept is no longer enough to des= cribe individualized consuming behavior. BD related products will extend th= e next generation lifestyle with unprecedented imagination.

BD in 2009 has certainly stepped into a year of large-scale production. = COMPUTEX TAIPEI 2010 (June 1 to 5) thus is expected to cover a full range o= f BD solutions not only BD Disc, BD Combo, BD Player but also related consu= mer electronic products such as stereo systems, high-definition LCD TVs, pr= ojectors, PCs, NBs as well as wireless communications, fiber optics, Intern= et content service providers and video streaming platforms. The power of BD= surely accelerates global ICT industry into a new era.



=A0
Taiwan WiMAX CPE Shipment Value Forecast to Grow in '0= 9; WLAN Shipment Value to Fall


According to research of the Taipei-base= d Market Intelligence & Consulting Institute, shipment value of the Tai= wanese wireless communications equipment industry in the full-year 2009 is = forecast to reach US$3.22 billion, down approximately 14.4% compared to 200= 8.

=A0

<= img src=3D"http://cti.acesuppliers.com/pop/enews/189912300003313202.gif" wi= dth=3D"140" border=3D"0">
=A0=A0=A0=A0= COMPUTEX TAIPEI 2009 Exhibitors&#= 39; Hot Link
Asus
=A0
Mapower
=A0
=
Walton Chaintech
=A0
KCA
=A0
CNet
=A0
Supermicro
=A0
IEI
=A0
Shuttle
=A0
<= /td>
= <= a href=3D"http://cti.acesuppliers.com/enews/link.aspx?link_id=3D8&types= =3DleftMenu&enews_id=3D92&url=3Dhttp://www.tca.org.tw/web/" target= =3D"_blank">
=20 --000e0cd4d322ae928004726a3d95-- From BATV+36aa34b23532cb66fc53+2199+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 31 07:33:14 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 n7VCWmnu097210 for ; Mon, 31 Aug 2009 07:33:04 -0500 X-ASG-Debug-ID: 1251722003-043e02d30000-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 E4AE0410516 for ; Mon, 31 Aug 2009 05:33:23 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id aqPNTWsVDHCStduB for ; Mon, 31 Aug 2009 05:33:23 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1Mi61S-00052U-Mm; Mon, 31 Aug 2009 12:30:10 +0000 Date: Mon, 31 Aug 2009 08:30:10 -0400 From: Christoph Hellwig To: Michael Tokarev Cc: Linux-kernel , linux-fsdevel , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? Message-ID: <20090831123010.GA2368@infradead.org> References: <4A9B759B.7020401@msgid.tls.msk.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A9B759B.7020401@msgid.tls.msk.ru> 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: 1251722023 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 31, 2009 at 11:02:51AM +0400, Michael Tokarev wrote: > Hello! > > I tried to resize an xfs filesystem on 64bit 2.6.30 kernel > using 32bit userland, and that does not work, in dmesg I see: > > ioctl32(xfs_growfs:24426): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12} arg(ffa56df4) on /mnt > ioctl32(xfs_growfs:24427): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12} arg(ff991254) on /mnt > > so apparently there's no compat_ioctl layer for these ioctls. > > Are there any plans to add these? :) Are you sure you're testing 2.6.30? The copat ioctls were added in 2.6.28. From lkml@rtr.ca Mon Aug 31 07:57:19 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 n7VCuwMg098490 for ; Mon, 31 Aug 2009 07:57:09 -0500 X-ASG-Debug-ID: 1251723465-38d801370000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.rtr.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8EBCE41098B for ; Mon, 31 Aug 2009 05:57:46 -0700 (PDT) Received: from mail.rtr.ca (rtr.ca [76.10.145.34]) by cuda.sgi.com with ESMTP id N1GtfKeX0ZP2NEIY for ; Mon, 31 Aug 2009 05:57:46 -0700 (PDT) Received: by mail.rtr.ca (Postfix, from userid 1002) id B24764EAB7; Mon, 31 Aug 2009 08:57:11 -0400 (EDT) Received: from [10.0.0.6] (corey.localnet [10.0.0.6]) by mail.rtr.ca (Postfix) with ESMTP id 748204EAAC; Mon, 31 Aug 2009 08:57:11 -0400 (EDT) Message-ID: <4A9BC8A6.20503@rtr.ca> Date: Mon, 31 Aug 2009 08:57:10 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: Christoph Hellwig Cc: Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> In-Reply-To: <20090831123010.GA2368@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: rtr.ca[76.10.145.34] X-Barracuda-Start-Time: 1251723470 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.7729 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: > On Mon, Aug 31, 2009 at 11:02:51AM +0400, Michael Tokarev wrote: >> Hello! >> >> I tried to resize an xfs filesystem on 64bit 2.6.30 kernel >> using 32bit userland, and that does not work, in dmesg I see: >> >> ioctl32(xfs_growfs:24426): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12} arg(ffa56df4) on /mnt >> ioctl32(xfs_growfs:24427): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12} arg(ff991254) on /mnt >> >> so apparently there's no compat_ioctl layer for these ioctls. >> >> Are there any plans to add these? :) > > Are you sure you're testing 2.6.30? The copat ioctls were added in 2.6.28. .. What command-line flags were you using, Michael ? I just tried a simple "xfs_growfs -d" here, and it worked fine. This is 2.6.31-rc7-64bit on top of a 32-bit userland. Cheers From mjt@tls.msk.ru Mon Aug 31 07:59: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.7 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 n7VCxBGM098603 for ; Mon, 31 Aug 2009 07:59:26 -0500 X-ASG-Debug-ID: 1251723600-077403400000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from isrv.corpit.ru (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8F5C341061B for ; Mon, 31 Aug 2009 06:00:01 -0700 (PDT) Received: from isrv.corpit.ru (isrv.corpit.ru [81.13.33.159]) by cuda.sgi.com with ESMTP id 3w0UHDMN8jxMJiV0 for ; Mon, 31 Aug 2009 06:00:01 -0700 (PDT) Received: from [192.168.88.2] (unknown [192.168.10.88]) by isrv.corpit.ru (Postfix) with ESMTP id C8B52341A2; Mon, 31 Aug 2009 17:00:05 +0400 (MSD) (envelope-from mjt@tls.msk.ru) Message-ID: <4A9BC94B.9050808@msgid.tls.msk.ru> Date: Mon, 31 Aug 2009 16:59:55 +0400 From: Michael Tokarev Organization: Telecom Service, JSC User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706) MIME-Version: 1.0 To: Mark Lord CC: Christoph Hellwig , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> <4A9BC8A6.20503@rtr.ca> In-Reply-To: <4A9BC8A6.20503@rtr.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: isrv.corpit.ru[81.13.33.159] X-Barracuda-Start-Time: 1251723603 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.7729 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 Mark Lord wrote: > Christoph Hellwig wrote: >> On Mon, Aug 31, 2009 at 11:02:51AM +0400, Michael Tokarev wrote: >>> Hello! >>> >>> I tried to resize an xfs filesystem on 64bit 2.6.30 kernel >>> using 32bit userland, and that does not work, in dmesg I see: >>> >>> ioctl32(xfs_growfs:24426): Unknown cmd fd(3) >>> cmd(400c586e){t:'X';sz:12} arg(ffa56df4) on /mnt >>> ioctl32(xfs_growfs:24427): Unknown cmd fd(3) >>> cmd(400c586e){t:'X';sz:12} arg(ff991254) on /mnt >>> >>> so apparently there's no compat_ioctl layer for these ioctls. >>> >>> Are there any plans to add these? :) >> >> Are you sure you're testing 2.6.30? The copat ioctls were added in >> 2.6.28. > > What command-line flags were you using, Michael ? > > I just tried a simple "xfs_growfs -d" here, and it worked fine. > This is 2.6.31-rc7-64bit on top of a 32-bit userland. Damn. I rebooted to 2.6.27 to test something unrelated, forgot about it, and later tried xfs_growfs -d, which failed as per above. And yes indeed, in 2.6.30 everything works as expected. Please excuse me for the noise. /mjt From just.for.lkml@googlemail.com Mon Aug 31 13:14: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=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 n7VIEFsl115055 for ; Mon, 31 Aug 2009 13:14:25 -0500 X-ASG-Debug-ID: 1251742502-7d02006a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-fx0-f216.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 85F991B23A3A for ; Mon, 31 Aug 2009 11:15:02 -0700 (PDT) Received: from mail-fx0-f216.google.com (mail-fx0-f216.google.com [209.85.220.216]) by cuda.sgi.com with ESMTP id 3FTp8Vuy0F8hvEJR for ; Mon, 31 Aug 2009 11:15:02 -0700 (PDT) Received: by fxm12 with SMTP id 12so2903220fxm.20 for ; Mon, 31 Aug 2009 11:14:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=XEk2no6N90dfFo9/g1541t9ya1pvPky2QCT5P+ohmtU=; b=JiG1M0E36N0ALxc2OfJLGS5MgsGUxkJSuwsuXvfcfV7q63YeiioAPMv4d1lrzigQ7Y a1TVxfJRfh9MO4UlTB/1bNzIve2TSEXpqUPR9B8aVVHwjbJUFck4LanN/8563o4PBB/Q wc9mBHjERhLJlJbM80YAvNz4LuLzyNvR4SrFA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=aewj8ObqmxdZlWwN5i5iTQevtlKdgKFGoAt14jV3qFndcx08K6caWaneybgkZAF9Fe evTCdgadbEvLWwWhgRhlwf9pdpmi/ttxfhh4ExExpR89r1znuHEwzyzA1fr7lNZ9UcTB MY3DRuXNqsIjNqT3+hnY8nxRdPglj8S5OgB9g= MIME-Version: 1.0 Received: by 10.223.1.10 with SMTP id 10mr1809394fad.94.1251742499009; Mon, 31 Aug 2009 11:14:59 -0700 (PDT) In-Reply-To: <20090831123010.GA2368@infradead.org> References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> Date: Mon, 31 Aug 2009 20:14:58 +0200 Message-ID: <64bb37e0908311114t4a3cefc3v8ea5092e1558c578@mail.gmail.com> X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? From: Torsten Kaiser To: Christoph Hellwig Cc: Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com Content-Type: text/plain; charset=ISO-8859-1 X-Barracuda-Connect: mail-fx0-f216.google.com[209.85.220.216] X-Barracuda-Start-Time: 1251742507 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.7748 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, Aug 31, 2009 at 2:30 PM, Christoph Hellwig wrote: > On Mon, Aug 31, 2009 at 11:02:51AM +0400, Michael Tokarev wrote: >> Hello! >> >> I tried to resize an xfs filesystem on 64bit 2.6.30 kernel >> using 32bit userland, and that does not work, in dmesg I see: >> >> ioctl32(xfs_growfs:24426): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12} arg(ffa56df4) on /mnt >> ioctl32(xfs_growfs:24427): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12} arg(ff991254) on /mnt >> >> so apparently there's no compat_ioctl layer for these ioctls. >> >> Are there any plans to add these? :) > > Are you sure you're testing 2.6.30? The copat ioctls were added in > 2.6.28. On a slightly related note: I also have a system with a 32bit userland and a 64bit kernel. After switching to the 64bit kernel, xfs_fsr was no longer working, but that was caused by the then still missing compat ioctls. Today I retried it, but it still fails: XFS_IOC_SWAPEXT failed: ino=: Invalid argument Looking at the compat code SWAPEXT looks somewhat suspicious: fs/xfs/linux-2.6/xfs_ioctl32.h defines XFS_IOC_SWAPEXT_32, but I can't find a single place where this is used. And in the big switch of xfs_compat_ioctl() the value XFS_IOC_SWAPEXT is surrounded by contants that all end in 32. I don't have any experience with the linux ioctl code, I only read fs/xfs/linux-2.6/xfs_ioctl32.c, but for my untrained eye it looks like there is a _32 missing. Or am I misreading this completely? Torsten From BATV+36aa34b23532cb66fc53+2199+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 31 13:27:28 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 n7VIR3GY115629 for ; Mon, 31 Aug 2009 13:27:18 -0500 X-ASG-Debug-ID: 1251743279-1085002d0000-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 6BA931593A38 for ; Mon, 31 Aug 2009 11:27:59 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id bjnVOK9JmaWjfDKx for ; Mon, 31 Aug 2009 11:27:59 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MiBbe-00011f-2j; Mon, 31 Aug 2009 18:27:54 +0000 Date: Mon, 31 Aug 2009 14:27:54 -0400 From: Christoph Hellwig To: Torsten Kaiser Cc: Christoph Hellwig , Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? Message-ID: <20090831182754.GA3620@infradead.org> References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> <64bb37e0908311114t4a3cefc3v8ea5092e1558c578@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <64bb37e0908311114t4a3cefc3v8ea5092e1558c578@mail.gmail.com> 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: 1251743279 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 31, 2009 at 08:14:58PM +0200, Torsten Kaiser wrote: > On a slightly related note: I also have a system with a 32bit userland > and a 64bit kernel. > After switching to the 64bit kernel, xfs_fsr was no longer working, > but that was caused by the then still missing compat ioctls. > > Today I retried it, but it still fails: > XFS_IOC_SWAPEXT failed: ino=: Invalid argument > > Looking at the compat code SWAPEXT looks somewhat suspicious: > > fs/xfs/linux-2.6/xfs_ioctl32.h defines XFS_IOC_SWAPEXT_32, but I can't > find a single place where this is used. > And in the big switch of xfs_compat_ioctl() the value XFS_IOC_SWAPEXT > is surrounded by contants that all end in 32. > > I don't have any experience with the linux ioctl code, I only read > fs/xfs/linux-2.6/xfs_ioctl32.c, but for my untrained eye it looks like > there is a _32 missing. > > Or am I misreading this completely? I think you are right, the constant used is incorrect. Does the small patch below fix it for you? Index: linux-2.6/fs/xfs/linux-2.6/xfs_ioctl32.c =================================================================== --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_ioctl32.c 2009-08-31 15:25:06.093044591 -0300 +++ linux-2.6/fs/xfs/linux-2.6/xfs_ioctl32.c 2009-08-31 15:25:10.856544216 -0300 @@ -619,7 +619,7 @@ xfs_file_compat_ioctl( case XFS_IOC_GETVERSION_32: cmd = _NATIVE_IOC(cmd, long); return xfs_file_ioctl(filp, cmd, p); - case XFS_IOC_SWAPEXT: { + case XFS_IOC_SWAPEXT_32: { struct xfs_swapext sxp; struct compat_xfs_swapext __user *sxu = arg; From twalberg@comcast.net Mon Aug 31 13:37: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=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 n7VIb6KE116113 for ; Mon, 31 Aug 2009 13:37:16 -0500 X-ASG-Debug-ID: 1251743878-108f00450000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from QMTA05.emeryville.ca.mail.comcast.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 5D2E31B241B8 for ; Mon, 31 Aug 2009 11:37:58 -0700 (PDT) Received: from QMTA05.emeryville.ca.mail.comcast.net (qmta05.emeryville.ca.mail.comcast.net [76.96.30.48]) by cuda.sgi.com with ESMTP id IswmKs3EloTGVikh for ; Mon, 31 Aug 2009 11:37:58 -0700 (PDT) Received: from OMTA04.emeryville.ca.mail.comcast.net ([76.96.30.35]) by QMTA05.emeryville.ca.mail.comcast.net with comcast id b2Mu1c0030lTkoCA56dzrM; Mon, 31 Aug 2009 18:37:59 +0000 Received: from beta.localdomain ([24.14.6.228]) by OMTA04.emeryville.ca.mail.comcast.net with comcast id b6dt1c0044vB7EY8Q6dxa1; Mon, 31 Aug 2009 18:37:59 +0000 Received: from calvin.localdomain ([10.0.0.8]) by beta.localdomain with esmtp (Exim 4.69) (envelope-from ) id 1MiBlH-0004a9-FP; Mon, 31 Aug 2009 13:37:51 -0500 Received: from tew by calvin.localdomain with local (Exim 4.69) (envelope-from ) id 1MiBlH-0007Lq-9R; Mon, 31 Aug 2009 13:37:51 -0500 Date: Mon, 31 Aug 2009 13:37:51 -0500 From: Tim Walberg To: Christoph Hellwig Cc: Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? Message-ID: <20090831183751.GC19343@comcast.net> Reply-To: Tim Walberg Mail-Followup-To: Tim Walberg , Christoph Hellwig , Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Y5rl02BVI9TCfPar" Content-Disposition: inline In-Reply-To: <20090831123010.GA2368@infradead.org> Errors-To: Tim Walberg User-Agent: Mutt/1.5.16 (2007-06-09) X-Barracuda-Connect: qmta05.emeryville.ca.mail.comcast.net[76.96.30.48] X-Barracuda-Start-Time: 1251743879 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.7750 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 --Y5rl02BVI9TCfPar Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I still get these on 2.6.30.4 on sparc64 (32-bit userspace a la Debian etch= ): sparcy:~# uname -a Linux sparcy 2.6.30.4-sparcy #2 Sat Aug 1 21:14:46 CDT 2009 sparc64 GNU/Lin= ux sparcy:~# file $(which xfs_fsr) /usr/sbin/xfs_fsr: ELF 32-bit MSB executable, SPARC32PLUS, V8+ Required, ve= rsion 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18= , stripped sparcy:~# dmesg | grep xfs | tail -5 [62457.467755] ioctl32(xfs_fsr:18816): Unknown cmd fd(7) cmd(c0a8586d){t:'X= ';sz:168} arg(00028e30) on /export [62473.400273] ioctl32(xfs_fsr:18816): Unknown cmd fd(7) cmd(c0a8586d){t:'X= ';sz:168} arg(00028e30) on /export [62481.928844] ioctl32(xfs_fsr:18816): Unknown cmd fd(7) cmd(c0a8586d){t:'X= ';sz:168} arg(00028e30) on /export [62486.304567] ioctl32(xfs_fsr:18816): Unknown cmd fd(7) cmd(c0a8586d){t:'X= ';sz:168} arg(00028e30) on /export [62490.833736] ioctl32(xfs_fsr:18816): Unknown cmd fd(7) cmd(c0a8586d){t:'X= ';sz:168} arg(00028e30) on /export Haven't tried rolling my own xfs_progs binaries yet. xfs_db also fails with a "Bus error" immediately on startup, but that may be a completely different issue... tw On 08/31/2009 08:30 -0400, Christoph Hellwig wrote: >> On Mon, Aug 31, 2009 at 11:02:51AM +0400, Michael Tokarev wrote: >> > Hello! >> > >> > I tried to resize an xfs filesystem on 64bit 2.6.30 kernel >> > using 32bit userland, and that does not work, in dmesg I see: >> > >> > ioctl32(xfs_growfs:24426): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12= } arg(ffa56df4) on /mnt >> > ioctl32(xfs_growfs:24427): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12= } arg(ff991254) on /mnt >> > >> > so apparently there's no compat_ioctl layer for these ioctls. >> > >> > Are there any plans to add these? :) >>=09 >> Are you sure you're testing 2.6.30? The copat ioctls were added in >> 2.6.28. >> -- >> 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/ End of included message --=20 +----------------------+ | Tim Walberg | | 830 Carriage Dr. | | Algonquin, IL 60102 | | twalberg@comcast.net | +----------------------+ --Y5rl02BVI9TCfPar Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkqcGH8ACgkQw+Wcj22rJWb9gwCdEO1sUsrQJSOAIDeRojsbo85v ogIAoPBya+Taay/5rIWTwxtU1wcOhCwo =3hx+ -----END PGP SIGNATURE----- --Y5rl02BVI9TCfPar-- From BATV+36aa34b23532cb66fc53+2199+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 31 13:47: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 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 n7VIlSmf116664 for ; Mon, 31 Aug 2009 13:47:43 -0500 X-ASG-Debug-ID: 1251744504-107300790000-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 93CBF1B246E6 for ; Mon, 31 Aug 2009 11:48:24 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id PcoMUXECrFL6IjrV for ; Mon, 31 Aug 2009 11:48:24 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MiBvS-0005Ml-Kr; Mon, 31 Aug 2009 18:48:22 +0000 Date: Mon, 31 Aug 2009 14:48:22 -0400 From: Christoph Hellwig To: Tim Walberg , Christoph Hellwig , Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? Message-ID: <20090831184822.GA10393@infradead.org> References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> <20090831183751.GC19343@comcast.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090831183751.GC19343@comcast.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: 1251744504 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 31, 2009 at 01:37:51PM -0500, Tim Walberg wrote: > Linux sparcy 2.6.30.4-sparcy #2 Sat Aug 1 21:14:46 CDT 2009 sparc64 GNU/Linux > sparcy:~# file $(which xfs_fsr) > /usr/sbin/xfs_fsr: ELF 32-bit MSB executable, SPARC32PLUS, V8+ Required, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped I'll take a look at that, thanks. > Haven't tried rolling my own xfs_progs binaries yet. xfs_db also fails with > a "Bus error" immediately on startup, but that may be a completely different > issue... It's a problem with unaligned accesses which I fixed for xfsprogs-2.0.3 which was released yesterday. From BATV+36aa34b23532cb66fc53+2199+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 31 13:48: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.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 n7VImPrc116696 for ; Mon, 31 Aug 2009 13:48:40 -0500 X-ASG-Debug-ID: 1251744560-7cff01410000-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 B68111591F58 for ; Mon, 31 Aug 2009 11:49:20 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id r6DAAFoHYmqcO3dW for ; Mon, 31 Aug 2009 11:49:20 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MiBwM-0005Vx-Il; Mon, 31 Aug 2009 18:49:18 +0000 Date: Mon, 31 Aug 2009 14:49:18 -0400 From: Christoph Hellwig To: Tim Walberg , Christoph Hellwig , Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? Message-ID: <20090831184918.GB10393@infradead.org> References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> <20090831183751.GC19343@comcast.net> <20090831184822.GA10393@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090831184822.GA10393@infradead.org> 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: 1251744560 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 31, 2009 at 02:48:22PM -0400, Christoph Hellwig wrote: > On Mon, Aug 31, 2009 at 01:37:51PM -0500, Tim Walberg wrote: > > Linux sparcy 2.6.30.4-sparcy #2 Sat Aug 1 21:14:46 CDT 2009 sparc64 GNU/Linux > > sparcy:~# file $(which xfs_fsr) > > /usr/sbin/xfs_fsr: ELF 32-bit MSB executable, SPARC32PLUS, V8+ Required, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped > > I'll take a look at that, thanks. Err, sorry - is that with the patch I posted in this thread or without? From just.for.lkml@googlemail.com Mon Aug 31 13:54: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=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 n7VIrqQL116897 for ; Mon, 31 Aug 2009 13:54:02 -0500 X-ASG-Debug-ID: 1251744864-13db003f0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-bw0-f216.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7FCA3412752 for ; Mon, 31 Aug 2009 11:54:24 -0700 (PDT) Received: from mail-bw0-f216.google.com (mail-bw0-f216.google.com [209.85.218.216]) by cuda.sgi.com with ESMTP id 9l9J5Pf3rzJc9sIp for ; Mon, 31 Aug 2009 11:54:24 -0700 (PDT) Received: by bwz12 with SMTP id 12so2050981bwz.20 for ; Mon, 31 Aug 2009 11:54:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=MQKFBT2xogs3a5HcFrxhMvw4ppEdb1ZY7nLkp0QFr90=; b=UVdZnsBmjdQrp2lKqaaxuQd0TrNT7h46eBTAgrflKsDcZHI9whzxjVpGlEDQt8d2Jm t8B9JbtceUk7PY9ZbNblkhaRxT2oQBtkp34NBnPg1xx0DnCfGOUKMEFYD46LuqRqKMKT 9r3GSXMcR7dKgW37li/3QIjtMWW2j/z6dbbIw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=Gp3wvQfoMcbndTj75xdA8dAxGe/iLlf+r/VVSysexkcUl7DR+1Y3mZUGiG8AGG9nqN Ontui8AOhNRfhG5HdiuxjqEo+DN0GGnY5+tBQX323FYc1fFUdXUW5R6A0TQ6jEPnWyjy aEtQpQ6dWJaZh75HSgtornrNFY3wqdlb83CFY= MIME-Version: 1.0 Received: by 10.223.29.193 with SMTP id r1mr1964810fac.29.1251744175786; Mon, 31 Aug 2009 11:42:55 -0700 (PDT) In-Reply-To: <20090831182754.GA3620@infradead.org> References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> <64bb37e0908311114t4a3cefc3v8ea5092e1558c578@mail.gmail.com> <20090831182754.GA3620@infradead.org> Date: Mon, 31 Aug 2009 20:42:55 +0200 Message-ID: <64bb37e0908311142y4f9b6a8ex4918ac4dea09a4d2@mail.gmail.com> X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? From: Torsten Kaiser To: Christoph Hellwig Cc: Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com Content-Type: text/plain; charset=ISO-8859-1 X-Barracuda-Connect: mail-bw0-f216.google.com[209.85.218.216] X-Barracuda-Start-Time: 1251744885 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.7751 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, Aug 31, 2009 at 8:27 PM, Christoph Hellwig wrote: > I think you are right, the constant used is incorrect. Does the small > patch below fix it for you? Thanks, I will try it tomorrow. Torsten > Index: linux-2.6/fs/xfs/linux-2.6/xfs_ioctl32.c > =================================================================== > --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_ioctl32.c 2009-08-31 15:25:06.093044591 -0300 > +++ linux-2.6/fs/xfs/linux-2.6/xfs_ioctl32.c 2009-08-31 15:25:10.856544216 -0300 > @@ -619,7 +619,7 @@ xfs_file_compat_ioctl( > case XFS_IOC_GETVERSION_32: > cmd = _NATIVE_IOC(cmd, long); > return xfs_file_ioctl(filp, cmd, p); > - case XFS_IOC_SWAPEXT: { > + case XFS_IOC_SWAPEXT_32: { > struct xfs_swapext sxp; > struct compat_xfs_swapext __user *sxu = arg; > > From twalberg@comcast.net Mon Aug 31 14:02: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=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 n7VJ1osd117258 for ; Mon, 31 Aug 2009 14:02:00 -0500 X-ASG-Debug-ID: 1251745339-108700a50000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from QMTA02.emeryville.ca.mail.comcast.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 2873D1592B59 for ; Mon, 31 Aug 2009 12:02:19 -0700 (PDT) Received: from QMTA02.emeryville.ca.mail.comcast.net (qmta02.emeryville.ca.mail.comcast.net [76.96.30.24]) by cuda.sgi.com with ESMTP id AzGAf6rAWhkYmGCx for ; Mon, 31 Aug 2009 12:02:19 -0700 (PDT) Received: from OMTA17.emeryville.ca.mail.comcast.net ([76.96.30.73]) by QMTA02.emeryville.ca.mail.comcast.net with comcast id b59B1c0061afHeLA272JaH; Mon, 31 Aug 2009 19:02:20 +0000 Received: from beta.localdomain ([24.14.6.228]) by OMTA17.emeryville.ca.mail.comcast.net with comcast id b72B1c0014vB7EY8d72Bgw; Mon, 31 Aug 2009 19:02:13 +0000 Received: from calvin.localdomain ([10.0.0.8]) by beta.localdomain with esmtp (Exim 4.69) (envelope-from ) id 1MiC8n-0004kF-Bx; Mon, 31 Aug 2009 14:02:09 -0500 Received: from tew by calvin.localdomain with local (Exim 4.69) (envelope-from ) id 1MiC8n-0007rJ-5c; Mon, 31 Aug 2009 14:02:09 -0500 Date: Mon, 31 Aug 2009 14:02:09 -0500 From: Tim Walberg To: Christoph Hellwig Cc: Tim Walberg , Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: xfs compat_ioctl? Subject: Re: xfs compat_ioctl? Message-ID: <20090831190209.GD19343@comcast.net> Reply-To: Tim Walberg Mail-Followup-To: Tim Walberg , Christoph Hellwig , Michael Tokarev , Linux-kernel , linux-fsdevel , xfs@oss.sgi.com References: <4A9B759B.7020401@msgid.tls.msk.ru> <20090831123010.GA2368@infradead.org> <20090831183751.GC19343@comcast.net> <20090831184822.GA10393@infradead.org> <20090831184918.GB10393@infradead.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="48TaNjbzBVislYPb" Content-Disposition: inline In-Reply-To: <20090831184918.GB10393@infradead.org> Errors-To: Tim Walberg User-Agent: Mutt/1.5.16 (2007-06-09) X-Barracuda-Connect: qmta02.emeryville.ca.mail.comcast.net[76.96.30.24] X-Barracuda-Start-Time: 1251745363 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.7751 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 --48TaNjbzBVislYPb Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 08/31/2009 14:49 -0400, Christoph Hellwig wrote: >> On Mon, Aug 31, 2009 at 02:48:22PM -0400, Christoph Hellwig wrote: >> > On Mon, Aug 31, 2009 at 01:37:51PM -0500, Tim Walberg wrote: >> > > Linux sparcy 2.6.30.4-sparcy #2 Sat Aug 1 21:14:46 CDT 2009 sparc64 = GNU/Linux >> > > sparcy:~# file $(which xfs_fsr) >> > > /usr/sbin/xfs_fsr: ELF 32-bit MSB executable, SPARC32PLUS, V8+ Requi= red, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux= 2.6.18, stripped >> >=20 >> > I'll take a look at that, thanks. >>=09 >> Err, sorry - is that with the patch I posted in this thread or without? End of included message No, that's the generic 2.6.30.4... I can attempt with that patch as well, b= ut it might be a day or two... tw --=20 +----------------------+ | Tim Walberg | | 830 Carriage Dr. | | Algonquin, IL 60102 | | twalberg@comcast.net | +----------------------+ --48TaNjbzBVislYPb Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkqcHjEACgkQw+Wcj22rJWafGgCfezgV5i6D9BQzkaIjuDF2OaGe OPMAoL74DPQlOVe+jY1lAVjM+lrj5bDJ =ucVX -----END PGP SIGNATURE----- --48TaNjbzBVislYPb-- From felixb@oss.sgi.com Mon Aug 31 15:22: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.6 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.3.0-rupdated Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7VKMPOY121784 for ; Mon, 31 Aug 2009 15:22:30 -0500 Received: (from felixb@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n7VKMPwV121597; Mon, 31 Aug 2009 15:22:25 -0500 Date: Mon, 31 Aug 2009 15:22:25 -0500 Message-Id: <200908312022.n7VKMPwV121597@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-12465-g1da1dae X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: a022fe09700365c51d1f55884bca9754eb96a802 X-Git-Newrev: 1da1daed813c534263a87ffc36d5b775e65231ad This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated a0f7bfd fs/xfs: Correct redundant test eb00457 xfs: remove XFS_INO64_OFFSET fef1111 un-static xfs_read_agf d96f8f8 xfs: add more statics & drop some unused functions bc990f5 xfs: fix locking in xfs_iget_cache_hit 78efd1d Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs a8914f3 xfs: fix spin_is_locked assert on uni-processor builds b89d420 xfs: check for dinode realtime flag corruption e0c222c use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock ddd3a14 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get 7b02ecb xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap 10746e4 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set 36fae17 xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory 3f52c2f xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result 73195ed xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make f41d7fb xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc ca35dcd xfs: switch to NOFS allocation under i_lock in xfs_getbmap 0cc6eee xfs: avoid memory allocation under m_peraglock in growfs code b36ec04 xfs: fix freeing of inodes not yet added to the inode cache 54e3462 vfs: fix inode_init_always calling convention f5266cb Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs c8a4051 xfs: bump up nr_to_write in xfs_vm_writepage 97db39a xfs: reduce bmv_count in xfs_vn_fiemap 405f557 headers: smp_lock.h redux 8aa7e84 Fix congestion_wait() sync/async vs read/write confusion 1cbd20d switch xfs to generic acl caching helpers 90c699a block: rename CONFIG_LBD to CONFIG_LBDAF fd40261 Merge branch 'master' of git://oss.sgi.com/xfs/xfs into for-linus f950221 xfs: remove ->write_super and stop maintaining ->s_dirt c905959 Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block e1defc4 block: Do away with the notion of hardsect_size from a022fe09700365c51d1f55884bca9754eb96a802 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a0f7bfd3429fc48f4d1aa5364b9428d75798ba04 Author: Julia Lawall Date: Mon Jul 27 18:15:25 2009 +0200 fs/xfs: Correct redundant test bp was tested for NULL a few lines before, followed by a return, and there is no intervening modification of its value. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Felix Blyakher Signed-off-by: Felix Blyakher commit eb00457d624c70a2492c319e7e05ed7e067b2794 Author: Eric Sandeen Date: Sun Jul 5 12:23:35 2009 -0500 xfs: remove XFS_INO64_OFFSET Commit a19d9f887d81106d52cacbc9930207b487e07e0e removed the ino64 option but left the XFS_INO64_OFFSET define it used in place - just remove it. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit fef1111ecdd2b5198afe91537a5cd4c6be80a255 Author: Eric Sandeen Date: Thu Jul 2 21:35:43 2009 -0500 un-static xfs_read_agf CONFIG_XFS_DEBUG builds still need xfs_read_agf to be non-static, oops. Signed-off-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit d96f8f891f69ac1dc8c7bd82e27525de220c04e1 Author: Eric Sandeen Date: Thu Jul 2 00:09:33 2009 -0500 xfs: add more statics & drop some unused functions A lot more functions could be made static, but they need forward declarations; this does some easy ones, and also found a few unused functions in the process. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/kmem.c | 4 +- fs/xfs/linux-2.6/xfs_acl.c | 73 +++------------------- fs/xfs/linux-2.6/xfs_buf.c | 4 +- fs/xfs/linux-2.6/xfs_file.c | 1 - fs/xfs/linux-2.6/xfs_linux.h | 2 +- fs/xfs/linux-2.6/xfs_super.c | 14 +---- fs/xfs/xfs_acl.h | 4 - fs/xfs/xfs_iget.c | 142 +++++++++++++++++++++--------------------- fs/xfs/xfs_inode.h | 22 ------- fs/xfs/xfs_trans.c | 2 - 10 files changed, 87 insertions(+), 181 deletions(-) hooks/post-receive -- XFS development tree From pg_mh@sabi.co.UK Mon Aug 31 18:10: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n7VNANrj130089 for ; Mon, 31 Aug 2009 18:10:44 -0500 X-ASG-Debug-ID: 1251760255-4e98039b0000-ps1ADW X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from ty.sabi.co.UK (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 56626159563F for ; Mon, 31 Aug 2009 16:10:55 -0700 (PDT) Received: from ty.sabi.co.UK (82-69-39-138.dsl.in-addr.zen.co.uk [82.69.39.138]) by cuda.sgi.com with ESMTP id h25vINvKGAvklvtB for ; Mon, 31 Aug 2009 16:10:55 -0700 (PDT) Received: from from [127.0.0.1] (helo=tree.ty.sabi.co.uk) by ty.sabi.co.UK with esmtp(Exim 4.63 #1) id 1MiG1M-0007cr-Jq for ; Mon, 31 Aug 2009 23:10:44 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <19100.22644.149019.555685@tree.ty.sabi.co.uk> Date: Mon, 31 Aug 2009 23:10:44 +0000 X-Face: SMJE]JPYVBO-9UR%/8d'mG.F!@.,l@c[f'[%S8'BZIcbQc3/">GrXDwb#;fTRGNmHr^JFb SAptvwWc,0+z+~p~"Gdr4H$(|N(yF(wwCM2bW0~U?HPEE^fkPGx^u[*[yV.gyB!hDOli}EF[\cW*S H&spRGFL}{`bj1TaD^l/"[ msn( /TH#THs{Hpj>)]f> X-ASG-Orig-Subj: Re: zero size file after power failure with kernel 2.6.30.5 Subject: Re: zero size file after power failure with kernel 2.6.30.5 In-Reply-To: <4A99A80C.9010307@sandeen.net> References: <200908292102.21710@zmi.at> <4A99A80C.9010307@sandeen.net> X-Mailer: VM 8.0.12-devo-585 under 21.5 (beta27) XEmacs Lucid (i686-redhat-linux) From: pg_xf2@xf2.sabi.co.UK (Peter Grandi) X-Disclaimer: This message contains only personal opinions X-Barracuda-Connect: 82-69-39-138.dsl.in-addr.zen.co.uk[82.69.39.138] X-Barracuda-Start-Time: 1251760262 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.92 X-Barracuda-Spam-Status: No, SCORE=-0.92 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests=BSF_SC0_SA275b_HL, RDNS_DYNAMIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.7766 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_DYNAMIC Delivered to trusted network by host with dynamic-looking rDNS 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 [ ... ] >> Shouldn't it be that this doesn't happen anymore? I'd love to >> be in a position where I really can rely on a crash not >> trashing any of my files anymore. Then 'mount' with '-o sync', or write your own applications and patches to the GNU/Linux kernel to enforce well known atomicity and persistence semantics. This issue as related to several filesystems has been discussed in great depth over the past several months. Consider reading and if possible try to understand these contributions: http://sandeen.net/wordpress/?p=34 http://sandeen.net/wordpress/?p=42 https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/317781/comments/45 http://lwn.net/SubscriberLink/322823/e6979f02e5a73feb/ http://loupgaroublond.blogspot.com/2009/03/anecdote-about-why-doing-wrong-thing-is.html http://thunk.org/tytso/blog/2009/03/12/delayed-allocation-and-the-zero-length-file-problem/ http://mjg59.livejournal.com/108257.html http://www.csamuel.org/2009/04/11/default-ext3-mode-changing-in-2630 http://tribulaciones.org/2009/03/is-ext4-unsafe/ >> I used to have reiserfs previously, and never, not a single >> time despite many crashes, did I have such an issue. I'd >> really be pleased so see such stability in XFS. I'm using >> barriers - what else must I do? Barriers under GNU/Linux regrettably only enforce ordering. It is a POSIX weakness. Actual delays/semantics depend on kernel version. > this will depend on what kde is doing internally as well. Unfortunately KDE like most applications is known not to do the right thing (depending on specific app and version, but most IIRC). [ ... ] From BATV+88945cdf03a0dcaa8c4e+2200+infradead.org+hch@bombadil.srs.infradead.org Mon Aug 31 21:38:23 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 n812bvSH139915 for ; Mon, 31 Aug 2009 21:38:13 -0500 X-ASG-Debug-ID: 1251772713-473803cd0000-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 83A05413BD3 for ; Mon, 31 Aug 2009 19:38:33 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id OAMQ49ITDedBY83I for ; Mon, 31 Aug 2009 19:38:33 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1MiJDM-0000TP-PE for xfs@oss.sgi.com; Tue, 01 Sep 2009 02:35:20 +0000 Date: Mon, 31 Aug 2009 22:35:20 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: pull request Subject: pull request Message-ID: <20090901023520.GA32097@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: 1251772733 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 First big batch for 2.6.32: the ialloc changes + xfs_trans_iget simplification plus the O_SYNC fixup. The following changes since commit 1da1daed813c534263a87ffc36d5b775e65231ad: Felix Blyakher (1): Merge branch 'master' of ssh+git://oss.sgi.com/oss/git/xfs/xfs are available in the git repository at: git://git.kernel.org/pub/scm/fs/xfs/xfs.git master Christoph Hellwig (6): xfs: improve xfs_inobt_get_rec prototype xfs: improve xfs_inobt_update prototype xfs: untangle xfs_dialloc xfs: rationalize xfs_inobt_lookup* xfs: merge fsync and O_SYNC handling xfs: simplify xfs_trans_iget Dave Chinner (3): xfs: factor out inode initialisation xfs: factor out debug checks from xfs_dialloc and xfs_difree xfs: speed up free inode search fs/xfs/linux-2.6/xfs_aops.c | 1 - fs/xfs/linux-2.6/xfs_file.c | 19 +- fs/xfs/linux-2.6/xfs_lrw.c | 7 +- fs/xfs/xfs_ag.h | 9 + fs/xfs/xfs_ialloc.c | 805 ++++++++++++++++++++++--------------------- fs/xfs/xfs_ialloc.h | 18 +- fs/xfs/xfs_iget.c | 27 -- fs/xfs/xfs_inode.h | 3 - fs/xfs/xfs_inode_item.c | 10 - fs/xfs/xfs_inode_item.h | 2 - fs/xfs/xfs_itable.c | 96 +++--- fs/xfs/xfs_rw.c | 84 ----- fs/xfs/xfs_rw.h | 1 - fs/xfs/xfs_trans.h | 2 +- fs/xfs/xfs_trans_inode.c | 86 +----- fs/xfs/xfs_vnodeops.c | 11 +- 16 files changed, 499 insertions(+), 682 deletions(-)