From a.beregalov@gmail.com Fri May 1 15:33: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.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 n41KXV8p027412 for ; Fri, 1 May 2009 15:33:32 -0500 X-ASG-Debug-ID: 1241210011-090a01270000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-fx0-f177.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id EB1F51D042F8 for ; Fri, 1 May 2009 13:33:32 -0700 (PDT) Received: from mail-fx0-f177.google.com (mail-fx0-f177.google.com [209.85.220.177]) by cuda.sgi.com with ESMTP id Als8ftV5hsujw3K4 for ; Fri, 01 May 2009 13:33:32 -0700 (PDT) Received: by fxm25 with SMTP id 25so2497056fxm.20 for ; Fri, 01 May 2009 13:33:31 -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=zKasdxEGf5BS41o8vyRmowyFHz4wLCL336kZ+Iezj6Y=; b=VuexbjKw4j6A52DCReiuglV1cn85rmU9pZfekYBgAHvLObmEpOEXlUMZ7AukAeiNcW rFD4DRhHuAwpQHLLrrnqa+ajgsBuzgazQ745jbQO+qwZk34xK5ee/YHSTW8HkO0gOcFx +SUbpCcI/111YcaJBUQW/ukjWQu2QskpQgPRo= 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=Bd1/sHwz+SVNMuA34U1LyYV0iKzuyun09knNND+rjw+1KhRAkC5ntXayt6oIJeeSUy MdWBL6P8g6FI072RpT2SWX60KI2Bw2CRvIi3Nl4NDcKXKIadJKzPUxKgRaz2PaK/x4qa KTurTZ2bRJzs/qcRzp/P8MZhQV4BlPoUHygac= MIME-Version: 1.0 Received: by 10.204.71.68 with SMTP id g4mr2946639bkj.135.1241210010963; Fri, 01 May 2009 13:33:30 -0700 (PDT) Date: Sat, 2 May 2009 00:33:30 +0400 Message-ID: X-ASG-Orig-Subj: 2.6.30-rc4: xfs_fsr hangs Subject: 2.6.30-rc4: xfs_fsr hangs From: Alexander Beregalov To: Linux Kernel Mailing List , Kernel Testers List , xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-fx0-f177.google.com[209.85.220.177] X-Barracuda-Start-Time: 1241210012 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0280 1.0000 -1.8399 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.84 X-Barracuda-Spam-Status: No, SCORE=-1.84 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24648 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 # xfs_db -r /dev/sdc1 xfs_db> frag actual 23805, ideal 22890, fragmentation factor 3.84% # xfs_fsr -v /dev/sdc1 /mnt/c start inode=0 ino=158 extents before:3 after:1 DONE ino=158 then it hangs INFO: task xfs_fsr:2403 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. xfs_fsr D 00000000 4492 2403 1928 f3cc9dec 00000046 00000001 00000000 f3cc9de8 ec976680 ec976900 f2d06a50 ec976680 00000001 f2d06a50 f2d06a4c ffffffff f2d06a4c ec976680 f3cc9df4 c0447892 f3cc9e20 c04498ad f3cc9e28 f2d06a50 f2d06a74 f3cc9e44 00000246 Call Trace: [] schedule+0x12/0x30 [] rwsem_down_failed_common+0x6d/0x180 [] rwsem_down_write_failed+0x1d/0x30 [] call_rwsem_down_write_failed+0x6/0x8 [] ? xfs_ilock+0xee/0x100 [] ? down_write_nested+0x76/0x90 [] ? xfs_ilock+0xee/0x100 [] xfs_ilock+0xee/0x100 [] xfs_inactive+0x334/0x540 [] ? inotify_inode_is_dead+0x1b/0x80 [] xfs_fs_clear_inode+0x1f/0x30 [] clear_inode+0x8b/0x110 [] generic_delete_inode+0xe6/0x120 [] ? _spin_lock+0x66/0x70 [] generic_drop_inode+0x15f/0x230 [] ? _atomic_dec_and_lock+0x18/0x40 [] iput+0x47/0x50 [] dentry_iput+0x6f/0xc0 [] d_kill+0x24/0x50 [] dput+0x5b/0x120 [] __fput+0x162/0x240 [] fput+0x1f/0x30 [] filp_close+0x47/0x70 [] sys_close+0x6c/0xd0 [] sysenter_do_call+0x12/0x36 INFO: lockdep is turned off. From felixb@sgi.com Fri May 1 17:04: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 n41M4XOD029887 for ; Fri, 1 May 2009 17:04:33 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0FF4F8F8071 for ; Fri, 1 May 2009 15:04:32 -0700 (PDT) Received: from eagdhcp-232-184.americas.sgi.com (eagdhcp-232-184.americas.sgi.com [128.162.232.184]) by estes.americas.sgi.com (Postfix) with ESMTP id E13007000103; Fri, 1 May 2009 17:04:31 -0500 (CDT) Cc: xfs@oss.sgi.com Message-Id: From: Felix Blyakher To: Christoph Hellwig In-Reply-To: <20090429144734.GA15044@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: release.sh, take two Date: Fri, 1 May 2009 17:04:31 -0500 References: <20090429141108.GA14578@infradead.org> <20090429144734.GA15044@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 Apr 29, 2009, at 9:47 AM, Christoph Hellwig wrote: > On Wed, Apr 29, 2009 at 10:11:08AM -0400, Christoph Hellwig wrote: >> A new release script, now using Makepkgs to simply things. Needs to >> be run from the repository directory. >> >> Anyone fine with commiting a copy to each of the repositories? > > And now with actual content: Looks good. We should also add release.sh to .gitignore. Felix > > > > #!/bin/sh > > . VERSION > > version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION} > date=`date +"%-d %B %Y"` > > echo "Updating CHANGES" > sed -e "s/${version}.*/${version} (${date})/" doc/CHANGES > doc/ > CHANGES.tmp && \ > mv doc/CHANGES.tmp doc/CHANGES > > echo "Commiting CHANGES update to git" > git-commit -a -m "${version} release" > > echo "Tagging git repository" > git-tag v${version} > > echo "Creating source tarball in build/tar/" > ./Makepkgs > > echo "Done." > echo "Please remember to push out tags using \"git push --tags\"" > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From felixb@sgi.com Fri May 1 17:34: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 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 n41MYdj1030535 for ; Fri, 1 May 2009 17:34: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 538603040DA for ; Fri, 1 May 2009 15:34:38 -0700 (PDT) Received: from eagdhcp-232-184.americas.sgi.com (eagdhcp-232-184.americas.sgi.com [128.162.232.184]) by estes.americas.sgi.com (Postfix) with ESMTP id 3427C7000103; Fri, 1 May 2009 17:34:38 -0500 (CDT) Cc: Christoph Hellwig , xfs@oss.sgi.com Message-Id: <65D7E102-E6EB-4555-9279-5436A54FA227@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: release.sh, take two Date: Fri, 1 May 2009 17:34:37 -0500 References: <20090429141108.GA14578@infradead.org> <20090429144734.GA15044@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 May 1, 2009, at 5:04 PM, Felix Blyakher wrote: > > On Apr 29, 2009, at 9:47 AM, Christoph Hellwig wrote: > >> On Wed, Apr 29, 2009 at 10:11:08AM -0400, Christoph Hellwig wrote: >>> A new release script, now using Makepkgs to simply things. Needs to >>> be run from the repository directory. >>> >>> Anyone fine with commiting a copy to each of the repositories? >> >> And now with actual content: > > Looks good. > We should also add release.sh to .gitignore. Sandeen corrected me on this. release.sh will be in repo. I just ran 'git clean', and was disappointed to see it removed. So, it's all good. Felix > > > Felix > >> >> >> >> #!/bin/sh >> >> . VERSION >> >> version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION} >> date=`date +"%-d %B %Y"` >> >> echo "Updating CHANGES" >> sed -e "s/${version}.*/${version} (${date})/" doc/CHANGES > doc/ >> CHANGES.tmp && \ >> mv doc/CHANGES.tmp doc/CHANGES >> >> echo "Commiting CHANGES update to git" >> git-commit -a -m "${version} release" >> >> echo "Tagging git repository" >> git-tag v${version} >> >> echo "Creating source tarball in build/tar/" >> ./Makepkgs >> >> echo "Done." >> echo "Please remember to push out tags using \"git push --tags\"" >> >> _______________________________________________ >> 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 BATV+059a4d5e7d5bac9ba89c+2078+infradead.org+hch@bombadil.srs.infradead.org Sat May 2 01:51: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, SUBJECT_FUZZY_TION 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 n426pbLb044331 for ; Sat, 2 May 2009 01:51:40 -0500 X-ASG-Debug-ID: 1241247098-19ed00730000-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 992EA1D05635 for ; Fri, 1 May 2009 23:51:38 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id lKQzfWLYrYo87Jle for ; Fri, 01 May 2009 23:51:38 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1M094T-0004SI-SJ; Sat, 02 May 2009 06:51:37 +0000 Date: Sat, 2 May 2009 02:51:37 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfsdump: add .gitignore Subject: Re: [PATCH] xfsdump: add .gitignore Message-ID: <20090502065137.GA12536@infradead.org> References: <20090429135050.GC30808@infradead.org> <49F8621B.4060103@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49F8621B.4060103@sandeen.net> 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: 1241247099 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, Apr 29, 2009 at 09:20:11AM -0500, Eric Sandeen wrote: > could add cscope/ here too, but, *shrug* We don't have it in the other gitignore files either. I don't mind adding it, but we should add it to all at the same time. From htd@fancy-poultry.org Sat May 2 05:10: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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n42AABEt050864 for ; Sat, 2 May 2009 05:10:12 -0500 X-ASG-Debug-ID: 1241259230-284f024b0000-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 BFD5B146A2C6 for ; Sat, 2 May 2009 03:13:50 -0700 (PDT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.186]) by cuda.sgi.com with ESMTP id TnD20fOdXDtxCVwL for ; Sat, 02 May 2009 03:13:50 -0700 (PDT) Received: from liesel.fancy-poultry.org (ti400720a080-1931.bb.online.no [83.108.199.141]) by mrelayeu.kundenserver.de (node=mreu2) with ESMTP (Nemesis) id 0MKv5w-1M0CAa1YB0-0001oH; Sat, 02 May 2009 12:10:09 +0200 Received: by liesel.fancy-poultry.org (Postfix, from userid 1000) id 6D76210740A0C; Sat, 2 May 2009 12:14:05 +0200 (CEST) Date: Sat, 2 May 2009 12:14:05 +0200 From: Heinz Diehl To: linux-kernel@vger.kernel.org Cc: Alexander Beregalov , Kernel Testers List , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs Message-ID: <20090502101405.GA6145@fancy-poultry.org> Reply-To: linux-kernel@vger.kernel.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: private site User-Agent: Mutt/1.5.19+20090405 (GNU/Linux) X-Provags-ID: V01U2FsdGVkX19cgp2K9Ko3pvHs3Q2/qyDAw8E8TAQA2ZAnuqk V4dZi3Wnxj8XpH5VIwvNtdjWkuHgMY1MWV+mafU7R/smfZKSXE uvz1NilNy2sgzRg9kfiPTNRxtqflRFh X-Barracuda-Connect: moutng.kundenserver.de[212.227.126.186] X-Barracuda-Start-Time: 1241259232 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0561 1.0000 -1.6616 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.66 X-Barracuda-Spam-Status: No, SCORE=-1.66 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24697 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 01.05.2009, Alexander Beregalov wrote: > # xfs_db -r /dev/sdc1 > xfs_db> frag > actual 23805, ideal 22890, fragmentation factor 3.84% > # xfs_fsr -v /dev/sdc1 > /mnt/c start inode=0 > ino=158 > extents before:3 after:1 DONE ino=158 > > then it hangs I can't confirm this here on my systems: liesel:~ # uname -a Linux liesel 2.6.30-rc4 #1 SMP PREEMPT Sat May 2 11:49:13 CEST 2009 x86_64 x86_64 x86_64 GNU/Linux liesel:~ # xfs_db -r /dev/sdc1 xfs_db> frag actual 42974, ideal 42842, fragmentation factor 0.31% xfs_db> quit liesel:~ # xfs_fsr -v /dev/sdc1 /home start inode=0 ino=248755507 ino=248755507 already fully defragmented. ino=536871160 extents before:2 after:1 DONE ino=536871160 ino=536875693 extents before:3 after:1 DONE ino=536875693 ino=615920545 extents before:2 after:1 DONE ino=615920545 ino=615920557 extents before:2 after:1 DONE ino=615920557 ino=1092324584 extents before:4 after:1 DONE ino=1092324584 liesel:~ # From a.beregalov@gmail.com Sat May 2 13:35: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 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 n42IZIlM065973 for ; Sat, 2 May 2009 13:35:19 -0500 X-ASG-Debug-ID: 1241289540-487b01330000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-fx0-f177.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9E3AB146AB0E for ; Sat, 2 May 2009 11:39:01 -0700 (PDT) Received: from mail-fx0-f177.google.com (mail-fx0-f177.google.com [209.85.220.177]) by cuda.sgi.com with ESMTP id ceXBPIeYPltJfLWS for ; Sat, 02 May 2009 11:39:01 -0700 (PDT) Received: by fxm25 with SMTP id 25so2848105fxm.20 for ; Sat, 02 May 2009 11:35:17 -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=n807j94Hj4DDs8hXgy/34OMTphtWytj7z+lUrm08vo0=; b=sdpEQdSBxyk/6/Zqrz19HOYoic2epOzG1DY5yviad00u8JtjpbeVkCMMU53IUjoFm8 B7KSNwFiQjjpKZzjHBSsB6fVgF5pgd0QJU+jVd8j5KlEz45XmDbslCMbPkg2A/wOBi08 zCjk42CfCMrJk1HU3d7o7/IfDrxtgqNT6jyQ8= 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=TQF4f5QiVUADtcYG6wKnyU8xUL1qGwaU1DYwjbCv6S11WAYsqcdi/nF+x6GEYCFBZF N+Oejy3v4oJj0iWb1tlAjwGvdGB3hGDWhNYVZ8rE3TzsmkNlP+drOXfELVPG2tpwGSdh ilXbs75yaXRf3+Bb7V0f6cYEgVrGUTR1yjGPE= MIME-Version: 1.0 Received: by 10.204.64.67 with SMTP id d3mr3859902bki.142.1241289317651; Sat, 02 May 2009 11:35:17 -0700 (PDT) In-Reply-To: <20090502101405.GA6145@fancy-poultry.org> References: <20090502101405.GA6145@fancy-poultry.org> Date: Sat, 2 May 2009 22:35:17 +0400 Message-ID: X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs From: Alexander Beregalov To: linux-kernel@vger.kernel.org, Heinz Diehl Cc: Kernel Testers List , xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-fx0-f177.google.com[209.85.220.177] X-Barracuda-Start-Time: 1241289542 X-Barracuda-Bayes: INNOCENT GLOBAL 0.3907 1.0000 -0.0245 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= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24730 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/5/2 Heinz Diehl : > On 01.05.2009, Alexander Beregalov wrote: > >> # xfs_db -r /dev/sdc1 >> xfs_db> frag >> actual 23805, ideal 22890, fragmentation factor 3.84% >> # xfs_fsr -v /dev/sdc1 >> /mnt/c start inode=3D0 >> ino=3D158 >> extents before:3 after:1 DONE ino=3D158 >> >> =C2=A0then it hangs > > I can't confirm this here on my systems: > > liesel:~ # uname -a > Linux liesel 2.6.30-rc4 #1 SMP PREEMPT Sat May 2 11:49:13 CEST 2009 x86_6= 4 x86_64 x86_64 GNU/Linux I have this problem on two x86_32 hosts. It runs for about a minute and then hangs. vmstat 1: 0 1 80 30856 12284 1289452 0 0 16384 16380 224 301 0 5 0= 95 0 1 80 32020 12196 1287884 0 0 25984 16380 290 470 0 11 0= 89 0 1 80 30732 12132 1289648 0 0 23168 32760 286 413 0 6 0= 94 0 1 80 32220 12128 1287620 0 0 16384 16380 220 303 0 8 0= 92 1 0 80 198312 12108 1137956 0 0 14472 14628 223 284 0 10 3= 87 0 0 80 1118144 12108 218216 0 0 0 0 63 33 0 38 62= 0 0 0 80 1118144 12108 218216 0 0 0 0 24 26 0 0 10= 0 0 0 0 80 1118144 12108 218216 0 0 0 0 36 28 0 1 99= 0 0 0 80 1118144 12108 218216 0 0 0 0 36 32 1 1 98= 0 0 0 80 1118144 12108 218216 0 0 0 0 78 66 0 1 99= 0 From sandeen@sandeen.net Sat May 2 13:56: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n42IuZBV066550 for ; Sat, 2 May 2009 13:56:35 -0500 X-ASG-Debug-ID: 1241290595-79b403110000-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 A62131D06381 for ; Sat, 2 May 2009 11:56:36 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id gdfqnfNBcEktr5oB for ; Sat, 02 May 2009 11:56:36 -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 A0F28A9B0D7; Sat, 2 May 2009 13:56:34 -0500 (CDT) Message-ID: <49FC9762.6010109@sandeen.net> Date: Sat, 02 May 2009 13:56:34 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Alexander Beregalov CC: linux-kernel@vger.kernel.org, Heinz Diehl , Kernel Testers List , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs References: <20090502101405.GA6145@fancy-poultry.org> 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: 1241290596 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24731 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 Alexander Beregalov wrote: > 2009/5/2 Heinz Diehl : >> On 01.05.2009, Alexander Beregalov wrote: >> >>> # xfs_db -r /dev/sdc1 >>> xfs_db> frag >>> actual 23805, ideal 22890, fragmentation factor 3.84% >>> # xfs_fsr -v /dev/sdc1 >>> /mnt/c start inode=0 >>> ino=158 >>> extents before:3 after:1 DONE ino=158 >>> >>> then it hangs >> I can't confirm this here on my systems: >> >> liesel:~ # uname -a >> Linux liesel 2.6.30-rc4 #1 SMP PREEMPT Sat May 2 11:49:13 CEST 2009 x86_64 x86_64 x86_64 GNU/Linux > > I have this problem on two x86_32 hosts. > It runs for about a minute and then hangs. echo w > /proc/sysrq-trigger dmesg would show all the sleeping processes... -Eric From a.beregalov@gmail.com Sat May 2 13:59: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.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 n42IxXqJ066629 for ; Sat, 2 May 2009 13:59:34 -0500 X-ASG-Debug-ID: 1241290996-487a01fe0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-bw0-f226.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 9FEA3146ACF7 for ; Sat, 2 May 2009 12:03:16 -0700 (PDT) Received: from mail-bw0-f226.google.com (mail-bw0-f226.google.com [209.85.218.226]) by cuda.sgi.com with ESMTP id YBA2BQhshuvCasiX for ; Sat, 02 May 2009 12:03:16 -0700 (PDT) Received: by bwz26 with SMTP id 26so2830858bwz.20 for ; Sat, 02 May 2009 11:59: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 :content-transfer-encoding; bh=RrNhnQjghgiZTH6O3JAdjwXPh7WGJQlI7zzo7POx+QE=; b=CIfL81JoJ0NGpdLN12yRb4WrZrNy/cMd8U/q8KOvXcyRcsXrxMwLWoNneXpCaAs28C hGfsmQeHAVIkTQNq3w/9XX3JC4iF4aFL8yLqCZ04ps62nAfnyqtb/mx6EqqPk2IX3r/i gdc8UTLwDUfAzWhZfoF/Yl58JUHqXUl9x7ivY= 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=cMOIyYhGDlgMQYabL2GFAhQdnVcAm0gLghe6doQPX1VpBCHwUdfxIzOvs9dtOlbJIn ExXBs/6Fsfty/PAprrWvJlUx0VcersoMG9dL4ks6Zzs0vvdFtQBf3bgGnz85cRQH2et5 NP9z5cRh2/PLxCXNfMjak30oS991Me5f/rRT4= MIME-Version: 1.0 Received: by 10.204.119.129 with SMTP id z1mr3863246bkq.67.1241290773144; Sat, 02 May 2009 11:59:33 -0700 (PDT) In-Reply-To: <49FC9762.6010109@sandeen.net> References: <20090502101405.GA6145@fancy-poultry.org> <49FC9762.6010109@sandeen.net> Date: Sat, 2 May 2009 22:59:33 +0400 Message-ID: X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs From: Alexander Beregalov To: Eric Sandeen Cc: linux-kernel@vger.kernel.org, Heinz Diehl , Kernel Testers List , xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-bw0-f226.google.com[209.85.218.226] X-Barracuda-Start-Time: 1241290997 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0080 1.0000 -1.9689 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.97 X-Barracuda-Spam-Status: No, SCORE=-1.97 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24730 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/5/2 Eric Sandeen : > Alexander Beregalov wrote: >> 2009/5/2 Heinz Diehl : >>> On 01.05.2009, Alexander Beregalov wrote: >>> >>>> # xfs_db -r /dev/sdc1 >>>> xfs_db> frag >>>> actual 23805, ideal 22890, fragmentation factor 3.84% >>>> # xfs_fsr -v /dev/sdc1 >>>> /mnt/c start inode=3D0 >>>> ino=3D158 >>>> extents before:3 after:1 DONE ino=3D158 >>>> >>>> =C2=A0then it hangs >>> I can't confirm this here on my systems: >>> >>> liesel:~ # uname -a >>> Linux liesel 2.6.30-rc4 #1 SMP PREEMPT Sat May 2 11:49:13 CEST 2009 x86= _64 x86_64 x86_64 GNU/Linux >> >> I have this problem on two x86_32 hosts. >> It runs for about a minute and then hangs. > > echo w > /proc/sysrq-trigger > dmesg > > would show all the sleeping processes... It is the same as I posted already: SysRq : Show Blocked State task PC stack pid father xfs_fsr D 00000000 5304 3393 1 ef479dec 00000046 00000001 00000000 ef479de8 f2a58000 f2a58280 f3123830 f2a58000 00000001 f3123830 f312382c ffffffff f312382c f2a58000 ef479df4 c0447892 ef479e20 c04498ad ef479e28 f3123830 f3123854 ef479e44 00000246 Call Trace: [] schedule+0x12/0x30 [] rwsem_down_failed_common+0x6d/0x180 [] rwsem_down_write_failed+0x1d/0x30 [] call_rwsem_down_write_failed+0x6/0x8 [] ? xfs_ilock+0xee/0x100 [] ? down_write_nested+0x76/0x90 [] ? xfs_ilock+0xee/0x100 [] xfs_ilock+0xee/0x100 [] xfs_inactive+0x334/0x540 [] ? inotify_inode_is_dead+0x1b/0x80 [] xfs_fs_clear_inode+0x1f/0x30 [] clear_inode+0x8b/0x110 [] generic_delete_inode+0xe6/0x120 [] ? _spin_lock+0x66/0x70 [] generic_drop_inode+0x15f/0x230 [] ? _atomic_dec_and_lock+0x18/0x40 [] iput+0x47/0x50 [] dentry_iput+0x6f/0xc0 [] d_kill+0x24/0x50 [] dput+0x5b/0x120 [] __fput+0x162/0x240 [] fput+0x1f/0x30 [] filp_close+0x47/0x70 [] sys_close+0x6c/0xd0 [] sysenter_do_call+0x12/0x36 From sandeen@sandeen.net Sat May 2 15:14: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.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 n42KDx38068910 for ; Sat, 2 May 2009 15:14:00 -0500 X-ASG-Debug-ID: 1241295463-028601960000-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 EC866146ADE0 for ; Sat, 2 May 2009 13:17:43 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id H1AX5C0yxWZHDw98 for ; Sat, 02 May 2009 13:17:43 -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 7A0CF10237FE; Sat, 2 May 2009 15:14:00 -0500 (CDT) Message-ID: <49FCA988.2050600@sandeen.net> Date: Sat, 02 May 2009 15:14:00 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Alexander Beregalov CC: linux-kernel@vger.kernel.org, Heinz Diehl , Kernel Testers List , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs References: <20090502101405.GA6145@fancy-poultry.org> <49FC9762.6010109@sandeen.net> 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: 1241295463 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24736 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 Alexander Beregalov wrote: > 2009/5/2 Eric Sandeen : >> Alexander Beregalov wrote: >>> 2009/5/2 Heinz Diehl : >>>> On 01.05.2009, Alexander Beregalov wrote: >>>> >>>>> # xfs_db -r /dev/sdc1 >>>>> xfs_db> frag >>>>> actual 23805, ideal 22890, fragmentation factor 3.84% >>>>> # xfs_fsr -v /dev/sdc1 >>>>> /mnt/c start inode=0 >>>>> ino=158 >>>>> extents before:3 after:1 DONE ino=158 >>>>> >>>>> then it hangs >>>> I can't confirm this here on my systems: >>>> >>>> liesel:~ # uname -a >>>> Linux liesel 2.6.30-rc4 #1 SMP PREEMPT Sat May 2 11:49:13 CEST 2009 x86_64 x86_64 x86_64 GNU/Linux >>> I have this problem on two x86_32 hosts. >>> It runs for about a minute and then hangs. >> echo w > /proc/sysrq-trigger >> dmesg >> >> would show all the sleeping processes... > It is the same as I posted already: hum, only 1 thread, interesting... Thanks, -Eric From edt@aei.ca Sat May 2 20:47: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=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 n431lsLe078312 for ; Sat, 2 May 2009 20:47:54 -0500 X-ASG-Debug-ID: 1241315275-734601880000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail001.aei.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 451F41D06B63 for ; Sat, 2 May 2009 18:47:55 -0700 (PDT) Received: from mail001.aei.ca (mail001.aei.ca [206.123.6.130]) by cuda.sgi.com with ESMTP id qlF1u51IIKv3g9G0 for ; Sat, 02 May 2009 18:47:55 -0700 (PDT) Received: (qmail 5851 invoked by uid 89); 3 May 2009 01:47:54 -0000 Received: by simscan 1.2.0 ppid: 5838, pid: 5848, t: 0.0039s scanners: regex: 1.2.0 attach: 1.2.0 Received: from mail002.aei.ca (HELO mail002.contact.net) (206.123.6.132) by 0 with (DHE-RSA-AES256-SHA encrypted) SMTP; 3 May 2009 01:47:54 -0000 Received: (qmail 16987 invoked by uid 89); 3 May 2009 01:47:54 -0000 Received: by simscan 1.2.0 ppid: 16977, pid: 16982, t: 0.4942s scanners: regex: 1.2.0 attach: 1.2.0 clamav: 0.95.1/m: spam: 3.2.5 Received: from 254-78.162.dsl.aei.ca (HELO grover.localnet) (edt@aei.ca@216.162.78.254) by mail.aei.ca with ESMTPA; 3 May 2009 01:47:53 -0000 From: Ed Tomlinson To: Eric Sandeen X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs Date: Sat, 2 May 2009 21:47:51 -0400 User-Agent: KMail/1.11.2 (Linux/2.6.30-rc3-crc; KDE/4.2.2; x86_64; ; ) Cc: Alexander Beregalov , linux-kernel@vger.kernel.org, Heinz Diehl , Kernel Testers List , xfs@oss.sgi.com References: <49FCA988.2050600@sandeen.net> In-Reply-To: <49FCA988.2050600@sandeen.net> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200905022147.52216.edt@aei.ca> X-Barracuda-Connect: mail001.aei.ca[206.123.6.130] X-Barracuda-Start-Time: 1241315276 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24756 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 Saturday 02 May 2009 16:14:00 Eric Sandeen wrote: > Alexander Beregalov wrote: > > 2009/5/2 Eric Sandeen : > >> Alexander Beregalov wrote: > >>> 2009/5/2 Heinz Diehl : > >>>> On 01.05.2009, Alexander Beregalov wrote: > >>>> > >>>>> # xfs_db -r /dev/sdc1 > >>>>> xfs_db> frag > >>>>> actual 23805, ideal 22890, fragmentation factor 3.84% > >>>>> # xfs_fsr -v /dev/sdc1 > >>>>> /mnt/c start inode=0 > >>>>> ino=158 > >>>>> extents before:3 after:1 DONE ino=158 > >>>>> > >>>>> then it hangs > >>>> I can't confirm this here on my systems: > >>>> > >>>> liesel:~ # uname -a > >>>> Linux liesel 2.6.30-rc4 #1 SMP PREEMPT Sat May 2 11:49:13 CEST 2009 x86_64 x86_64 x86_64 GNU/Linux > >>> I have this problem on two x86_32 hosts. > >>> It runs for about a minute and then hangs. > >> echo w > /proc/sysrq-trigger > >> dmesg > >> > >> would show all the sleeping processes... > > It is the same as I posted already: > > hum, only 1 thread, interesting... I have also had strange stalls with rc4 (but not with rc3). In one case sysrq would just print the title of commands no data would follow. Do not know if this is related but it may be that this is not just an xfs issue. Ed Tomlinson From sandeen@sandeen.net Sat May 2 23:58: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.1 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_28, J_CHICKENPOX_47,J_CHICKENPOX_54 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 n434wn10081749 for ; Sat, 2 May 2009 23:58:49 -0500 X-ASG-Debug-ID: 1241326730-4bf302f80000-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 2D32A25B417 for ; Sat, 2 May 2009 21:58:50 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id oCWwWhIY4nUkZ7K9 for ; Sat, 02 May 2009 21:58: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 25488A9B0B1; Sat, 2 May 2009 23:58:49 -0500 (CDT) Message-ID: <49FD2488.70503@sandeen.net> Date: Sat, 02 May 2009 23:58:48 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Alexander Beregalov CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs References: <20090502101405.GA6145@fancy-poultry.org> <49FC9762.6010109@sandeen.net> 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: 1241326731 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24768 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 Alexander Beregalov wrote: > 2009/5/2 Eric Sandeen : >> Alexander Beregalov wrote: >>> 2009/5/2 Heinz Diehl : >>>> On 01.05.2009, Alexander Beregalov wrote: >>>> >>>>> # xfs_db -r /dev/sdc1 >>>>> xfs_db> frag >>>>> actual 23805, ideal 22890, fragmentation factor 3.84% >>>>> # xfs_fsr -v /dev/sdc1 >>>>> /mnt/c start inode=0 >>>>> ino=158 >>>>> extents before:3 after:1 DONE ino=158 >>>>> >>>>> then it hangs >>>> I can't confirm this here on my systems: >>>> >>>> liesel:~ # uname -a >>>> Linux liesel 2.6.30-rc4 #1 SMP PREEMPT Sat May 2 11:49:13 CEST 2009 x86_64 x86_64 x86_64 GNU/Linux >>> I have this problem on two x86_32 hosts. >>> It runs for about a minute and then hangs. >> echo w > /proc/sysrq-trigger >> dmesg >> >> would show all the sleeping processes... > It is the same as I posted already: (trimming cc's) Does this happen if you try to defrag a single file? i.e. something like: # for I in `seq 10 -1 0`; do dd if=/dev/zero of=fragfile bs=4k count=1 seek=$I conv=notrunc oflag=sync done # xfs_fsr fragfile I'm guessing it requires some activity on the files that are being defragmented, but maybe worth a test (the test passes fine for me, though). -Eric From a.beregalov@gmail.com Sun May 3 02:15: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,J_CHICKENPOX_28, J_CHICKENPOX_47,J_CHICKENPOX_54 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n437FQTL089052 for ; Sun, 3 May 2009 02:15:26 -0500 X-ASG-Debug-ID: 1241334926-701c03890000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-fx0-f177.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6BE0D1D06CFB for ; Sun, 3 May 2009 00:15:26 -0700 (PDT) Received: from mail-fx0-f177.google.com (mail-fx0-f177.google.com [209.85.220.177]) by cuda.sgi.com with ESMTP id rUvUAVeCoa95pMgl for ; Sun, 03 May 2009 00:15:26 -0700 (PDT) Received: by fxm25 with SMTP id 25so3034645fxm.20 for ; Sun, 03 May 2009 00:15:26 -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=2oURuy8ptydRJUORvJtxienLvs6x8CU9ILfb12wl4e8=; b=H/qSbyeu1NU0ww6NwfxH/0yin0AM0dQD8opcKSGYcM9csPesJGkfjYV0K3mzwFc8S6 9+23a9oQ60yLiTgHwqaThkZxEwHLeYcVwgP4s1/g5ndaZiRsLPY1yVqk2jttWCKXxnp0 I3PqVrqC4WNf3A8TBGOK31JB9WTAF0183E3Xg= 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=tlrzQ3aXKdpvRBaM9K66/IpY+hOKptif3zUZHMFqjMbpcnbU285hZtwQ85wZjLP4d+ 8ztx7iK609CO/usEx0V7xUKCw2nE5XmiRBYFCiD3kH0EE89CKGv+Im/rSMs+2w0cTTcG 17AiUFHDQ21f/WHYrbx1YC5QrsfWSBT4FQnI8= MIME-Version: 1.0 Received: by 10.204.59.18 with SMTP id j18mr4317655bkh.206.1241334925844; Sun, 03 May 2009 00:15:25 -0700 (PDT) In-Reply-To: <49FD2488.70503@sandeen.net> References: <20090502101405.GA6145@fancy-poultry.org> <49FC9762.6010109@sandeen.net> <49FD2488.70503@sandeen.net> Date: Sun, 3 May 2009 11:15:25 +0400 Message-ID: X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs From: Alexander Beregalov To: Eric Sandeen Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-fx0-f177.google.com[209.85.220.177] X-Barracuda-Start-Time: 1241334928 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0538 1.0000 -1.6762 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -1.68 X-Barracuda-Spam-Status: No, SCORE=-1.68 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24776 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/5/3 Eric Sandeen : > Alexander Beregalov wrote: >> 2009/5/2 Eric Sandeen : >>> Alexander Beregalov wrote: >>>> 2009/5/2 Heinz Diehl : >>>>> On 01.05.2009, Alexander Beregalov wrote: >>>>> >>>>>> # xfs_db -r /dev/sdc1 >>>>>> xfs_db> frag >>>>>> actual 23805, ideal 22890, fragmentation factor 3.84% >>>>>> # xfs_fsr -v /dev/sdc1 >>>>>> /mnt/c start inode=3D0 >>>>>> ino=3D158 >>>>>> extents before:3 after:1 DONE ino=3D158 >>>>>> >>>>>> =C2=A0then it hangs >>>>> I can't confirm this here on my systems: >>>>> >>>>> liesel:~ # uname -a >>>>> Linux liesel 2.6.30-rc4 #1 SMP PREEMPT Sat May 2 11:49:13 CEST 2009 x= 86_64 x86_64 x86_64 GNU/Linux >>>> I have this problem on two x86_32 hosts. >>>> It runs for about a minute and then hangs. >>> echo w > /proc/sysrq-trigger >>> dmesg >>> >>> would show all the sleeping processes... >> It is the same as I posted already: > > (trimming cc's) > > Does this happen if you try to defrag a single file? =C2=A0i.e. something= like: Yes, it does. > > # for I in `seq 10 -1 0`; do > =C2=A0dd if=3D/dev/zero of=3Dfragfile bs=3D4k count=3D1 seek=3D$I conv=3D= notrunc oflag=3Dsync > done > > # xfs_fsr fragfile > > I'm guessing it requires some activity on the files that are being > defragmented, but maybe worth a test (the test passes fine for me, though= ). > > -Eric > > From BATV+490b9acfafa5d1595c3a+2079+infradead.org+hch@bombadil.srs.infradead.org Sun May 3 02:19: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 n437JTd5089190 for ; Sun, 3 May 2009 02:19:31 -0500 X-ASG-Debug-ID: 1241335171-3b6a00d70000-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 DB91325B7FD; Sun, 3 May 2009 00:19:31 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id w7V1WgnZxQwJi5Jr; Sun, 03 May 2009 00: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 1M0Vz0-0007ej-DF; Sun, 03 May 2009 07:19:30 +0000 Date: Sun, 3 May 2009 03:19:30 -0400 From: Christoph Hellwig To: Felix Blyakher Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: release.sh, take two Subject: Re: release.sh, take two Message-ID: <20090503071930.GA25756@infradead.org> References: <20090429141108.GA14578@infradead.org> <20090429144734.GA15044@infradead.org> <65D7E102-E6EB-4555-9279-5436A54FA227@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <65D7E102-E6EB-4555-9279-5436A54FA227@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1241335171 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, I've commited it to the xfsprogs-dev, xfsdump-dev and dmapi-dev repositories. As far as I'm converned we are now ready for a release. From sandeen@sandeen.net Sun May 3 09: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.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 n43EUeO5105876 for ; Sun, 3 May 2009 09:30:41 -0500 X-ASG-Debug-ID: 1241361268-6eff00290000-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 902D0146C18E for ; Sun, 3 May 2009 07:34:28 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 2VNCSFkmbcnKCBjd for ; Sun, 03 May 2009 07:34: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 6055CAA60F5; Sun, 3 May 2009 09:30:39 -0500 (CDT) Message-ID: <49FDAA8E.80205@sandeen.net> Date: Sun, 03 May 2009 09:30:38 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Alexander Beregalov CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs References: <20090502101405.GA6145@fancy-poultry.org> <49FC9762.6010109@sandeen.net> <49FD2488.70503@sandeen.net> 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: 1241361269 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24801 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 Alexander Beregalov wrote: > 2009/5/3 Eric Sandeen : ... >> Does this happen if you try to defrag a single file? i.e. something like: > Yes, it does. Oh, interesting. I didn't really expect that. The testcase I provided worked for me. Maybe you can provide your kernel .config and I'll try on a 32-bit box (I only tested 64-bit so far). Thanks, -Eric From a.beregalov@gmail.com Sun May 3 15:33: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.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 n43KX4uV132691 for ; Sun, 3 May 2009 15:33:04 -0500 X-ASG-Debug-ID: 1241383008-6b1f00e70000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-bw0-f226.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 3C832146CA3B for ; Sun, 3 May 2009 13:36:49 -0700 (PDT) Received: from mail-bw0-f226.google.com (mail-bw0-f226.google.com [209.85.218.226]) by cuda.sgi.com with ESMTP id 8Hi4mejzOYxyKmjz for ; Sun, 03 May 2009 13:36:49 -0700 (PDT) Received: by bwz26 with SMTP id 26so3286184bwz.20 for ; Sun, 03 May 2009 13:33:00 -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=Z7IbnjzZIUi15JKkB3iN9bAEAKULWZT81HyvM16woRY=; b=ZbPNcAd+cUHl3F8Vc/avqfQIcvtzhSr6LL9J3z0h7QMK7yENzcx+AZsc4xb41NDtFC dFsW687/PZMbhKap4jajFY4KoSNAWxwGDkbunaKhAm7wZKvDurTR5YyOWSu9cdqxEJPQ 1WELYIheJ7m83fJi+5530F9KQTgbGFtt2S9gc= 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=K2el/LOFad3jO+R2ptMhuXuhK7bWqnDfmPNyQ298NfRy3oeN5NmQnvZSxh4Mw63J9P IdWdoH2B4v+IGI2GxOfp8XmxyE2scK4y10mzLEyl/BMijZ8owEDVa1hoGDebm7Z2u6N+ zVJa+5CfAdYzixQLKtkW92yh+utxbIlGSiufE= MIME-Version: 1.0 Received: by 10.204.117.141 with SMTP id r13mr4944361bkq.207.1241382780293; Sun, 03 May 2009 13:33:00 -0700 (PDT) In-Reply-To: <49FDAA8E.80205@sandeen.net> References: <20090502101405.GA6145@fancy-poultry.org> <49FC9762.6010109@sandeen.net> <49FD2488.70503@sandeen.net> <49FDAA8E.80205@sandeen.net> Date: Mon, 4 May 2009 00:33:00 +0400 Message-ID: X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs From: Alexander Beregalov To: Eric Sandeen Cc: xfs@oss.sgi.com Content-Type: multipart/mixed; boundary=001636c599f6a65338046907f308 X-Barracuda-Connect: mail-bw0-f226.google.com[209.85.218.226] X-Barracuda-Start-Time: 1241383014 X-Barracuda-Bayes: INNOCENT GLOBAL 0.2855 1.0000 -0.4109 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -0.41 X-Barracuda-Spam-Status: No, SCORE=-0.41 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24825 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 --001636c599f6a65338046907f308 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 2009/5/3 Eric Sandeen : > Alexander Beregalov wrote: >> 2009/5/3 Eric Sandeen : > ... > >>> Does this happen if you try to defrag a single file? =C2=A0i.e. somethi= ng like: >> Yes, it does. > > Oh, interesting. =C2=A0I didn't really expect that. =C2=A0The testcase I = provided > worked for me. =C2=A0Maybe you can provide your kernel .config and I'll t= ry > on a 32-bit box (I only tested 64-bit so far). Attached. --001636c599f6a65338046907f308 Content-Type: application/octet-stream; name=config Content-Disposition: attachment; filename=config Content-Transfer-Encoding: base64 X-Attachment-Id: f_fua7810z0 IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMgTGlu dXgga2VybmVsIHZlcnNpb246IDIuNi4zMC1yYzQKIyBTdW4gTWF5ICAzIDAwOjAxOjA4IDIwMDkK IwojIENPTkZJR182NEJJVCBpcyBub3Qgc2V0CkNPTkZJR19YODZfMzI9eQojIENPTkZJR19YODZf NjQgaXMgbm90IHNldApDT05GSUdfWDg2PXkKQ09ORklHX0FSQ0hfREVGQ09ORklHPSJhcmNoL3g4 Ni9jb25maWdzL2kzODZfZGVmY29uZmlnIgpDT05GSUdfR0VORVJJQ19USU1FPXkKQ09ORklHX0dF TkVSSUNfQ01PU19VUERBVEU9eQpDT05GSUdfQ0xPQ0tTT1VSQ0VfV0FUQ0hET0c9eQpDT05GSUdf R0VORVJJQ19DTE9DS0VWRU5UUz15CkNPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JST0FEQ0FT VD15CkNPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQpDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkK Q09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKQ09ORklHX0ZBU1RfQ01QWENIR19MT0NB TD15CkNPTkZJR19NTVU9eQpDT05GSUdfWk9ORV9ETUE9eQpDT05GSUdfR0VORVJJQ19JU0FfRE1B PXkKQ09ORklHX0dFTkVSSUNfSU9NQVA9eQpDT05GSUdfR0VORVJJQ19CVUc9eQpDT05GSUdfR0VO RVJJQ19IV0VJR0hUPXkKQ09ORklHX0FSQ0hfTUFZX0hBVkVfUENfRkRDPXkKIyBDT05GSUdfUldT RU1fR0VORVJJQ19TUElOTE9DSyBpcyBub3Qgc2V0CkNPTkZJR19SV1NFTV9YQ0hHQUREX0FMR09S SVRITT15CkNPTkZJR19BUkNIX0hBU19DUFVfSURMRV9XQUlUPXkKQ09ORklHX0dFTkVSSUNfQ0FM SUJSQVRFX0RFTEFZPXkKIyBDT05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMIGlzIG5vdCBzZXQK Q09ORklHX0FSQ0hfSEFTX0NQVV9SRUxBWD15CkNPTkZJR19BUkNIX0hBU19ERUZBVUxUX0lETEU9 eQpDT05GSUdfQVJDSF9IQVNfQ0FDSEVfTElORV9TSVpFPXkKQ09ORklHX0hBVkVfU0VUVVBfUEVS X0NQVV9BUkVBPXkKQ09ORklHX0hBVkVfRFlOQU1JQ19QRVJfQ1BVX0FSRUE9eQojIENPTkZJR19I QVZFX0NQVU1BU0tfT0ZfQ1BVX01BUCBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX0hJQkVSTkFUSU9O X1BPU1NJQkxFPXkKQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiMgQ09ORklHX1pPTkVf RE1BMzIgaXMgbm90IHNldApDT05GSUdfQVJDSF9QT1BVTEFURVNfTk9ERV9NQVA9eQojIENPTkZJ R19BVURJVF9BUkNIIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hfU1VQUE9SVFNfT1BUSU1JWkVEX0lO TElOSU5HPXkKQ09ORklHX0FSQ0hfU1VQUE9SVFNfREVCVUdfUEFHRUFMTE9DPXkKQ09ORklHX0dF TkVSSUNfSEFSRElSUVM9eQpDT05GSUdfR0VORVJJQ19IQVJESVJRU19OT19fRE9fSVJRPXkKQ09O RklHX0dFTkVSSUNfSVJRX1BST0JFPXkKQ09ORklHX1g4Nl8zMl9MQVpZX0dTPXkKQ09ORklHX0tU SU1FX1NDQUxBUj15CkNPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9S RUxFQVNFLy5jb25maWciCgojCiMgR2VuZXJhbCBzZXR1cAojCkNPTkZJR19FWFBFUklNRU5UQUw9 eQpDT05GSUdfQlJPS0VOX09OX1NNUD15CkNPTkZJR19MT0NLX0tFUk5FTD15CkNPTkZJR19JTklU X0VOVl9BUkdfTElNSVQ9MzIKQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgpDT05GSUdfTE9DQUxWRVJT SU9OX0FVVE89eQpDT05GSUdfSEFWRV9LRVJORUxfR1pJUD15CkNPTkZJR19IQVZFX0tFUk5FTF9C WklQMj15CkNPTkZJR19IQVZFX0tFUk5FTF9MWk1BPXkKIyBDT05GSUdfS0VSTkVMX0daSVAgaXMg bm90IHNldAojIENPTkZJR19LRVJORUxfQlpJUDIgaXMgbm90IHNldApDT05GSUdfS0VSTkVMX0xa TUE9eQpDT05GSUdfU1dBUD15CkNPTkZJR19TWVNWSVBDPXkKQ09ORklHX1NZU1ZJUENfU1lTQ1RM PXkKIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKIyBDT05GSUdfQlNEX1BST0NFU1Nf QUNDVCBpcyBub3Qgc2V0CiMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FV RElUIGlzIG5vdCBzZXQKCiMKIyBSQ1UgU3Vic3lzdGVtCiMKIyBDT05GSUdfQ0xBU1NJQ19SQ1Ug aXMgbm90IHNldAojIENPTkZJR19UUkVFX1JDVSBpcyBub3Qgc2V0CkNPTkZJR19QUkVFTVBUX1JD VT15CkNPTkZJR19SQ1VfVFJBQ0U9eQojIENPTkZJR19UUkVFX1JDVV9UUkFDRSBpcyBub3Qgc2V0 CkNPTkZJR19QUkVFTVBUX1JDVV9UUkFDRT15CkNPTkZJR19JS0NPTkZJRz15CkNPTkZJR19JS0NP TkZJR19QUk9DPXkKQ09ORklHX0xPR19CVUZfU0hJRlQ9MTgKQ09ORklHX0hBVkVfVU5TVEFCTEVf U0NIRURfQ0xPQ0s9eQojIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiMgQ09ORklHX0NH Uk9VUFMgaXMgbm90IHNldAojIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQK IyBDT05GSUdfUkVMQVkgaXMgbm90IHNldApDT05GSUdfTkFNRVNQQUNFUz15CiMgQ09ORklHX1VU U19OUyBpcyBub3Qgc2V0CiMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTRVJf TlMgaXMgbm90IHNldAojIENPTkZJR19QSURfTlMgaXMgbm90IHNldAojIENPTkZJR19ORVRfTlMg aXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiMgQ09ORklHX0ND X09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKQ09ORklHX1NZU0NUTD15CkNPTkZJR19BTk9O X0lOT0RFUz15CiMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKQ09ORklHX1VJRDE2PXkKQ09O RklHX1NZU0NUTF9TWVNDQUxMPXkKQ09ORklHX0tBTExTWU1TPXkKQ09ORklHX0tBTExTWU1TX0FM TD15CiMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAojIENPTkZJR19TVFJJ UF9BU01fU1lNUyBpcyBub3Qgc2V0CkNPTkZJR19IT1RQTFVHPXkKQ09ORklHX1BSSU5USz15CkNP TkZJR19CVUc9eQpDT05GSUdfRUxGX0NPUkU9eQpDT05GSUdfUENTUEtSX1BMQVRGT1JNPXkKQ09O RklHX0JBU0VfRlVMTD15CkNPTkZJR19GVVRFWD15CkNPTkZJR19FUE9MTD15CkNPTkZJR19TSUdO QUxGRD15CkNPTkZJR19USU1FUkZEPXkKQ09ORklHX0VWRU5URkQ9eQpDT05GSUdfU0hNRU09eQpD T05GSUdfQUlPPXkKQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKQ09ORklHX1BDSV9RVUlSS1M9 eQpDT05GSUdfU0xVQl9ERUJVRz15CiMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAojIENP TkZJR19TTEFCIGlzIG5vdCBzZXQKQ09ORklHX1NMVUI9eQojIENPTkZJR19TTE9CIGlzIG5vdCBz ZXQKIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qg c2V0CkNPTkZJR19IQVZFX09QUk9GSUxFPXkKIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CkNP TkZJR19IQVZFX0VGRklDSUVOVF9VTkFMSUdORURfQUNDRVNTPXkKQ09ORklHX0hBVkVfSU9SRU1B UF9QUk9UPXkKQ09ORklHX0hBVkVfS1BST0JFUz15CkNPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQpD T05GSUdfSEFWRV9BUkNIX1RSQUNFSE9PSz15CkNPTkZJR19IQVZFX0RNQV9BUElfREVCVUc9eQoj IENPTkZJR19TTE9XX1dPUksgaXMgbm90IHNldApDT05GSUdfSEFWRV9HRU5FUklDX0RNQV9DT0hF UkVOVD15CkNPTkZJR19TTEFCSU5GTz15CkNPTkZJR19SVF9NVVRFWEVTPXkKQ09ORklHX0JBU0Vf U01BTEw9MApDT05GSUdfTU9EVUxFUz15CkNPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRD15CkNPTkZJ R19NT0RVTEVfVU5MT0FEPXkKQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQojIENPTkZJR19N T0RWRVJTSU9OUyBpcyBub3Qgc2V0CiMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBu b3Qgc2V0CkNPTkZJR19CTE9DSz15CiMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JM S19ERVZfQlNHIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgaXMgbm90IHNl dAoKIwojIElPIFNjaGVkdWxlcnMKIwpDT05GSUdfSU9TQ0hFRF9OT09QPXkKIyBDT05GSUdfSU9T Q0hFRF9BUyBpcyBub3Qgc2V0CiMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldApD T05GSUdfSU9TQ0hFRF9DRlE9eQojIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKIyBDT05G SUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0NGUT15CiMgQ09O RklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIK IyBDT05GSUdfRlJFRVpFUiBpcyBub3Qgc2V0CgojCiMgUHJvY2Vzc29yIHR5cGUgYW5kIGZlYXR1 cmVzCiMKQ09ORklHX1RJQ0tfT05FU0hPVD15CkNPTkZJR19OT19IWj15CiMgQ09ORklHX0hJR0hf UkVTX1RJTUVSUyBpcyBub3Qgc2V0CkNPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkK IyBDT05GSUdfU01QIGlzIG5vdCBzZXQKIyBDT05GSUdfU1BBUlNFX0lSUSBpcyBub3Qgc2V0CiMg Q09ORklHX1g4Nl9NUFBBUlNFIGlzIG5vdCBzZXQKIyBDT05GSUdfWDg2X0VYVEVOREVEX1BMQVRG T1JNIGlzIG5vdCBzZXQKQ09ORklHX1NDSEVEX09NSVRfRlJBTUVfUE9JTlRFUj15CiMgQ09ORklH X1BBUkFWSVJUX0dVRVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfTUVNVEVTVCBpcyBub3Qgc2V0CiMg Q09ORklHX00zODYgaXMgbm90IHNldAojIENPTkZJR19NNDg2IGlzIG5vdCBzZXQKIyBDT05GSUdf TTU4NiBpcyBub3Qgc2V0CiMgQ09ORklHX001ODZUU0MgaXMgbm90IHNldAojIENPTkZJR19NNTg2 TU1YIGlzIG5vdCBzZXQKIyBDT05GSUdfTTY4NiBpcyBub3Qgc2V0CiMgQ09ORklHX01QRU5USVVN SUkgaXMgbm90IHNldAojIENPTkZJR19NUEVOVElVTUlJSSBpcyBub3Qgc2V0CiMgQ09ORklHX01Q RU5USVVNTSBpcyBub3Qgc2V0CiMgQ09ORklHX01QRU5USVVNNCBpcyBub3Qgc2V0CiMgQ09ORklH X01LNiBpcyBub3Qgc2V0CkNPTkZJR19NSzc9eQojIENPTkZJR19NSzggaXMgbm90IHNldAojIENP TkZJR19NQ1JVU09FIGlzIG5vdCBzZXQKIyBDT05GSUdfTUVGRklDRU9OIGlzIG5vdCBzZXQKIyBD T05GSUdfTVdJTkNISVBDNiBpcyBub3Qgc2V0CiMgQ09ORklHX01XSU5DSElQM0QgaXMgbm90IHNl dAojIENPTkZJR19NR0VPREVHWDEgaXMgbm90IHNldAojIENPTkZJR19NR0VPREVfTFggaXMgbm90 IHNldAojIENPTkZJR19NQ1lSSVhJSUkgaXMgbm90IHNldAojIENPTkZJR19NVklBQzNfMiBpcyBu b3Qgc2V0CiMgQ09ORklHX01WSUFDNyBpcyBub3Qgc2V0CiMgQ09ORklHX01QU0MgaXMgbm90IHNl dAojIENPTkZJR19NQ09SRTIgaXMgbm90IHNldAojIENPTkZJR19HRU5FUklDX0NQVSBpcyBub3Qg c2V0CiMgQ09ORklHX1g4Nl9HRU5FUklDIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9DUFU9eQpDT05G SUdfWDg2X0wxX0NBQ0hFX0JZVEVTPTY0CkNPTkZJR19YODZfSU5URVJOT0RFX0NBQ0hFX0JZVEVT PTY0CkNPTkZJR19YODZfQ01QWENIRz15CkNPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9NgpDT05G SUdfWDg2X1hBREQ9eQpDT05GSUdfWDg2X1dQX1dPUktTX09LPXkKQ09ORklHX1g4Nl9JTlZMUEc9 eQpDT05GSUdfWDg2X0JTV0FQPXkKQ09ORklHX1g4Nl9QT1BBRF9PSz15CkNPTkZJR19YODZfSU5U RUxfVVNFUkNPUFk9eQpDT05GSUdfWDg2X1VTRV9QUFJPX0NIRUNLU1VNPXkKQ09ORklHX1g4Nl9V U0VfM0ROT1c9eQpDT05GSUdfWDg2X1RTQz15CkNPTkZJR19YODZfQ01PVj15CkNPTkZJR19YODZf TUlOSU1VTV9DUFVfRkFNSUxZPTQKQ09ORklHX1g4Nl9ERUJVR0NUTE1TUj15CkNPTkZJR19DUFVf U1VQX0lOVEVMPXkKQ09ORklHX0NQVV9TVVBfQ1lSSVhfMzI9eQpDT05GSUdfQ1BVX1NVUF9BTUQ9 eQpDT05GSUdfQ1BVX1NVUF9DRU5UQVVSPXkKQ09ORklHX0NQVV9TVVBfVFJBTlNNRVRBXzMyPXkK Q09ORklHX0NQVV9TVVBfVU1DXzMyPXkKIyBDT05GSUdfWDg2X0RTIGlzIG5vdCBzZXQKQ09ORklH X0hQRVRfVElNRVI9eQpDT05GSUdfSFBFVF9FTVVMQVRFX1JUQz15CkNPTkZJR19ETUk9eQojIENP TkZJR19JT01NVV9IRUxQRVIgaXMgbm90IHNldApDT05GSUdfSU9NTVVfQVBJPXkKQ09ORklHX05S X0NQVVM9MQojIENPTkZJR19QUkVFTVBUX05PTkUgaXMgbm90IHNldAojIENPTkZJR19QUkVFTVBU X1ZPTFVOVEFSWSBpcyBub3Qgc2V0CkNPTkZJR19QUkVFTVBUPXkKQ09ORklHX1g4Nl9VUF9BUElD PXkKQ09ORklHX1g4Nl9VUF9JT0FQSUM9eQpDT05GSUdfWDg2X0xPQ0FMX0FQSUM9eQpDT05GSUdf WDg2X0lPX0FQSUM9eQojIENPTkZJR19YODZfUkVST1VURV9GT1JfQlJPS0VOX0JPT1RfSVJRUyBp cyBub3Qgc2V0CkNPTkZJR19YODZfTUNFPXkKQ09ORklHX1g4Nl9NQ0VfTk9ORkFUQUw9eQojIENP TkZJR19YODZfTUNFX1A0VEhFUk1BTCBpcyBub3Qgc2V0CkNPTkZJR19WTTg2PXkKIyBDT05GSUdf VE9TSElCQSBpcyBub3Qgc2V0CiMgQ09ORklHX0k4SyBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9S RUJPT1RGSVhVUFMgaXMgbm90IHNldAojIENPTkZJR19NSUNST0NPREUgaXMgbm90IHNldAojIENP TkZJR19YODZfTVNSIGlzIG5vdCBzZXQKIyBDT05GSUdfWDg2X0NQVUlEIGlzIG5vdCBzZXQKQ09O RklHX1g4Nl9DUFVfREVCVUc9eQojIENPTkZJR19OT0hJR0hNRU0gaXMgbm90IHNldApDT05GSUdf SElHSE1FTTRHPXkKIyBDT05GSUdfSElHSE1FTTY0RyBpcyBub3Qgc2V0CkNPTkZJR19QQUdFX09G RlNFVD0weEMwMDAwMDAwCkNPTkZJR19ISUdITUVNPXkKIyBDT05GSUdfQVJDSF9QSFlTX0FERFJf VF82NEJJVCBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX0ZMQVRNRU1fRU5BQkxFPXkKQ09ORklHX0FS Q0hfU1BBUlNFTUVNX0VOQUJMRT15CkNPTkZJR19BUkNIX1NFTEVDVF9NRU1PUllfTU9ERUw9eQpD T05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CkNPTkZJR19GTEFUTUVNX01BTlVBTD15CiMgQ09O RklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAojIENPTkZJR19TUEFSU0VNRU1fTUFO VUFMIGlzIG5vdCBzZXQKQ09ORklHX0ZMQVRNRU09eQpDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9 eQpDT05GSUdfU1BBUlNFTUVNX1NUQVRJQz15CkNPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQpD T05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAojIENPTkZJR19QSFlTX0FERFJfVF82NEJJVCBpcyBu b3Qgc2V0CkNPTkZJR19aT05FX0RNQV9GTEFHPTEKQ09ORklHX0JPVU5DRT15CkNPTkZJR19WSVJU X1RPX0JVUz15CkNPTkZJR19VTkVWSUNUQUJMRV9MUlU9eQpDT05GSUdfSEFWRV9NTE9DSz15CkNP TkZJR19IQVZFX01MT0NLRURfUEFHRV9CSVQ9eQojIENPTkZJR19ISUdIUFRFIGlzIG5vdCBzZXQK IyBDT05GSUdfWDg2X0NIRUNLX0JJT1NfQ09SUlVQVElPTiBpcyBub3Qgc2V0CiMgQ09ORklHX1g4 Nl9SRVNFUlZFX0xPV182NEsgaXMgbm90IHNldAojIENPTkZJR19NQVRIX0VNVUxBVElPTiBpcyBu b3Qgc2V0CkNPTkZJR19NVFJSPXkKQ09ORklHX01UUlJfU0FOSVRJWkVSPXkKQ09ORklHX01UUlJf U0FOSVRJWkVSX0VOQUJMRV9ERUZBVUxUPTAKQ09ORklHX01UUlJfU0FOSVRJWkVSX1NQQVJFX1JF R19OUl9ERUZBVUxUPTEKQ09ORklHX1g4Nl9QQVQ9eQojIENPTkZJR19FRkkgaXMgbm90IHNldApD T05GSUdfU0VDQ09NUD15CiMgQ09ORklHX0NDX1NUQUNLUFJPVEVDVE9SIGlzIG5vdCBzZXQKQ09O RklHX0haXzEwMD15CiMgQ09ORklHX0haXzI1MCBpcyBub3Qgc2V0CiMgQ09ORklHX0haXzMwMCBp cyBub3Qgc2V0CiMgQ09ORklHX0haXzEwMDAgaXMgbm90IHNldApDT05GSUdfSFo9MTAwCiMgQ09O RklHX1NDSEVEX0hSVElDSyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIyBD T05GSUdfQ1JBU0hfRFVNUCBpcyBub3Qgc2V0CkNPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAw MAojIENPTkZJR19SRUxPQ0FUQUJMRSBpcyBub3Qgc2V0CkNPTkZJR19QSFlTSUNBTF9BTElHTj0w eDEwMDAwMAojIENPTkZJR19DT01QQVRfVkRTTyBpcyBub3Qgc2V0CiMgQ09ORklHX0NNRExJTkVf Qk9PTCBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15CgojCiMg UG93ZXIgbWFuYWdlbWVudCBhbmQgQUNQSSBvcHRpb25zCiMKQ09ORklHX1BNPXkKIyBDT05GSUdf UE1fREVCVUcgaXMgbm90IHNldAojIENPTkZJR19TVVNQRU5EIGlzIG5vdCBzZXQKIyBDT05GSUdf SElCRVJOQVRJT04gaXMgbm90IHNldApDT05GSUdfQUNQST15CiMgQ09ORklHX0FDUElfUFJPQ0ZT IGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVIgaXMgbm90IHNldAojIENPTkZJ R19BQ1BJX1NZU0ZTX1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9QUk9DX0VWRU5UIGlz IG5vdCBzZXQKIyBDT05GSUdfQUNQSV9BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUElfQkFUVEVS WSBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUElfQlVUVE9OIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQ SV9GQU4gaXMgbm90IHNldApDT05GSUdfQUNQSV9ET0NLPXkKQ09ORklHX0FDUElfUFJPQ0VTU09S PXkKQ09ORklHX0FDUElfVEhFUk1BTD15CiMgQ09ORklHX0FDUElfQ1VTVE9NX0RTRFQgaXMgbm90 IHNldApDT05GSUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0wCiMgQ09ORklHX0FDUElfREVCVUcgaXMg bm90IHNldAojIENPTkZJR19BQ1BJX1BDSV9TTE9UIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9QTV9U SU1FUj15CiMgQ09ORklHX0FDUElfQ09OVEFJTkVSIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9T QlMgaXMgbm90IHNldAoKIwojIENQVSBGcmVxdWVuY3kgc2NhbGluZwojCiMgQ09ORklHX0NQVV9G UkVRIGlzIG5vdCBzZXQKQ09ORklHX0NQVV9JRExFPXkKQ09ORklHX0NQVV9JRExFX0dPVl9MQURE RVI9eQpDT05GSUdfQ1BVX0lETEVfR09WX01FTlU9eQoKIwojIEJ1cyBvcHRpb25zIChQQ0kgZXRj LikKIwpDT05GSUdfUENJPXkKIyBDT05GSUdfUENJX0dPQklPUyBpcyBub3Qgc2V0CiMgQ09ORklH X1BDSV9HT01NQ09ORklHIGlzIG5vdCBzZXQKIyBDT05GSUdfUENJX0dPRElSRUNUIGlzIG5vdCBz ZXQKIyBDT05GSUdfUENJX0dPT0xQQyBpcyBub3Qgc2V0CkNPTkZJR19QQ0lfR09BTlk9eQpDT05G SUdfUENJX0JJT1M9eQpDT05GSUdfUENJX0RJUkVDVD15CkNPTkZJR19QQ0lfTU1DT05GSUc9eQpD T05GSUdfUENJX0RPTUFJTlM9eQpDT05GSUdfRE1BUj15CkNPTkZJR19ETUFSX0RFRkFVTFRfT049 eQpDT05GSUdfRE1BUl9HRlhfV0E9eQpDT05GSUdfRE1BUl9GTE9QUFlfV0E9eQojIENPTkZJR19Q Q0lFUE9SVEJVUyBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX1NVUFBPUlRTX01TST15CkNPTkZJR19Q Q0lfTVNJPXkKIyBDT05GSUdfUENJX0xFR0FDWSBpcyBub3Qgc2V0CiMgQ09ORklHX1BDSV9ERUJV RyBpcyBub3Qgc2V0CiMgQ09ORklHX1BDSV9TVFVCIGlzIG5vdCBzZXQKQ09ORklHX0hUX0lSUT15 CiMgQ09ORklHX1BDSV9JT1YgaXMgbm90IHNldApDT05GSUdfSVNBX0RNQV9BUEk9eQojIENPTkZJ R19JU0EgaXMgbm90IHNldAojIENPTkZJR19NQ0EgaXMgbm90IHNldAojIENPTkZJR19TQ3gyMDAg aXMgbm90IHNldAojIENPTkZJR19PTFBDIGlzIG5vdCBzZXQKIyBDT05GSUdfUENDQVJEIGlzIG5v dCBzZXQKIyBDT05GSUdfSE9UUExVR19QQ0kgaXMgbm90IHNldAoKIwojIEV4ZWN1dGFibGUgZmls ZSBmb3JtYXRzIC8gRW11bGF0aW9ucwojCkNPTkZJR19CSU5GTVRfRUxGPXkKIyBDT05GSUdfQ09S RV9EVU1QX0RFRkFVTFRfRUxGX0hFQURFUlMgaXMgbm90IHNldApDT05GSUdfSEFWRV9BT1VUPXkK IyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAojIENPTkZJR19CSU5GTVRfTUlTQyBpcyBu b3Qgc2V0CkNPTkZJR19IQVZFX0FUT01JQ19JT01BUD15CkNPTkZJR19ORVQ9eQoKIwojIE5ldHdv cmtpbmcgb3B0aW9ucwojCkNPTkZJR19QQUNLRVQ9eQpDT05GSUdfUEFDS0VUX01NQVA9eQpDT05G SUdfVU5JWD15CiMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldApDT05GSUdfSU5FVD15CiMgQ09O RklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBp cyBub3Qgc2V0CkNPTkZJR19JUF9GSUJfSEFTSD15CiMgQ09ORklHX0lQX1BOUCBpcyBub3Qgc2V0 CiMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBz ZXQKIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBz ZXQKIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBz ZXQKIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAojIENPTkZJR19JTkVUX1hGUk1fVFVO TkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAojIENPTkZJR19J TkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAojIENPTkZJR19JTkVUX1hGUk1fTU9E RV9UVU5ORUwgaXMgbm90IHNldAojIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBz ZXQKQ09ORklHX0lORVRfTFJPPXkKIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKIyBDT05G SUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQpD T05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90 IHNldAojIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlz IG5vdCBzZXQKIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfRENDUCBp cyBub3Qgc2V0CiMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAojIENPTkZJR19USVBDIGlzIG5v dCBzZXQKIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQK IyBDT05GSUdfTkVUX0RTQSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNl dAojIENPTkZJR19ERUNORVQgaXMgbm90IHNldAojIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKIyBD T05GSUdfSVBYIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldAojIENPTkZJR19Y MjUgaXMgbm90IHNldAojIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKIyBDT05GSUdfRUNPTkVUIGlz IG5vdCBzZXQKIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1BIT05FVCBp cyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiMgQ09ORklHX0RDQiBpcyBu b3Qgc2V0CgojCiMgTmV0d29yayB0ZXN0aW5nCiMKIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qg c2V0CiMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQK IyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiMgQ09ORklHX0JUIGlzIG5vdCBzZXQKIyBDT05GSUdf QUZfUlhSUEMgaXMgbm90IHNldAojIENPTkZJR19XSVJFTEVTUyBpcyBub3Qgc2V0CiMgQ09ORklH X1dJTUFYIGlzIG5vdCBzZXQKIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVU XzlQIGlzIG5vdCBzZXQKCiMKIyBEZXZpY2UgRHJpdmVycwojCgojCiMgR2VuZXJpYyBEcml2ZXIg T3B0aW9ucwojCkNPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Im4iCkNPTkZJR19TVEFOREFMT05F PXkKIyBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRCBpcyBub3Qgc2V0CkNPTkZJR19GV19M T0FERVI9eQojIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUwgaXMgbm90IHNldApDT05GSUdfRVhU UkFfRklSTVdBUkU9IiIKQ09ORklHX0RFQlVHX0RSSVZFUj15CkNPTkZJR19ERUJVR19ERVZSRVM9 eQojIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0NPTk5FQ1RPUiBp cyBub3Qgc2V0CiMgQ09ORklHX01URCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBUlBPUlQgaXMgbm90 IHNldApDT05GSUdfUE5QPXkKQ09ORklHX1BOUF9ERUJVR19NRVNTQUdFUz15CgojCiMgUHJvdG9j b2xzCiMKQ09ORklHX1BOUEFDUEk9eQpDT05GSUdfQkxLX0RFVj15CiMgQ09ORklHX0JMS19ERVZf RkQgaXMgbm90IHNldAojIENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxL X0NQUV9DSVNTX0RBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90IHNl dAojIENPTkZJR19CTEtfREVWX1VNRU0gaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0NPV19D T01NT04gaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0xPT1AgaXMgbm90IHNldAojIENPTkZJ R19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU1g4IGlzIG5vdCBzZXQK IyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5v dCBzZXQKIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiMgQ09ORklHX0FUQV9PVkVS X0VUSCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAojIENPTkZJR19N SVNDX0RFVklDRVMgaXMgbm90IHNldApDT05GSUdfSEFWRV9JREU9eQojIENPTkZJR19JREUgaXMg bm90IHNldAoKIwojIFNDU0kgZGV2aWNlIHN1cHBvcnQKIwojIENPTkZJR19SQUlEX0FUVFJTIGlz IG5vdCBzZXQKQ09ORklHX1NDU0k9eQpDT05GSUdfU0NTSV9ETUE9eQojIENPTkZJR19TQ1NJX1RH VCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CkNPTkZJR19TQ1NJ X1BST0NfRlM9eQoKIwojIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCiMK Q09ORklHX0JMS19ERVZfU0Q9eQojIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKIyBDT05G SUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TUiBpcyBub3Qgc2V0 CkNPTkZJR19DSFJfREVWX1NHPXkKIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAoKIwoj IFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVO cwojCkNPTkZJR19TQ1NJX01VTFRJX0xVTj15CiMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5v dCBzZXQKIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9TQ0FO X0FTWU5DIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfV0FJVF9TQ0FOPW0KCiMKIyBTQ1NJIFRyYW5z cG9ydHMKIwojIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lf RkNfQVRUUlMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQK IyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9TUlBfQVRU UlMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0xPV0xFVkVMIGlzIG5vdCBzZXQKIyBDT05GSUdf U0NTSV9ESCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfT1NEX0lOSVRJQVRPUiBpcyBub3Qgc2V0 CkNPTkZJR19BVEE9eQojIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldApDT05GSUdf QVRBX0FDUEk9eQojIENPTkZJR19TQVRBX1BNUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfQUhD SSBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldApDT05GSUdfQVRBX1NG Rj15CiMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRBX1BJSVggaXMgbm90 IHNldAojIENPTkZJR19TQVRBX01WIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9OViBpcyBub3Qg c2V0CiMgQ09ORklHX1BEQ19BRE1BIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBu b3Qgc2V0CiMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfU1g0 IGlzIG5vdCBzZXQKQ09ORklHX1NBVEFfU0lMPXkKIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNl dAojIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9JTklDMTYy WCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfQUNQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFf QUxJIGlzIG5vdCBzZXQKQ09ORklHX1BBVEFfQU1EPXkKIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBu b3Qgc2V0CiMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9DTUQ2 NDBfUENJIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9DTUQ2NFggaXMgbm90IHNldAojIENPTkZJ R19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfQ1M1NTMwIGlzIG5vdCBzZXQK IyBDT05GSUdfUEFUQV9DUzU1MzUgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0NTNTUzNiBpcyBu b3Qgc2V0CiMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfRUZB UiBpcyBub3Qgc2V0CiMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFU QV9IUFQzNjYgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDM3WCBpcyBub3Qgc2V0CiMgQ09O RklHX1BBVEFfSFBUM1gyTiBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfSFBUM1gzIGlzIG5vdCBz ZXQKIyBDT05GSUdfUEFUQV9JVDgyMVggaXMgbm90IHNldAojIENPTkZJR19QQVRBX0lUODIxMyBp cyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfSk1JQ1JPTiBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFf VFJJRkxFWCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CiMgQ09O RklHX1BBVEFfTVBJSVggaXMgbm90IHNldAojIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNl dAojIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAojIENPTkZJR19QQVRBX05JTkpBMzIg aXMgbm90IHNldAojIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAojIENPTkZJR19QQVRB X05TODc0MTUgaXMgbm90IHNldAojIENPTkZJR19QQVRBX09QVEkgaXMgbm90IHNldAojIENPTkZJ R19QQVRBX09QVElETUEgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNl dAojIENPTkZJR19QQVRBX1JBRElTWVMgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1JaMTAwMCBp cyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfU0MxMjAwIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9T RVJWRVJXT1JLUyBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX1BEQzIwMjdYPXkKIyBDT05GSUdfUEFU QV9TSUw2ODAgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CiMgQ09ORklH X1BBVEFfVklBIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKIyBD T05GSUdfUEFUQV9TQ0ggaXMgbm90IHNldAojIENPTkZJR19NRCBpcyBub3Qgc2V0CiMgQ09ORklH X0ZVU0lPTiBpcyBub3Qgc2V0CgojCiMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydAojCgoj CiMgRW5hYmxlIG9ubHkgb25lIG9mIHRoZSB0d28gc3RhY2tzLCB1bmxlc3MgeW91IGtub3cgd2hh dCB5b3UgYXJlIGRvaW5nCiMKIyBDT05GSUdfRklSRVdJUkUgaXMgbm90IHNldAojIENPTkZJR19J RUVFMTM5NCBpcyBub3Qgc2V0CiMgQ09ORklHX0kyTyBpcyBub3Qgc2V0CiMgQ09ORklHX01BQ0lO VE9TSF9EUklWRVJTIGlzIG5vdCBzZXQKQ09ORklHX05FVERFVklDRVM9eQojIENPTkZJR19DT01Q QVRfTkVUX0RFVl9PUFMgaXMgbm90IHNldAojIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiMgQ09O RklHX0JPTkRJTkcgaXMgbm90IHNldAojIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKIyBDT05G SUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKIyBDT05GSUdf VkVUSCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNldAojIENPTkZJR19B UkNORVQgaXMgbm90IHNldAojIENPTkZJR19QSFlMSUIgaXMgbm90IHNldApDT05GSUdfTkVUX0VU SEVSTkVUPXkKQ09ORklHX01JST15CiMgQ09ORklHX0hBUFBZTUVBTCBpcyBub3Qgc2V0CiMgQ09O RklHX1NVTkdFTSBpcyBub3Qgc2V0CiMgQ09ORklHX0NBU1NJTkkgaXMgbm90IHNldAojIENPTkZJ R19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAojIENPTkZJR19FVEhPQyBpcyBub3Qgc2V0CiMg Q09ORklHX0RORVQgaXMgbm90IHNldAojIENPTkZJR19ORVRfVFVMSVAgaXMgbm90IHNldAojIENP TkZJR19IUDEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBz ZXQKIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKIyBDT05GSUdfSUJNX05F V19FTUFDX1RBSCBpcyBub3Qgc2V0CiMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qg c2V0CiMgQ09ORklHX0lCTV9ORVdfRU1BQ19OT19GTE9XX0NUUkwgaXMgbm90IHNldAojIENPTkZJ R19JQk1fTkVXX0VNQUNfTUFMX0NMUl9JQ0lOVFNUQVQgaXMgbm90IHNldAojIENPTkZJR19JQk1f TkVXX0VNQUNfTUFMX0NPTU1PTl9FUlIgaXMgbm90IHNldApDT05GSUdfTkVUX1BDST15CiMgQ09O RklHX1BDTkVUMzIgaXMgbm90IHNldAojIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiMg Q09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAojIENPTkZJR19CNDQgaXMgbm90IHNl dApDT05GSUdfRk9SQ0VERVRIPXkKQ09ORklHX0ZPUkNFREVUSF9OQVBJPXkKIyBDT05GSUdfRTEw MCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiMgQ09ORklHX05BVFNFTUkg aXMgbm90IHNldAojIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CiMgQ09ORklHXzgxMzlDUCBp cyBub3Qgc2V0CiMgQ09ORklHXzgxMzlUT08gaXMgbm90IHNldAojIENPTkZJR19SNjA0MCBpcyBu b3Qgc2V0CiMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0VQSUMxMDAgaXMgbm90 IHNldAojIENPTkZJR19TTVNDOTQyMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NVTkRBTkNFIGlzIG5v dCBzZXQKIyBDT05GSUdfVExBTiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJQV9SSElORSBpcyBub3Qg c2V0CiMgQ09ORklHX1NDOTIwMzEgaXMgbm90IHNldAojIENPTkZJR19BVEwyIGlzIG5vdCBzZXQK Q09ORklHX05FVERFVl8xMDAwPXkKIyBDT05GSUdfQUNFTklDIGlzIG5vdCBzZXQKIyBDT05GSUdf REwySyBpcyBub3Qgc2V0CkNPTkZJR19FMTAwMD15CiMgQ09ORklHX0UxMDAwRSBpcyBub3Qgc2V0 CiMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiMgQ09O RklHX0lHQlZGIGlzIG5vdCBzZXQKIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiMgQ09ORklH X0hBTUFDSEkgaXMgbm90IHNldAojIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldAojIENPTkZJ R19SODE2OSBpcyBub3Qgc2V0CiMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NL R0UgaXMgbm90IHNldAojIENPTkZJR19TS1kyIGlzIG5vdCBzZXQKIyBDT05GSUdfVklBX1ZFTE9D SVRZIGlzIG5vdCBzZXQKIyBDT05GSUdfVElHT04zIGlzIG5vdCBzZXQKIyBDT05GSUdfQk5YMiBp cyBub3Qgc2V0CiMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAojIENPTkZJR19BVEwxIGlzIG5v dCBzZXQKIyBDT05GSUdfQVRMMUUgaXMgbm90IHNldAojIENPTkZJR19BVEwxQyBpcyBub3Qgc2V0 CiMgQ09ORklHX0pNRSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0 CiMgQ09ORklHX1RSIGlzIG5vdCBzZXQKCiMKIyBXaXJlbGVzcyBMQU4KIwojIENPTkZJR19XTEFO X1BSRTgwMjExIGlzIG5vdCBzZXQKIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CgojCiMg RW5hYmxlIFdpTUFYIChOZXR3b3JraW5nIG9wdGlvbnMpIHRvIHNlZSB0aGUgV2lNQVggZHJpdmVy cwojCgojCiMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKIwojIENPTkZJR19VU0JfQ0FUQyBpcyBub3Qg c2V0CiMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAojIENPTkZJR19VU0JfUEVHQVNVUyBp cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1VT Qk5FVCBpcyBub3Qgc2V0CiMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZEREkgaXMg bm90IHNldAojIENPTkZJR19ISVBQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1BQUCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NMSVAgaXMgbm90IHNldAojIENPTkZJR19ORVRfRkMgaXMgbm90IHNldApDT05G SUdfTkVUQ09OU09MRT15CkNPTkZJR19ORVRDT05TT0xFX0RZTkFNSUM9eQpDT05GSUdfTkVUUE9M TD15CkNPTkZJR19ORVRQT0xMX1RSQVA9eQpDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUj15CiMg Q09ORklHX0lTRE4gaXMgbm90IHNldAojIENPTkZJR19QSE9ORSBpcyBub3Qgc2V0CgojCiMgSW5w dXQgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdfSU5QVVQ9eQojIENPTkZJR19JTlBVVF9GRl9NRU1M RVNTIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CgojCiMgVXNl cmxhbmQgaW50ZXJmYWNlcwojCkNPTkZJR19JTlBVVF9NT1VTRURFVj15CkNPTkZJR19JTlBVVF9N T1VTRURFVl9QU0FVWD15CkNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CkNPTkZJ R19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5v dCBzZXQKIyBDT05GSUdfSU5QVVRfRVZERVYgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9FVkJV RyBpcyBub3Qgc2V0CgojCiMgSW5wdXQgRGV2aWNlIERyaXZlcnMKIwpDT05GSUdfSU5QVVRfS0VZ Qk9BUkQ9eQpDT05GSUdfS0VZQk9BUkRfQVRLQkQ9eQojIENPTkZJR19LRVlCT0FSRF9TVU5LQkQg aXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9MS0tCRCBpcyBub3Qgc2V0CiMgQ09ORklHX0tF WUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBz ZXQKIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9N T1VTRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKIyBDT05G SUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMg bm90IHNldAojIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKCiMKIyBIYXJkd2FyZSBJL08g cG9ydHMKIwpDT05GSUdfU0VSSU89eQpDT05GSUdfU0VSSU9fSTgwNDI9eQojIENPTkZJR19TRVJJ T19TRVJQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSU9fQ1Q4MkM3MTAgaXMgbm90IHNldAoj IENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldApDT05GSUdfU0VSSU9fTElCUFMyPXkKIyBD T05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAoK IwojIENoYXJhY3RlciBkZXZpY2VzCiMKQ09ORklHX1ZUPXkKQ09ORklHX0NPTlNPTEVfVFJBTlNM QVRJT05TPXkKQ09ORklHX1ZUX0NPTlNPTEU9eQpDT05GSUdfSFdfQ09OU09MRT15CiMgQ09ORklH X1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CkNPTkZJR19ERVZLTUVNPXkKIyBDT05G SUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKIyBDT05GSUdfTk9aT01JIGlzIG5vdCBz ZXQKCiMKIyBTZXJpYWwgZHJpdmVycwojCkNPTkZJR19TRVJJQUxfODI1MD15CkNPTkZJR19TRVJJ QUxfODI1MF9DT05TT0xFPXkKQ09ORklHX0ZJWF9FQVJMWUNPTl9NRU09eQpDT05GSUdfU0VSSUFM XzgyNTBfUENJPXkKQ09ORklHX1NFUklBTF84MjUwX1BOUD15CkNPTkZJR19TRVJJQUxfODI1MF9O Ul9VQVJUUz00CkNPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTQKIyBDT05GSUdfU0VS SUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAoKIwojIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1 cHBvcnQKIwpDT05GSUdfU0VSSUFMX0NPUkU9eQpDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15 CkNPTkZJR19DT05TT0xFX1BPTEw9eQojIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKQ09O RklHX1VOSVg5OF9QVFlTPXkKIyBDT05GSUdfREVWUFRTX01VTFRJUExFX0lOU1RBTkNFUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBNSV9IQU5E TEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKIyBDT05GSUdfTlZS QU0gaXMgbm90IHNldAojIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiMgQ09ORklHX0FQUExJQ09N IGlzIG5vdCBzZXQKIyBDT05GSUdfU09OWVBJIGlzIG5vdCBzZXQKIyBDT05GSUdfTVdBVkUgaXMg bm90IHNldAojIENPTkZJR19QQzg3MzZ4X0dQSU8gaXMgbm90IHNldAojIENPTkZJR19OU0NfR1BJ TyBpcyBub3Qgc2V0CiMgQ09ORklHX0NTNTUzNV9HUElPIGlzIG5vdCBzZXQKIyBDT05GSUdfUkFX X0RSSVZFUiBpcyBub3Qgc2V0CkNPTkZJR19IUEVUPXkKQ09ORklHX0hQRVRfTU1BUD15CkNPTkZJ R19IQU5HQ0hFQ0tfVElNRVI9eQojIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIyBDT05GSUdf VEVMQ0xPQ0sgaXMgbm90IHNldApDT05GSUdfREVWUE9SVD15CkNPTkZJR19JMkM9eQpDT05GSUdf STJDX0JPQVJESU5GTz15CkNPTkZJR19JMkNfQ0hBUkRFVj1tCkNPTkZJR19JMkNfSEVMUEVSX0FV VE89eQoKIwojIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAojCgojCiMgUEMgU01CdXMgaG9zdCBj b250cm9sbGVyIGRyaXZlcnMKIwojIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CiMgQ09O RklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90IHNl dAojIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMg bm90IHNldAojIENPTkZJR19JMkNfSTgwMSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19JU0NIIGlz IG5vdCBzZXQKIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKQ09ORklHX0kyQ19ORk9SQ0Uy PW0KIyBDT05GSUdfSTJDX05GT1JDRTJfUzQ5ODUgaXMgbm90IHNldAojIENPTkZJR19JMkNfU0lT NTU5NSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAojIENPTkZJR19J MkNfU0lTOTZYIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CiMgQ09ORklH X0kyQ19WSUFQUk8gaXMgbm90IHNldAoKIwojIEkyQyBzeXN0ZW0gYnVzIGRyaXZlcnMgKG1vc3Rs eSBlbWJlZGRlZCAvIHN5c3RlbS1vbi1jaGlwKQojCiMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90 IHNldAojIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKCiMKIyBFeHRlcm5hbCBJMkMvU01C dXMgYWRhcHRlciBkcml2ZXJzCiMKIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNl dAojIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAojIENPTkZJR19JMkNfVElOWV9VU0Ig aXMgbm90IHNldAoKIwojIEdyYXBoaWNzIGFkYXB0ZXIgSTJDL0REQyBjaGFubmVsIGRyaXZlcnMK IwojIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CgojCiMgT3RoZXIgSTJDL1NNQnVzIGJ1 cyBkcml2ZXJzCiMKIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CiMgQ09ORklH X0kyQ19TVFVCIGlzIG5vdCBzZXQKIyBDT05GSUdfU0N4MjAwX0FDQiBpcyBub3Qgc2V0CgojCiMg TWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CiMKIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKIyBDT05GSUdfUENGODU3NSBp cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUENBOTUzOSBpcyBub3Qgc2V0CiMgQ09ORklHX1NF TlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qg c2V0CiMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0RFQlVH X0FMR08gaXMgbm90IHNldAojIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKIyBDT05G SUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAojIENPTkZJR19TUEkgaXMgbm90IHNldApDT05G SUdfQVJDSF9XQU5UX09QVElPTkFMX0dQSU9MSUI9eQojIENPTkZJR19HUElPTElCIGlzIG5vdCBz ZXQKIyBDT05GSUdfVzEgaXMgbm90IHNldAojIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNl dApDT05GSUdfSFdNT049eQpDT05GSUdfSFdNT05fVklEPW0KIyBDT05GSUdfU0VOU09SU19BQklU VUdVUlUgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FCSVRVR1VSVTMgaXMgbm90IHNldAoj IENPTkZJR19TRU5TT1JTX0FENzQxNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQUQ3NDE4 IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRE0xMDIxIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VOU09SU19BRE0xMDI1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRE0xMDI2IGlzIG5v dCBzZXQKIyBDT05GSUdfU0VOU09SU19BRE0xMDI5IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09S U19BRE0xMDMxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQK IyBDT05GSUdfU0VOU09SU19BRFQ3NDYyIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRFQ3 NDcwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRFQ3NDczIGlzIG5vdCBzZXQKIyBDT05G SUdfU0VOU09SU19BRFQ3NDc1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19LOFRFTVAgaXMg bm90IHNldAojIENPTkZJR19TRU5TT1JTX0FTQjEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP UlNfQVRLMDExMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQVRYUDEgaXMgbm90IHNldAoj IENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfSTVLX0FN QiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRjcxODA1RiBpcyBub3Qgc2V0CiMgQ09ORklH X1NFTlNPUlNfRjcxODgyRkcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0Y3NTM3NVMgaXMg bm90IHNldAojIENPTkZJR19TRU5TT1JTX0ZTQ0hFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP UlNfRlNDUE9TIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19GU0NITUQgaXMgbm90IHNldAoj IENPTkZJR19TRU5TT1JTX0c3NjBBIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19HTDUxOFNN IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VOU09SU19DT1JFVEVNUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfSVQ4NyBpcyBub3Qg c2V0CiMgQ09ORklHX1NFTlNPUlNfTE02MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE03 NSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE03NyBpcyBub3Qgc2V0CiMgQ09ORklHX1NF TlNPUlNfTE03OCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE04MCBpcyBub3Qgc2V0CiMg Q09ORklHX1NFTlNPUlNfTE04MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE04NSBpcyBu b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE04NyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf TE05MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE05MiBpcyBub3Qgc2V0CiMgQ09ORklH X1NFTlNPUlNfTE05MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTFRDNDIxNSBpcyBub3Qg c2V0CiMgQ09ORklHX1NFTlNPUlNfTFRDNDI0NSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf TE05NTI0MSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTUFYMTYxOSBpcyBub3Qgc2V0CiMg Q09ORklHX1NFTlNPUlNfTUFYNjY1MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUEM4NzM2 MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUEM4NzQyNyBpcyBub3Qgc2V0CiMgQ09ORklH X1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfU0lTNTU5NSBpcyBu b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRE1FMTczNyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP UlNfU01TQzQ3TTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1NNU0M0N00xOTIgaXMgbm90 IHNldAojIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAojIENPTkZJR19TRU5T T1JTX0FEUzc4MjggaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1RITUM1MCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NFTlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVlQx MjExIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19WVDgyMzEgaXMgbm90IHNldAojIENPTkZJ R19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMg bm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAojIENPTkZJR19TRU5T T1JTX1c4Mzc5MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgzTDc4NVRTIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19X ODM2MjdIRj1tCiMgQ09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VOU09SU19IREFQUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTElTM0xWMDJEIGlzIG5v dCBzZXQKIyBDT05GSUdfU0VOU09SU19BUFBMRVNNQyBpcyBub3Qgc2V0CiMgQ09ORklHX0hXTU9O X0RFQlVHX0NISVAgaXMgbm90IHNldApDT05GSUdfVEhFUk1BTD15CiMgQ09ORklHX1RIRVJNQUxf SFdNT04gaXMgbm90IHNldAojIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CkNPTkZJR19TU0Jf UE9TU0lCTEU9eQoKIwojIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQojCiMgQ09ORklHX1NTQiBp cyBub3Qgc2V0CgojCiMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwojCiMgQ09ORklHX01G RF9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIyBDT05GSUdf SFRDX1BBU0lDMyBpcyBub3Qgc2V0CiMgQ09ORklHX1RXTDQwMzBfQ09SRSBpcyBub3Qgc2V0CiMg Q09ORklHX01GRF9UTUlPIGlzIG5vdCBzZXQKIyBDT05GSUdfUE1JQ19EQTkwM1ggaXMgbm90IHNl dAojIENPTkZJR19NRkRfV004NDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1dNODM1MF9JMkMg aXMgbm90IHNldAojIENPTkZJR19NRkRfUENGNTA2MzMgaXMgbm90IHNldAojIENPTkZJR19SRUdV TEFUT1IgaXMgbm90IHNldAoKIwojIE11bHRpbWVkaWEgZGV2aWNlcwojCgojCiMgTXVsdGltZWRp YSBjb3JlIHN1cHBvcnQKIwojIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAojIENPTkZJR19E VkJfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKCiMKIyBN dWx0aW1lZGlhIGRyaXZlcnMKIwojIENPTkZJR19EQUIgaXMgbm90IHNldAoKIwojIEdyYXBoaWNz IHN1cHBvcnQKIwojIENPTkZJR19BR1AgaXMgbm90IHNldAojIENPTkZJR19EUk0gaXMgbm90IHNl dAojIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05U Uk9MIGlzIG5vdCBzZXQKIyBDT05GSUdfRkIgaXMgbm90IHNldAojIENPTkZJR19CQUNLTElHSFRf TENEX1NVUFBPUlQgaXMgbm90IHNldAoKIwojIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKIwojIENP TkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAoKIwojIENvbnNvbGUgZGlzcGxheSBkcml2 ZXIgc3VwcG9ydAojCkNPTkZJR19WR0FfQ09OU09MRT15CiMgQ09ORklHX1ZHQUNPTl9TT0ZUX1ND Uk9MTEJBQ0sgaXMgbm90IHNldApDT05GSUdfRFVNTVlfQ09OU09MRT15CiMgQ09ORklHX1NPVU5E IGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1NVUFBPUlQgaXMgbm90IHNldApDT05GSUdfVVNCX1NV UFBPUlQ9eQpDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CkNPTkZJR19VU0JfQVJDSF9IQVNfT0hD ST15CkNPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CkNPTkZJR19VU0I9eQpDT05GSUdfVVNCX0RF QlVHPXkKQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15CgojCiMgTWlzY2VsbGFuZW91 cyBVU0Igb3B0aW9ucwojCkNPTkZJR19VU0JfREVWSUNFRlM9eQojIENPTkZJR19VU0JfREVWSUNF X0NMQVNTIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQK IyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAojIENPTkZJR19VU0JfT1RHIGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9XVVNCIGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX1dVU0JfQ0JBRiBpcyBub3Qgc2V0CgojCiMgVVNCIEhvc3QgQ29udHJv bGxlciBEcml2ZXJzCiMKIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldApDT05GSUdf VVNCX0VIQ0lfSENEPXkKIyBDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQgaXMgbm90IHNldApD T05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQ9eQojIENPTkZJR19VU0JfT1hVMjEwSFBfSENEIGlz IG5vdCBzZXQKIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC X0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9PSENJX0hDRD15CiMgQ09ORklHX1VT Ql9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9PSENJX0JJR19F TkRJQU5fTU1JTyBpcyBub3Qgc2V0CkNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKIyBD T05GSUdfVVNCX1VIQ0lfSENEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBu b3Qgc2V0CiMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0Jf V0hDSV9IQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfSFdBX0hDRCBpcyBub3Qgc2V0CgojCiMg VVNCIERldmljZSBDbGFzcyBkcml2ZXJzCiMKIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0CkNP TkZJR19VU0JfUFJJTlRFUj15CiMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAojIENPTkZJR19V U0JfVE1DIGlzIG5vdCBzZXQKCiMKIyBOT1RFOiBVU0JfU1RPUkFHRSBkZXBlbmRzIG9uIFNDU0kg YnV0IEJMS19ERVZfU0QgbWF5CiMKCiMKIyBhbHNvIGJlIG5lZWRlZDsgc2VlIFVTQl9TVE9SQUdF IEhlbHAgZm9yIG1vcmUgaW5mbwojCiMgQ09ORklHX1VTQl9TVE9SQUdFIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKCiMKIyBVU0IgSW1hZ2luZyBkZXZpY2VzCiMK IyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBu b3Qgc2V0CgojCiMgVVNCIHBvcnQgZHJpdmVycwojCiMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90 IHNldAoKIwojIFVTQiBNaXNjZWxsYW5lb3VzIGRyaXZlcnMKIwojIENPTkZJR19VU0JfRU1JNjIg aXMgbm90IHNldAojIENPTkZJR19VU0JfRU1JMjYgaXMgbm90IHNldAojIENPTkZJR19VU0JfQURV VFVYIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFVlNFRyBpcyBub3Qgc2V0CiMgQ09ORklHX1VT Ql9SSU81MDAgaXMgbm90IHNldAojIENPTkZJR19VU0JfTEVHT1RPV0VSIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX0xDRCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9CRVJSWV9DSEFSR0UgaXMgbm90 IHNldAojIENPTkZJR19VU0JfTEVEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0NZUFJFU1NfQ1k3 QzYzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0NZVEhFUk0gaXMgbm90IHNldAojIENPTkZJR19V U0JfSURNT1VTRSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAoj IENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NJU1VTQlZH QSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MRCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9UUkFO Q0VWSUJSQVRPUiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAoj IENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qg c2V0CiMgQ09ORklHX1VTQl9WU1QgaXMgbm90IHNldAojIENPTkZJR19VU0JfR0FER0VUIGlzIG5v dCBzZXQKCiMKIyBPVEcgYW5kIHJlbGF0ZWQgaW5mcmFzdHJ1Y3R1cmUKIwojIENPTkZJR19OT1Bf VVNCX1hDRUlWIGlzIG5vdCBzZXQKIyBDT05GSUdfVVdCIGlzIG5vdCBzZXQKIyBDT05GSUdfTU1D IGlzIG5vdCBzZXQKIyBDT05GSUdfTUVNU1RJQ0sgaXMgbm90IHNldAojIENPTkZJR19ORVdfTEVE UyBpcyBub3Qgc2V0CiMgQ09ORklHX0FDQ0VTU0lCSUxJVFkgaXMgbm90IHNldAojIENPTkZJR19J TkZJTklCQU5EIGlzIG5vdCBzZXQKIyBDT05GSUdfRURBQyBpcyBub3Qgc2V0CkNPTkZJR19SVENf TElCPXkKQ09ORklHX1JUQ19DTEFTUz15CkNPTkZJR19SVENfSENUT1NZUz15CkNPTkZJR19SVENf SENUT1NZU19ERVZJQ0U9InJ0YzAiCkNPTkZJR19SVENfREVCVUc9eQoKIwojIFJUQyBpbnRlcmZh Y2VzCiMKQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKQ09ORklHX1JUQ19JTlRGX1BST0M9eQpDT05G SUdfUlRDX0lOVEZfREVWPXkKIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBz ZXQKIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKCiMKIyBJMkMgUlRDIGRyaXZlcnMK IwojIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfRFMx Mzc0IGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAojIENPTkZJ R19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMg bm90IHNldAojIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAojIENPTkZJR19SVENf RFJWX1gxMjA1IGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQK IyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9NNDFU ODAgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAojIENPTkZJ R19SVENfRFJWX0ZNMzEzMCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUlg4NTgxIGlzIG5v dCBzZXQKCiMKIyBTUEkgUlRDIGRyaXZlcnMKIwoKIwojIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiMK Q09ORklHX1JUQ19EUlZfQ01PUz15CiMgQ09ORklHX1JUQ19EUlZfRFMxMjg2IGlzIG5vdCBzZXQK IyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0RTMTU1 MyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKIyBDT05GSUdf UlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5v dCBzZXQKIyBDT05GSUdfUlRDX0RSVl9NNDhUMzUgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJW X000OFQ1OSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfQlE0ODAyIGlzIG5vdCBzZXQKIyBD T05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CgojCiMgb24tQ1BVIFJUQyBkcml2ZXJzCiMK IyBDT05GSUdfRE1BREVWSUNFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FVWERJU1BMQVkgaXMgbm90 IHNldAojIENPTkZJR19VSU8gaXMgbm90IHNldAojIENPTkZJR19TVEFHSU5HIGlzIG5vdCBzZXQK IyBDT05GSUdfWDg2X1BMQVRGT1JNX0RFVklDRVMgaXMgbm90IHNldAoKIwojIEZpcm13YXJlIERy aXZlcnMKIwojIENPTkZJR19FREQgaXMgbm90IHNldApDT05GSUdfRklSTVdBUkVfTUVNTUFQPXkK IyBDT05GSUdfREVMTF9SQlUgaXMgbm90IHNldAojIENPTkZJR19EQ0RCQVMgaXMgbm90IHNldAoj IENPTkZJR19ETUlJRCBpcyBub3Qgc2V0CiMgQ09ORklHX0lTQ1NJX0lCRlRfRklORCBpcyBub3Qg c2V0CgojCiMgRmlsZSBzeXN0ZW1zCiMKIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CiMgQ09O RklHX0VYVDNfRlMgaXMgbm90IHNldAojIENPTkZJR19FWFQ0X0ZTIGlzIG5vdCBzZXQKQ09ORklH X1JFSVNFUkZTX0ZTPXkKQ09ORklHX1JFSVNFUkZTX0NIRUNLPXkKIyBDT05GSUdfUkVJU0VSRlNf UFJPQ19JTkZPIGlzIG5vdCBzZXQKQ09ORklHX1JFSVNFUkZTX0ZTX1hBVFRSPXkKIyBDT05GSUdf UkVJU0VSRlNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKIyBDT05GSUdfUkVJU0VSRlNfRlNfU0VD VVJJVFkgaXMgbm90IHNldAojIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19GU19Q T1NJWF9BQ0wgaXMgbm90IHNldApDT05GSUdfRklMRV9MT0NLSU5HPXkKQ09ORklHX1hGU19GUz15 CiMgQ09ORklHX1hGU19RVU9UQSBpcyBub3Qgc2V0CiMgQ09ORklHX1hGU19QT1NJWF9BQ0wgaXMg bm90IHNldAojIENPTkZJR19YRlNfUlQgaXMgbm90IHNldApDT05GSUdfWEZTX0RFQlVHPXkKIyBD T05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAojIENPTkZJR19CVFJGU19GUyBpcyBub3Qgc2V0CkNP TkZJR19ETk9USUZZPXkKQ09ORklHX0lOT1RJRlk9eQpDT05GSUdfSU5PVElGWV9VU0VSPXkKIyBD T05GSUdfUVVPVEEgaXMgbm90IHNldAojIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAojIENP TkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0Cgoj CiMgQ2FjaGVzCiMKIyBDT05GSUdfRlNDQUNIRSBpcyBub3Qgc2V0CgojCiMgQ0QtUk9NL0RWRCBG aWxlc3lzdGVtcwojCiMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAojIENPTkZJR19VREZf RlMgaXMgbm90IHNldAoKIwojIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKIwojIENPTkZJR19NU0RP U19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAojIENPTkZJR19OVEZT X0ZTIGlzIG5vdCBzZXQKCiMKIyBQc2V1ZG8gZmlsZXN5c3RlbXMKIwpDT05GSUdfUFJPQ19GUz15 CkNPTkZJR19QUk9DX0tDT1JFPXkKQ09ORklHX1BST0NfU1lTQ1RMPXkKQ09ORklHX1BST0NfUEFH RV9NT05JVE9SPXkKQ09ORklHX1NZU0ZTPXkKQ09ORklHX1RNUEZTPXkKIyBDT05GSUdfVE1QRlNf UE9TSVhfQUNMIGlzIG5vdCBzZXQKIyBDT05GSUdfSFVHRVRMQkZTIGlzIG5vdCBzZXQKIyBDT05G SUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKQ09ORklHX0NPTkZJR0ZTX0ZTPXkKIyBDT05GSUdf TUlTQ19GSUxFU1lTVEVNUyBpcyBub3Qgc2V0CkNPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkK Q09ORklHX05GU19GUz15CkNPTkZJR19ORlNfVjM9eQojIENPTkZJR19ORlNfVjNfQUNMIGlzIG5v dCBzZXQKIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKQ09ORklHX05GU0Q9eQpDT05GSUdfTkZT RF9WMz15CiMgQ09ORklHX05GU0RfVjNfQUNMIGlzIG5vdCBzZXQKIyBDT05GSUdfTkZTRF9WNCBp cyBub3Qgc2V0CkNPTkZJR19MT0NLRD15CkNPTkZJR19MT0NLRF9WND15CkNPTkZJR19FWFBPUlRG Uz15CkNPTkZJR19ORlNfQ09NTU9OPXkKQ09ORklHX1NVTlJQQz15CkNPTkZJR19TVU5SUENfR1NT PXkKQ09ORklHX1JQQ1NFQ19HU1NfS1JCNT15CiMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMg bm90IHNldAojIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAojIENPTkZJR19DSUZTIGlzIG5vdCBz ZXQKIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0 CiMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CgojCiMgUGFydGl0aW9uIFR5cGVzCiMKIyBDT05G SUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQ09ORklHX01TRE9TX1BBUlRJVElPTj15 CkNPTkZJR19OTFM9eQpDT05GSUdfTkxTX0RFRkFVTFQ9ImtvaTgtciIKIyBDT05GSUdfTkxTX0NP REVQQUdFXzQzNyBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNl dAojIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQ QUdFXzg1MCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAoj IENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdF Xzg1NyBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAojIENP TkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2 MiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAojIENPTkZJ R19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBp cyBub3Qgc2V0CkNPTkZJR19OTFNfQ09ERVBBR0VfODY2PW0KIyBDT05GSUdfTkxTX0NPREVQQUdF Xzg2OSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAojIENP TkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzkz MiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAojIENPTkZJ R19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBu b3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKQ09ORklHX05MU19D T0RFUEFHRV8xMjUxPW0KIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxT X0lTTzg4NTlfMSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAoj IENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBp cyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAojIENPTkZJR19OTFNf SVNPODg1OV82IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0CiMg Q09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV8xMyBp cyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxT X0lTTzg4NTlfMTUgaXMgbm90IHNldApDT05GSUdfTkxTX0tPSThfUj15CiMgQ09ORklHX05MU19L T0k4X1UgaXMgbm90IHNldApDT05GSUdfTkxTX1VURjg9bQojIENPTkZJR19ETE0gaXMgbm90IHNl dAoKIwojIEtlcm5lbCBoYWNraW5nCiMKQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQpD T05GSUdfUFJJTlRLX1RJTUU9eQojIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEIGlzIG5v dCBzZXQKIyBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0sgaXMgbm90IHNldApDT05GSUdfRlJBTUVf V0FSTj0wCkNPTkZJR19NQUdJQ19TWVNSUT15CiMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5v dCBzZXQKQ09ORklHX0RFQlVHX0ZTPXkKIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0 CkNPTkZJR19ERUJVR19LRVJORUw9eQpDT05GSUdfREVCVUdfU0hJUlE9eQpDT05GSUdfREVURUNU X1NPRlRMT0NLVVA9eQojIENPTkZJR19CT09UUEFSQU1fU09GVExPQ0tVUF9QQU5JQyBpcyBub3Qg c2V0CkNPTkZJR19CT09UUEFSQU1fU09GVExPQ0tVUF9QQU5JQ19WQUxVRT0wCkNPTkZJR19ERVRF Q1RfSFVOR19UQVNLPXkKIyBDT05GSUdfQk9PVFBBUkFNX0hVTkdfVEFTS19QQU5JQyBpcyBub3Qg c2V0CkNPTkZJR19CT09UUEFSQU1fSFVOR19UQVNLX1BBTklDX1ZBTFVFPTAKQ09ORklHX1NDSEVE X0RFQlVHPXkKQ09ORklHX1NDSEVEU1RBVFM9eQpDT05GSUdfVElNRVJfU1RBVFM9eQojIENPTkZJ R19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKQ09ORklHX1NMVUJfREVCVUdfT049eQpDT05GSUdf U0xVQl9TVEFUUz15CkNPTkZJR19ERUJVR19QUkVFTVBUPXkKQ09ORklHX0RFQlVHX1JUX01VVEVY RVM9eQpDT05GSUdfREVCVUdfUElfTElTVD15CkNPTkZJR19SVF9NVVRFWF9URVNURVI9eQpDT05G SUdfREVCVUdfU1BJTkxPQ0s9eQpDT05GSUdfREVCVUdfTVVURVhFUz15CkNPTkZJR19ERUJVR19M T0NLX0FMTE9DPXkKQ09ORklHX1BST1ZFX0xPQ0tJTkc9eQpDT05GSUdfTE9DS0RFUD15CkNPTkZJ R19MT0NLX1NUQVQ9eQpDT05GSUdfREVCVUdfTE9DS0RFUD15CkNPTkZJR19UUkFDRV9JUlFGTEFH Uz15CkNPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUD15CkNPTkZJR19ERUJVR19MT0NLSU5HX0FQ SV9TRUxGVEVTVFM9eQpDT05GSUdfU1RBQ0tUUkFDRT15CiMgQ09ORklHX0RFQlVHX0tPQkpFQ1Qg aXMgbm90IHNldApDT05GSUdfREVCVUdfSElHSE1FTT15CkNPTkZJR19ERUJVR19CVUdWRVJCT1NF PXkKQ09ORklHX0RFQlVHX0lORk89eQpDT05GSUdfREVCVUdfVk09eQpDT05GSUdfREVCVUdfVklS VFVBTD15CkNPTkZJR19ERUJVR19XUklURUNPVU5UPXkKQ09ORklHX0RFQlVHX01FTU9SWV9JTklU PXkKQ09ORklHX0RFQlVHX0xJU1Q9eQpDT05GSUdfREVCVUdfU0c9eQojIENPTkZJR19ERUJVR19O T1RJRklFUlMgaXMgbm90IHNldApDT05GSUdfQVJDSF9XQU5UX0ZSQU1FX1BPSU5URVJTPXkKQ09O RklHX0ZSQU1FX1BPSU5URVI9eQojIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0 CiMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAojIENPTkZJR19CQUNLVFJBQ0Vf U0VMRl9URVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfQkxPQ0tfRVhUX0RFVlQgaXMgbm90 IHNldAojIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldApDT05GSUdfTEFURU5DWVRP UD15CkNPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CkNPTkZJR19ERUJVR19QQUdFQUxMT0M9 eQpDT05GSUdfVVNFUl9TVEFDS1RSQUNFX1NVUFBPUlQ9eQpDT05GSUdfSEFWRV9GVU5DVElPTl9U UkFDRVI9eQpDT05GSUdfSEFWRV9GVU5DVElPTl9HUkFQSF9UUkFDRVI9eQpDT05GSUdfSEFWRV9G VU5DVElPTl9UUkFDRV9NQ09VTlRfVEVTVD15CkNPTkZJR19IQVZFX0RZTkFNSUNfRlRSQUNFPXkK Q09ORklHX0hBVkVfRlRSQUNFX01DT1VOVF9SRUNPUkQ9eQpDT05GSUdfSEFWRV9GVFJBQ0VfU1lT Q0FMTFM9eQpDT05GSUdfVFJBQ0lOR19TVVBQT1JUPXkKCiMKIyBUcmFjZXJzCiMKIyBDT05GSUdf RlVOQ1RJT05fVFJBQ0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfSVJRU09GRl9UUkFDRVIgaXMgbm90 IHNldAojIENPTkZJR19QUkVFTVBUX1RSQUNFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NZU1BST0Zf VFJBQ0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NIRURfVFJBQ0VSIGlzIG5vdCBzZXQKIyBDT05G SUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfRVZFTlRfVFJBQ0VS IGlzIG5vdCBzZXQKIyBDT05GSUdfRlRSQUNFX1NZU0NBTExTIGlzIG5vdCBzZXQKIyBDT05GSUdf Qk9PVF9UUkFDRVIgaXMgbm90IHNldAojIENPTkZJR19UUkFDRV9CUkFOQ0hfUFJPRklMSU5HIGlz IG5vdCBzZXQKIyBDT05GSUdfUE9XRVJfVFJBQ0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfU1RBQ0tf VFJBQ0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfS01FTVRSQUNFIGlzIG5vdCBzZXQKIyBDT05GSUdf V09SS1FVRVVFX1RSQUNFUiBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMg bm90IHNldAojIENPTkZJR19NTUlPVFJBQ0UgaXMgbm90IHNldAojIENPTkZJR19QUk9WSURFX09I Q0kxMzk0X0RNQV9JTklUIGlzIG5vdCBzZXQKQ09ORklHX0RZTkFNSUNfREVCVUc9eQojIENPTkZJ R19ETUFfQVBJX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CkNP TkZJR19IQVZFX0FSQ0hfS0dEQj15CkNPTkZJR19LR0RCPXkKQ09ORklHX0tHREJfU0VSSUFMX0NP TlNPTEU9eQpDT05GSUdfS0dEQl9URVNUUz15CkNPTkZJR19LR0RCX1RFU1RTX09OX0JPT1Q9eQpD T05GSUdfS0dEQl9URVNUU19CT09UX1NUUklORz0iVjFGMTAwIgojIENPTkZJR19TVFJJQ1RfREVW TUVNIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9WRVJCT1NFX0JPT1RVUD15CkNPTkZJR19FQVJMWV9Q UklOVEs9eQojIENPTkZJR19FQVJMWV9QUklOVEtfREJHUCBpcyBub3Qgc2V0CkNPTkZJR19ERUJV R19TVEFDS09WRVJGTE9XPXkKQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFPXkKQ09ORklHX1g4Nl9Q VERVTVA9eQojIENPTkZJR19ERUJVR19ST0RBVEEgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19O WF9URVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfNEtTVEFDS1MgaXMgbm90IHNldApDT05GSUdfRE9V QkxFRkFVTFQ9eQpDT05GSUdfSEFWRV9NTUlPVFJBQ0VfU1VQUE9SVD15CkNPTkZJR19JT19ERUxB WV9UWVBFXzBYODA9MApDT05GSUdfSU9fREVMQVlfVFlQRV8wWEVEPTEKQ09ORklHX0lPX0RFTEFZ X1RZUEVfVURFTEFZPTIKQ09ORklHX0lPX0RFTEFZX1RZUEVfTk9ORT0zCkNPTkZJR19JT19ERUxB WV8wWDgwPXkKIyBDT05GSUdfSU9fREVMQVlfMFhFRCBpcyBub3Qgc2V0CiMgQ09ORklHX0lPX0RF TEFZX1VERUxBWSBpcyBub3Qgc2V0CiMgQ09ORklHX0lPX0RFTEFZX05PTkUgaXMgbm90IHNldApD T05GSUdfREVGQVVMVF9JT19ERUxBWV9UWVBFPTAKQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TPXkK Q09ORklHX0NQQV9ERUJVRz15CkNPTkZJR19PUFRJTUlaRV9JTkxJTklORz15CgojCiMgU2VjdXJp dHkgb3B0aW9ucwojCiMgQ09ORklHX0tFWVMgaXMgbm90IHNldAojIENPTkZJR19TRUNVUklUWSBp cyBub3Qgc2V0CiMgQ09ORklHX1NFQ1VSSVRZRlMgaXMgbm90IHNldAojIENPTkZJR19TRUNVUklU WV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0lNQSBpcyBub3Qgc2V0CkNP TkZJR19DUllQVE89eQoKIwojIENyeXB0byBjb3JlIG9yIGhlbHBlcgojCiMgQ09ORklHX0NSWVBU T19GSVBTIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUT19BTEdBUEk9eQpDT05GSUdfQ1JZUFRPX0FM R0FQSTI9eQpDT05GSUdfQ1JZUFRPX0FFQUQyPXkKQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQpD T05GSUdfQ1JZUFRPX0JMS0NJUEhFUjI9eQpDT05GSUdfQ1JZUFRPX0hBU0g9eQpDT05GSUdfQ1JZ UFRPX0hBU0gyPXkKQ09ORklHX0NSWVBUT19STkcyPXkKQ09ORklHX0NSWVBUT19QQ09NUD15CkNP TkZJR19DUllQVE9fTUFOQUdFUj15CkNPTkZJR19DUllQVE9fTUFOQUdFUjI9eQojIENPTkZJR19D UllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0 CkNPTkZJR19DUllQVE9fV09SS1FVRVVFPXkKIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qg c2V0CiMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1RF U1QgaXMgbm90IHNldAoKIwojIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0 ZWQgRGF0YQojCiMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAojIENPTkZJR19DUllQVE9f R0NNIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKCiMKIyBCbG9j ayBtb2RlcwojCkNPTkZJR19DUllQVE9fQ0JDPXkKIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qg c2V0CiMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fRUNCIGlz IG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19Q Q0JDIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CgojCiMgSGFzaCBt b2RlcwojCiMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1hD QkMgaXMgbm90IHNldAoKIwojIERpZ2VzdAojCiMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90 IHNldAojIENPTkZJR19DUllQVE9fQ1JDMzJDX0lOVEVMIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZ UFRPX01ENCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fTUQ1PXkKIyBDT05GSUdfQ1JZUFRPX01J Q0hBRUxfTUlDIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1JNRDEyOCBpcyBub3Qgc2V0CiMg Q09ORklHX0NSWVBUT19STUQxNjAgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fUk1EMjU2IGlz IG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1JNRDMyMCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBU T19TSEExIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiMgQ09O RklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5v dCBzZXQKIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKCiMKIyBDaXBoZXJzCiMKIyBD T05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19BRVNfNTg2IGlzIG5v dCBzZXQKIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19B UkM0IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKIyBDT05G SUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5v dCBzZXQKIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUT19ERVM9 eQojIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0tIQVpB RCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKIyBDT05GSUdf Q1JZUFRPX1NBTFNBMjBfNTg2IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90 IHNldAojIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19U RUEgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19UV09GSVNIXzU4NiBpcyBub3Qgc2V0CgojCiMgQ29tcHJlc3Npb24KIwojIENPTkZJ R19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19aTElCIGlzIG5vdCBz ZXQKIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CgojCiMgUmFuZG9tIE51bWJlciBHZW5l cmF0aW9uCiMKIyBDT05GSUdfQ1JZUFRPX0FOU0lfQ1BSTkcgaXMgbm90IHNldAojIENPTkZJR19D UllQVE9fSFcgaXMgbm90IHNldApDT05GSUdfSEFWRV9LVk09eQpDT05GSUdfSEFWRV9LVk1fSVJR Q0hJUD15CiMgQ09ORklHX1ZJUlRVQUxJWkFUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfQklOQVJZ X1BSSU5URiBpcyBub3Qgc2V0CgojCiMgTGlicmFyeSByb3V0aW5lcwojCkNPTkZJR19CSVRSRVZF UlNFPXkKQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQ9eQpDT05GSUdfR0VORVJJQ19GSU5E X05FWFRfQklUPXkKQ09ORklHX0dFTkVSSUNfRklORF9MQVNUX0JJVD15CiMgQ09ORklHX0NSQ19D Q0lUVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JDX1Qx MERJRiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CkNPTkZJR19DUkMz Mj15CiMgQ09ORklHX0NSQzcgaXMgbm90IHNldAojIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNl dApDT05GSUdfSEFTX0lPTUVNPXkKQ09ORklHX0hBU19JT1BPUlQ9eQpDT05GSUdfSEFTX0RNQT15 CkNPTkZJR19OTEFUVFI9eQo= --001636c599f6a65338046907f308-- From timothy.shimmin@gmail.com Sun May 3 18:35: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.1 required=5.0 tests=AWL,BAYES_00,HTML_MESSAGE, LOCAL_GNU_PATCH,SUBJECT_FUZZY_TION 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 n43NZdpS141673 for ; Sun, 3 May 2009 18:35:39 -0500 X-ASG-Debug-ID: 1241393740-1a8f02b20000-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 3264525C827 for ; Sun, 3 May 2009 16:35:40 -0700 (PDT) Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.170]) by cuda.sgi.com with ESMTP id UECnbCnS8uMboLwD for ; Sun, 03 May 2009 16:35:40 -0700 (PDT) Received: by wf-out-1314.google.com with SMTP id 29so2651170wff.32 for ; Sun, 03 May 2009 16:35: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; bh=lHPafSK7I4cvg2DBjLJVfAeyVLUHi2+aMBPRRaatwFo=; b=LNZq98aNl3H08LXpr9W9eO3m1hahZdrcyDFTlpuD+iSSePtRX1N6HlG89zPRDdELT8 ytTkY7efrNTOjj7ZYkC4/bBWEEHFT+Sf2JEK1xpW/t3h1JpsYiJ6HLStakLv1cjSU+Oh 5VG0HoNoM9RxiCJxcx2DdVIud0FJ+ejlw7D7Q= 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=db3Bfcf0V3dZ+IwbJv1FAgiiCTsPEpvW7/vWX32d7+06D1cB6Ax4WFEUZzibIgOQ6b 8Pg7e7Pqp0jsNuTera4PkUsR3BeVLCQCxEaNLXKFmVOgUm1CEiOLSme4Xqj/WBLoAWh2 GbNxQWonEu/zDEtRRQ+SX8QPcsBVc21LIqJhM= MIME-Version: 1.0 Received: by 10.142.156.19 with SMTP id d19mr1997488wfe.6.1241393739781; Sun, 03 May 2009 16:35:39 -0700 (PDT) In-Reply-To: <20090429135050.GC30808@infradead.org> References: <20090429135050.GC30808@infradead.org> Date: Mon, 4 May 2009 09:35:39 +1000 Message-ID: X-ASG-Orig-Subj: Re: [PATCH] xfsdump: add .gitignore Subject: Re: [PATCH] xfsdump: add .gitignore From: Timothy Shimmin To: Christoph Hellwig Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=000e0cd17b9ae2d5f204690a80a9 X-Barracuda-Connect: wf-out-1314.google.com[209.85.200.170] X-Barracuda-Start-Time: 1241393741 X-Barracuda-Bayes: INNOCENT GLOBAL 0.2442 1.0000 -0.6033 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=HTML_MESSAGE, SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24834 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: 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 --000e0cd17b9ae2d5f204690a80a9 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Get rid of the symlinked files by creating a local library for the commonality? ;-)Probably easier said than done - I haven't looked at the code in a while - but I I think the traditional library model is better than a heap of symlinks :) (I realise you just want a .gitignore file but .... ;-) --Tim On Wed, Apr 29, 2009 at 11:50 PM, Christoph Hellwig wrote: > This one is pretty ugly due to all the symlinked files, any better > suggestions? > > > Signed-off-by: Christoph Hellwig > > Index: xfsdump-dev/.gitignore > =================================================================== > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > +++ xfsdump-dev/.gitignore 2009-04-29 15:48:26.996484383 +0200 > @@ -0,0 +1,134 @@ > +# object files > +*.o > + > +# build system > +.census > +Logs/ > +include/config.h > +include/builddefs > +install-sh > + > +# magic diretory symlinks > +#include/disk > +#include/xfs > + > +# Makepgs > +build/src-manifest > +build/xfsdump-*.tar.gz > +doc/CHANGES.gz > +xfsdump-* > + > +# autoconf generated files > +aclocal.m4 > +autom4te.cache/ > +config.guess > +config.log > +config.status > +config.sub > +configure > + > +# libtool > +libtool > +ltmain.sh > +*.lo > +*.la > +.libs > + > +# gettext > +po/xfsdump.pot > +po/*.mo > + > +# quilt stuff > +.pc/ > +patches/ > + > +# binaries > +dump/xfsdump > +invutil/xfsinvutil > +restore/xfsrestore > + > +# @%#% symlinked sourced files > +dump/arch_xlate.[ch] > +dump/cldmgr.[ch] > +dump/content.h > +dump/content_common.[ch] > +dump/content_inode.h > +dump/dlog.[ch] > +dump/drive.[ch] > +dump/drive_minrmt.c > +dump/drive_scsitape.c > +dump/drive_simple.c > +dump/exit.h > +dump/fs.[ch] > +dump/getdents.[ch] > +dump/global.[ch] > +dump/hsmapi.[ch] > +dump/inv_api.c > +dump/inv_core.c > +dump/inv_files.c > +dump/inv_fstab.c > +dump/inv_idx.c > +dump/inv_mgr.c > +dump/inv_priv.h > +dump/inv_stobj.c > +dump/inventory.h > +dump/lock.[ch] > +dump/main.c > +dump/media.h > +dump/mlog.[ch] > +dump/openutil.[ch] > +dump/path.[ch] > +dump/qlock.[ch] > +dump/rec_hdr.h > +dump/ring.[ch] > +dump/sproc.[ch] > +dump/stream.[ch] > +dump/ts_mtio.h > +dump/types.h > +dump/util.[ch] > + > +invutil/global.h > +invutil/inv_files.c > +invutil/inv_priv.h > +invutil/inventory.h > +invutil/mlog.h > +invutil/types.h > +invutil/util.h > + > +restore/arch_xlate.[ch] > +restore/cldmgr.[ch] > +restore/content.h > +restore/content_inode.h > +restore/dlog.[ch] > +restore/drive.[ch] > +restore/drive_minrmt.c > +restore/drive_scsitape.c > +restore/drive_simple.c > +restore/exit.h > +restore/fs.[ch] > +restore/getdents.[ch] > +restore/global.[ch] > +restore/hsmapi.[ch] > +restore/inv_api.c > +restore/inv_core.c > +restore/inv_files.c > +restore/inv_fstab.c > +restore/inv_idx.c > +restore/inv_mgr.c > +restore/inv_priv.h > +restore/inv_stobj.c > +restore/inventory.h > +restore/lock.[ch] > +restore/main.c > +restore/media.h > +restore/mlog.[ch] > +restore/openutil.[ch] > +restore/path.[ch] > +restore/qlock.[ch] > +restore/rec_hdr.h > +restore/ring.[ch] > +restore/sproc.[ch] > +restore/stream.[ch] > +restore/ts_mtio.h > +restore/types.h > +restore/util.[ch] > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > --000e0cd17b9ae2d5f204690a80a9 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Get rid of the symlinked files by creating a local library for the commonal= ity? ;-)
Probably easier said than done - I haven't looked at the c= ode in a while - but I
I think the traditional library model is b= etter than a heap of symlinks :)
(I realise you just want a .gitignore file but .... ;-)

--Tim

On Wed, Apr 29, 2009 at 11= :50 PM, Christoph Hellwig <hch@infradead.org> wrote:
This one is pretty ugly due to all the syml= inked files, any better
suggestions?


Signed-off-by: Christoph Hellwig <hch@lst.= de>

Index: xfsdump-dev/.gitignore
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- /dev/null =A0 1970-01-01 00:00:00.000000000 +0000
+++ xfsdump-dev/.gitignore =A0 =A0 =A02009-04-29 15:48:26.996484383 +0200 @@ -0,0 +1,134 @@
+# object files
+*.o
+
+# build system
+.census
+Logs/
+include/config.h
+include/builddefs
+install-sh
+
+# magic diretory symlinks
+#include/disk
+#include/xfs
+
+# Makepgs
+build/src-manifest
+build/xfsdump-*.tar.gz
+doc/CHANGES.gz
+xfsdump-*
+
+# autoconf generated files
+aclocal.m4
+autom4te.cache/
+config.guess
+config.log
+config.status
+config.sub
+configure
+
+# libtool
+libtool
+ltmain.sh
+*.lo
+*.la
+.libs
+
+# gettext
+po/xfsdump.pot
+po/*.mo
+
+# quilt stuff
+.pc/
+patches/
+
+# binaries
+dump/xfsdump
+invutil/xfsinvutil
+restore/xfsrestore
+
+# @%#% symlinked sourced files
+dump/arch_xlate.[ch]
+dump/cldmgr.[ch]
+dump/content.h
+dump/content_common.[ch]
+dump/content_inode.h
+dump/dlog.[ch]
+dump/drive.[ch]
+dump/drive_minrmt.c
+dump/drive_scsitape.c
+dump/drive_simple.c
+dump/exit.h
+dump/fs.[ch]
+dump/getdents.[ch]
+dump/global.[ch]
+dump/hsmapi.[ch]
+dump/inv_api.c
+dump/inv_core.c
+dump/inv_files.c
+dump/inv_fstab.c
+dump/inv_idx.c
+dump/inv_mgr.c
+dump/inv_priv.h
+dump/inv_stobj.c
+dump/inventory.h
+dump/lock.[ch]
+dump/main.c
+dump/media.h
+dump/mlog.[ch]
+dump/openutil.[ch]
+dump/path.[ch]
+dump/qlock.[ch]
+dump/rec_hdr.h
+dump/ring.[ch]
+dump/sproc.[ch]
+dump/stream.[ch]
+dump/ts_mtio.h
+dump/types.h
+dump/util.[ch]
+
+invutil/global.h
+invutil/inv_files.c
+invutil/inv_priv.h
+invutil/inventory.h
+invutil/mlog.h
+invutil/types.h
+invutil/util.h
+
+restore/arch_xlate.[ch]
+restore/cldmgr.[ch]
+restore/content.h
+restore/content_inode.h
+restore/dlog.[ch]
+restore/drive.[ch]
+restore/drive_minrmt.c
+restore/drive_scsitape.c
+restore/drive_simple.c
+restore/exit.h
+restore/fs.[ch]
+restore/getdents.[ch]
+restore/global.[ch]
+restore/hsmapi.[ch]
+restore/inv_api.c
+restore/inv_core.c
+restore/inv_files.c
+restore/inv_fstab.c
+restore/inv_idx.c
+restore/inv_mgr.c
+restore/inv_priv.h
+restore/inv_stobj.c
+restore/inventory.h
+restore/lock.[ch]
+restore/main.c
+restore/media.h
+restore/mlog.[ch]
+restore/openutil.[ch]
+restore/path.[ch]
+restore/qlock.[ch]
+restore/rec_hdr.h
+restore/ring.[ch]
+restore/sproc.[ch]
+restore/stream.[ch]
+restore/ts_mtio.h
+restore/types.h
+restore/util.[ch]

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http:= //oss.sgi.com/mailman/listinfo/xfs

--000e0cd17b9ae2d5f204690a80a9-- From BATV+74aee4e3593e4a553016+2080+infradead.org+hch@bombadil.srs.infradead.org Mon May 4 02:40: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, SUBJECT_FUZZY_TION 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 n447eLoY160752 for ; Mon, 4 May 2009 02:40:23 -0500 X-ASG-Debug-ID: 1241423052-152303860000-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 1F559146D8EE for ; Mon, 4 May 2009 00:44:13 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id txuXFIwGgpL9lQMu for ; Mon, 04 May 2009 00:44:13 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1M0smk-0008GM-3A; Mon, 04 May 2009 07:40:22 +0000 Date: Mon, 4 May 2009 03:40:22 -0400 From: Christoph Hellwig To: Timothy Shimmin Cc: Christoph Hellwig , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfsdump: add .gitignore Subject: Re: [PATCH] xfsdump: add .gitignore Message-ID: <20090504074021.GA29449@infradead.org> References: <20090429135050.GC30808@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: 1241423054 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, May 04, 2009 at 09:35:39AM +1000, Timothy Shimmin wrote: > Get rid of the symlinked files by creating a local library for the > commonality? ;-)Probably easier said than done - I haven't looked at the > code in a while - but I > I think the traditional library model is better than a heap of symlinks :) It probably is. I'll put it on my todo list.. From wkendall@sgi.com Mon May 4 09:54: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.7 required=5.0 tests=AWL,BAYES_00, SUBJECT_FUZZY_TION 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 n44EsOXH179271 for ; Mon, 4 May 2009 09:54:24 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id E73A1AC00E for ; Mon, 4 May 2009 07:54:22 -0700 (PDT) Received: from [128.162.233.117] (augusta.americas.sgi.com [128.162.233.117]) by estes.americas.sgi.com (Postfix) with ESMTP id 8B648700016A; Mon, 4 May 2009 09:54:19 -0500 (CDT) Message-ID: <49FF019B.5050207@sgi.com> Date: Mon, 04 May 2009 09:54:19 -0500 From: Bill Kendall User-Agent: Thunderbird 2.0.0.21 (X11/20090409) MIME-Version: 1.0 To: Christoph Hellwig Cc: Timothy Shimmin , xfs@oss.sgi.com Subject: Re: [PATCH] xfsdump: add .gitignore References: <20090429135050.GC30808@infradead.org> <20090504074021.GA29449@infradead.org> In-Reply-To: <20090504074021.GA29449@infradead.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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, May 04, 2009 at 09:35:39AM +1000, Timothy Shimmin wrote: >> Get rid of the symlinked files by creating a local library for the >> commonality? ;-)Probably easier said than done - I haven't looked at the >> code in a while - but I >> I think the traditional library model is better than a heap of symlinks :) > > It probably is. I'll put it on my todo list.. Not sure how well if fits the library model, unfortunately. The symlinked files need to be compiled for dump and then recompiled for restore as there's a bunch of #ifdef DUMP and #ifdef RESTORE sections. I guess two libraries could be created, if separate build dirs were used under common. Bill From sandeen@sandeen.net Mon May 4 20:51: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.2 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_43, J_CHICKENPOX_47 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 n451pBdu236381 for ; Mon, 4 May 2009 20:51:11 -0500 X-ASG-Debug-ID: 1241488506-42b5009f0000-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 37C35147128E for ; Mon, 4 May 2009 18:55:06 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id NC81LfIDsDCuNjcF for ; Mon, 04 May 2009 18:55:06 -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 05946AA60F5 for ; Mon, 4 May 2009 20:51:11 -0500 (CDT) Message-ID: <49FF9B8E.7040607@sandeen.net> Date: Mon, 04 May 2009 20:51:10 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: xfs-oss X-ASG-Orig-Subj: migration to selinux + xfs_fsr oddity.... Subject: migration to selinux + xfs_fsr oddity.... 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: 1241488508 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24936 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 This came up in RH Bugzilla #498860, "xfs_fsr fails to complete" The reporter had an existing xfs filesystem from another Linux OS, and was using it under Fedora now. He had some files for which xfs_fsr bails out with EINVAL: XFS_IOC_SWAPEXT failed: fragfile: Invalid argument It's failing this check in xfs_swap_extents(): /* * If the target has extended attributes, the tmp file * must also in order to ensure the correct data fork * format. */ if ( XFS_IFORK_Q(ip) != XFS_IFORK_Q(tip) ) { error = XFS_ERROR(EINVAL); goto error0; } because the original filesystem had no selinux xattrs, but the new/temp file created during xfs_fsr got the selinux xattr, so failed this test. It can be demonstrated like this on a machine w/ selinux: # mkfs.xfs -dfile,name=fsfile,size=32m # mkdir test # mount -o loop,context="unconfined_u:object_r:user_tmp_t:s0" fsfile test # for I in `seq 10 -1 0`; do dd if=/dev/zero of=test/fragfile bs=4k count=1 seek=$I conv=notrunc oflag=sync; done # umount test # mount -o loop fsfile test # xfs_fsr test/fragfile XFS_IOC_SWAPEXT failed: fragfile: Invalid argument I'm not sure if this is the sort of thing to maybe just caveat & document, or try to work around ... somehow? Maybe detect this case a bit better and print something more helpful about what has gone wrong? (As an aside ... looking at the above test and others related, and thinking about a few random reports that xfs_fsr corrupted a file, I can't help but think that maybe we are winding up with incompatible formats for the original and donor inodes in some cases...) -Eric From a.beregalov@gmail.com Tue May 5 03:54: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.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 n458s5oo005986 for ; Tue, 5 May 2009 03:54:05 -0500 X-ASG-Debug-ID: 1241513647-160a03170000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail-bw0-f226.google.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id EE8881D0D108 for ; Tue, 5 May 2009 01:54:07 -0700 (PDT) Received: from mail-bw0-f226.google.com (mail-bw0-f226.google.com [209.85.218.226]) by cuda.sgi.com with ESMTP id fD70oNSGCnRWqBTf for ; Tue, 05 May 2009 01:54:07 -0700 (PDT) Received: by bwz26 with SMTP id 26so4367703bwz.20 for ; Tue, 05 May 2009 01:54:05 -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=R3YB81S4KZpg9t/5dEfbm1HOS0DXbRwpz0r9yM6DiTY=; b=FRLbEMHo37Qom27O5VxexM9I1fiUHpoo+s59U4/iB0QRCma6OPp85H7YryK58qBTDd fFRpHVvkKqAq7Fjf76sqQBTrAbPhAFb9Vo5Dr7TbLAsBDrOLSTqB0e+/b8Iy9ULWdl8l uXQUSw4YY0yi+WJ/Qq8irCxXM10+3ou9eJEMQ= 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=RnzGCRC5S48GfMtd7U/aRTdO7UjtIMiRDTZLnQUUlhypLYxh2mTbmPJgzyAkdWC/pm c6BsT1J0IjeNj7uv3Y8HylAyuQew6iwL16LGeJW+//DDWW2E79sctLnEVyXKwRf+4U/D Wm6cfJivVgYXmlfWd1mxZRc+asbskGpEYynPw= MIME-Version: 1.0 Received: by 10.204.115.67 with SMTP id h3mr6647500bkq.173.1241513645657; Tue, 05 May 2009 01:54:05 -0700 (PDT) In-Reply-To: References: <20090502101405.GA6145@fancy-poultry.org> <49FC9762.6010109@sandeen.net> <49FD2488.70503@sandeen.net> <49FDAA8E.80205@sandeen.net> Date: Tue, 5 May 2009 12:54:05 +0400 Message-ID: X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs From: Alexander Beregalov To: Eric Sandeen Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-bw0-f226.google.com[209.85.218.226] X-Barracuda-Start-Time: 1241513647 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24964 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/5/4 Alexander Beregalov : > 2009/5/3 Eric Sandeen : >> Alexander Beregalov wrote: >>> 2009/5/3 Eric Sandeen : >> ... >> >>>> Does this happen if you try to defrag a single file? =C2=A0i.e. someth= ing like: >>> Yes, it does. >> >> Oh, interesting. =C2=A0I didn't really expect that. =C2=A0The testcase I= provided >> worked for me. =C2=A0Maybe you can provide your kernel .config and I'll = try >> on a 32-bit box (I only tested 64-bit so far). > Attached. Cannot reproduce it on x86_64 as well. From Sagar_Borikar@pmc-sierra.com Tue May 5 04:54: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.1 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 n459sb6M011019 for ; Tue, 5 May 2009 04:54:37 -0500 X-ASG-Debug-ID: 1241517515-16b1029c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from bby1mta03.pmc-sierra.bc.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 469B614720FC for ; Tue, 5 May 2009 02:58:35 -0700 (PDT) Received: from bby1mta03.pmc-sierra.bc.ca (bby1mta03.pmc-sierra.com [216.241.235.118]) by cuda.sgi.com with ESMTP id xQPA77F3DKMrlZsL for ; Tue, 05 May 2009 02:58:35 -0700 (PDT) Received: from bby1mta03.pmc-sierra.bc.ca (localhost.pmc-sierra.bc.ca [127.0.0.1]) by localhost (Postfix) with SMTP id 9B5891070088 for ; Tue, 5 May 2009 02:54:38 -0700 (PDT) Received: from bby1exg02.pmc_nt.nt.pmc-sierra.bc.ca (BBY1EXG02.pmc-sierra.bc.ca [216.241.231.167]) by bby1mta03.pmc-sierra.bc.ca (Postfix) with SMTP id 91A6B107006A for ; Tue, 5 May 2009 02:54:38 -0700 (PDT) Received: from BBY1EXM10.pmc_nt.nt.pmc-sierra.bc.ca ([216.241.231.156]) by bby1exg02.pmc_nt.nt.pmc-sierra.bc.ca with Microsoft SMTPSVC(6.0.3790.3959); Tue, 5 May 2009 02:55:06 -0700 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 X-ASG-Orig-Subj: XFS portion that can be offloaded to hardware Subject: XFS portion that can be offloaded to hardware Date: Tue, 5 May 2009 02:54:36 -0700 Message-ID: <340C71CD25A7EB49BFA81AE8C8392667061588C6@BBY1EXM10.pmc_nt.nt.pmc-sierra.bc.ca> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: XFS portion that can be offloaded to hardware Thread-Index: AcnNZ3+U9+hEY1M4QLmG1a/kmO6OjA== From: "Sagar Borikar" To: X-OriginalArrivalTime: 05 May 2009 09:55:06.0163 (UTC) FILETIME=[91685830:01C9CD67] X-Barracuda-Connect: bby1mta03.pmc-sierra.com[216.241.235.118] X-Barracuda-Start-Time: 1241517516 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.24967 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, We are currently performing feasibility analysis of XFS in a dense video = traffic over IP and PCI. We have chosen XFS to manage the exorbitant = data coming from network and PCI(encoders/decoders) to the system. There = is a requirement to support 32 live as well recording and playback of = video.=20 Just wanted to understand from XFS architecture point of view, whether = we can offload any CPU / memory consuming cumbersome activity of XFS be = offloaded in the hardware to improve the performance and responsiveness = of overall system. If yes, can it be made generic through some interface = layer which can be generic interface but implementation would be file = system specific.=20 Has anyone tried exploring this path before to have custom hardware for = improving XFS performance? All inputs / suggestions are welcome. Thanks Sagar =A0 =A0 From felixb@sgi.com Tue May 5 12:36: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=AWL,BAYES_00 autolearn=unavailable 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 n45HaqJr039463 for ; Tue, 5 May 2009 12:36: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 BF5948F8078 for ; Tue, 5 May 2009 10:36:52 -0700 (PDT) Received: from eagdhcp-232-196.americas.sgi.com (eagdhcp-232-196.americas.sgi.com [128.162.232.196]) by estes.americas.sgi.com (Postfix) with ESMTP id B12237000103 for ; Tue, 5 May 2009 12:36:52 -0500 (CDT) Message-Id: From: Felix Blyakher To: xfs mailing list Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: xfsdump 3.0.1 source tarball released Date: Tue, 5 May 2009 12:36:52 -0500 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 ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsdump-3.0.1.tar.gz This version contains important bug fixes to xfsdump 3.0.0: xfsdump-3.0.1 (5 May 2009) - Update the Makepkgs script to generate proper source tarballs. - Small specfile improvements, thanks to Jan Engelhardt. - Fix parallel builds, thanks to Mike Frysinger. - Various autoconf/libtool fixes, thanks to Andreas Gruenbacher. From felixb@sgi.com Tue May 5 12:36: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 (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 n45HanXD039450 for ; Tue, 5 May 2009 12:36:49 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id 78756AC010 for ; Tue, 5 May 2009 10:36:49 -0700 (PDT) Received: from eagdhcp-232-196.americas.sgi.com (eagdhcp-232-196.americas.sgi.com [128.162.232.196]) by estes.americas.sgi.com (Postfix) with ESMTP id 023877000103 for ; Tue, 5 May 2009 12:36:49 -0500 (CDT) Message-Id: From: Felix Blyakher To: xfs mailing list Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: xfsprogs 3.0.1 source tarball released Date: Tue, 5 May 2009 12:36:48 -0500 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 ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsprogs-3.0.1.tar.gz This version contains important bug fixes and improvements to xfsprogs 3.0.0: xfsprogs-3.0.1 (4 May 2009) - Update the Makepkgs script to generate proper source tarballs. - New project(5) and projid(5) man pages. - Fix extent array reallocation in the xfs_io bmap command, thanks to Tomasz Majkowski. - Small specfile improvements, thanks to Jan Engelhardt. - Allow xfs_freeze to freeze non-XFS filesystems. - Fix the xfs_db bmbta command. - Fix parallel builds, thanks to Mike Frysinger. - Various autoconf/libtool fixes, thanks to Andreas Gruenbacher. From felixb@sgi.com Tue May 5 12:36: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 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 n45HatWY039472 for ; Tue, 5 May 2009 12:36:55 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id E79DB8F8078 for ; Tue, 5 May 2009 10:36:58 -0700 (PDT) Received: from eagdhcp-232-196.americas.sgi.com (eagdhcp-232-196.americas.sgi.com [128.162.232.196]) by estes.americas.sgi.com (Postfix) with ESMTP id D98887000103 for ; Tue, 5 May 2009 12:36:58 -0500 (CDT) Message-Id: <98FF66CA-9981-4F31-B645-4946EE9645D8@sgi.com> From: Felix Blyakher To: xfs mailing list Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: dmapi 2.2.10 source tarball released Date: Tue, 5 May 2009 12:36:58 -0500 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 ftp://oss.sgi.com/projects/xfs/cmd_tars/dmapi-2.2.10.tar.gz This version contains changes since dmapi 2.2.9: dmapi-2.2.10 (5 May 2009) - Update the Makepkgs script to generate proper source tarballs. - Small specfile improvements, thanks to Jan Engelhardt. - Various autoconf/libtool fixes, thanks to Andreas Gruenbacher. From sandeen@sandeen.net Tue May 5 15:35: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 n45KZJ3n052303 for ; Tue, 5 May 2009 15:35:20 -0500 X-ASG-Debug-ID: 1241555721-06ca02210000-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 9070F26406D; Tue, 5 May 2009 13:35:21 -0700 (PDT) Received: from mx2.redhat.com (mx2.redhat.com [66.187.237.31]) by cuda.sgi.com with ESMTP id NbFIZ2i20xdj0mCf; Tue, 05 May 2009 13:35:21 -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 n45KZKUe011882; Tue, 5 May 2009 16:35:21 -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 n45KZKwp022702; Tue, 5 May 2009 16:35:20 -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 n45KZHJH018126; Tue, 5 May 2009 16:35:17 -0400 Message-ID: <4A00A305.2010201@sandeen.net> Date: Tue, 05 May 2009 15:35:17 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: Felix Blyakher CC: xfs mailing list X-ASG-Orig-Subj: Re: xfsprogs 3.0.1 source tarball released Subject: Re: xfsprogs 3.0.1 source tarball released References: In-Reply-To: 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: 1241555722 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25007 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: > ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsprogs-3.0.1.tar.gz > > This version contains important bug fixes and improvements > to xfsprogs 3.0.0: Thanks Felix! RPMs are in Fedora Rawhide now for anyone who cares about that sort of thing. :) -Eric From nscott@aconex.com Tue May 5 21:27: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.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 n462RlRC081314 for ; Tue, 5 May 2009 21:27:47 -0500 X-ASG-Debug-ID: 1241576845-135e007a0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from postoffice2.aconex.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 74E842653BA for ; Tue, 5 May 2009 19:27:26 -0700 (PDT) Received: from postoffice2.aconex.com (mail.aconex.com [203.89.202.182]) by cuda.sgi.com with ESMTP id dhaRzFjnlvm74qNc for ; Tue, 05 May 2009 19:27:26 -0700 (PDT) Received: from postoffice.aconex.com (localhost [127.0.0.1]) by postoffice2.aconex.com (Spam Firewall) with ESMTP id DAC51524592 for ; Wed, 6 May 2009 12:27:17 +1000 (EST) Received: from postoffice.aconex.com (postoffice.yarra.acx [192.168.102.1]) by postoffice2.aconex.com with ESMTP id 7AARmFNmNSRhdDc6 for ; Wed, 06 May 2009 12:27:17 +1000 (EST) Received: from gatekeeper.aconex.com (gatekeeper.yarra.acx [192.168.102.10]) by postoffice.aconex.com (Postfix) with ESMTP id 1B7A52C042 for ; Wed, 6 May 2009 12:25:33 +1000 (EST) Received: from localhost (localhost.localdomain [127.0.0.1]) by gatekeeper.aconex.com (Postfix) with ESMTP id D974FC7BD2 for ; Wed, 6 May 2009 12:31:13 +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 gatekeeper.yarra.acx Received: from gatekeeper.aconex.com ([127.0.0.1]) by localhost (gatekeeper.aconex.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UdtaG8z2I2lJ for ; Wed, 6 May 2009 12:31:09 +1000 (EST) Received: from mail-au.aconex.com (mail-au.aconex.com [192.168.102.12]) by gatekeeper.aconex.com (Postfix) with ESMTP id 23A4CC7A0A for ; Wed, 6 May 2009 12:31:09 +1000 (EST) Date: Wed, 6 May 2009 12:27:12 +1000 (EST) From: Nathan Scott To: xfs@oss.sgi.com Message-ID: <1955797473.4518331241576832973.JavaMail.root@mail-au.aconex.com> X-ASG-Orig-Subj: [PATCH] xfsprogs man page errors Subject: [PATCH] xfsprogs man page errors MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [203.89.192.141] X-Mailer: Zimbra 5.0.13_GA_2791.RHEL5_64 (ZimbraWebClient - [unknown] (Linux)/5.0.13_GA_2791.RHEL5_64) X-Barracuda-Connect: mail.aconex.com[203.89.202.182] X-Barracuda-Start-Time: 1241576847 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25029 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Status: Clean Fixes up some errors reported by lintian... can someone ACK these, & I'll commit 'em along with some Debian packaging updates needed for the revamped build. thanks. -- Nathan diff --git a/man/man8/xfs_estimate.8 b/man/man8/xfs_estimate.8 index 70a2ac6..bb458ec 100644 --- a/man/man8/xfs_estimate.8 +++ b/man/man8/xfs_estimate.8 @@ -101,4 +101,3 @@ directory bsize blocks megabytes logsize % \f4xfs_estimate /var/tmp\f1\f7 /var/tmp will take about 14.0 megabytes .fi -.Ee diff --git a/man/man8/xfs_quota.8 b/man/man8/xfs_quota.8 index 08c354a..f3b54cc 100644 --- a/man/man8/xfs_quota.8 +++ b/man/man8/xfs_quota.8 @@ -619,7 +619,7 @@ of the tree, or if the inode flag is not set. .PP Option .B \-d -can be used to limit recursion level (-1 is infinite, 0 is top level only, +can be used to limit recursion level (\-1 is infinite, 0 is top level only, 1 is first level ... ). Option .B \-p From sandeen@sandeen.net Tue May 5 21:58: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.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 n462wn9j083665 for ; Tue, 5 May 2009 21:58:49 -0500 X-ASG-Debug-ID: 1241578731-130f01910000-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 C9F5F265637 for ; Tue, 5 May 2009 19:58:52 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id 3SGHU4FkYPzkAWui for ; Tue, 05 May 2009 19:58:52 -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 CA9F9A9B0B2; Tue, 5 May 2009 21:58:50 -0500 (CDT) Message-ID: <4A00FCEA.1000301@sandeen.net> Date: Tue, 05 May 2009 21:58:50 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Nathan Scott CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfsprogs man page errors Subject: Re: [PATCH] xfsprogs man page errors References: <1955797473.4518331241576832973.JavaMail.root@mail-au.aconex.com> In-Reply-To: <1955797473.4518331241576832973.JavaMail.root@mail-au.aconex.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: 1241578732 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25031 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 Nathan Scott wrote: > Fixes up some errors reported by lintian... can someone ACK these, > & I'll commit 'em along with some Debian packaging updates needed > for the revamped build. > > thanks. > dunno what .Ee is ... but I'll take lintian's word for it. ACK -Eric From BATV+6a016050d36d73cfb2e8+2082+infradead.org+hch@bombadil.srs.infradead.org Wed May 6 04:33: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 n469XYZg105361 for ; Wed, 6 May 2009 04:33:38 -0500 X-ASG-Debug-ID: 1241602417-543d006b0000-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 2325ED15E4F for ; Wed, 6 May 2009 02:33:37 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id DrkcVbr1Fo1UeUXl for ; Wed, 06 May 2009 02:33:37 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1M1dVQ-0006ws-Ga for xfs@oss.sgi.com; Wed, 06 May 2009 09:33:36 +0000 Date: Wed, 6 May 2009 05:33:36 -0400 From: Christoph Hellwig To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 0/5] fix sync (test 182, grub) Subject: Re: [PATCH 0/5] fix sync (test 182, grub) Message-ID: <20090506093336.GA26680@infradead.org> References: <20090426140305.113371000@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090426140305.113371000@bombadil.infradead.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1241602418 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 Can I motivate anyone for some reviews? On Sun, Apr 26, 2009 at 10:03:05AM -0400, Christoph Hellwig wrote: > 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. > > The patches require Jan Kara's sync rewrite on -fsdevel and lkml > (http://lkml.indiana.edu/hypermail/linux/kernel/0904.2/03643.html) > so that sync actually calls into the filesystem in the correct order > for the various parts of sync activity. > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs ---end quoted text--- From advax@triumf.ca Wed May 6 14:32: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 (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n46JWTIR140650 for ; Wed, 6 May 2009 14:32:30 -0500 X-ASG-Debug-ID: 1241638352-075301b30000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from andrew.triumf.ca (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 989911D13FEE for ; Wed, 6 May 2009 12:32:32 -0700 (PDT) Received: from andrew.triumf.ca (andrew.triumf.ca [142.90.106.59]) by cuda.sgi.com with ESMTP id SS6XsVzIpk7tpRzB for ; Wed, 06 May 2009 12:32:32 -0700 (PDT) Received: from andrew.triumf.ca (localhost [127.0.0.1]) by andrew.triumf.ca (8.12.11.20060308/8.12.11) with ESMTP id n46JWPuM002712; Wed, 6 May 2009 12:32:26 -0700 Received: from localhost (andrew@localhost) by andrew.triumf.ca (8.12.11.20060308/8.12.11/Submit) with ESMTP id n46JWPW7002707; Wed, 6 May 2009 12:32:25 -0700 Date: Wed, 6 May 2009 12:32:25 -0700 (PDT) From: Andrew Daviel X-X-Sender: andrew@andrew.triumf.ca To: xfs@oss.sgi.com, linux-iscsi-users@lists.sourceforge.net X-ASG-Orig-Subj: Problems with XFS on iSCSI in RHEL4 Subject: Problems with XFS on iSCSI in RHEL4 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Barracuda-Connect: andrew.triumf.ca[142.90.106.59] X-Barracuda-Start-Time: 1241638353 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25095 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 A while back (2004) there was some discussion about problems with XFS and iSCSI. I wondered whether the issues had been fixed in later kernels, or whether there is an underlying issue that will not go away. We have been using XFS for our mailstore both on local disks and on ATA Over Ethernet to a CORAID box with no problem. We want to replace the CORAID with a Sun Storage 7410 box, using iSCSI instead of AOE. When I create an ext3 volume on the Sun, things are OK. When I create an XFS volume, after doing mkdir, I get e.g. kernel: Bad page state at free_hot_cold_page (in process 'iscsi-rx', page c1069a20) kernel: Trying to fix it up, but a reboot is needed kernel: Bad page state at free_hot_cold_page (in process 'syslogd', page c1069a20) Scientific Linux SL release 4.6 kernel-smp-2.6.9-78.0.17.EL from kernel-2.6.9-78.0.17.EL.src.rpm includes scsi_transport_iscsi.ko,iscsi_sfnet.ko kernel-module-xfs-2.6.9-78.0.17.ELsmp-0.4-1 from xfs-0.4-1.src.rpm iscsi-initiator-utils-4.0.3.0-6 Also seen on: Scientific Linux SL release 4.5 kernel-smp-2.6.9-55.0.6.EL.i686 kernel-module-xfs-2.6.9-55.0.6.ELsmp-0.1-1.i686 SL is basically the same as CENTOS (compiled from RHEL GPL'd sources) -- Andrew Daviel, TRIUMF, Canada Tel. +1 (604) 222-7376 (Pacific Time) Network Security Manager From nate@houseofnate.net Wed May 6 21:46: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.1 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 n472kJNK166383 for ; Wed, 6 May 2009 21:46:20 -0500 X-ASG-Debug-ID: 1241664381-36e401630000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from millhouse.houseofnate.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 046191D15144 for ; Wed, 6 May 2009 19:46:22 -0700 (PDT) Received: from millhouse.houseofnate.net (dsl092-086-237.bos1.dsl.speakeasy.net [66.92.86.237]) by cuda.sgi.com with ESMTP id PWUSbJn5Rwemjq0m for ; Wed, 06 May 2009 19:46:22 -0700 (PDT) Received: from [66.92.86.237] (dsl092-086-237.bos1.dsl.speakeasy.net [::ffff:66.92.86.237]) (AUTH: LOGIN nturner, TLS: TLSv1/SSLv3,256bits,AES256-SHA) by millhouse.houseofnate.net with esmtp; Wed, 06 May 2009 22:46:20 -0400 id 000000000022545F.000000004A024B7C.00001792 Message-ID: <4A024B7C.4010409@houseofnate.net> Date: Wed, 06 May 2009 22:46:20 -0400 From: "Nathaniel W. Turner" User-Agent: Thunderbird 2.0.0.21 (X11/20090409) MIME-Version: 1.0 To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfs_repair: open filesystem device exclusively Subject: Re: [PATCH] xfs_repair: open filesystem device exclusively References: <49B48B8E.3030602@houseofnate.net> <49B491EA.4090003@houseofnate.net> <20090316212332.GA8496@infradead.org> In-Reply-To: <20090316212332.GA8496@infradead.org> X-Enigmail-Version: 0.95.7 Content-Type: multipart/alternative; boundary="------------030107000307030706040705" X-Barracuda-Connect: dsl092-086-237.bos1.dsl.speakeasy.net[66.92.86.237] X-Barracuda-Start-Time: 1241664383 X-Barracuda-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=HTML_MESSAGE, RDNS_DYNAMIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25121 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 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 This is a multi-part message in MIME format. --------------030107000307030706040705 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit ...just a friendly reminder to look at this again now that 3.0.1 is out. Christoph Hellwig wrote: > On Sun, Mar 08, 2009 at 11:50:02PM -0400, Nathaniel W. Turner wrote: > >> (Error messages could probably be improved to be more user-friendly in >> this new failure case, and it probably wouldn't hurt to add a BLKROGET >> ioctl to check for read-only block devices with read-write permissions, >> but this does the job for me.) >> >> Signed-off-by: Nathaniel W. Turner >> --- >> repair/init.c | 2 ++ >> 1 files changed, 2 insertions(+), 0 deletions(-) >> >> diff --git a/repair/init.c b/repair/init.c >> index 8e508c4..7e5052c 100644 >> --- a/repair/init.c >> +++ b/repair/init.c >> @@ -142,6 +142,8 @@ xfs_init(libxfs_init_t *args) >> args->isreadonly = (LIBXFS_ISREADONLY | LIBXFS_ISINACTIVE); >> else if (dangerously) >> args->isreadonly = (LIBXFS_ISINACTIVE | LIBXFS_DANGEROUSLY); >> + else >> + args->isreadonly = LIBXFS_EXCLUSIVELY; >> > > Given that we skip it for -d and -n this is fine with me. > > I think we might want to delay this change in the way xfs_repair > operates until after we get a 3.0.1 release out with all the build > system fixes (hopefully really soon) > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > -- Nathaniel W. Turner http://houseofnate.net/ --------------030107000307030706040705 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit ...just a friendly reminder to look at this again now that 3.0.1 is out.

Christoph Hellwig wrote:
On Sun, Mar 08, 2009 at 11:50:02PM -0400, Nathaniel W. Turner wrote:
  
(Error messages could probably be improved to be more user-friendly in
this new failure case, and it probably wouldn't hurt to add a BLKROGET
ioctl to check for read-only block devices with read-write permissions,
but this does the job for me.)

Signed-off-by: Nathaniel W. Turner <nate@houseofnate.net>
---
 repair/init.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/repair/init.c b/repair/init.c
index 8e508c4..7e5052c 100644
--- a/repair/init.c
+++ b/repair/init.c
@@ -142,6 +142,8 @@ xfs_init(libxfs_init_t *args)
         args->isreadonly = (LIBXFS_ISREADONLY | LIBXFS_ISINACTIVE);
     else if (dangerously)
         args->isreadonly = (LIBXFS_ISINACTIVE | LIBXFS_DANGEROUSLY);
+    else
+        args->isreadonly = LIBXFS_EXCLUSIVELY;
    

Given that we skip it for -d and -n this is fine with me.

I think we might want to delay this change in the way xfs_repair
operates until after we get a 3.0.1 release out with all the build
system fixes (hopefully really soon)

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
  

-- 
Nathaniel W. Turner
http://houseofnate.net/
--------------030107000307030706040705-- From sandeen@sandeen.net Wed May 6 21:55: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 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 n472tvsB166897 for ; Wed, 6 May 2009 21:55:58 -0500 X-ASG-Debug-ID: 1241664960-36f501a20000-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 37A0F1D15884 for ; Wed, 6 May 2009 19:56:00 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id HD6rDRykr3J9jaVf for ; Wed, 06 May 2009 19: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 9C12BA9B0D6; Wed, 6 May 2009 21:55:59 -0500 (CDT) Message-ID: <4A024DBF.40209@sandeen.net> Date: Wed, 06 May 2009 21:55:59 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: "Nathaniel W. Turner" CC: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH] xfs_repair: open filesystem device exclusively Subject: Re: [PATCH] xfs_repair: open filesystem device exclusively References: <49B48B8E.3030602@houseofnate.net> <49B491EA.4090003@houseofnate.net> In-Reply-To: <49B491EA.4090003@houseofnate.net> 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: 1241664961 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25123 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 Nathaniel W. Turner wrote: > I forgot to mention that this is against xfsprogs 3.0.0. Also, the > indentation was a bit messed up on that last post, so here's the patch > again (all 2 lines of it): > > ---- > > I'm sure there is a better way to fix this, but without this patch, two > xfs_repair processes will happily operate on the same filesystem device > at the same time. It is also possible to mount a filesystem that is in > the process of being repaired. > > This seems like it's probably not ideal, so this patch just modifies > xfs_repair to open the filesystem device with O_EXCL unless it was > invoked in "no modify" or "dangerous" mode. ... > Signed-off-by: Nathaniel W. Turner Christoph already looked I guess, but I'll give this my thumbs-up too :) -Eric > --- > repair/init.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/repair/init.c b/repair/init.c > index 8e508c4..7e5052c 100644 > --- a/repair/init.c > +++ b/repair/init.c > @@ -142,6 +142,8 @@ xfs_init(libxfs_init_t *args) > args->isreadonly = (LIBXFS_ISREADONLY | LIBXFS_ISINACTIVE); > else if (dangerously) > args->isreadonly = (LIBXFS_ISINACTIVE | LIBXFS_DANGEROUSLY); > + else > + args->isreadonly = LIBXFS_EXCLUSIVELY; > > if (!libxfs_init(args)) > do_error(_("couldn't initialize XFS library\n")); > From tim@timsesow.com Thu May 7 16:46: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 (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n47LkWXO228952 for ; Thu, 7 May 2009 16:46:33 -0500 X-ASG-Debug-ID: 1241733041-3edd01790000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mout.perfora.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8D7211480222 for ; Thu, 7 May 2009 14:50:42 -0700 (PDT) Received: from mout.perfora.net (mout.perfora.net [74.208.4.195]) by cuda.sgi.com with ESMTP id B2UuHf7cDamxp3fu for ; Thu, 07 May 2009 14:50:42 -0700 (PDT) Received: from [192.168.2.104] (71-211-232-6.hlrn.qwest.net [71.211.232.6]) by mrelay.perfora.net (node=mrus1) with ESMTP (Nemesis) id 0MKpCa-1M2BPw3RD3-000cv2; Thu, 07 May 2009 17:46:16 -0400 Message-ID: <4A0356A5.3040408@timsesow.com> Date: Thu, 07 May 2009 15:46:13 -0600 From: Tim Sesow User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) MIME-Version: 1.0 To: Andrew Daviel CC: xfs@oss.sgi.com, linux-iscsi-users@lists.sourceforge.net X-ASG-Orig-Subj: Re: Problems with XFS on iSCSI in RHEL4 Subject: Re: Problems with XFS on iSCSI in RHEL4 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V01U2FsdGVkX1+SQ9XfBWR0EX6kFAA6fxtmE8EXm9FzaduQ7EP 8ECedW6Pm+yrHOkrV52KduCNu4bSg6ih9FJDMgMS3EffEo2zfU HbmZ23RXD/KedyUOlklJQ== X-Barracuda-Connect: mout.perfora.net[74.208.4.195] X-Barracuda-Start-Time: 1241733045 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25193 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 For what it is worth: I run three systems, one 32-bit and two 64-bit, with 2.6.24-rc3 kernels on them, using iSCSI storage running under OpenFiler as storage for XFS volumes. The systems started out as CentOS 4.6 distributions. Two of the volumes are less than 1TByte in size (300GB and 800GB). The third volume under LVM and is 45TBytes in size (several multi-terabyte volumes merged into one LVM volume group). The smaller volumes have been running for several months, the large volume only for about a month now. I haven't encountered any problems creating or using those volumes with XFS. The 45TByte volume also uses DMAPI as a mount option. Andrew Daviel wrote: > > A while back (2004) there was some discussion about problems with XFS > and iSCSI. > > I wondered whether the issues had been fixed in later kernels, or > whether there is an underlying issue that will not go away. > > We have been using XFS for our mailstore both on local disks and on > ATA Over Ethernet to a CORAID box with no problem. > We want to replace the CORAID with a Sun Storage 7410 box, using iSCSI > instead of AOE. > > When I create an ext3 volume on the Sun, things are OK. > When I create an XFS volume, after doing mkdir, I get e.g. > kernel: Bad page state at free_hot_cold_page (in process 'iscsi-rx', > page c1069a20) > kernel: Trying to fix it up, but a reboot is needed > kernel: Bad page state at free_hot_cold_page (in process 'syslogd', > page c1069a20) > > Scientific Linux SL release 4.6 > kernel-smp-2.6.9-78.0.17.EL from kernel-2.6.9-78.0.17.EL.src.rpm > includes scsi_transport_iscsi.ko,iscsi_sfnet.ko > kernel-module-xfs-2.6.9-78.0.17.ELsmp-0.4-1 from xfs-0.4-1.src.rpm > iscsi-initiator-utils-4.0.3.0-6 > > Also seen on: > Scientific Linux SL release 4.5 > kernel-smp-2.6.9-55.0.6.EL.i686 > kernel-module-xfs-2.6.9-55.0.6.ELsmp-0.1-1.i686 > > SL is basically the same as CENTOS (compiled from RHEL GPL'd sources) > > From sandeen@sandeen.net Thu May 7 18: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.1 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_28, J_CHICKENPOX_47,J_CHICKENPOX_54 autolearn=no version=3.3.0-rupdated Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n47NXDk9235853 for ; Thu, 7 May 2009 18:33:13 -0500 X-ASG-Debug-ID: 1241739196-250500bd0000-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 9FEA01D1AD99 for ; Thu, 7 May 2009 16:33:16 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id RHrYaBz3mo1vs79j for ; Thu, 07 May 2009 16:33: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 5085FA9B0D5; Thu, 7 May 2009 18:33:16 -0500 (CDT) Message-ID: <4A036FBC.9020201@sandeen.net> Date: Thu, 07 May 2009 18:33:16 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Alexander Beregalov CC: Linux Kernel Mailing List , Kernel Testers List , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs 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: 1241739197 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25199 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 Alexander Beregalov wrote: > # xfs_db -r /dev/sdc1 > xfs_db> frag > actual 23805, ideal 22890, fragmentation factor 3.84% > # xfs_fsr -v /dev/sdc1 > /mnt/c start inode=0 > ino=158 > extents before:3 after:1 DONE ino=158 > > then it hangs Ok, yep with the testcase I proposed I see this on the fedora 2.6.30-rc4.git3 x86 kernel as well: # for I in `seq 10 -1 0`; do dd if=/dev/zero of=fragfile bs=4k count=1 seek=$I conv=notrunc oflag=sync done # xfs_fsr fragfile ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- xfs_fsr/1459 is trying to release lock (&(&ip->i_iolock)->mr_lock) at: [] xfs_iunlock+0x2c/0x92 [xfs] but there are no more locks to release! other info that might help us debug this: no locks held by xfs_fsr/1459. stack backtrace: Pid: 1459, comm: xfs_fsr Not tainted 2.6.30-0.78.rc4.git3.fc12.i586 #1 Call Trace: [] ? printk+0x22/0x3c [] print_unlock_inbalance_bug+0xb3/0xd1 [] ? xfs_iunlock+0x2c/0x92 [xfs] [] lock_release+0xd0/0x1a6 [] up_write+0x29/0x50 [] xfs_iunlock+0x2c/0x92 [xfs] [] xfs_swap_extents+0x427/0x4cc [xfs] [] xfs_swapext+0xda/0x11c [xfs] [] ? kobject_uevent_init+0x30/0x6d [] xfs_file_ioctl+0x4ac/0x67e [xfs] [] ? avc_has_perm_noaudit+0x3b1/0x3cc [] ? xfs_file_ioctl+0x0/0x67e [xfs] [] vfs_ioctl+0x29/0x91 [] do_vfs_ioctl+0x496/0x4e3 [] ? kobject_uevent_init+0x30/0x6d [] ? selinux_file_ioctl+0x4d/0x62 [] ? kobject_uevent_init+0x30/0x6d [] sys_ioctl+0x55/0x86 [] ? syscall_trace_enter+0xea/0x10f [] syscall_call+0x7/0xb [] ? kobject_uevent_init+0x30/0x6d there are 2 subsequent unlocks for the same inode: 1: xfs_iunlock: ip ca2304c0 ino 132 flags 0x5 Pid: 3648, comm: xfs_fsr Not tainted 2.6.30-0.78.rc4.git3.fc12.i586 #1 Call Trace: [] xfs_iunlock+0x38/0xb9 [xfs] [] xfs_iput+0x20/0x40 [xfs] [] xfs_inode_item_unlock+0x82/0x97 [xfs] [] xfs_trans_unlock_chunk+0x96/0xe1 [xfs] [] xfs_trans_unlock_items+0x4f/0xd4 [xfs] [] _xfs_trans_commit+0x275/0x307 [xfs] [] xfs_swap_extents+0x403/0x4cc [xfs] [] xfs_swapext+0xda/0x11c [xfs] [] xfs_file_ioctl+0x4ac/0x67e [xfs] [] vfs_ioctl+0x29/0x91 [] do_vfs_ioctl+0x496/0x4e3 [] sys_ioctl+0x55/0x86 [] syscall_call+0x7/0xb 2: xfs_iunlock: ip ca230980 ino 131 flags 0x5 Pid: 3648, comm: xfs_fsr Not tainted 2.6.30-0.78.rc4.git3.fc12.i586 #1 Call Trace: [] xfs_iunlock+0x38/0xb9 [xfs] [] xfs_swap_extents+0x427/0x4cc [xfs] [] xfs_swapext+0xda/0x11c [xfs] [] xfs_file_ioctl+0x4ac/0x67e [xfs] [] vfs_ioctl+0x29/0x91 [] do_vfs_ioctl+0x496/0x4e3 [] sys_ioctl+0x55/0x86 [] syscall_call+0x7/0xb Looking into it ... not sure offhand what caused this. -Eric From sandeen@sandeen.net Thu May 7 18:55: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.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 n47NtjQ9237228 for ; Thu, 7 May 2009 18:55:45 -0500 X-ASG-Debug-ID: 1241740548-7c0801040000-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 7EBA226F79A for ; Thu, 7 May 2009 16:55:48 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id lZC36DLyQ9ex4nil for ; Thu, 07 May 2009 16:55:48 -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 ECF9DA9BF22; Thu, 7 May 2009 18:55:47 -0500 (CDT) Message-ID: <4A037503.1070904@sandeen.net> Date: Thu, 07 May 2009 18:55:47 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Alexander Beregalov CC: Kernel Testers List , Linux Kernel Mailing List , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs References: <4A036FBC.9020201@sandeen.net> In-Reply-To: <4A036FBC.9020201@sandeen.net> 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: 1241740549 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25201 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: > there are 2 subsequent unlocks for the same inode: > > 1: > xfs_iunlock: ip ca2304c0 ino 132 flags 0x5 ... > 2: > xfs_iunlock: ip ca230980 ino 131 flags 0x5 Ugh no, those are 2 different inodes.... I can read, really. :) still, looking into it. -Eric From sandeen@sandeen.net Thu May 7 19:45: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.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 n480jXXL239930 for ; Thu, 7 May 2009 19:45:33 -0500 X-ASG-Debug-ID: 1241743537-25f102140000-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 8A8351D1B3A7 for ; Thu, 7 May 2009 17:45:37 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id ArYROYi8XQj8cHZ1 for ; Thu, 07 May 2009 17:45:37 -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 C5B24A9B0C9; Thu, 7 May 2009 19:45:36 -0500 (CDT) Message-ID: <4A0380B0.1050101@sandeen.net> Date: Thu, 07 May 2009 19:45:36 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs@oss.sgi.com, Alexander Beregalov X-ASG-Orig-Subj: Re: [PATCH 03/17] xfs: cleanup handling in xfs_swap_extents Subject: Re: [PATCH 03/17] xfs: cleanup handling in xfs_swap_extents References: <20090126073136.384490000@bombadil.infradead.org> <20090126073200.459094000@bombadil.infradead.org> In-Reply-To: <20090126073200.459094000@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: 1241743537 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25203 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: > Use multiple lables for proper error unwinding and get rid of some now > superflous variables. > > > Signed-off-by: Josef 'Jeff' Sipek > Reviewed-by: Christoph Hellwig Problem in this patch, I think, getting hangs on x86 fsr... > Index: xfs/fs/xfs/xfs_dfrag.c > =================================================================== > --- xfs.orig/fs/xfs/xfs_dfrag.c 2008-12-19 15:02:54.003908425 +0100 > +++ xfs/fs/xfs/xfs_dfrag.c 2008-12-22 15:59:55.013247371 +0100 > @@ -352,19 +344,19 @@ xfs_swap_extents( > * If this is a synchronous mount, make sure that the > * transaction goes to disk before returning to the user. > */ > - if (mp->m_flags & XFS_MOUNT_WSYNC) { > + if (mp->m_flags & XFS_MOUNT_WSYNC) > xfs_trans_set_sync(tp); > - } > > error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); > - locked = 0; old code said "unlocked" here thanks to the trans commit ... > - error0: > - if (locked) { > - xfs_iunlock(ip, lock_flags); > - xfs_iunlock(tip, lock_flags); > - } and so we wouldn't unlock again ... > - if (tempifp != NULL) > - kmem_free(tempifp); > +out_unlock: > + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); But now we do it unconditionally, and ruh-roh. > +out: > + kmem_free(tempifp); > return error; > + > +out_trans_cancel: > + xfs_trans_cancel(tp, 0); > + goto out_unlock; > } Is this too ugly a fix? XFS: Fix double unlock of inodes in xfs_swap_extents() commit ef8f7fc549bf345d92f396f5aa7b152b4969cbf7 had an error where we would try to re-unlock the inodes after they had been committed in the transaction; this double unlock caused a ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- xfs_fsr/1459 is trying to release lock (&(&ip->i_iolock)->mr_lock) at: [] xfs_iunlock+0x2c/0x92 [xfs] but there are no more locks to release! Signed-off-by: Eric Sandeen --- Index: linux-2.6/fs/xfs/xfs_dfrag.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_dfrag.c +++ linux-2.6/fs/xfs/xfs_dfrag.c @@ -347,13 +347,15 @@ xfs_swap_extents( error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); -out_unlock: - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); out: kmem_free(tempifp); return error; +out_unlock: + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + goto out; + out_trans_cancel: xfs_trans_cancel(tp, 0); goto out_unlock; From felixb@sgi.com Thu May 7 20:04: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 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 n4814HAX241211 for ; Thu, 7 May 2009 20:04:18 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id 47B17AC002 for ; Thu, 7 May 2009 18:04:19 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id 959DC7000103; Thu, 7 May 2009 20:04:18 -0500 (CDT) Cc: Alexander Beregalov , Kernel Testers List , Linux Kernel Mailing List , xfs@oss.sgi.com Message-Id: From: Felix Blyakher To: Eric Sandeen In-Reply-To: <4A037503.1070904@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: 2.6.30-rc4: xfs_fsr hangs Date: Thu, 7 May 2009 20:04:17 -0500 References: <4A036FBC.9020201@sandeen.net> <4A037503.1070904@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 May 7, 2009, at 6:55 PM, Eric Sandeen wrote: > Eric Sandeen wrote: > >> there are 2 subsequent unlocks for the same inode: >> >> 1: >> xfs_iunlock: ip ca2304c0 ino 132 flags 0x5 > > ... > >> 2: >> xfs_iunlock: ip ca230980 ino 131 flags 0x5 > > > Ugh no, those are 2 different inodes.... I can read, really. :) > still, > looking into it. I've been chasing this as well, and I found the double xfs iolock unlock which is causing xfs_fsr deadlock itself. I have a fix tested. The patch is coming. Felix > > > -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 sandeen@sandeen.net Thu May 7 20:09: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 (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id n4819bo1241533 for ; Thu, 7 May 2009 20:09:37 -0500 X-ASG-Debug-ID: 1241744981-7c5001fc0000-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 8CB6126F34F for ; Thu, 7 May 2009 18:09:41 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id zXd9gDCIdu2cCyvm for ; Thu, 07 May 2009 18:09:41 -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 E852AA9B0CF; Thu, 7 May 2009 20:09:37 -0500 (CDT) Message-ID: <4A038651.5010202@sandeen.net> Date: Thu, 07 May 2009 20:09:37 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Felix Blyakher CC: Alexander Beregalov , Kernel Testers List , Linux Kernel Mailing List , xfs@oss.sgi.com X-ASG-Orig-Subj: Re: 2.6.30-rc4: xfs_fsr hangs Subject: Re: 2.6.30-rc4: xfs_fsr hangs References: <4A036FBC.9020201@sandeen.net> <4A037503.1070904@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: 1241744981 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25205 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: > I've been chasing this as well, and I found the double xfs iolock > unlock which is causing xfs_fsr deadlock itself. I have a fix tested. > The patch is coming. > > Felix > Oh :) I just sent this one to the list ... :) XFS: Fix double unlock of inodes in xfs_swap_extents() commit ef8f7fc549bf345d92f396f5aa7b152b4969cbf7 had an error where we would try to re-unlock the inodes after they had been committed in the transaction; this double unlock caused a ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- xfs_fsr/1459 is trying to release lock (&(&ip->i_iolock)->mr_lock) at: [] xfs_iunlock+0x2c/0x92 [xfs] but there are no more locks to release! Signed-off-by: Eric Sandeen --- Index: linux-2.6/fs/xfs/xfs_dfrag.c =================================================================== --- linux-2.6.orig/fs/xfs/xfs_dfrag.c +++ linux-2.6/fs/xfs/xfs_dfrag.c @@ -347,13 +347,15 @@ xfs_swap_extents( error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); -out_unlock: - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); out: kmem_free(tempifp); return error; +out_unlock: + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + goto out; + out_trans_cancel: xfs_trans_cancel(tp, 0); goto out_unlock; From sandeen@sandeen.net Thu May 7 20:12: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.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 n481CQXo241638 for ; Thu, 7 May 2009 20:12:27 -0500 X-ASG-Debug-ID: 1241745400-3715014c0000-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 9E26D1252069 for ; Thu, 7 May 2009 18:16:41 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id XsRivOdcusEmXqXJ for ; Thu, 07 May 2009 18:16:41 -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 25D7BA9B0C4 for ; Thu, 7 May 2009 20:12:30 -0500 (CDT) Message-ID: <4A0386FD.7000108@sandeen.net> Date: Thu, 07 May 2009 20:12:29 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: xfs-oss X-ASG-Orig-Subj: [PATCH] xfstests 042: point xfs_fsr right at the fragmented file Subject: [PATCH] xfstests 042: point xfs_fsr right at the fragmented file 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: 1241745401 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25206 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 Somehow 042 as it stands isn't actually defragging the fragmented file we created (see 042.full post-run) Probably need to look into that as well, but for now this should make the call to fsr actually _do_ something. This has let 2 fsr bugs slip through qa in the past few months. :( Signed-off-by: Eric Sandeen --- diff --git a/042 b/042 index 6628040..1ad81e4 100755 --- a/042 +++ b/042 @@ -114,7 +114,7 @@ _do "sum $SCRATCH_MNT/fragmented >$tmp.sum1" _do "Remove other files" "rm -rf $SCRATCH_MNT/{pad,hole*}" # defragment -_do "Run xfs_fsr on filesystem" "$XFS_FSR_PROG -v $SCRATCH_DEV" +_do "Run xfs_fsr on filesystem" "$XFS_FSR_PROG -v $SCRATCH_MNT/fragmented" _do "xfs_bmap -v $SCRATCH_MNT/fragmented" _do "Check 4k files" "src/fill2fs_check $tmp.manifest" From felixb@sgi.com Thu May 7 20:13: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 n481DLSh241690 for ; Thu, 7 May 2009 20:13:21 -0500 Received: from attica.americas.sgi.com (attica.americas.sgi.com [128.162.236.44]) by relay2.corp.sgi.com (Postfix) with ESMTP id 16B883040FC; Thu, 7 May 2009 18:13:23 -0700 (PDT) Received: by attica.americas.sgi.com (Postfix, from userid 29043) id E149DA0BB90D; Thu, 7 May 2009 20:13:22 -0500 (CDT) From: Felix Blyakher To: xfs@oss.sgi.com Cc: linux-kernel@vger.kernel.org, a.beregalov@gmail.com, kernel-testers@vger.kernel.org, Felix Blyakher Subject: [PATCH] xfs: fix double unlock in xfs_swap_extents() Date: Thu, 7 May 2009 20:13:22 -0500 Message-Id: <1241745202-7452-1-git-send-email-felixb@sgi.com> X-Mailer: git-send-email 1.5.4.rc3 X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean Regreesion from commit ef8f7fc, which rearranged the code in xfs_swap_extents() leading to double unlock of xfs inode iolock. That resulted in xfs_fsr deadlocking itself on platforms, which don't handle double unlock of rw_semaphore nicely. It caused the count go negative, which represents the write holder, without really having one. ia64 is one of the platforms where deadlock was easily reproduced and the fix was tested. Signed-off-by: Felix Blyakher --- fs/xfs/xfs_dfrag.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/fs/xfs/xfs_dfrag.c b/fs/xfs/xfs_dfrag.c index e6d839b..7465f9e 100644 --- a/fs/xfs/xfs_dfrag.c +++ b/fs/xfs/xfs_dfrag.c @@ -347,13 +347,15 @@ xfs_swap_extents( error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); -out_unlock: - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); out: kmem_free(tempifp); return error; +out_unlock: + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + goto out; + out_trans_cancel: xfs_trans_cancel(tp, 0); goto out_unlock; -- 1.5.4.rc3 From felixb@sgi.com Thu May 7 20: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 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 n481Hkx8241862 for ; Thu, 7 May 2009 20:17:46 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay3.corp.sgi.com (Postfix) with ESMTP id D5EF7AC002 for ; Thu, 7 May 2009 18:17:50 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id 575747000103; Thu, 7 May 2009 20:17:50 -0500 (CDT) Cc: Alexander Beregalov , Kernel Testers List , Linux Kernel Mailing List , xfs@oss.sgi.com Message-Id: From: Felix Blyakher To: Eric Sandeen In-Reply-To: <4A038651.5010202@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: 2.6.30-rc4: xfs_fsr hangs Date: Thu, 7 May 2009 20:17:49 -0500 References: <4A036FBC.9020201@sandeen.net> <4A037503.1070904@sandeen.net> <4A038651.5010202@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 May 7, 2009, at 8:09 PM, Eric Sandeen wrote: > Felix Blyakher wrote: > >> I've been chasing this as well, and I found the double xfs iolock >> unlock which is causing xfs_fsr deadlock itself. I have a fix tested. >> The patch is coming. >> >> Felix >> > Oh :) I just sent this one to the list ... :) Oh :) And I did as well. And guess what, the fix is exactly the same. Great minds think alike :) Felix > > > XFS: Fix double unlock of inodes in xfs_swap_extents() > > commit ef8f7fc549bf345d92f396f5aa7b152b4969cbf7 had an error > where we would try to re-unlock the inodes after they had been > committed in the transaction; this double unlock caused a > > ===================================== > [ BUG: bad unlock balance detected! ] > ------------------------------------- > xfs_fsr/1459 is trying to release lock (&(&ip->i_iolock)->mr_lock) at: > [] xfs_iunlock+0x2c/0x92 [xfs] > but there are no more locks to release! > > Signed-off-by: Eric Sandeen > --- > > Index: linux-2.6/fs/xfs/xfs_dfrag.c > =================================================================== > --- linux-2.6.orig/fs/xfs/xfs_dfrag.c > +++ linux-2.6/fs/xfs/xfs_dfrag.c > @@ -347,13 +347,15 @@ xfs_swap_extents( > > error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); > > -out_unlock: > - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > out: > kmem_free(tempifp); > return error; > > +out_unlock: > + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + goto out; > + > out_trans_cancel: > xfs_trans_cancel(tp, 0); > goto out_unlock; > > > > > > -- > 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 sandeen@sandeen.net Thu May 7 21:57: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 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 n482v6Yj247632 for ; Thu, 7 May 2009 21:57:07 -0500 X-ASG-Debug-ID: 1241751680-114900fc0000-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 0D70914810AD for ; Thu, 7 May 2009 20:01:20 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id WBgedN47IjEhnCJE for ; Thu, 07 May 2009 20:01:20 -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 74F2AA9B0C7; Thu, 7 May 2009 21:57:09 -0500 (CDT) Message-ID: <4A039F85.8010506@sandeen.net> Date: Thu, 07 May 2009 21:57:09 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Felix Blyakher CC: xfs@oss.sgi.com, kernel-testers@vger.kernel.org, linux-kernel@vger.kernel.org, a.beregalov@gmail.com X-ASG-Orig-Subj: Re: [PATCH] xfs: fix double unlock in xfs_swap_extents() Subject: Re: [PATCH] xfs: fix double unlock in xfs_swap_extents() References: <1241745202-7452-1-git-send-email-felixb@sgi.com> In-Reply-To: <1241745202-7452-1-git-send-email-felixb@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: 1241751682 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25212 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: > Regreesion from commit ef8f7fc, which rearranged the code in > xfs_swap_extents() leading to double unlock of xfs inode iolock. > That resulted in xfs_fsr deadlocking itself on platforms, which > don't handle double unlock of rw_semaphore nicely. It caused the > count go negative, which represents the write holder, without > really having one. ia64 is one of the platforms where deadlock > was easily reproduced and the fix was tested. > > Signed-off-by: Felix Blyakher Also-written-by: Eric Sandeen Independently-arrived-at-by: Eric Sandeen ;) But seriously ... Reviewed-by: Eric Sandeen > --- > fs/xfs/xfs_dfrag.c | 8 +++++--- > 1 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/fs/xfs/xfs_dfrag.c b/fs/xfs/xfs_dfrag.c > index e6d839b..7465f9e 100644 > --- a/fs/xfs/xfs_dfrag.c > +++ b/fs/xfs/xfs_dfrag.c > @@ -347,13 +347,15 @@ xfs_swap_extents( > > error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); > > -out_unlock: > - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > out: > kmem_free(tempifp); > return error; > > +out_unlock: > + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + goto out; > + > out_trans_cancel: > xfs_trans_cancel(tp, 0); > goto out_unlock; From felixb@sgi.com Fri May 8 00:20: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 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 n485K7A4259404 for ; Fri, 8 May 2009 00:20:07 -0500 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id DA0CB8F80E6 for ; Thu, 7 May 2009 22:20:08 -0700 (PDT) Received: from [IPv6???1] (sshgate.corp.sgi.com [198.149.20.12]) by estes.americas.sgi.com (Postfix) with ESMTP id 6D1E47000103; Fri, 8 May 2009 00:20:08 -0500 (CDT) Cc: xfs@oss.sgi.com, kernel-testers@vger.kernel.org, linux-kernel@vger.kernel.org, a.beregalov@gmail.com Message-Id: <9375AA94-2051-42CB-A7EB-9A32E3F94A24@sgi.com> From: Felix Blyakher To: Eric Sandeen In-Reply-To: <4A039F85.8010506@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: [PATCH] xfs: fix double unlock in xfs_swap_extents() Date: Fri, 8 May 2009 00:20:06 -0500 References: <1241745202-7452-1-git-send-email-felixb@sgi.com> <4A039F85.8010506@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 May 7, 2009, at 9:57 PM, Eric Sandeen wrote: > Felix Blyakher wrote: >> Regreesion from commit ef8f7fc, which rearranged the code in >> xfs_swap_extents() leading to double unlock of xfs inode iolock. >> That resulted in xfs_fsr deadlocking itself on platforms, which >> don't handle double unlock of rw_semaphore nicely. It caused the >> count go negative, which represents the write holder, without >> really having one. ia64 is one of the platforms where deadlock >> was easily reproduced and the fix was tested. >> >> Signed-off-by: Felix Blyakher > > Also-written-by: Eric Sandeen > Independently-arrived-at-by: Eric Sandeen That would make it: Signed-off-by: Eric Sandeen :) > ;) > > But seriously ... Seriously. Felix > > > Reviewed-by: Eric Sandeen > >> --- >> fs/xfs/xfs_dfrag.c | 8 +++++--- >> 1 files changed, 5 insertions(+), 3 deletions(-) >> >> diff --git a/fs/xfs/xfs_dfrag.c b/fs/xfs/xfs_dfrag.c >> index e6d839b..7465f9e 100644 >> --- a/fs/xfs/xfs_dfrag.c >> +++ b/fs/xfs/xfs_dfrag.c >> @@ -347,13 +347,15 @@ xfs_swap_extents( >> >> error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); >> >> -out_unlock: >> - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); >> - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); >> out: >> kmem_free(tempifp); >> return error; >> >> +out_unlock: >> + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); >> + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); >> + goto out; >> + >> out_trans_cancel: >> xfs_trans_cancel(tp, 0); >> goto out_unlock; > > -- > 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 felixb@oss.sgi.com Fri May 8 00:33:59 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 n485XxFB260043 for ; Fri, 8 May 2009 00:33:59 -0500 Received: (from felixb@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id n485XuOg260013; Fri, 8 May 2009 00:33:56 -0500 Date: Fri, 8 May 2009 00:33:56 -0500 Message-Id: <200905080533.n485XuOg260013@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.28-rc3-20853-gec91d13 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 6321e3ed2acf3ee9643cdd403e1c88605d7944ba X-Git-Newrev: ec91d1335f478c5cd089d82ffbf936075c5f24c8 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 ec91d13 xfs: fix double unlock in xfs_swap_extents() from 6321e3ed2acf3ee9643cdd403e1c88605d7944ba (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 ec91d1335f478c5cd089d82ffbf936075c5f24c8 Author: Felix Blyakher Date: Thu May 7 19:49:45 2009 -0500 xfs: fix double unlock in xfs_swap_extents() Regreesion from commit ef8f7fc, which rearranged the code in xfs_swap_extents() leading to double unlock of xfs inode ilock. That resulted in xfs_fsr deadlocking itself on platforms, which don't handle double unlock of rw_semaphore nicely. It caused the count go negative, which represents the write holder, without really having one. ia64 is one of the platforms where deadlock was easily reproduced and the fix was tested. Signed-off-by: Eric Sandeen Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_dfrag.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) hooks/post-receive -- XFS development tree From BATV+48b9a887b159b2edd7b4+2084+infradead.org+hch@bombadil.srs.infradead.org Fri May 8 01:26: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 n486Qtev001201 for ; Fri, 8 May 2009 01:26:58 -0500 X-ASG-Debug-ID: 1241764019-5f3201b90000-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 025A22705E9 for ; Thu, 7 May 2009 23:26:59 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id Wu8H27zBUvSyipXX for ; Thu, 07 May 2009 23:26:59 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1M2JXu-0002vM-Nb; Fri, 08 May 2009 06:26:58 +0000 Date: Fri, 8 May 2009 02:26:58 -0400 From: Christoph Hellwig To: Eric Sandeen Cc: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] xfstests 042: point xfs_fsr right at the fragmented file Subject: Re: [PATCH] xfstests 042: point xfs_fsr right at the fragmented file Message-ID: <20090508062658.GA1689@infradead.org> References: <4A0386FD.7000108@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A0386FD.7000108@sandeen.net> 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: 1241764020 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, May 07, 2009 at 08:12:29PM -0500, Eric Sandeen wrote: > Somehow 042 as it stands isn't actually defragging the fragmented > file we created (see 042.full post-run) > > Probably need to look into that as well, but for now this should > make the call to fsr actually _do_ something. > > This has let 2 fsr bugs slip through qa in the past few months. :( Looks good. Can you open a bugzilla for the problem of fsr not actually finding the fragmented file so that we don't forget about that one? From BATV+48b9a887b159b2edd7b4+2084+infradead.org+hch@bombadil.srs.infradead.org Fri May 8 01:28: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 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 n486SF4D001290 for ; Fri, 8 May 2009 01:28:15 -0500 X-ASG-Debug-ID: 1241764099-5f1002680000-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 13DF82705F1; Thu, 7 May 2009 23:28:19 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) by cuda.sgi.com with ESMTP id caL8ZROcQ10cGJjA; Thu, 07 May 2009 23:28:19 -0700 (PDT) X-ASG-Whitelist: Client Received: from hch by bombadil.infradead.org with local (Exim 4.69 #1 (Red Hat Linux)) id 1M2JZD-00038A-KY; Fri, 08 May 2009 06:28:19 +0000 Date: Fri, 8 May 2009 02:28:19 -0400 From: Christoph Hellwig To: Felix Blyakher Cc: xfs@oss.sgi.com, kernel-testers@vger.kernel.org, linux-kernel@vger.kernel.org, a.beregalov@gmail.com X-ASG-Orig-Subj: Re: [PATCH] xfs: fix double unlock in xfs_swap_extents() Subject: Re: [PATCH] xfs: fix double unlock in xfs_swap_extents() Message-ID: <20090508062819.GB1689@infradead.org> References: <1241745202-7452-1-git-send-email-felixb@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1241745202-7452-1-git-send-email-felixb@sgi.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: bombadil.infradead.org[18.85.46.34] X-Barracuda-Start-Time: 1241764100 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 patch looks good, but a little nitpick: On Thu, May 07, 2009 at 08:13:22PM -0500, Felix Blyakher wrote: > out: > kmem_free(tempifp); > return error; > > +out_unlock: > + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + goto out; > + > out_trans_cancel: > xfs_trans_cancel(tp, 0); > goto out_unlock; this would be more readable as: out_trans_cancel: xfs_trans_cancel(tp, 0); out_unlock: xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); goto out; From sandeen@sandeen.net Fri May 8 07:43: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.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 n48ChqgW016859 for ; Fri, 8 May 2009 07:43:52 -0500 X-ASG-Debug-ID: 1241786636-130a01ff0000-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 C97CF1D1CAFE for ; Fri, 8 May 2009 05:43:56 -0700 (PDT) Received: from mail.sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id Gbhkq7jltxlZhlby for ; Fri, 08 May 2009 05:43:56 -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 A11E7AC358C; Fri, 8 May 2009 07:43:55 -0500 (CDT) Message-ID: <4A04290B.7020309@sandeen.net> Date: Fri, 08 May 2009 07:43:55 -0500 From: Eric Sandeen User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Christoph Hellwig CC: xfs-oss X-ASG-Orig-Subj: Re: [PATCH] xfstests 042: point xfs_fsr right at the fragmented file Subject: Re: [PATCH] xfstests 042: point xfs_fsr right at the fragmented file References: <4A0386FD.7000108@sandeen.net> <20090508062658.GA1689@infradead.org> In-Reply-To: <20090508062658.GA1689@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: 1241786636 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.25239 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 Thu, May 07, 2009 at 08:12:29PM -0500, Eric Sandeen wrote: >> Somehow 042 as it stands isn't actually defragging the fragmented >> file we created (see 042.full post-run) >> >> Probably need to look into that as well, but for now this should >> make the call to fsr actually _do_ something. >> >> This has let 2 fsr bugs slip through qa in the past few months. :( > > Looks good. Can you open a bugzilla for the problem of fsr not actually > finding the fragmented file so that we don't forget about that one? > Good idea and done: http://oss.sgi.com/bugzilla/show_bug.cgi?id=821 -Eric From martin.geng@martinlinkingbiz.com Fri May 8 19:05:21 2009 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 n4905IaU038516 for ; Fri, 8 May 2009 19:05:19 -0500 X-ASG-Debug-ID: 1241827774-0e4901700000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from www.martinlinkingbiz.com (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 31AF1F7CF18 for ; Fri, 8 May 2009 17:09:34 -0700 (PDT) Received: from www.martinlinkingbiz.com ([67.222.146.102]) by cuda.sgi.com with ESMTP id zLVrIKqidfU4UG2z for ; Fri, 08 May 2009 17:09:34 -0700 (PDT) Received: (qmail 11887 invoked by uid 0); 8 May 2009 18:15:35 -0000 Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=private; d=martinlinkingbiz.com; b=EsbfGqeKLn4wUQnUSqM6hqsrSFItyI4Byt/fxK449yWQbwiQcetUZ7iZsZaQ46VQ; Received: from unknown (HELO MartinThinkpad) (martin.geng@martinlinkingbiz.com@125.71.96.45) by 67.222.146.102 with ESMTPA; 8 May 2009 18:14:52 -0000 Reply-To: From: "Martin Geng" To: "Martin Geng" X-ASG-Orig-Subj: =?gb2312?B?QmVzdCBQcmFjdGljZXMgZm9yIE1hY2hpbmVyeSBMdWJyaWNhdGlvbg==?= =?gb2312?B?ICi6z8DtyPO7rLncwO3Eo8q9KSAgLS0gKipMYXN0IFJlbWluZGVyIA==?= =?gb2312?B?dG8gUmVnaXN0ZXItIDMgU2VhdHMgTGVmdCoq?= Subject: =?gb2312?B?QmVzdCBQcmFjdGljZXMgZm9yIE1hY2hpbmVyeSBMdWJyaWNhdGlvbg==?= =?gb2312?B?ICi6z8DtyPO7rLncwO3Eo8q9KSAgLS0gKipMYXN0IFJlbWluZGVyIA==?= =?gb2312?B?dG8gUmVnaXN0ZXItIDMgU2VhdHMgTGVmdCoq?= Date: Fri, 8 May 2009 23:47:45 +0800 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0FE4_01C9D04B.EF2AE460" X-Priority: 1 (Highest) X-MSMail-Priority: High X-Mailer: Microsoft Office Outlook 11 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 Thread-index: Aclq4dN/jqbGsbU3RxGftY2aqdGodgAAaPXQAS3nI5AAMjieQAASdBiQACUr2RAACxB5MAAhlqygAAMRK2AAC/2EQACKKHqQAAO6KAAAAFTmAAAAMNMQAApNniAAI3iDUAAA1aKgAAjtW7AAJuHd8AACqFlwAAOFvVAABMmgMAABbbWQAAY8i6AAHuRQAAAAxceAAARcx2AABvVoQADC6aYQAAJQ7+AAAgGbcAAGrfgwAxTd3aAAAA8mAAAAzVlwAACjqrAAAQpR0AAARUrQAAhCunAAAnavQAD9NDdgADLgHVAALHdH8AACWUdgAAONJIAA9NvnYAAtS1VAAvjEuzAAJ/RMwAA0EULAAAA6RSAAAVuiQADEYX6QADnKr/AAPMucwAAsFkJgA0wscVAAZLAzcAAAaFtwAAT1X+AC+xmXgAAAbjogAADZY7AAAFFFcAAz9yDQAJJcVTAANwouMABcOEAQAAMlUYAAAGxSQABoAvSQAGHOA1AAMcKRQAAwersgAABs9aAA2MYI0AABUlEgAEdxm7AAAZHtIAAxyHAgADKlNVAADwjKAAAxeegw Importance: High Disposition-Notification-To: "Martin Geng" X-Barracuda-Connect: UNKNOWN[67.222.146.102] X-Barracuda-Start-Time: 1241827776 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com 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. ------=_NextPart_000_0FE4_01C9D04B.EF2AE460 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0FE5_01C9D04B.EF2AE460" ------=_NextPart_001_0FE5_01C9D04B.EF2AE460 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable =20 This is your last chance to register for Best Practices for Machinery Lubrication. We have only 3 seats left; therefore, do not miss this opportunity to register! =20 Best Practices for Machinery Lubrication 21st & 22nd May 2009 Shanghai, China =20 Hello, =20 How are you?=20 =20 MARTIN LINKING is convening the Best Practices for Machinery Lubrication = on 21st &22nd May 2009 in Shanghai. It=A1=AFs a two-days workshop which = focuses on the lubricants inspecting, monitoring and pollution control; application = of lubricating oil, lubricant procurement and machinery lubrication; the important role of lubricating oil played in saving energy and reducing consumption, current status of the company machinery lubrication and lubrication market developments of modern equipment. Therefore delegates will be able to rule out the machinery lubrication problems and = hydraulic failure to meet the needs of modern machinery lubrication management. =20 If you are not relevant, could you help me to forward this information = to the people who are related? Thanks for that!=20 =20 Benefits of Attending Include: * Understanding the importance of machinery lubrication, avoid misunderstanding of the lubrication * Learning the advanced technology of oil inspection, cleaning and lubrication management * Building reliability through contamination control * Selecting the correct lubricants (greases) for each machine = application * Looking at ways to enhance lubricant performance through = high-performance additives * How to optimize lubricant selection/procurement=20 * Detecting and analysing machine wear debris * Best practices for storing, handling and managing lubricants * Oil rehabilitation and used oil analysis basics * A range of case studies taken from manufacturing industry =20 About the trainer: Prof. Dazhong Wang - Professor of Harbin Institute of Technology, = Director of Chinese Tribology Branch of China Mechanical Engineering Society = (CMES), Chief lubrication expert & Deputy director of Education and Training Committee of the communication centre of China Equipments Management Association, Deputy director of the Science and Training division of equipment and maintenance branch of CMES, Member of Correspondence = Education of China Equipments Management Association =20 Professor Wang has trained: * Shanghai Shenmei Beverage & Food Co., Ltd * Outokumpu Copper Tube (Zhongshan) Limited * DSM (China) Limited * Bunge Grain and Oil Co., Ltd * Tianjin TCL Building Materials Co., Ltd * Changsha Zhongyi Group Co,Ltd * Sino-Swed Pharmaceutical Corp. Ltd * SHIMANO Company Limited * Guangxi Laibin (B) Power Plant * Shenyang Emerson Climate Technologies Co., Ltd * Shandong Aluminium Industry Co., Ltd * China National Tobacco Corporation, Jiangsu * Guangzhou Honda Automobile Engine Co., Ltd * Sinopec Great Wall Lubrication Oil-Beijing R&D Centre =20 Two days training fee is 4995RMB. =20 Please find an agenda in both English and Chinese attached with this = email. Please do not hesitate to contact me should you have any queries.=20 =20 To register the very limited 10% off seats, simply fill out the = registration form, attention it to Martin Geng and fax it to + 86 28 6552 1233. If you don't want to receive any further email from us, please reply = this email to unsubscribe with correct email address.=20 Best Regards,=20 Martin Geng __________________________________________ Martin Linking Business Consulting Company Limited Room 808A, Times Plaza, No.2 Zongfu Road, Chengdu, Sichuan 610016, China =20 T: +86 28 65521255 F: +86 28 65521233 E: martin.geng@martinlinking.net www.martinlinking.com =20 We are dedicated to offer our clients cutting edge information they can = use immediately. =20 Upcoming Martin Linking events: =20 =20 Title : The 2nd Plant Managers Forum 2009 Date : 21st - 22nd May 2009 Location: Shanghai, China Link : http://www.martinlinking.com/documents/ws/pm2_ws.pdf =20 Title : Upgrade the Practical Skills of Business Channels of Pharmaceutical Enterprises under the New Medicine Situation Date : 18th & 19th June 2009 Venue : Shanghai, China Link : http://www.martinlinking.com/documents/ws/pbc_ws.pdf =20 Title : Total Productive Maintenance (TPM) Best Practice 2009 Date : 30th & 31st July 2009 Venue : Shanghai, China Link : http://www.martinlinking.com/documents/ws/tpm_ws.pdf =20 Title : Continuous Application of Behavior-Based Safety 2009 Date : 30th & 31st July 2009 Venue : Shanghai, China Link : http://www.martinlinking.com/documents/ws/bbs_ws.pdf =20 Title : Best Practices for Sustainable Corporate Social = Responsibility 2009 Date : 20th & 21st August 2009 Venue : Shanghai, China Link : http://www.martinlinking.com/documents/ws/csr_ws.pdf =20 This message and any attachment is intended only for the use of the Addressee and may contain information that is PRIVILEGED. If you are not = the intended recipient, you are hereby notified that any dissemination of = this communication is strictly prohibited. If you have received this communication in error, please erase all copies of the message and its attachments and notify us immediately. Thank You. Security Warning: = Please note that this e-mail has been created in the knowledge that Internet = e-mail is not a 100% secure communications medium. We advise that you = understand and observe this lack of security when e-mailing us. Viruses: Although = we have taken steps to ensure that this e-mail and attachments are free = from any virus, we advise that in keeping with good computing practice the recipient should ensure they are actually virus free.=20 =20 ------=_NextPart_001_0FE5_01C9D04B.EF2AE460 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
 
This is your last chance = to register=20 for Best=20 Practices for Machinery Lubrication. We have=20 only 3 seats = left;=20 therefore, do not miss this opportunity to=20 register!

 

Best=20 Practices for Machinery Lubrication

21st & 22nd May=20 2009

Shanghai,=20 China

 

Hello,

 

How are you?=20

 

MARTIN=20 LINKING is convening the Best Practices for Machinery = Lubrication on 21st &22nd May 2009=20 in Shanghai. It=A1=AFs a two-days  = workshop which=20 focuses on the lubricants inspecting, monitoring and pollution control;=20 application of lubricating oil, lubricant procurement and machinery = lubrication;=20 the important role of lubricating oil played in saving energy and = reducing=20 consumption, current status of the company machinery lubrication and = lubrication=20 market developments of modern equipment. Therefore delegates will be = able to=20 rule out the machinery lubrication problems and hydraulic failure to = meet the=20 needs of modern machinery lubrication = management.

 

If you are = not=20 relevant, could you help me to forward this information to the people = who are=20 related? Thanks for that! 

 

Benefits=20 of Attending=20 Include:           = ;            =             &= nbsp;           &n= bsp;    =20

l Understanding the importance of = machinery=20 lubrication, avoid misunderstanding of the=20 lubrication

l Learning the advanced technology = of oil=20 inspection, cleaning and lubrication = management

l Building reliability through = contamination=20 control

l Selecting the correct lubricants = (greases)=20 for each machine application

l Looking=20 at ways to enhance = lubricant=20 performance through high-performance = additives

l How to=20 optimize lubricant = selection/procurement=20

l Detecting and analysing machine = wear=20 debris

l Best=20 practices for storing, handling = and=20 managing lubricants

l Oil=20 rehabilitation and used = oil analysis=20 basics

l  A range of = case=20 studies taken from manufacturing=20 industry

 

About=20 the trainer:

Prof. Dazhong=20 Wang  - Professor of = Harbin=20 Institute of Technology, Director of Chinese Tribology Branch of China=20 Mechanical Engineering Society (CMES), Chief lubrication expert & = Deputy=20 director of Education and Training Committee of the communication centre = of=20 China Equipments Management Association, Deputy director of the Science = and=20 Training division of equipment and maintenance branch of CMES, Member of = Correspondence Education of China Equipments Management=20 Association

 

Professor=20 Wang has trained:

l   = Shanghai Shenmei = Beverage &=20 Food Co., Ltd

l   Outokumpu = Copper Tube=20 (Zhongshan) Limited

l   DSM = (China)=20 Limited

l   Bunge Grain = and Oil Co.,=20 Ltd

l   = Tianjin TCL = Building Materials=20 Co., Ltd

l   Changsha = Zhongyi Group=20 Co,Ltd

l   Sino-Swed = Pharmaceutical=20 Corp. Ltd

l   SHIMANO = Company=20 Limited

l   Guangxi = Laibin (B) Power=20 Plant

l   Shenyang Emerson = Climate=20 Technologies Co.,=20 Ltd

l   = Shandong Aluminium = Industry=20 Co., Ltd

l   China = National Tobacco=20 Corporation, Jiangsu

l   Guangzhou = Honda=20 Automobile Engine Co., Ltd

l   Sinopec = Great Wall=20 Lubrication Oil-Beijing R&D Centre

 

Two days training = fee is=20 4995RMB.

 

Please find an agenda in = both=20 English and Chinese attached with this email.=20 Please do=20 not hesitate to contact me should you have any queries.

 

To register the very = limited 10%=20 off seats, = simply fill=20 out the registration form, attention it to Martin Geng and fax = it to +=20 86 28 6552 1233.

If you don't = want to=20 receive any further email from us, please reply this email=20 to unsubscribe with correct email = address. 

Best=20 Regards, 

Martin=20 Geng

__________________________________________

Martin=20 Linking = Business Consulting=20 Company=20 Limited

Room 808A, = Times=20 Plaza, = No.2 Zongfu Road, = Chengdu,

Sichuan 610016, = China

 

T: +86 28=20 65521255

F: +86 28=20 65521233

E:=20 martin.geng@martinlinking.net

www.martinlinking.com

We are = dedicated to=20 offer our clients cutting edge information they can use=20 immediately.

 

Upcoming=20 Martin Linking events:  

 

Title    =20   : The 2nd = Plant=20 Managers Forum 2009

Date     =20 : 21st - 22nd May 2009

Location: = Shanghai, = China

Link     =20  : http://www.= martinlinking.com/documents/ws/pm2_ws.pdf

 

Title     =20 : Upgrade the Practical Skills of = Business=20 Channels of Pharmaceutical Enterprises under the New Medicine=20 Situation

Date     : =20 18th & 19th = June=20 2009

Venue   : = Shanghai, = China

Link      :=20 http://www.= martinlinking.com/documents/ws/pbc_ws.pdf

 

Title     =20 : Total Productive Maintenance = (TPM) Best=20 Practice 2009

Date     : =20 30th & 31st July 2009

Venue   : = Shanghai, = China

Link      :=20 http://www.= martinlinking.com/documents/ws/tpm_ws.pdf

 

Title     =20 : Continuous Application of = Behavior-Based=20 Safety 2009

Date     : =20 30th & 31st July 2009

Venue   : = Shanghai, = China

Link      :=20 http://www.= martinlinking.com/documents/ws/bbs_ws.pdf

 

Title     =20 : Best Practices for Sustainable = Corporate=20 Social Responsibility 2009

Date     : =20 20th & 21st August 2009

Venue   : = Shanghai, = China

Link      :=20 http://www.= martinlinking.com/documents/ws/csr_ws.pdf

 

This = message and=20 any attachment is intended only for the use of the Addressee and may = contain=20 information that is PRIVILEGED. If you are not the intended recipient, = you are=20 hereby notified that any dissemination of this communication is = strictly=20 prohibited. If you have received this communication in error, please = erase all=20 copies of the message and its attachments and notify us immediately. = Thank You.=20 Security Warning: Please note that this e-mail has been created in the = knowledge=20 that Internet e-mail is not a 100% secure communications medium. We = advise that=20 you understand and observe this lack of security when e-mailing us. = Viruses:=20 Although we have taken steps to ensure that this e-mail and attachments = are free=20 from any virus, we advise that in keeping with good computing practice = the=20 recipient should ensure they are actually virus free. =

 

------=_NextPart_001_0FE5_01C9D04B.EF2AE460-- ------=_NextPart_000_0FE4_01C9D04B.EF2AE460 Content-Type: application/pdf; name="Best Practices for Machinery Lubrication EN&CN.pdf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Best Practices for Machinery Lubrication EN&CN.pdf" JVBERi0xLjYNJeLjz9MNCjEwNzkgMCBvYmoNPDwvTGluZWFyaXplZCAxL0wgNDU1NzkyL08gMTA4 MS9FIDE5NTAxOC9OIDgvVCA0MzQxNjMvSCBbIDEyMzYgNjUxXT4+DWVuZG9iag0gICAgICAgICAg DQp4cmVmDQoxMDc5IDQ3DQowMDAwMDAwMDE2IDAwMDAwIG4NCjAwMDAwMDE4ODcgMDAwMDAgbg0K MDAwMDAwMjAyMSAwMDAwMCBuDQowMDAwMDAyNDc4IDAwMDAwIG4NCjAwMDAwMDI1MTYgMDAwMDAg bg0KMDAwMDAwMjY3NCAwMDAwMCBuDQowMDAwMDAyODM0IDAwMDAwIG4NCjAwMDAwMDMxNDQgMDAw MDAgbg0KMDAwMDAwMzI4MCAwMDAwMCBuDQowMDAwMDAzNDI3IDAwMDAwIG4NCjAwMDAwMDM1NjIg MDAwMDAgbg0KMDAwMDAwMzYwMSAwMDAwMCBuDQowMDAwMDAzNjgwIDAwMDAwIG4NCjAwMDAwMDQy OTEgMDAwMDAgbg0KMDAwMDAwNDY5NiAwMDAwMCBuDQowMDAwMDA0OTI2IDAwMDAwIG4NCjAwMDAw MDUyNjYgMDAwMDAgbg0KMDAwMDAwNTU2MSAwMDAwMCBuDQowMDAwMDA1ODU4IDAwMDAwIG4NCjAw MDAwMDYxNjQgMDAwMDAgbg0KMDAwMDAwNjQ1OCAwMDAwMCBuDQowMDAwMDA2Nzg5IDAwMDAwIG4N CjAwMDAwMDY5NDIgMDAwMDAgbg0KMDAwMDAwNzE2NiAwMDAwMCBuDQowMDAwMDA3NDE4IDAwMDAw IG4NCjAwMDAwMDc3MTQgMDAwMDAgbg0KMDAwMDAwODM3MCAwMDAwMCBuDQowMDAwMDExMDY1IDAw MDAwIG4NCjAwMDAwMjQ5NjAgMDAwMDAgbg0KMDAwMDAzMzUxOSAwMDAwMCBuDQowMDAwMDMzNzcw IDAwMDAwIG4NCjAwMDAwMzM5NzcgMDAwMDAgbg0KMDAwMDEzNDk1MSAwMDAwMCBuDQowMDAwMTM1 MTkzIDAwMDAwIG4NCjAwMDAxMzU1MDQgMDAwMDAgbg0KMDAwMDEzNTU2OCAwMDAwMCBuDQowMDAw MTM1NjMyIDAwMDAwIG4NCjAwMDAxNjM2MTQgMDAwMDAgbg0KMDAwMDE3MzMxOCAwMDAwMCBuDQow MDAwMTg1Mjk1IDAwMDAwIG4NCjAwMDAxODU1NjUgMDAwMDAgbg0KMDAwMDE4NTg1MiAwMDAwMCBu DQowMDAwMTkzOTU2IDAwMDAwIG4NCjAwMDAxOTQyMjYgMDAwMDAgbg0KMDAwMDE5NDQ0NCAwMDAw MCBuDQowMDAwMTk0NzMxIDAwMDAwIG4NCjAwMDAwMDEyMzYgMDAwMDAgbg0KdHJhaWxlcg0KPDwv U2l6ZSAxMTI2L1ByZXYgNDM0MTUwL1Jvb3QgMTA4MCAwIFIvSW5mbyAxMDc4IDAgUi9JRFs8NjBD RDc2M0FCQTFFMUE0RTlENjRDQjlEOTNGNDExRjU+PEIzNzg1OUJDNEQxRDlDNDVCRTk3Q0RFQUQ4 MzMxMkJBPl0+Pg0Kc3RhcnR4cmVmDQowDQolJUVPRg0KICAgIA0KMTEyNSAwIG9iag08PC9MZW5n dGggNTU1L0MgNjI3L0ZpbHRlci9GbGF0ZURlY29kZS9JIDY2My9PIDYxMS9TIDM4MT4+c3RyZWFt DQp42mJgYGBmYGCNYmBjYOBpYBBiQAAhoBg7AwsDx5IGBgUGlp2RjuwbhO+wijFxNTAw8Oq8+5rE IVv53JMBGxAwWDBdT9Y6YuvjNN37olkJJxen882zO1j0fc3MLQKGJ925ZQ1zfu6YwRq1tizhNOvp e5vSSj5+djtnD5Hj7Pi563pB4tQskNy5eXYZN084sRztlfNZKfzcVyso5jBbhF5cyUegYbPMiho6 PqYcm6vgKzRZ7by2zsFp3NPn2tS+VkvrnbNEYckJoJxwRKpHcfpVmFzNxc1TjohIqO3tNusBu1Uw La0DBMAcJtWwjI4OBJ+BLQ2Zz6TiCpUHhgGDkhJUK4TLICiIwlUyNk6Da2VswAxAoLAWA0vyRiCt A8TRYAvVGAQZLgIV8DOwL+BoYOxguMWQyMDQwOXgvkDsAxsDyw4mJkZmhjYGBwaVBewGrBeYI5hY mLJYDXo7XDQVeANY/TQVGGcwCjLwMrD1LmWKUSyVYF7A+Em+iaGEQZdBXoF/AvsJ5geM6xhW8c1i cG6QdOD6wHCA5Q/DLoZYhq8MKQ48CqwPmFfa/GFSYJBgsGqQa2Bm4JnAvIKxBajiO4Nes7gD3wLh CdwLmB8wyTHEMfAwyAJVMDawLmB8wfCGcRLDq4Z4B/EDaMkhkoGV2Q5IcwNTmxqQTmFgZUsBsi8w MLafByUXBna2BiGpKy8uTXVS0eC/Z8LAwGLGwDZnBijggPgwQIABAEkmveYNCmVuZHN0cmVhbQ1l bmRvYmoNMTA4MCAwIG9iag08PC9NYXJrSW5mbzw8L01hcmtlZCBmYWxzZT4+L091dGxpbmVzIDg5 IDAgUi9NZXRhZGF0YSAxMDc3IDAgUi9QYWdlcyAxMDc2IDAgUi9TdHJ1Y3RUcmVlUm9vdCAxMDAg MCBSL1R5cGUvQ2F0YWxvZz4+DWVuZG9iag0xMDgxIDAgb2JqDTw8L0Nyb3BCb3hbMCAwIDU5NS4y MiA4NDJdL0Fubm90cyAxMDgyIDAgUi9QYXJlbnQgMTA3NiAwIFIvU3RydWN0UGFyZW50cyAwL0Nv bnRlbnRzWzEwOTEgMCBSIDEwOTQgMCBSIDEwOTUgMCBSIDEwOTYgMCBSIDEwOTcgMCBSIDEwOTgg MCBSIDExMDMgMCBSIDExMDQgMCBSXS9Sb3RhdGUgMC9NZWRpYUJveFswIDAgNTk1LjIyIDg0Ml0v UmVzb3VyY2VzPDwvWE9iamVjdDw8L0ltMCAxMTE1IDAgUi9JbTEgMTExNiAwIFI+Pi9Db2xvclNw YWNlPDwvQ1MwIDEwODkgMCBSPj4vRm9udDw8L1RUMCAxMDg1IDAgUi9UVDEgMTA5MiAwIFIvVFQy IDEwOTkgMCBSL1RUMyAxMTAwIDAgUi9DMl8wIDEwODYgMCBSL0MyXzEgMTA4NyAwIFIvQzJfMiAx MDg4IDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQ10vRXh0R1N0YXRlPDwvR1MwIDEwOTAg MCBSPj4+Pi9UeXBlL1BhZ2U+Pg1lbmRvYmoNMTA4MiAwIG9iag1bMTA4MyAwIFIgMTA4NCAwIFJd DWVuZG9iag0xMDgzIDAgb2JqDTw8L1JlY3RbMjIuNSAyNS4wODgyIDE1OC40NDYgNDEuMTA5Ml0v U3VidHlwZS9MaW5rL0JTPDwvUy9TL1cgMC9UeXBlL0JvcmRlcj4+L0EgMTExNCAwIFIvRiA0L0gv SS9TdHJ1Y3RQYXJlbnQgMTMvQm9yZGVyWzAgMCAwXS9UeXBlL0Fubm90Pj4NZW5kb2JqDTEwODQg MCBvYmoNPDwvUmVjdFsxNTguNDYgMjQuNTQzOCAxNjEuMjQ2IDM3Ljg4MDRdL1N1YnR5cGUvTGlu ay9CUzw8L1MvUy9XIDAvVHlwZS9Cb3JkZXI+Pi9BIDExMTMgMCBSL0YgNC9IL0kvU3RydWN0UGFy ZW50IDE0L0JvcmRlclswIDAgMF0vVHlwZS9Bbm5vdD4+DWVuZG9iag0xMDg1IDAgb2JqDTw8L1N1 YnR5cGUvVHJ1ZVR5cGUvRm9udERlc2NyaXB0b3IgMTExOCAwIFIvTGFzdENoYXIgMTE1L1dpZHRo c1s2MDYgMCAwIDAgMCAwIDYzNyAwIDI2NyAwIDU0NyA0MjMgODc0IDY1NiAwIDUzMiAwIDU2MyAw IDQ5NSAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1MjggMCAwIDAgNDkxIDMxNiA1MjggMCAyNDYg MCAwIDI0NiAwIDUyNyA1MjcgMCAwIDM1MiAzOTRdL0Jhc2VGb250L0VESUROQytDYWxpYnJpLUJv bGRJdGFsaWMvRmlyc3RDaGFyIDY1L0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9UeXBlL0ZvbnQ+ Pg1lbmRvYmoNMTA4NiAwIG9iag08PC9TdWJ0eXBlL1R5cGUwL0Rlc2NlbmRhbnRGb250c1sxMTA5 IDAgUl0vQmFzZUZvbnQvRURJREpCK0NhbGlicmkvVG9Vbmljb2RlIDExMTkgMCBSL0VuY29kaW5n L0lkZW50aXR5LUgvVHlwZS9Gb250Pj4NZW5kb2JqDTEwODcgMCBvYmoNPDwvU3VidHlwZS9UeXBl MC9EZXNjZW5kYW50Rm9udHNbMTEyMiAwIFJdL0Jhc2VGb250L0VESUROQitDYWxpYnJpLUJvbGRJ dGFsaWMvVG9Vbmljb2RlIDExMjMgMCBSL0VuY29kaW5nL0lkZW50aXR5LUgvVHlwZS9Gb250Pj4N ZW5kb2JqDTEwODggMCBvYmoNPDwvU3VidHlwZS9UeXBlMC9EZXNjZW5kYW50Rm9udHNbMTExMiAw IFJdL0Jhc2VGb250L0VESURQRCtTaW1TdW4vVG9Vbmljb2RlIDExMjQgMCBSL0VuY29kaW5nL0lk ZW50aXR5LUgvVHlwZS9Gb250Pj4NZW5kb2JqDTEwODkgMCBvYmoNWy9JQ0NCYXNlZCAxMTA1IDAg Ul0NZW5kb2JqDTEwOTAgMCBvYmoNPDwvT1BNIDEvT1AgZmFsc2Uvb3AgZmFsc2UvVHlwZS9FeHRH U3RhdGUvU0EgZmFsc2UvU00gMC4wMj4+DWVuZG9iag0xMDkxIDAgb2JqDTw8L0xlbmd0aCA1Mzkv RmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0NCkiJzFRNj9owEL3nV8wxVMKZseOPSAhpF1YobUFs 11IPqKoQBZpqCS2sVPXfd+yEj6XQUw89xBknz8/vPU+SlfVzVS+fvs6/L6HXy8aDcggI/f79cADJ j4SEBiIlcge6UEJLsJJEIWG3TD5CzYhs9ISw3ie60MIRIeaGCbDBUVEUTsKRxfJcW1hskqzcIAy3 yeN/QvEwZr+Pyb1PsukxCDoEcaDPBvIz8mO/SgiZLmwRC6lVSMWhEVaiAr9Jeoio+v5bQ/3gWSWC yyUEjSih63ISzsQk38Qow2uW6yKiBfCsjTobsIbFHlAorV6NsF/UiZJaKAeWbCCVphAmB6tFEXdY sbdLd/LgDkWRF7BOMu9bc10UiMQ2FiBlEBuMNpXSuTAGrLGCWqezdHz3oUM29Z2uTMtJ55N/G6Oi hg0DD+eeE7P4L6dkLjbEPADT9+XkXTkZdQLgDxJj1QVJjPfMljrZklZHD10niCx0ieOi4+LLK5CF NTauIdecrgPlrLCcrLJCmbOzveXChOWzdLrbrjqk0uV+X23r+fPVVIxA+9dQFAtgHOuSLXCW+l2n q1Q655HSKtb161q6dH3rFOhqgP+yPyWHfD7G/kRQkqf5gZ5QhduN3sxPh2gYtW7vI/4hcZf8ZEdj iOZkY06C34E+tmpTqShPOSXIXfsms7vdS7WaL17Ctv4X/wGz6a6qX6p6DcAC4LcAAwAiuhpWDQpl bmRzdHJlYW0NZW5kb2JqDTEwOTIgMCBvYmoNPDwvU3VidHlwZS9UcnVlVHlwZS9Gb250RGVzY3Jp cHRvciAxMDkzIDAgUi9MYXN0Q2hhciAxMjEvV2lkdGhzWzI3OCAwIDAgMCAwIDAgNzIyIDAgMCAw IDAgNTg0IDI3OCAwIDAgMCA1NTYgNTU2IDU1NiAwIDAgNTU2IDU1NiAwIDU1NiA1NTYgMCAwIDAg MCAwIDAgMCAwIDcyMiA3MjIgMCAwIDAgMCAwIDAgMCAwIDYxMSA4MzMgMCAwIDY2NyAwIDAgNjY3 IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTU2IDYxMSA1NTYgNjExIDU1NiAzMzMgNjExIDYx MSAyNzggMCAwIDI3OCAwIDYxMSA2MTEgMCAwIDM4OSA1NTYgMzMzIDYxMSAwIDc3OCAwIDU1Nl0v QmFzZUZvbnQvQXJpYWwtQm9sZE1UL0ZpcnN0Q2hhciAzMi9FbmNvZGluZy9XaW5BbnNpRW5jb2Rp bmcvVHlwZS9Gb250Pj4NZW5kb2JqDTEwOTMgMCBvYmoNPDwvU3RlbVYgMTM4L0ZvbnROYW1lL0Fy aWFsLUJvbGRNVC9Gb250U3RyZXRjaC9Ob3JtYWwvRm9udFdlaWdodCA3MDAvRmxhZ3MgMzIvRGVz Y2VudCAtMjExL0ZvbnRCQm94Wy02MjggLTM3NiAyMDAwIDEwMTBdL0FzY2VudCA5MDUvRm9udEZh bWlseShBcmlhbCkvQ2FwSGVpZ2h0IDcxOC9YSGVpZ2h0IDUxNS9UeXBlL0ZvbnREZXNjcmlwdG9y L0l0YWxpY0FuZ2xlIDA+Pg1lbmRvYmoNMTA5NCAwIG9iag08PC9MZW5ndGggMjY4L0ZpbHRlci9G bGF0ZURlY29kZT4+c3RyZWFtDQpIidyTTWrDMBCF9zrFLNtFpJGEZAWMoVGK6SIlYF2guI5xoabY 3vT2HcX9jRMa066C0MxC0nvfkxDAau2BIdQ0c7ZAjnoJYw2PLEVEnYUndruhXeKmG5rdQzlAmorw +lKB2HZNOzRtDVm2FxK+QCh7UlBRRtmEqrQGoC/bcdUXR1YLf8/IVcFiX6fW2+i58XdrMB9eyC1t rd97Tt0oeVLgd/Z/uwTkzoxgsefnBrOXGiy51GDuMJgIQYKEsCOs0IG2gDSoSW25dqCd5tKhhvDM rlbXM6NGIBO/TKzENVPhMyMqN4Zzhypf0ZbTN0vM91PVn+nnKZyir47RS5ziG/eDvz/LHd4EGABC FTfdDQplbmRzdHJlYW0NZW5kb2JqDTEwOTUgMCBvYmoNPDwvTGVuZ3RoIDIyMy9GaWx0ZXIvRmxh dGVEZWNvZGU+PnN0cmVhbQ0KSInMlLEOgjAURXe+4o06AKXQggkhUXBwIOnADxBUggMxtYt/L6QG QdqYpotLO7zc805u0gIAZNmhyMFB0Dou8hCJQZ7V2dk8ttXNOZbD2N9z0V3rRkCa+tXzfgGf8a4X Xd9OBC8heKAMcZyAK68vChvjZX4qIAg+OYpkjiRknhNG21X+ZgSdv1D647V/SPE8B2NO6SUnun3v 6URFi1aYdStmBJ0lU7YSrluhu4U/t/Y3I+j8udI/WvtHQTzP1db+ZgSdf630Jz9fVWPtb0bQ+TdK f/pHvwK8BBgA0I89zQ0KZW5kc3RyZWFtDWVuZG9iag0xMDk2IDAgb2JqDTw8L0xlbmd0aCAyMjUv RmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0NCkiJpNSxDoIwFAXQna94ow5KKSlgQkgUHBxIGPgB g0DqAAa6+PdCSqTqa0zTpR1e7+1JQwAAOGUpOGQfMQrttBMawU5u5c3ZiG15d875dMQtII7dPL1k 4IWQJEsuIDLnB1TN8TV3HARvrpWY4+XzUYNbDLwTvGvfLVPDnGUhyNW8QefnqD9C/ISpucrab9ag 81eo//DrZ9GHv7b2mzXo/DXmp+Svf7T2mzXo/CPq9zC/r+ZgzqEuOdHdt0zXrzJUp431q5g16JQN +ir071+ht/abNej8Per3v/3wEmAAtGs6Ow0KZW5kc3RyZWFtDWVuZG9iag0xMDk3IDAgb2JqDTw8 L0xlbmd0aCAyMzQvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0NCkiJpNS9CoMwFAXgPU9xx3Yw xp/ECCK02qGD4OALiG01HaSIS9++SoQqSYaQxeV6Tj4uIQAABLMYPIJJyKF5oNN0bt7oVhWA/Ms0 i1fbzZBlfvP9PMGvJzHOYuwhz6/l8guBHq1ZmoD82jdgTsOlRQL0jnqNV8W9hDD+5xiRuTig+xys Oa1LTkznbVPZ6qU4SJdxgKNtXDmvxa7BxKy0a6HqWjgL97nW2W/XYPK3Wj9T/ZRH+1zn7LdrMPk7 rT/R+Q/XcnD22zWY/IPWz1X/8VUQzny7BhNfaPmpyo/IYf2jqx9+AgwALF9ABw0KZW5kc3RyZWFt DWVuZG9iag0xMDk4IDAgb2JqDTw8L0xlbmd0aCAyMjIvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJl YW0NCkiJpJQxCoMwFEB3T/HHdmiNxqiDCK12KCg4eIG2WrGDlKCDt6+Slkb8QUKWZIjv5fHBAADs un35si55ApZ94n37vD16iCK7HN812AVvu77tGojjczp9Qo4hc6GZduKGcBBbWVmypZjxPLmmQMmf 84ngfE/Gaq3LJ8HMsgDEqm9Q5ddovrPOZyGTOW7cr2dQ9XO03133e04gc6Nxv55B1T+i/XRz/jBz aJc4Ud33Pf1ZKVlMJTOeip5BVZmhU/GQn4ouuMG4X8+g6h/Qfrb1KNyN8/UMinz4CDAADl89zQ0K ZW5kc3RyZWFtDWVuZG9iag0xMDk5IDAgb2JqDTw8L1N1YnR5cGUvVHJ1ZVR5cGUvRm9udERlc2Ny aXB0b3IgMTEwMiAwIFIvTGFzdENoYXIgMTE5L1dpZHRoc1syNTIgMCAwIDAgMCAwIDAgMCAwIDAg MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDQ3OSAwIDQyMyAwIDAgMCA0NzEgMCAyMjkgMCA0NTUg MjI5IDc5OSA1MjUgNTI3IDAgMCAzNDkgMCAzMzUgMCAwIDcxNV0vQmFzZUZvbnQvRURJRURHK0Nh bGlicmkvRmlyc3RDaGFyIDQ2L0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9UeXBlL0ZvbnQ+Pg1l bmRvYmoNMTEwMCAwIG9iag08PC9TdWJ0eXBlL1RydWVUeXBlL0ZvbnREZXNjcmlwdG9yIDExMDEg MCBSL0xhc3RDaGFyIDMyL1dpZHRoc1syNzhdL0Jhc2VGb250L0FyaWFsTVQvRmlyc3RDaGFyIDMy L0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9UeXBlL0ZvbnQ+Pg1lbmRvYmoNMTEwMSAwIG9iag08 PC9TdGVtViA4OC9Gb250TmFtZS9BcmlhbE1UL0ZvbnRTdHJldGNoL05vcm1hbC9Gb250V2VpZ2h0 IDQwMC9GbGFncyAzMi9EZXNjZW50IC0yMTEvRm9udEJCb3hbLTY2NSAtMzI1IDIwMDAgMTAwNl0v QXNjZW50IDkwNS9Gb250RmFtaWx5KEFyaWFsKS9DYXBIZWlnaHQgNzE4L1hIZWlnaHQgNTE1L1R5 cGUvRm9udERlc2NyaXB0b3IvSXRhbGljQW5nbGUgMD4+DWVuZG9iag0xMTAyIDAgb2JqDTw8L1N0 ZW1WIDgwL0ZvbnROYW1lL0VESUVERytDYWxpYnJpL0ZvbnRTdHJldGNoL05vcm1hbC9Gb250Rmls ZTIgMTEwNiAwIFIvRm9udFdlaWdodCA0MDAvRmxhZ3MgMzIvRGVzY2VudCAtMjUwL0ZvbnRCQm94 Wy00NzYgLTE5NCAxMjE0IDk1Ml0vQXNjZW50IDc1MC9Gb250RmFtaWx5KENhbGlicmkpL0NhcEhl aWdodCA2MjUvWEhlaWdodCAtNTMxL1R5cGUvRm9udERlc2NyaXB0b3IvSXRhbGljQW5nbGUgMD4+ DWVuZG9iag0xMTAzIDAgb2JqDTw8L0xlbmd0aCAyMjQvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJl YW0NCkiJzNJNC4IwHAbwu5/if7RDOveiBiKUduggePALmJXYwUJ26dvnEnLmpMYuXTYYPA8/xgMA YB9XxdXaZwlYbg5R5GbJIQXiQxzv0v4ROT7CUIubwho5CIdQnCy7G2PbjjeXsuIiXTzuZ3Dzrml5 09bvkr5AZFkAw6nf4IRsYAiA2iHxgzmfekzONcZ+vYbRT14Mgj9LJH445xMUyPzKmK/XsPT9ldK/ mftZOPn+0tiv17DkL1V+ilR+Iue4sV+vYcnPlX5PsR8f/8f8p37l/in+uv+bsf+3BngKMADXpUPN DQplbmRzdHJlYW0NZW5kb2JqDTExMDQgMCBvYmoNPDwvTGVuZ3RoIDU4NC9GaWx0ZXIvRmxhdGVE ZWNvZGU+PnN0cmVhbQ0KSImUVNuK2zAQffdXzFOx21rWjCzbghBonH3YQmBLBH1YSjHZXNwmym6S EvbvO7JypRvaYpBlNHPOmTMjAwD0+4NhDZEUlSaY81tSBWl42acoXif2R3Q34pDsAXq9bFTfDyFX 57xChrxCXeW5c96nza6dNZOdT7evz1PIHjat27VufkJhBJ+rSwjr/yPc0u/e1J//VT/4vDd1hZNb fHDiu7PRCyNUOYE2mgMgrXIUVQGbafT1PbjDMQpTdRGHAP7yAXye1WMJky1zk8arFbYTF6FRPlgK JMglCpkDYi5klz+LvvAzsFdl63PZJjcsP7MWAcHOfCFSFmAn0O002D1gwOcn7Cg3Iq+gMqKspAK7 ih7jwRS2vzZTaNwT087b7W66AbfeQ5ISKbbjm/38p//FUQgGDyUqT+19lKQ8t4SUBCkCO4ziulku 4QM7xyYXmo1H0jq0IdQhO+GdZjYItd9fNeOSvDy7wMR0IpboAdIDgqcPPX2MCd8Rwah5TZBiIClN V14ZH6ocLxo3XzTtR6gXrWtuFF1djntW03d5sP4kPsVClMq3VFLhqXusSvVPRYyfG3fGM0c87iIF qPSyjZpHToYC9klaHpeCYrFq+Ea5Zet+JqmO2yRVsZuLyXrVKWc8dSENvZwwBt0OdSW4g1SKSoYx uJ767N4jT9kUvqlHtVoe1b5EqP0YmZybB1igB0vLQhj655vBGF2eL7bspCkSpTbG8IxjKaTirVKg tUAfpEqYrFjYCmG45nvRSfUXhP+AvwUYAIU0HE4NCmVuZHN0cmVhbQ1lbmRvYmoNMTEwNSAwIG9i ag08PC9MZW5ndGggMjU5OC9GaWx0ZXIvRmxhdGVEZWNvZGUvTiAzL0FsdGVybmF0ZS9EZXZpY2VS R0I+PnN0cmVhbQ0KaN6clndUVNcWh8+9d3qhzTDSGXqTLjCA9C4gHQRRGGYGGMoAwwxNbIioQEQR EQFFkKCAAaOhSKyIYiEoqGAPSBBQYjCKqKhkRtZKfHl57+Xl98e939pn73P32XuftS4AJE8fLi8F lgIgmSfgB3o401eFR9Cx/QAGeIABpgAwWempvkHuwUAkLzcXerrICfyL3gwBSPy+ZejpT6eD/0/S rFS+AADIX8TmbE46S8T5Ik7KFKSK7TMipsYkihlGiZkvSlDEcmKOW+Sln30W2VHM7GQeW8TinFPZ yWwx94h4e4aQI2LER8QFGVxOpohvi1gzSZjMFfFbcWwyh5kOAIoktgs4rHgRm4iYxA8OdBHxcgBw pLgvOOYLFnCyBOJDuaSkZvO5cfECui5Lj25qbc2ge3IykzgCgaE/k5XI5LPpLinJqUxeNgCLZ/4s GXFt6aIiW5paW1oamhmZflGo/7r4NyXu7SK9CvjcM4jW94ftr/xS6gBgzIpqs+sPW8x+ADq2AiB3 /w+b5iEAJEV9a7/xxXlo4nmJFwhSbYyNMzMzjbgclpG4oL/rfzr8DX3xPSPxdr+Xh+7KiWUKkwR0 cd1YKUkpQj49PZXJ4tAN/zzE/zjwr/NYGsiJ5fA5PFFEqGjKuLw4Ubt5bK6Am8Kjc3n/qYn/MOxP WpxrkSj1nwA1yghI3aAC5Oc+gKIQARJ5UNz13/vmgw8F4psXpjqxOPefBf37rnCJ+JHOjfsc5xIY TGcJ+RmLa+JrCdCAACQBFcgDFaABdIEhMANWwBY4AjewAviBYBAO1gIWiAfJgA8yQS7YDApAEdgF 9oJKUAPqQSNoASdABzgNLoDL4Dq4Ce6AB2AEjIPnYAa8AfMQBGEhMkSB5CFVSAsygMwgBmQPuUE+ UCAUDkVDcRAPEkK50BaoCCqFKqFaqBH6FjoFXYCuQgPQPWgUmoJ+hd7DCEyCqbAyrA0bwwzYCfaG g+E1cBycBufA+fBOuAKug4/B7fAF+Dp8Bx6Bn8OzCECICA1RQwwRBuKC+CERSCzCRzYghUg5Uoe0 IF1IL3ILGUGmkXcoDIqCoqMMUbYoT1QIioVKQ21AFaMqUUdR7age1C3UKGoG9QlNRiuhDdA2aC/0 KnQcOhNdgC5HN6Db0JfQd9Dj6DcYDIaG0cFYYTwx4ZgEzDpMMeYAphVzHjOAGcPMYrFYeawB1g7r h2ViBdgC7H7sMew57CB2HPsWR8Sp4sxw7rgIHA+XhyvHNeHO4gZxE7h5vBReC2+D98Oz8dn4Enw9 vgt/Az+OnydIE3QIdoRgQgJhM6GC0EK4RHhIeEUkEtWJ1sQAIpe4iVhBPE68QhwlviPJkPRJLqRI kpC0k3SEdJ50j/SKTCZrkx3JEWQBeSe5kXyR/Jj8VoIiYSThJcGW2ChRJdEuMSjxQhIvqSXpJLlW MkeyXPKk5A3JaSm8lLaUixRTaoNUldQpqWGpWWmKtKm0n3SydLF0k/RV6UkZrIy2jJsMWyZf5rDM RZkxCkLRoLhQWJQtlHrKJco4FUPVoXpRE6hF1G+o/dQZWRnZZbKhslmyVbJnZEdoCE2b5kVLopXQ TtCGaO+XKC9xWsJZsmNJy5LBJXNyinKOchy5QrlWuTty7+Xp8m7yifK75TvkHymgFPQVAhQyFQ4q XFKYVqQq2iqyFAsVTyjeV4KV9JUCldYpHVbqU5pVVlH2UE5V3q98UXlahabiqJKgUqZyVmVKlaJq r8pVLVM9p/qMLkt3oifRK+g99Bk1JTVPNaFarVq/2ry6jnqIep56q/ojDYIGQyNWo0yjW2NGU1XT VzNXs1nzvhZei6EVr7VPq1drTltHO0x7m3aH9qSOnI6XTo5Os85DXbKug26abp3ubT2MHkMvUe+A 3k19WN9CP16/Sv+GAWxgacA1OGAwsBS91Hopb2nd0mFDkqGTYYZhs+GoEc3IxyjPqMPohbGmcYTx buNe408mFiZJJvUmD0xlTFeY5pl2mf5qpm/GMqsyu21ONnc332jeaf5ymcEyzrKDy+5aUCx8LbZZ dFt8tLSy5Fu2WE5ZaVpFW1VbDTOoDH9GMeOKNdra2Xqj9WnrdzaWNgKbEza/2BraJto22U4u11nO WV6/fMxO3Y5pV2s3Yk+3j7Y/ZD/ioObAdKhzeOKo4ch2bHCccNJzSnA65vTC2cSZ79zmPOdi47Le 5bwr4urhWuja7ybjFuJW6fbYXd09zr3ZfcbDwmOdx3lPtKe3527PYS9lL5ZXo9fMCqsV61f0eJO8 g7wrvZ/46Pvwfbp8Yd8Vvnt8H67UWslb2eEH/Lz89vg98tfxT/P/PgAT4B9QFfA00DQwN7A3iBIU FdQU9CbYObgk+EGIbogwpDtUMjQytDF0Lsw1rDRsZJXxqvWrrocrhHPDOyOwEaERDRGzq91W7109 HmkRWRA5tEZnTdaaq2sV1iatPRMlGcWMOhmNjg6Lbor+wPRj1jFnY7xiqmNmWC6sfaznbEd2GXuK Y8cp5UzE2sWWxk7G2cXtiZuKd4gvj5/munAruS8TPBNqEuYS/RKPJC4khSW1JuOSo5NP8WR4ibye FJWUrJSBVIPUgtSRNJu0vWkzfG9+QzqUvia9U0AV/Uz1CXWFW4WjGfYZVRlvM0MzT2ZJZ/Gy+rL1 s3dkT+S453y9DrWOta47Vy13c+7oeqf1tRugDTEbujdqbMzfOL7JY9PRzYTNiZt/yDPJK817vSVs S1e+cv6m/LGtHlubCyQK+AXD22y31WxHbedu799hvmP/jk+F7MJrRSZF5UUfilnF174y/ariq4Wd sTv7SyxLDu7C7OLtGtrtsPtoqXRpTunYHt897WX0ssKy13uj9l4tX1Zes4+wT7hvpMKnonO/5v5d +z9UxlfeqXKuaq1Wqt5RPXeAfWDwoOPBlhrlmqKa94e4h+7WetS212nXlR/GHM44/LQ+tL73a8bX jQ0KDUUNH4/wjowcDTza02jV2Nik1FTSDDcLm6eORR67+Y3rN50thi21rbTWouPguPD4s2+jvx06 4X2i+yTjZMt3Wt9Vt1HaCtuh9uz2mY74jpHO8M6BUytOdXfZdrV9b/T9kdNqp6vOyJ4pOUs4m392 4VzOudnzqeenL8RdGOuO6n5wcdXF2z0BPf2XvC9duex++WKvU++5K3ZXTl+1uXrqGuNax3XL6+19 Fn1tP1j80NZv2d9+w+pG503rm10DywfODjoMXrjleuvyba/b1++svDMwFDJ0dzhyeOQu++7kvaR7 L+9n3J9/sOkh+mHhI6lH5Y+VHtf9qPdj64jlyJlR19G+J0FPHoyxxp7/lP7Th/H8p+Sn5ROqE42T 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 klSQPCgpLyknKSspI3lAUlpSSlJSUkJSXJIoSZAUkxSVFJHES+IksZIYSWFJIUlByf2SApL8knyS aMl9krySPJIoSW5JLkmkJEISlAQkrsSRWIkJi70ruSP5RZIj+VlyW3JLclNyQ/KT5LrkR8k1yVXJ D5Irku8llyWXJBclFyTnJeckZyXfSb6VfCM5Izkt+VpySvKV5KTkhORLyReS45LPJZ9JPpUck3wi OSo5IjksOST5WHJQ8pHkQ8kByQeS/ZJ9kr2S9yXvSfZI3pXslrwj2SXZKdkh2S7ZJnlbslWyRfKW ZLNkk2SjZINkvWSdZK3Ek6yRrJaskqyUrJAsl7wpeUOyTPK65DXJUskSyWLJq5JFkoWSVyTZkpcl CyT/ksyXzJPMlfxT8g/JHMlsySzJ3yV/k/xV8hfJnyUvSWZKXpTMkLwgmS55XvInyXOSaRLVHqva Y1V7rGqPVe2xqj1Wtceq9ljVHqvaY1V7rGqPVe2xqj1Wtceq9ljVHqvaY0dJ1H+s+o9V/7HqP1b9 x6r/WPUfq/5j1X+s+o9V/7HqP1b9x6r/WPUfq/5j1X+s+o9V/7HqP1b9x6r/WPUfq/5j1X+s+o9V /7HqP1b9x6r/WPUfq/5jVXusao9V7bFqO1Ztx6rtWLUdq7Zj1Xas2o5V27FqO7bpWl/Qmr3EBsXR mb3EwsBUjqZ4iXWByRw9TTzlJeYFJnH0JPEEMZF43EtoDEzwEpoC44lxxFgeG8PRaGIUJ0d6CU2A EcRjxHCeMox4lBjqFWsODCEGE4OILGKgV6wZMICj/kQ/IpPoS/QhMojevK4XRz2JHkR3ohvRlehC dCY6ER2JdKIDkUa0J9oRbYk2RGsilUjxiiYDyUQrr2gK0JJo4RVNBZp7RVsDzYimRBMea8zrGhEN eV0Doj5Rj2c+QtTl5Q8TdYiHiNpELd6sJlGDd6lOVCOq8mZViMq8rhJRkUgiKhAPEuWJcrx1WaIM 7/kAUZooxVuXJErwuuJEIpFAFCOKEkW8Im2BeCLOK9IOiCViOFmYKMTJgsT9RAEey0/k42Q0cR+R l8fyEFFEbh7LRUQSEV58eyDoxacBAcLlpMORJUwI9i5xJ3SK/YWjHOJn4jaP3eLoJnGD+Im47sV1 BH704tKBaxxdJX4grvDY9xxdJi4RF3nsAnGek+eIs8R3xLc85RuOznB0mqOviVPEVzx2kjjByS+J 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 IjPyK8TSMTfSwJ9dcPF4yvTpRqMO/kijnLwV1vLyRh3y/ZGy6NzrrZlXR+cGl+S7C0tCJW53sJBd YUnQXfPjSELRI3d0MforCXIc/QvVHBvuS24XL2PoVcIW/G8teOmb/u+bXO4XuPK3CoN/07z21ZbJ RpFlEiZiAsowHuMQRinGYgxGYxRGYgRCCKIEw/EohuERDMUQDMYgDMQAFKM/HkYR+qEv+qA3eqEQ PfEQeqAA+chDdzwIjVzkoBuykYVMZCAdD8CP+3EfuqILfOiMTuiIDmgPL9rhXtyDu9EWd+FOeHAH bkcb3IZbcQtaoxVuxk1oiRvhxg1ogevRHM3QFNehCa7FNUiDQmM0QipcaIgUJCMJiUhAA9RHPdSF Ew7Ew4442BCLq1EHV6E2aiGmfTV7KywQGEaRsCb/4G/8hT/xB37Hb/gVv+BnXMBP+BE/4DzO4SzO 4DRO4SRO4DiO4SiO4DAO4SAOoAr78T2+w7fYh73Yg2/wNXZjF77Cl9iJL/A5KrED2/EZPsUn2IaP 8RG2Ygs2YxM24kNswHp8gPexDu/hXbyDtXgba7Aaq7ASK1CBCJbjLbyJN2DidbyGZViKV7EEr2Ax FmEhyrEAL+MlvIgX8DzmYx6ew7N4Bk9jLuZgNmZhJmZgOqbhKTyJJzAVj+MxTDGK2pcJ+RfyL+Rf yL+QfyH/Qv6F/Av5F/Iv5F/Iv5B/If9C/oX8C/kX8i8B0AFCBwgdIHSA0AFCBwgdIHSA0AFCBwgd IHSA0AFCBwgdIHSA0AFCBwgdIHSA0AFCBwgdIHSA0AFCBwgdIHSA0AFCBwgdIHSAkH8h/0L+hewL 2ReyL2RfyL6QfSH7QvaF7AvZv9w9fIVv+Zf7Ba7wLblXofHvAC25u3cNCmVuZHN0cmVhbQ1lbmRv YmoNMTEwOCAwIG9iag08PC9TdGVtViA4MC9Gb250TmFtZS9FRElESkIrQ2FsaWJyaS9Gb250U3Ry ZXRjaC9Ob3JtYWwvRm9udEZpbGUyIDExMDcgMCBSL0ZvbnRXZWlnaHQgNDAwL0ZsYWdzIDQvRGVz Y2VudCAtMjUwL0ZvbnRCQm94Wy00NzYgLTE5NCAxMjE0IDk1Ml0vQXNjZW50IDc1MC9Gb250RmFt aWx5KENhbGlicmkpL0NhcEhlaWdodCA2MjUvWEhlaWdodCAtNTMxL1R5cGUvRm9udERlc2NyaXB0 b3IvSXRhbGljQW5nbGUgMD4+DWVuZG9iag0xMTA5IDAgb2JqDTw8L1N1YnR5cGUvQ0lERm9udFR5 cGUyL0ZvbnREZXNjcmlwdG9yIDExMDggMCBSL0Jhc2VGb250L0VESURKQitDYWxpYnJpL1dbM1sy MjZdXS9DSURUb0dJRE1hcC9JZGVudGl0eS9DSURTeXN0ZW1JbmZvPDwvU3VwcGxlbWVudCAwL09y ZGVyaW5nKElkZW50aXR5KS9SZWdpc3RyeShBZG9iZSk+Pi9EVyAxMDAwL1R5cGUvRm9udD4+DWVu ZG9iag0xMTEwIDAgb2JqDTw8L0xlbmd0aCAxMDA4ODQvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0 aDEgMzM4OTAwPj5zdHJlYW0NCkiJbFZ9bBTHFZ/Z3dmdvdvvr9u7vS/7jM9f5zvf2b66ru0jKS2m laAlEoX21BCCQQUH27g0SZFaKYE0TtukkSglKG2qkjikUQkOrg+IwKmchiIqnNZ1IHIEUlWgqdzy Z/+Ilb61DThtR5q5mTezt+/9fr/3ZhFGCAXR9xGLcus3ZvMb3vvhNGJf+DxYH9y2bzgp1LO3YX0M IeZc38CO/nW/fP4WYl98GPblHbsf69P/HfZg/hbCMx/v3L714Ssf7x2B/WGwte8EA4M2RWD9Oqxr dvYPP9p/Jv8RrKcR/lHz7j3btv4k+k8X4b9UEH57d//WRweGnJ5NiDTCcZR8ZGv/9kdGBh9A7OEa hNj4wND2ATK3/hLsJ2F/DN1rBPxn0OPoJMQSQimURQX0XunLN6I3kzdzN1q4WXJFmI3OJq8WbuKb 5JZA9+UOtrxQOF44U3i35Q+F9zEtZIsta3PrCpuUzYU+pa+FFuQuvcsshAqruuq7GgV+dQC7SEUI RhtjVIDuYffUZAZnqt4CYxoT1IJJyV6fw7mW9QVcKOZL+Tfyk3kub7hncRDVoDgOjj/XgBsM0V9L iMXBNy8b2MiW5+cWtDkY52G8UL4yXUY9PfNz5QV/XGjJ4bLfitW8bTmFfHtba23I4lPVtW2t7YW8 E2qtTd3ZKq6wp4V0Mc5TkQgCMSRVUrWgpLbydMkkK3JQ8y32Wv6Lr2lOWDUcw0obnms7bnin7phW WNFtKxy2nHDkW6+zQCJGFG1G30EPAd7mWYRxGGzdJ1mUnUM94GexrWDTPZtFEU7q0LMoAYykxqf5 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 dE5hbWUvRURJRFBEK1NpbVN1bi9Gb250U3RyZXRjaC9Ob3JtYWwvRm9udEZpbGUyIDExMTAgMCBS L0ZvbnRXZWlnaHQgNDAwL0ZsYWdzIDQvRGVzY2VudCAtMTQwL0ZvbnRCQm94Wy04IC0xNDUgMTAw MCA4NTldL0FzY2VudCA4NTkvRm9udEZhbWlseShTaW1TdW4pL0NhcEhlaWdodCAwL1R5cGUvRm9u dERlc2NyaXB0b3IvSXRhbGljQW5nbGUgMC9MYW5nL3poLUNOPj4NZW5kb2JqDTExMTIgMCBvYmoN PDwvU3VidHlwZS9DSURGb250VHlwZTIvRm9udERlc2NyaXB0b3IgMTExMSAwIFIvQmFzZUZvbnQv RURJRFBEK1NpbVN1bi9XWzNbNTAwXThbNTAwXTE2WzUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUw MCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMF0zN1s1MDAgNTAwIDUwMF00N1s1MDAgNTAwXTU0WzUw MCA1MDBdODZbNTAwXV0vQ0lEVG9HSURNYXAvSWRlbnRpdHkvQ0lEU3lzdGVtSW5mbzw8L1N1cHBs ZW1lbnQgMC9PcmRlcmluZyhJZGVudGl0eSkvUmVnaXN0cnkoQWRvYmUpPj4vRFcgMTAwMC9UeXBl L0ZvbnQ+Pg1lbmRvYmoNMTExMyAwIG9iag08PC9VUkkoaHR0cDovL3d3dy5tYXJ0aW5saW5raW5n LmNvbS8pL1MvVVJJPj4NZW5kb2JqDTExMTQgMCBvYmoNPDwvVVJJKGh0dHA6Ly93d3cubWFydGlu bGlua2luZy5jb20vKS9TL1VSST4+DWVuZG9iag0xMTE1IDAgb2JqDTw8L1N1YnR5cGUvSW1hZ2Uv TGVuZ3RoIDI3ODIzL0ZpbHRlci9EQ1REZWNvZGUvQml0c1BlckNvbXBvbmVudCA4L0NvbG9yU3Bh Y2UgMTA4OSAwIFIvV2lkdGggMzk3L0hlaWdodCA2MzMvVHlwZS9YT2JqZWN0Pj5zdHJlYW0NCv/Y /+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBcSFBQUFBIX FxscHhwbFyQkJyckJDUzMzM1Ozs7Ozs7Ozs7OwENCwsNDg0QDg4QFA4PDhQUEBEREBQdFBQVFBQd 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 pCSlSlITJJKXSSSSSpJMkkpUppSSSUqUkkklKhV87+iu+Lf+qarCr5/9Fd8W/wDVNTcnyS8pfkkb hqYJ/Vav6oUc8/owPEj8oUsGPslX9UKGefY0eY/KFkD5R/ej+YZy6ykop1s9GuumlOkkpSb4p0kl KSSSSUqEydJJSyWieEklLaJaJ0oCSlkk6ZJSkkkklK0SSSSUpJJJJSkkk2qSl0ySUoqZNT9/igC5 SNjiNOULQlSWfdlZVbvoyFcpeX1tc7QnUhJVpEkkySVJJSkkhSZOkkpSZJKUlL6JJkiklUeKSSZJ SoSS7pJKUlCXdJJSlW6h/RH/ABb/ANU1WVW6j/RHfFv/AFTU3J8kvKX5JG4auCf1Sr+qEPOP0R2l v5Qp4H9Dp/qD8iFnH3D4t/KFj9IDxiznYuyPyJ0wKdbI2a6k6ZOipSSZOkpUpJJaJKUkkkkpWqSS SSl02iSSSlJkkklLpk6ZJS6aEkklKSSkpIqWSTpklKSSSSU1AVIOIUAnTUM95Ti0ocpSkpMLXeKf cT3QJTgpJQ5bcsCaiXHwQMC7qRydt7S2s9zqr24p9xQ62ENkQkqwcfFOdRynWpPuHiEpHisjNpzQ CaPeewmFkT9ZW3tLK4ZInUERKZxm6MVPXpKFc7G7uSBPxUp809S8pcJtzfFKRwkpSSSSSVJJd0kl KVXqP9Ef8W/9U1WlU6n/AEN/9n/qmpuT5JeUvyVHdq9P/oVH9QIWZO7+038oU+lOJwavIEfiULK5 +LwP+kFjdYD+sGweruDhOmCdbQ2a6k6ZJFSk6ZOkpSSSSSl0ySdJSkydMkpSSSSSlJJJklLyU0pp TykpRKSbX+9LRJSkk6UoqUkmSSUpJJJJTUAH8U8fgmBCdRqUklJSlFVLJ/ypfkTIKUnlMl+VJS8h KUyWqSl5S3KKUpKSbj46Id9djm/o3a+CUwluKPmpxMt/WKyfTqc8Dggj+9VsPM+sjcysPpcKC4B8 wYBOp58F0slLXxTIwo2JSU2mu0HnylKpXC/bLDr4LGy+p51DiNj9O8Ej8EZ5RAWQoB6aQlK4iz60 Z9R9rHkjsWmFtdF+sRzqXG+o1PZoeYPmEo5YyF7f3ldad6VU6p/QbD/V/wCqam/aNHiVV6ln02Yj 2NOrtoH+c1LJOPBL1dJJjuEfST+qtb3bB+RAKHku0aTybGfi9qH0+4VbAeH1g/MSlm2BtLbDwHsc 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 6Jn+aP7lN93NbsR5iN7MmhTUGcKatNNZJJJJKkkkklKSSSSUpJJOkpZPCQCdBKk6ZJBLJNKWqZJS uU8Jk6Kl0k2iSSl0kkkqUpJJJJSkydOYSUxTpQmRQpJJJJCkkkyKlJJ0vFK1LJ0kkrUrRIpJJKWS 0TpklLwnTJ4SSFBSCYBOAmlcFy0EQeDoVQyej4lri6CHHkglaCSjMQdwvBI2cmro9NZ7u7gE6fcr zKQxsAaDSEYgJinRjEbBEiTuWEJoUoTJ6xg3hSUGfRCmeElqySSZBK6SZJFCpTpu6dJSk6ZOglWq dMkkldJME6SlJJdkklKTpk5QUolNJSKSKFwn0TeKdFK6SSfsgpZJJIpJWKbVSKYooWSSKQSWrJKS ZJSktUgnSUsnTJJKX7JoTpJJWShJJFC6WqQToJXEpwEykECvCtUuydN2TVyx8VEqSiUVpYpoUgnT lr//2QoNCmVuZHN0cmVhbQ1lbmRvYmoNMTExNiAwIG9iag08PC9TdWJ0eXBlL0ltYWdlL0xlbmd0 aCA5NTQ3L0ZpbHRlci9EQ1REZWNvZGUvQml0c1BlckNvbXBvbmVudCA4L0NvbG9yU3BhY2UgMTA4 OSAwIFIvV2lkdGggNDc4L0hlaWdodCA5Ny9UeXBlL1hPYmplY3Q+PnN0cmVhbQ0K/9j/7gAOQWRv YmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYFxIUFBQUEhcXGxweHBsX JCQnJyQkNTMzMzU7Ozs7Ozs7Ozs7AQ0LCw0ODRAODhAUDg8OFBQQEREQFB0UFBUUFB0lGhcXFxca JSAjHh4eIyAoKCUlKCgyMjAyMjs7Ozs7Ozs7Ozv/wAARCABhAd4DASIAAhEBAxEB/8QBPwAAAQUB AQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEE AQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFj czUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2 N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR 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 TldQ6DTnX0WGx1VdDdnpsEaeR7Juo9Aqyq6BjP8Asr8bSotEgDnxC1kkhOQrXZXBHXTdzsPo9dMv ybHZd7mlhst1hp5a0dpVOv6q49WQbGX2spPNTTBg/mlw1hbqSQySF0d1cEdNNnN6h0LDzcaugD0f R/mnM7TyI7ym6b0OjB2uc92RYzRjnnRg/kN4C00kuOVcN6K4I3dKWD9b6bH4FdjdW12AvHkQRK3l FzGvaWvAc12hadQQlCXDIS7KlHiiR3cLpH1g6bX0+mrIs9KypoYWkEzGgIgFWq87K6oduE11GL+d lOEOd5VN/iUZnQ+kss9QYzN3Ookf5p0V4AAAAQBwAnSlCyYg690RjKgCduzn5fRqLqqmUPdjWUT6 VrPpDd9KfGUXC6Vi4jZA9W4nc+9+ryTyZVxJM4jVWnhF3TnN6HiVYmTjUE1/ap3P5Int20Hgo9P6 Dh4eO6pw9Z1jS2x7u7Ty0DsFppI8cu6uCPZwsf6q49N7ni+w0u5qB2yPBzm8hXM3oXT8x9LrGloo G0NZoC390+S0UkjkkTd6qEI1VORkfVzFyM8ZVjj6bWtaKAIb7RAE+Hkln9Abk5dWVRc7FdW0MPpi DA42wRHgtdJL3Jd9hSuCPZxeofV1mRTjU41noNocSSRJO6JdP72isHoWKcCzELnOfaAX3u9zy4ag knw8FpJJccqAvZXBHXTdycH6vYuNVY21zsiyxhrL3dmkQQ0awpZHQcd/TR0+l5pYHBxfEkkfvcSt RJLjld34q4I1VOdX0PBZgPwoJbYB6lh+mSODPl2WSMXEtuf0jpxc4ug5uY73Ha0/QB+K3epV5VuF ZViEC54DQ4mIBMOP3IfSel1dNxvSYd1jtbLPE/3JwnQJJ1vQftWmFkADTu2MXEoxKhVS2B3J1JPi SjJJKMm2QaKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXy qkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKq SSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJ KfqpJfKqSSn6qSXyqkkp+qky+VkklP1UkvlVJJT9VJL5VSSU/VSS+VUklP1UkvlVJJT9VJL5VSSU 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